收藏 分销(赏)

微机原理课程设计十字路口交通灯控制器.doc

上传人:天**** 文档编号:4687392 上传时间:2024-10-09 格式:DOC 页数:22 大小:203.51KB
下载 相关 举报
微机原理课程设计十字路口交通灯控制器.doc_第1页
第1页 / 共22页
微机原理课程设计十字路口交通灯控制器.doc_第2页
第2页 / 共22页
微机原理课程设计十字路口交通灯控制器.doc_第3页
第3页 / 共22页
微机原理课程设计十字路口交通灯控制器.doc_第4页
第4页 / 共22页
微机原理课程设计十字路口交通灯控制器.doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

1、一、设计题目:十字路口交通灯控制器二、设计要求:通过对红绿黄LED发光二极管的控制,熟练掌握8255A可编程并行接口的编程方法。编写程序控制8255A可编程并行接口芯片,使实验台上的红、绿、黄发光二极管按照十字路口交通信号灯的燃灭规律发光。三、硬件方案:(一)设计原理:通过8255A并口来控制LED发光二极管的亮灭。A口控制红灯,B口控制黄灯,C口控制绿灯。输出为0则亮,输出为1则灭。用8253定时来控制变换时间 。设有一个十字路口,1、3为南,北方向,2、4为东西方向,初始态为4个路口的红灯全亮。之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车。延迟30秒后,1、3路口的绿灯

2、熄灭,而1,3路口的黄灯开始闪烁(1HZ)。闪烁5次后,1、3路口的红灯亮,同时2、4路口的绿灯亮,2、4路口方向开始通车。延迟30秒时间后,2、4路口的绿灯熄灭,而黄灯开始闪烁。闪烁5次后,再切换到1、3路口方向。之后,重复上述过程。要求使用可编程并行接口8255,8088CPU,双色灯,PC机等实现。(二)部分所使用的芯片极其原理:(1)8255的基本功能:Intel公司生产的可编程并行接口芯片8255A已广泛应用于实际工程中,例如8255A与A/D、D/A配合构成数据采集系统,通过8255A连接的两个或多个系统构成相互之间的通信,系统与外设之间通过8255A交换信息,等等,所有这些系统都

3、将8255A用作为并行接口。8255A为一可编程的通用接口芯片。它有三个数据端口A、B、C,每个端口为8位,并均可设成输入和输出方式,但各个端口仍有差异: 端口A(PA0PA7):8位数据输出锁存/缓冲器,8位数据输入锁存器;端口B(PB0PB7):8位数据I/O锁存/缓冲器,8位数据输入缓冲器; 端口C(PC0PC7):8位输出锁存/缓冲器,8位输入缓冲器(输入时没有锁存);在模式控制下这个端口又可以分成两个4位的端口,它们可单独用作为输出控制和状态输入。 端口A、B、C又可组成两组端口(12位):A组和B组,参见图A.2。在每组中,端口A和端口B用作为数据端口,端口C用作为控制和状态联络线

4、。 在8255A中,除了这三个端口外,还有一个控制寄存器,用于控制8255A的工作方式。因此8255A共有4个端口寄存器,分别用A0和A1指定:A1=0,A0=0,表示访问端口A; A1=0,A0=1,表示访问端口B; A1=1,A0=0,表示访问端口C; A1=1,A0=1,表示访问控制寄存器; 在本实验中使用的工作方式为方式0-基本输入输出:将端口信号线分成4组,分别由方式控制字的D3、D2、D1、D0控制其传送方向,当某位为1时,相应的端口数据线设置成输入方式;当某位为0时,相应的端口数据线设置成输出方式。例如,当方式控制字设置成1000 1010B时,端口A与端口C的低4位数据线设置成

5、输出方式,端口B与端口C的高4位数据线设置成输入方式。 特别注意,当将C口的低4位设置成同一传送方向时,则端口C可用作为独立的端口,因此,8255A提供了3个独立的8为端口。 (2)8253的基本功能:含有3个独立的16位计数器,能够进行3个16位的独立计数。 每一个计数器具有六种工作方式; 能进行二进制十进制计数(减法计数); 计数频率为02MHz; 可作计数器或定时器。其内部结构如图:8253支持二进制计数或十进制计数。二进制计数很容易理解,每来一个计数脉冲计数器的值减l。所谓十进制计数,是指BCD码计数,每个计数器可表示4位十进制数的BCD码,每来一个计数脉冲时,按照十进制数减1规律进行

