1、课程设计红绿灯 微机原理与接口技术课程设计任务书一、设计题目:交通灯设计 二、设计目的 了解交通灯管理的基本工作原理 熟悉8259A中断控制器的工作原理和应用编程 熟悉8255A并行接口的各种工作方式和应用 熟悉8253计数器/定时器的工作方式及应用编程,掌握利用软硬件相结合定时的方法 掌握多位LED显示问题的解决三、设计要求及主要技术指标 1、设计要求:交通灯的设计 : 2、确定总体电路原理方框图。 主要技术指标 : 交通灯要求用秒表显示灯停留时间的长短,用12个led表示交通灯实际运行状态。 四、需要的主要电子元器件 8253定时器:用于产生秒脉冲,其输出信号可作为中断请示信号送IRQ7。
2、8255并口:用做接口芯片。8259中断控制器:用于产生中断。LED:10个LED用于显示交通灯状态 五、设计报告总结。 1、 对所得结果进行分析 2、 分析讨论设计中出现的故障及其排除方法 3、 心得体会一、方案论证与比较1.1方案提出方案一:采用8253产生1hz的时钟脉冲,通过8259中断,系统计时并实时显示,当时间从60到00时,系统调用函数切换红绿灯状态。方案二:采用8253的t0产生1hz的时钟脉冲,out0输出,clk1输入,计时,cpu实时读取计数值,并显示,当计数到60时,系统调用函数切换红绿灯状态。1.2设计方案的论证和选择 在实际应用中,采用中断的方式进行计算,系统的可靠
3、性比扫描的可靠性好,特别是在交通灯这种需要高可靠性的场合,故采用方案一。二、系统的功能及设计框图2.1 系统的全部功能、要求及技术指标。 要完成本设计,首先必须了解交通路灯的亮灭规律。设有一个十字路口,1、3为南,北方向, 2、4为东,西方向,初始态为4个路口的红灯全亮。 之后, 1、3路口的绿灯亮, 2、4路口的红灯亮,数码显示管开始倒计时(60秒), 1、3路口方向通车。数码显示管的数值为零后, 1、3路口的绿灯熄灭, 1、3路口的红灯亮, 同时2、4路口的绿灯亮,数码显示管重新置入初值, 2、4路口方向开始通车。 数码显示管的数值为零后, 2、4路口的绿灯熄灭,再切换到1、3路口方向。
4、之后,重复上述过程。用8088做CPU,8253做定时器,8255做LED和数码显示管的接口芯片,8259做中断控制器。数码显示管的初值定为60秒,8253定时时间为1秒,定时时间到引起中断,执行中断服务程序。在中断服务程序中,检查数码显示管的数值是否为零,若为零,则改变1、3和2、4交通灯的状态,数码显示管置初值;否则,数码显示管当前值减1,交通灯状态不变。2.2确定设计框图(系统包含的单元电路及结构)和总体设计方案 本系统设计的交通灯以8088微处理器作为CPU,用8253做定时计数器产生时钟频率, 8259做中断控制器产生中断。在此系统中,8253的功能是定时,接入8253的CLK信号为
5、周期性时钟信号。8253采用计数器0,工作于方式3,使8253的OUT0端输出周期性的脉冲信号。信号频率为1hz,8253的OUT0端就会输出一个脉冲的信号,此信号接8259的IR7,当中断触发后,CPU即处理,使7段显示模块上的时间发生变化。当倒计时到00秒时,系统调用函数切换交通灯状态。2.3单元电路的分析与设计:各功能模块电路的定性说明以及计算分析。1、显示模块 显示模块是将显示缓冲区的数值送到LED显示的功能模块,显示缓冲区是由两个字节构成,分别保存秒的高位和低位。硬件上由两个7段LED构成,软件上由扫描显示的方法实现。显示时分为位端口地址和字形口地址,要将两者对应起来才能正确显示。2
6、、定时模块 定时模块是为8259提供中断请求信号的。由一片8253实现,选用定时器0,工作在方式3,输出值应为1s,其输出信号可作为8259的中断请求信号。3、中断处理模块 中断模块实现动态显示的,硬件为一片8259,由于中断请求信号为每秒1次,中断程序该为时间按秒增加,并显示。只要开中断,便可实现每秒显示时间增加一秒,从而达到动态显示的效果。5、交通灯状态显示模块 交通灯状态显示模块实时显示交通灯状态,通过8255芯片,将状态显示。1)8255交通灯电路图2)8253方波产生电路图3)8259中断控制电路图三、源程序CODE SEGMENT ASSUME CS:CODE,DS:CODE,ES
7、:CODE ORG 3400HH8: JMP p8259ZXK EQU 0FFDCHZWK EQU 0FFDDHPA EQU 0FFD8HPB EQU 0FFD9HPC EQU 0FFDAHPCTL EQU 0FFDBHLED DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H DB 88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,0DEH,0F3HBUF DB 88H,00H,00H,00H,00H,00HSTA DB 01H ;MOV BX,0h ;MOVPort0 EQU 0FFE0HPort1 EQU 0FFE1HP82
8、59: CLI MOV DX,0FFE8H MOV AL,36H OUT DX,AL MOV DX,0FFE5H MOV AL,0ffH OUT DX,AL MOV AL,0b4H OUT DX,AL MOV AL,88H MOV DX,PCTL OUT DX,AL P30: MOV AL,75H MOV DX,PA OUT DX,AL INC DX MOV AL,0DH OUT DX,AL CALL WP ;初始化 MOV AX,OFFSET INT8259 MOV BX,003CH MOV BX,AX MOV BX,003EH MOV AX,0000H MOV BX,AX CALL FOR
9、8259 mov si,0000h STICON8: CALL DIS JMP CON8;-INT8259:cli MOV BX,OFFSET BUF push AX MOV AL,BYTE PTR BX+5 CMP AL,0 JNZ ok2 MOV AL,10 push AX MOV AL,BYTE PTR BX+4 CMP AL,0 JNZ ok1 MOV AL,6 ok1:DEC AL MOV BYTE PTR BX+4,AL pop AX ok2:DEC AL MOV BYTE PTR BX+5,AL MOV AX,BX+4 CMP AX,0 JNZ QQ1 CMP STA,1 JZ
10、p31 JMP p32 QQ1:pop AXXX59: MOV AL,20H MOV DX,Port0 OUT DX,AL mov cx,0050hxxx59: push cx call dis pop cx loop xxx59 pop cx mov cx,3438h push cx STI IRETX59: MOV SI,0000H CALL WP JMP XX59;=P31: MOV STA,2 MOV DX,PA ;切换1到2 MOV AL,0F3H OUT DX,AL INC DX MOV AL,0CH OUT DX,AL CALL DELAY2 MOV DX,PA MOV AL,0
11、F7H OUT DX,AL INC DX MOV AL,0DH OUT DX,AL CALL DELAY2 MOV DX,PA ;切换1到2 MOV AL,0F3H OUT DX,AL INC DX MOV AL,0CH OUT DX,AL CALL DELAY2 MOV DX,PA MOV AL,0F7H OUT DX,AL INC DX MOV AL,0DH OUT DX,AL CALL DELAY2 MOV DX,PA ;切换1到2 MOV AL,0F3H OUT DX,AL INC DX MOV AL,0CH OUT DX,AL CALL DELAY2 MOV DX,PA MOV AL
12、,0F7H OUT DX,AL INC DX MOV AL,0DH OUT DX,AL CALL DELAY2 MOV DX,PA MOV AL,0AEH OUT DX,AL INC DX MOV AL,0BH OUT DX,AL JMP QQ1 P32: MOV STA,1 MOV DX,PA ;切换2到1 MOV AL,9EH OUT DX,AL INC DX MOV AL,07H OUT DX,AL CALL DELAY2 MOV DX,PA MOV AL,0BEH OUT DX,AL INC DX MOV AL,0FH OUT DX,AL CALL DELAY2 MOV DX,PA ;
13、切换2到1 MOV AL,9EH OUT DX,AL INC DX MOV AL,07H OUT DX,AL CALL DELAY2 MOV DX,PA MOV AL,0BEH OUT DX,AL INC DX MOV AL,0FH OUT DX,AL CALL DELAY2 MOV DX,PA ;切换2到1 MOV AL,9EH OUT DX,AL INC DX MOV AL,07H OUT DX,AL CALL DELAY2 MOV DX,PA MOV AL,0BEH OUT DX,AL INC DX MOV AL,0FH OUT DX,AL CALL DELAY2 MOV AL,75H
14、MOV DX,PA OUT DX,AL INC DX MOV AL,0DH OUT DX,AL JMP QQ1FOR8259:MOV AL,13H MOV DX,Port0 OUT DX,AL MOV AL,08H MOV DX,Port1 OUT DX,AL MOV AL,09H OUT DX,AL MOV AL,7FH ;IRQ7 OUT DX,AL RET;-WP: MOV BUF,10H ;初始化 MOV BUF+1,10H MOV BUF+2,10H MOV BUF+3,10H MOV BUF+4,05H MOV BUF+5,09H;-DIS: MOV CL,20H MOV BX,O
15、FFSET BUFDIS1: MOV AL,BX PUSH BX MOV BX,OFFSET LED XLAT POP BX MOV DX,ZXK OUT DX,AL MOV AL,CL MOV DX,ZWK OUT DX,AL PUSH CX MOV CX,0100HDELAY: LOOP $ POP CX CMP CL,01H JZ EXIT INC BX SHR CL,1 JMP DIS1DELAY1: MOV CX,0010HDELY2: CALL DELAY2 LOOP DELY2 POP CX POP AX RETDELAY2: PUSH CX MOV CX,8000H LOOP
16、$ POP CX RETEXIT: MOV AL,00H MOV DX,ZWK OUT DX,AL RET;-CODE ENDS END H8四、程序运行结果 将以上代码打入asm文件中,连接编译,装载,然后运行。7段数码管由60开始倒计时,1秒减一,当数值为00时,系统调用交通灯状态函数,实现交通灯状态的切换,由状态1(2)变为2(1),黄灯闪三下,然后灭,对应的红灯灭-绿灯亮,对应的绿灯没-红灯亮。五、课程设计总结六、参考文献1.冯博琴 吴宁微型计算机原理与接口技术北京:清华大学出版社,20072.吴宁 陈文革微型计算机原理及接口技术题解及实验指导北京:清华大学出版社,20073.杨立主微型计算机原理及接口技术学习与实验指导北京:中国水利水电出版社,2008附录1:芯片管脚图1) 82532) 82593) 8255
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1