交通灯控制系统设计 实验报告.docx
- 文档编号:30688241
- 上传时间:2023-08-19
- 格式:DOCX
- 页数:15
- 大小:552.63KB
交通灯控制系统设计 实验报告.docx
《交通灯控制系统设计 实验报告.docx》由会员分享,可在线阅读,更多相关《交通灯控制系统设计 实验报告.docx(15页珍藏版)》请在冰豆网上搜索。
交通灯控制系统设计实验报告
综合设计实验
项目名称:
交通灯控制系统设计
适用年级:
2
所属课程:
微型计算机原理
班级:
2011级电通6C班
姓名:
林
学号:
201*******x
日期:
2013/6/23
一、实验目的:
要求学生综合所学的软硬件知识,并应用基础实验所获得的实验设计技能,独立设计解决实际应用问题的系统。
二、设计要求:
(1)东西方向和南北方向交替准行控制
1)使东西方向准行时,东西方向上的绿灯亮,南北方向的红灯亮,经过15秒后,使南北方向准行时,南北方向上的绿灯亮,东西方向的红灯亮,如此交替。
2)假设东西方向是主要交通干道,当在南北方向准行15秒时间未到时,检测到东西方向已聚集了8辆车,则提前使东西方向准行,南北方向禁行。
(2)特殊控制
1)当准行和禁行时间倒计时到最后3秒时,准行方向上绿灯亮的同时该方向的黄灯闪烁,而禁行方向上的红灯亮同时黄灯也闪烁。
2)在数码管上显示准行时间,并以秒倒计时。
说明:
设实验箱发光二极管单元中的一个绿灯为东西方向上的绿灯,最后一个绿灯为南北方向上的绿灯;第一个红灯为东西方向上的红灯,最后一个红灯为南北方向上的红灯;第二个红灯为东西方向上的黄灯,第三个红灯为南北方向上的黄灯。
三、具体设计内容:
8255初始化:
A、B、C口方式0输出
A口低4位输出位选,
B口输出显示代码
C口输出灯控信号
8253初始化:
T0定时20ms,方式2/3,IRQ0中断
T2计数,方式0,IRQ7中断
时钟计数初始化:
N1=25,N2=2,N3=15,
0.5S1S15S
K=0,(0前10S/FFH后15S)
东西准行信号,南北准行信号
黄灯亮,黄灯灭
显示秒数的个位
显示秒数的十位
N3变为非压缩BCD码存入显示缓冲区
D7D6D0
东西红
东西黄
南北黄
南北红
东西绿
南北绿
灯
¤
¤
¤
¤
¤
¤
¤
¤
四、实验中的芯片及线路:
1.实验系统中的8253芯片
图1系统中的8253单元
系统中的8253芯片的0#通道输出线与8259的0#中断请求线相连,作为实时钟中断信号。
1#通道输入1.8253MHZ的信号源,输出接8251的收发时钟端,供串行通信用。
2#通道开放给用户使用。
8253端口地址如下表:
信号线
寄存器
地址
IOY2
0#
40H
1#
41H
2#
42H
控制口
43H
2.实验系统中的8255芯片
图2系统中的8255单元
系统中的8255芯片端口地址如下表:
信号线
寄存器
地址
IOY3
A口
60H
B口
61H
C口
62H
控制口
63H
3.实验系统中的8259A芯片
图3系统中的8259A单元
系统中的8259A芯片工作于单片方式,编程口地址为:
20H、21H。
它可由用户扩展连接成级连方式。
中断矢量地址与中断号之间的关系如下表:
中断序号
IRQ0
IRQ1
IRQ2
IRQ3
IRQ4
IRQ5
IRQ6
IRQ7
中断类型号
08H
09H
0AH
0BH
0CH
0DH
0EH
0FH
矢量地址
20H
|
23H
24H
|
27H
28H
|
2BH
2CH
|
2FH
30H
|
33H
34H
|
37H
38H
|
3BH
3CH
|
3FH
4.实验线路图
+5V
1.19MHZ
……
KK1
……
+5V
.……..
………..
………………….
系统总线
五.程序流程图
六.程序设计
STACK SEGMENT STACK
DW 64 DUP(?
)
STACK ENDS
DATA SEGMENT
TABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,77H,7CH
BUFDW ?
N1DB 25
N2DB 2
N3DB 15
KDB 0
DATA ENDS
CODE SEGMENT
ASSUME CS:
CODE,SS:
STACK,DS:
DATA
START:
MOV AX, DATA
MOV DS,AX
CLI ;CPU关中断
MOV AL,80H ;向控制口送8255的初始化控制字
OUT 63H,AL ;A、B、C口以方式0输出
MOV AL,36H
OUT 43H,AL
MOV AL,0F8H
OUT 40H,AL
MOV AL,5CH
OUT 40H,AL ;8253初始化,T0定时20ms
MOV AL,90H
OUT 43H,AL ;T2计数8
IN AL,21H ;输入中断屏蔽字
AND AL,0FEH
OUT 21H,AL ;允许IRQ7中断
PUSH DS
MOV AX,0
MOV DS,AX
MOV AX,OFFSET IRQ0 ;获得IRQ0的首地址,装入IRQ0的中断向量表
ADD AX,2000H
MOV SI,0020H
MOV [SI],AX
MOV AX,0
MOV SI,0022H
MOV [SI],AX
MOV AX,OFFSET IRQ7 ;获得IRQ7的首地址,装入IRQ7的中断向量表
ADD AX,2000H
MOV SI,003CH
MOV [SI],AX
MOV AX,0
MOV SI,003EH
MOV [SI],AX
POP DS
MOV N1,25 ;时钟计数初始化:
N1=25
MOV N2,2;N2=2
MOV N3,15;N3=15
MOV K,0 ;K=0
MOV SI,OFFSET TABLE ;获得TABLE的首地址
MOV AL,0E7H
OUT 62H,AL ;输出东西准行信号
MOV AL,0
OUT 61H,AL ;关数码显示
SEA:
STI ; CPU开中断
HLT
JMP SEA
IRQ7:
MOVN1,25;时钟计数初始化:
N1=25
MOVN2,2;N2=2
MOVN3,15;N3=15
MOVK,0;K=0
MOV AL,0E7H
OUT 62H,AL ;东西准行
MOV AL,20H;8259初始化
OUT 20H,AL
IRET
IRQ0:
DECN1;N1-1
JNZB1;N1不等于0就跳转至B1
MOVN1,25;N1=25
DECN2;N2-1
JNZB1;N2不等于0就跳转至B1
MOVN2,2;设N2=2
DECN3;N3-1
JNZB1;N3不等于0就跳转至B1
MOVN3,15;设N3=15
NOTK;K求反
B1:
MOVAL,N3
AAM
MOVDI,OFFSETBUF;获得BUF的首地址
MOV[DI],AX
MOVBL,N1
TESTBL,01H;N1与01H相与
JNZB2;N1是偶数?
不是就跳转至B2
MOVBL,BYTEPTRBUF+1;把BUF中的高字节送给BL,显示十位
MOVAH,0BH
JMPB3
B2:
MOV BL,BYTE PTR BUF ;把BUF中的低字节送给BL,显示个位
MOVAH,07H
B3:
MOVBH,0
MOVAL,[SI+BX];将数据代码地址OFFSETTABLE+BX送给AL
OUT61H,AL;送给段选
MOVAL,AH
OUT60H,AL
MOVBL,N3
CMPBL,15;N3与15进行比较
JZC1;N3=15就跳转到C1
CMPBL,3;N3与3进行比较
JBEC2;N3小于等于3就跳转至C2
JAC5;跳转至C5
C2:
MOVBL,N2
TESTBL,01H;N2与01H相与
JZC3;N2是偶数?
是就转向C3
MOVAL,0AH
OUT63H,AL
MOVAL,0CH
OUT63H,AL;黄灯灭
JMPC5
C3:
MOV AL,0BH
OUT 63H,AL
MOV AL,0DH
OUT 63H,AL ;黄灯亮
JMP C5
C1:
MOVBL,K
CMPBL,0;K与0进行比较
JNZC4;K不等于0就跳转到C4
MOVAL,0E7H
OUT62H,AL;东西准行
INAL,21H
ORAL,80H
OUT21H,AL;IRQ7关中断
JMPC5;跳转至C5
C4:
MOV AL,7EH
OUT 62H,AL ;南北准行
MOV AX,09H
OUT 42H,AL ;装入计数器,的T2初值
IN AL,21H
AND AL,7FH
OUT 21H,AL ;IRQ7开中断
C5:
MOV AL,20H
OUT 20H,AL ;发出EOI结束中断
IRET
CODE ENDS
END START
七.调试及运行记录
经过调试以及程序的改正,程序正常运行。
调试过程中,遇到以下电路或者程序理解问题:
1.在按开关的时候要注意开关按下次数是由程序的赋予的初始值T2决定的。
T2工作在方式0,在装入初值后,需再经过一个时钟脉冲后,才开始计数,故T2的初值应赋9
2.各个芯片在连接的时候要注意选择接触良好的接线,防止因为线路原因而使电路无法正常工作。
3.灯的亮与不亮是由控制字来控制的。
要安排好控制字和灯的对应位置。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 交通灯控制系统设计 实验报告 交通灯 控制系统 设计 实验 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)