6、计数。例如,当前的计数值为10000lOl00000000(8500),来一个计数脉冲后,变为100001001001 1001(8499)。 8253的引脚信号与内部结构:8253为24脚,双列直插封装。和8255A一样,其内部有一个三态数据缓冲器,以保证未选中时内部数据线和系统数据总线是“脱开”的。三个计数器在使用时是独立的。每一个计数器对外有三个引脚:CLK为计数脉冲输入,GATE为门控信号(允许禁止计数),OUT为输出信号。每一个计数器占用一个IO端口地址,加上控制字口,一片8253共占用4个IO端口地址。和8255A一样,8253也设置了两个用于端口寻址的引脚A1和A0。这两个信号与

7、片选信号、CPu读写信号相配合,实现对8253内部端口的操作。(3)8279的基本功能:8279是一种可编程的键盘、显示器接口芯片。8279芯片内部有专门用于存储显示数据的RAM 区,共有16个字节,地址排列从00H到0FH。8279芯片的扫描线有译码扫描和编码扫描2种工作方式。当采用译码扫描方式时,8279只能送出显示RAM 中前4个字节的内容,因而最多只能扫描4个LED数码管。当采用编码扫描方式时,扫描输出线SL3SLO经过“416”译码后,可以选择16个LED数码管,这16个LED数码管显示的字符分别对应8279显示RAM 区的00H0FH 中的内容。将8279的命令字设置成:读或写以后

8、地址自动加1,左端输入。当SL3SL0为0000时,显示数据输出线上输出为显示RAM 区中的第1位(00H 中的内容)。当SL3SL0为0001时,显示数据输出为显示RAM 区中的第2位(01H 中的内容)。依次类推,当SL3SL0为1111时,显示数据输出为显示RAM 区中的第16位(0FH 中的内容)。因而,8279送出的显示数据,与CPU写入8279内部16个字节显示RAM 区的数值,存在着一一对应的关系。8279的显示方式又可分为左端入口和右端入口方式。 显示数据只要写入显示RAM,则可由显示器显示出来,因此显示数据写入显示RAM的顺序,决定了显示的次序。左端入口方式即显示位置从显示器

9、最左端1位(最高位)开始,以后显示的字符逐个向右顺序排列;右端入口方式即显示位置从显示器最右端1位(最低位)开始,已显示的字符逐个向左移位。但无论左右入口,后输入的总是显示在最右边。 (4)8088的基本功能:8088CPU的一个基本总线周期由4个时钟周期(T1,T2,T3,T4)组成,时钟周期也称为时钟状态,即T1状态、T2状态、T3状态和T4状态。每一个时钟周期(时钟状态)内完成一些基本操作。例如:在T1状态,CPU往数据/地址多路复用总线上发出访问存储器或I/O端口的地址信息。在T2状态,CPU从总线上撤销地址,若为读周期发出“RD”控制信号,使数据/地址多路复用总线的低8位处于高阻抗状

10、态,以便CPU有足够的时间从输出地址方式转变为输入数据方式,接着在T3T4期间,CPU从总线上接收数据。若为写周期发出“WR”控制信号,由于输出数据和输出地址都是写总线过程,因而不需要缓冲时间,CPU在T2T4期间把数据放到总线上。在T3状态,数据/地址分时复用线的低8位上出现由CPU输出的数据或为CPU从存储器或I/O端口读入的数据。在T4状态,8088完成数据传送,是控制信号变为无效,结束总线周期。 8088的地址和数据线:AD7AD0:8位地址/数据总线,分时复用、双向、三态。A15A8:地址线,三态输出。A19/S6A16/S3:地址/状态线,分时复用、输出、三态。在总线周期的T1状态

11、作地址线用,A19A16输出高4位地址。在总线周期的T2T4状态作状态线用,S6S3输出状态信息,其中:S6恒为0。S5指示中断允许标志IF的当前状态,S5 1,表示当前允许可屏蔽中断请求,S5=0,则禁止一切可屏蔽中断。S4和S3用以指示是哪一个段寄存器正在使用,其编码和使用的段寄存器如下:00为ES,01为SS,10为CS,11为DS。 (三)交通灯变化规律:本实验是模拟交通灯控制实验,是通过并行接口芯片8255和8088计算机的硬件连接,以及通过延时的方法,来实现十字路口交通灯的模拟控制,所以要先了解实际交通灯的变化规律。假设一个十字路口为东西南北走向。初始状态0为东西红灯,南北红灯。然

12、后转状态1南北绿灯通车,东西红灯。过一段时间转状态2,南北绿灯闪几次转亮黄灯,延时几秒,东西仍然红灯。再转状态3,东西绿灯通车,南北红灯。过一段时间转状态4,东西绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯,最后循环至状态1。本实验中模拟交通灯的发光二极管采用的是双色LED,双色LED是由一个红色LED管芯和一个绿色LED管芯封装在一起,公用负端。当红色正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平时,绿灯亮;两端都加低电平时,黄灯亮,当两端都加高电平时,灯灭。 (四)模拟交通灯控制电路的原理图:控制电路的基本原理图: 整个控制电路的原理图为:四、软件方案:根据原理

13、绘出主程序流程图:使4个路口的红灯全亮置8255控制字,使各端口均为输出口,且均工作于方式0读取PB口数据保存在BL中置8255控制字使B口为输入口8255初始化程序开始延时一段时间点亮1、3路口绿灯 延时1、3路口黄灯闪烁八次四个红灯全亮点亮2、4路口绿灯延时熄灭2、4路口绿灯熄灭1、3路口绿灯熄灭2、4路口绿灯2、4路口黄灯闪烁八次四个红灯全亮延时实验程序:DATA SEGMENT ;初始化程序LED DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,71HD1 EQU 10HD2 EQU 200H ;825

14、5A端口AEBA EQU 200H ;8259端口地址EBE EQU 203HCONTROL EQU 20BH ;8253端口地址COUNT0 EQU 208H COUNT1 EQU 209H COUNT2 EQU 20AHZ8279 EQU 222HD8279 EQU 220HLEDMOD EQU 00H ;左边输入LEDFEQ EQU 38H ;扫描频率DATA ENDSCODE SEGMENTASSUME CS:CODE,DSATACODE SEGMENTASSUME CS:CODECONT DB 0CONT1 DB 0CONT2 DB 0BSD DB 0BAD DB 0BDA DB 0

15、TEMP DB 0START: PUSH CS POP DS MOV DX,203H ; 8255A、B、C口设置为全输出 MOV AL,80H OUT DX,AL MOV DX, 200H MOV AL,00 OUT DX,AL ;清LED MOV DX,200H ; 全红 MOV AL,0F0H OUT DX,AL MOV BX,7FH CALL DLYBG: MOV AL,01011010B ;南北绿,东西红 OUT DX,AL MOV BX,D2 CALL DLY MOV CX,03HXH1: AND AL,0F5H ;绿灭 OUT DX,AL MOV BX,D1 CALL DLY O

16、R AL,0AH ; 绿亮 OUT DX,AL MOV BX,D1 CALL DLY LOOP XH1 MOV AL,0A0H ; 南北黄 OUT DX,AL MOV BX,D1 CALL DLY MOV BX,D1 CALL DLY MOV AL,10100101B ;南北红,东西绿 OUT DX,AL MOV BX,D2 CALL DLY MOV CX,03XH2: AND AL,0FAH ;绿灭 OUT DX,AL MOV BX,D1 CALL DLY MOV AL,05H ;绿亮时 OUT DX,AL MOV BX,D1 CALL DLY LOOP XH2 OR AL,50H ;东西黄

17、 OUT DX,AL MOV BX,D1 CALL DLY MOV BX,D1 CALL DLY JMP BGDLY PROC NEAR PUSH CXDDD: MOV CX,0FFFHCCC: LOOP CCC DEC BX CMP BX,0 JNE DDD POP CX RET DLY ENDP CODE ENDSINT: STI ;中断服务程序 HLT JMP INTIR: START ;数码管程序 JMP CPCP: CMP DL,0 JZ ST0 CMP DL,1 JZ ST1 CMP DL,2 JZ ST2 CMP DL,3 JZ ST3ST0: ;东西红南北绿 MOV AL,01

18、011010B OUT D2,AL DEC SI JNZ XXC1 DEC DH MOV SI,100XXC1:DEC CX CMP CX,0 JNZ ZC0 MOV CX,500ST1: DEC DI ;东西方向黄灯闪烁,南北绿灯 CMP DI,0 JNZ HS1 MOV AL, 00001010B ;东西灭,南北绿 OUT D2,AL MOV DI,50 JMP XXCHS1:MOV AL,11111010B ;东西黄,南北绿 OUT D2,ALXXC: DEC SI JNZ XXC2 DEC DI MOV SI,100XXC2:DEC CX CMP CX,0 JNZ ZC1 MOV CX

19、,2000 MOV DH,25ST2: MOV AL,10100101B ;东西绿灯,南北红灯 OUT D2,AL DEC SI JNZ XXC3 DEC DH MOV SI,100XXC3:DEC CX CMP CX,0 JNZ ZC2 MOV CX,500ST3: DEC DI ;东西绿灯,南北黄灯闪烁 CMP DI,0 JNZ HS2 MOV AL,10100000B ;东西绿灯,南北灭 OUT D2,AL MOV DI,50 JMP REHS2: MOV AL,10101111B ;东西绿,南北黄 OUT D2,ALRE: DEC SI JNZ XXC4 DEC DH MOV SI,1

20、00XXC4:DEC CX CMP CX,0 JNZ ZC3 MOV CX,6000 MOV DH,65ZC0: MOV DL,0 JMP EXITZC1: MOV DL,1 JMP EXITZC2: MOV DL,2 JMP EXITZC3: MOV DL,3EXIT: MOV AL,20H OUT 218H,AL IRETCODE ENDSEND START五、程序调试:(1)用微机实验箱配套的串行通信电缆通过串行线与另一端与PC机的串行口相连。(2)将微机实验箱上用到数据线用导线连至8255的PC0PC7;将8255的片选接至138译码器处的220H插孔。(3)打开电源,启动调试软件,测

21、试串口,如果通讯串口测试不通过,将延时因子置高。(4) 按上述程序在PC机内编写实验程序。(5) 加载编辑所编写程序,调试运行,观察实验结果(6) 关闭微机实验箱,将CS8255的片选接至138译码处的230H插孔。(7)打开微机实验箱,修改原程序,加载编辑程序,调试运行,观察实验结果。(8)关闭微机实验箱,CS8255的片选接至138译码处的230H插孔不变,将数据线连接到8255的PA0PA7。(9)修改原程序,加载编辑程序,调试运行,观察实验结果。六、运行结果:十字路口的1、3为南,北方向,2、4为东西方向,初始态为4个路口的红灯全亮。之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3

22、路口方向通车。延迟30秒后,1、3路口的绿灯熄灭,而1,3路口的黄灯开始闪烁(1HZ)。闪烁5次后,1、3路口的红灯亮,同时2、4路口的绿灯亮,2、4路口方向开始通车。延迟30秒时间后,2、4路口的绿灯熄灭,而黄灯开始闪烁。闪烁5次后,再切换到1、3路口方向。之后,重复上述过程。七、收获体会:通过提出并论证设计方案,进行软、硬件调试,得出运行结果,加深和巩固对理论教学和实践教学内容的掌握,为进一步建立计算机系统整体概念,初步掌握微机硬件的开发方法,为以后进行实际的计算机软、硬件应用开发打下了基础。整个实验的完成锻炼了独立解决问题的能力,并且加强了相互协作完成同一设计的能力。八、参考文献:微型计算机技术及应用 戴梅萼 史嘉权 清华大学出版社单片机原理及应用设计 胡辉 中国水利水电出版社单片微机软件设计及技术 涂时亮 科学技术文献出版社微型原理与接口技术实验指导书

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服