版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、(一) 课题简介. 2(二) 设计方案. 2(三) 具体设计. 41. 电路原理. 42. 程序原理:. 63. 系统原理. 81) 8259,8255A,8254工作原理:. 84. 关键技术分析. 131) 实时控制和管理设计. 132) 发光二极管闪烁程序. 143) 源程序. 15(四) 测试. 211. 在测试中遇到的问题记录. 212. 测试结果. 22(五)总结. 22(六)设计体会. 23(七)参考文献. 24 (一) 课题简介十字道口的红绿灯是交通法规的无声命令,是司机和行人的行为准则。十字道口的交通红绿灯控制是保证交通安全和道路畅通的关键。当前,国内大多数城市正在采用“自动
2、”红绿交通灯,它具有固定的“红灯绿灯”转换间隔,并自动切换。它们一般由“通行与禁止时间控制显示、红黄绿三色信号灯和方向指示灯”三部分组成。在交通灯的通行与禁止时间控制显示中,通常要么东西、南北两方向各50秒;要么根据交通规律,东西方向60秒,南北方向40秒,时间控制都是固定的。交通灯的时间控制显示,以固定时间值预先“固化”在单片机中,每次只是以一定周期交替变化。但是,实际上不同时刻的车辆流通状况是十分复杂的,是高度非线性的、随机的,还经常受认为因素的影响。采用定时控制经常造成道路有效应用时间的浪费,出现绿灯方向车辆较少,红灯方向车辆积压。它不顾当前道路上交通车辆数的实际情况变化,其最大的缺陷就
3、在于当路况发生变化时,不能满足司机与路人的实际需要,轻者造成时间上的浪费,重者直接导致交通堵塞,导致城市交通效率的下降。 目前,有一种使用“模糊控制”技术控制交通灯的方法。能够根据十字路口两个方向上车辆动态状况,自动判断红绿灯时间间隔,以保证最大车流量,减少道口的交通堵塞。但是却不像定时控制,能用数字显示器显示当前灯色剩余时间,以便于驾驶员随时掌握自己的驾驶动作,及时停车或启动。(二) 设计方案使用了8259A中断控制器、8254计数器、8255可编程并行接口实现了,对南北、东西方向交通的分别计时、分别控制,设计采用定时加中断控制的方式进行,对两个方向车辆的通行时间分别计时,可随意进行更改双向
4、的通行时间。城市十字交叉路口红绿灯控制系统主要负责控制东西走向和南北走向的红绿灯的状态和转换顺序,关键是各个状态之间的转换和进行适当的时间延时,正是基于以上考虑,采用如下设计:l 1即东西方向的绿灯和南北方向的红灯同时点亮1分钟; 21分钟后,东西方向的黄灯闪烁5秒钟,。此时南北方向仍维持红灯点亮。 3东西方向的黄灯闪烁5秒钟后,转为东西方向的红灯和南北方向的绿灯同时点亮20秒钟; 4 20秒钟后,转为南北方向的黄灯闪烁5秒钟,此时东西方向仍维持红灯点亮。 5南北方向的黄灯闪烁5秒钟后,东西方向的绿灯和南北方向的红灯同时点亮1分钟。如此循环重复。基于以上设计,在表1中给出了交通灯控制器的4种状
5、态,对应的状态迁移过程见表(1)和图(1)。 东西走向 南北走向 状态0 红、黄、绿001 红、黄、绿100 状态1 红、黄、绿011 红、黄、绿100 状态2 红、黄、绿100 红、黄、绿001 状态3 红、黄、绿100 红、黄、绿011 表(1)交通灯控制器的4种状态 状态2 状态3 状态0 状态1 图(1)(三) 具体设计1. 电路原理本课题的设计可通过实验平台上的一些功能模块电路组成,由于各模块电路内部已经连接,用户在使用时只要设计模块间电路的连接,因此,硬件电路的设计及实现相对简单。完整系统的硬件连接如图1所示。硬件电路由定时模块、发光二极管模块、数码管显示模块和紧急中断模块组成。定
6、时模块是由8254的计数器0来实现定时100ms。Clk0接实验平台分频电路输出Q6,f46875hz。GATE0接8255的PA0,由8255输出来控制计数器的起停。OUT0接8259的IRQ2,定时完成申请中断,进入中断服务程序。 发光二极管显示模块由8255输出来控制发光二极管的亮灭。8255输出为低电平时,对应的发光二极管就点亮,否则就熄灭。8255的接口电路如图2所示。交通灯的对应关系如下: L7 L6 L5 L2 L1 L0 PC7 PC6 PC5 PC2 PC1 PC0 13红灯 13黄灯 13绿灯 24红灯 24黄灯 24绿灯 实验平台上提供一组六个LED数码管。插孔CS1用于
7、数码管段选的输出选通,插孔CS2用于数码管位选信号的输出选通。本设计用4个数码管来倒计时。 紧急中断模块是由单脉冲发生单元和8259中断控制器,单脉冲发生单元主要用来请求中断,然后做出紧急情况处理。图2 8255接口电路2. 程序原理:设计数器0的计数初值为25000,由于CLK0接脉冲信号,频率为2.5MHZ,所以每10ms中断一次。利用CX对不同的状态时间计数,用来实现计数器0对1分钟,20秒钟,5秒钟的定时。中断子程序分为数码显示刷新部分和红绿黄灯各种状态切换部分。每进入中断即刷新LED显示。用对于东西车道和南北车道黄灯闪烁利用标志位判断实现,满足比较条件就暗,不满足条件就亮。8254计
8、数的起停由8255的PA0控制,8255的PA0输出1时,8254开始计数,交通灯按正常状态切换工作,PA0输出0时,计数器停止工作,交通灯不再按正常状态切换。8254开始计数后每100ms发出一个中断申请信号,在中断子程序中先刷新数码管,然后判断当前状态,进入相应的处理程序进行处理。主程序负责系统的初始化,然后数码管数据输出显示,同时检测PC键盘按键,有按键就退出程序。主程序的流程图如图3所示。 定时中断子程序是本设计的重点,负责完成数码管输出数据刷新和各个状态的处理切换。中断子程序包括数码管输出数据刷新程序和各状态处理程序。数码管输出数据刷新子程序是实现倒计时25s,用LEDOUT表示输出
9、的数据,cnt用来软件计时1s,就是计数10个100ms。LED输出是要将输出的数据转化为段选码。根据当前的状态跳转到相应的处理程序,在处理程序中完成定时和状态的切换。状态1和3的流程是一样的,先点亮对应的交通灯,再判断定时到了就可以切换了。状态2和4要实现黄灯的闪烁,间隔点亮和熄灭就可以了。状态1和3处理程序的流程图(以状态1为例)如图6所示,其中NUM是状态1对应的PC口输出。外部中断服务子程序主要用来处理紧急情况,将2个方向的车都停止运行,点亮所有红灯。下次中断来时恢复以前的状态。用一个标志位FLAG判断是第一次进入还是恢复状态。3. 系统原理1) 8259,8255A,8254工作原理
10、:I. 8259的工作原理 1、数据总线缓冲器:8259A与系统数据总线的接口,是8位双向三态缓冲器。CPU与8259A之间的控制命令信息、状态信息以及中断类型信息,都是通过缓冲器传送的。2、读/写控制逻辑:CPU通过它实现对8259A的读/写操作。3、级连缓冲器:用以实现8259A芯片之间的级连,使得中断源可以由8级扩展至64级。4、控制逻辑电路:对整个芯片内部各部件的工作进行协调和控制。5、中断请求寄存器IRR:8位,用以分别保存8个中断请求信号,当响应的中断请求输入脚有中断请求时,该寄存器的相应位置1。6、中断屏蔽寄存器IMR:8位,相应位用以对8个中断源的中断请求信号进行屏蔽控制。当其
11、中某位置“0“时,则相应的中断请求可以向CPU提出;否则,相应的中断请求被屏蔽,即不允许向CPU提出中断请求。该寄存器的内容为8259A的操作命令字OCW1,可以由程序设置或改变。7、中断服务寄存器ISR:8位,当CPU正在处理某个中断源的中断请求时,ISR寄存器中的相应位置1。8、用以比较正在处理的中断和刚刚进入的中断请求之间的优先级别,以决定是否产生多重中断或中断嵌套。 II. 8255A的工作原理1、8255A的内部结构: 1) 数据总线缓冲器:这是一个双向三态的8位数据缓冲器,它是8255A与微机系统数据总线的接口。输入输出的数据、CPU输出的控制字以及CPU输入的状态信息都是通过这个
12、缓冲器传送的。2) 三个端口A,B和C:A端口包含一个8位数据输出锁存器和缓冲器,一个8位数据输入锁存器。B端口包含一个8位数据输入/输出锁存器和缓冲器,一个8位数据输入缓冲器。C端口包含一个8位数据输出锁存器和缓冲器,一个8位数据输入缓冲器(输入没有锁存器)。3) A组和B组控制电路:这是两组根据CPU输出的控制字控制8255工作方式的电路,它们对于CPU而言,共用一个端口地址相同的控制字寄存器,接收CPU输出的一字节方式控制字或对C口按位复位字命令。方式控制字的高5位决定A组的工作方式,低3位决定B组的工作方式。对C口按位复位命令字可对C口的每一位实现置位或复位。A组控制电路控制A口和C口
13、上半部,B组控制电路控制B口和C口下半部。4) 读写控制逻辑:用来控制把CPU输出的控制字或数据送至相应端口,也由它来控制把状态信息或输入数据通过相应的端口送到CPU。2、8255A的 工作方式:方式0-基本输入输出方式;方式1-选通输入输出方式;方式2-双向选通输入输出方式。 3、引脚信号8255A的引脚如图7.5所示,分为数据线、地址线、读/写控制线、输入/输出端口线和电源线。D7D0(data bus):三态、双向数据线,与CPU数据总线连接,用来传送数据。(chip select):片选信号线,低电平有效时,芯片被选中。A1, A0(port address):地址线,用来选择内部端口
14、。(read):读出信号线,低电平有效时,允许数据读出。(write):写入信号线,低电平有效时,允许数据写入。RESET(reset):复位信号线,高电平有效时,将所有内部寄存器(包括控制寄存器)清0。PA7PA0(port A):A口输入/输出信号线。PB7PB0(port B):B口输入/输出信号线。PC7PC0(port C):C口输入/输出信号线。VCC:5V电源。 GND:电源地线。 III. 8254的工作原理:8254是可编程的计数器/定时器,其内部有三个独立的16位计数器/定时器通道,每个计数器通道均可按6种不同的方式工作,并且都可以按二进制或十进制计数。其CLK0CLK2是
15、计数器02的时钟脉冲输入端, GATE0GATE2是门控脉冲输入端, OUT0OUT2是输出端。4. 关键技术分析1) 实时控制和管理设计a) 芯片选择及端口选择1用实验系统8255A实现对信号灯的控制(所用端口自定);2位数码显示用8255A实现控制。2用实验系统8235的计数器2定时向实验系统主片8259A的IRQ7请求中断,以实现要求的1分钟、5秒钟和20秒的定时。实验系统8235的计数器2的CLK2接OPCLK,频率为1.19318MHZ;GATE2已接 +5V;定时采用软硬件相结合的方式实现。3、用实验系统的发光二极管模拟红绿灯。 注:8259A的端口地址为:218H、219H 82
16、55A的端口地址为:端口A-200H、端口B-201H、端口C-202H、控制端口-203H8254的端口地址为:计数器0-208H、计数器1-209H、计数器2-20aH、控制寄存器0-20bH。本设计硬件由定时模块、发光二极管模块、数码管显示模块和紧急中断模块组成。定时模块采用硬件定时和软件定时相结合的方法,用8254定时/计数器定时100ms,再用软件计时实现所需的定时。发光二极管模块由8255控制发光二极管来实现。数码管显示模块由实验平台上的LED显示模块实现。紧急中断模块是由单脉冲发生单元和8259中断控制器组成。 程序主要是由定时子程序、发光二极管显示子程序、数码管显示子程序和中断
17、服务程序组成。包括对8254、8255以及8259等可编程器件的编程。2) 发光二极管闪烁程序1:在单片机系统的P1.0口接上一个发光二极管,实现此灯的闪烁功能。 LED EQU P1.0 ;P1.0引脚上接上一个发光二极管 ORG 0 ;程序从0地址开始START: CLR LED ;点亮发光二极管 LCALL DELAY ;调用延时子程序(亮1秒钟) SETB LED ;关掉发光二极管 LCALL DELAY ;调用延时子程序(关1秒钟) LJMP START ;跳到START标号处执行DELAY: ;1秒延时子程序(12MHz晶振) MOV R5,#8 ;R5寄存器加载8次D0: MOV
18、 R7,#250 ;R7寄存器加载250次数D1: MOV R6,#250 ;R6寄存器加载250次数D2: DJNZ R6,D2 ;D2循环执行R6次 DJNZ R7,D1 ;D1循环执行R7次 DJNZ R5,D0 ;D0循环执行R5次 RET ;返回主程序 END ;主程序结束2:在单片机系统的P1口接上8个发光二极管,实现低位4个和高位4个的交替闪烁。 ORG 0 ;程序从0地址开始START: MOV A,#0FH ;让ACC的内容为LOOP: MOV P1,A ;从P1输出ACC的内容 CPL A ;对ACC的内容取反码(即反相) CALL DELAY ;调用延时子程序 LJMP
19、LOOP ;跳到LOOP处执行DELAY: ;0.1秒延时子程序(12MHz晶振) MOV R7,#200 ;R7寄存器加载200次数D0: MOV R6,#250 ;R6寄存器加载250次数 DJNZ R6,$ ;本行执行R6次 DJNZ R7,D0 ;D1循环执行R7次 RET ;返回主程序 END ; 主程序结束3) 源程序初始化程序:DATA SEGMENT LED DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H ;存放七段代码表 DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H D1 EQU 10HD2 EQU 200H ;8255A端口AE
20、A EQU 200H ;8259端口地址EE EQU 203HCONTROL EQU 20bH ;8254端口地址COUNT0 EQU 208H COUNT1 EQU 209H COUNT2 EQU 20aHZ8279 EQU 222HD8279 EQU 220HLEDMOD EQU 00 ;左边输入,八位显示外部译码八位显示LEDFEQ EQU 38H ;扫描频率DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATACODE SEGMENT ASSUME CS:CODECONT DB 0CONT1 DB 0CONT2 DB 0BKSD DB 0BKAD DB
21、 0BKDA DB 0TEMP DB 0;*START: MOV AX,0MOV DS,AXMOV AX,OFFSET IRQ0ADD AX,2000HMOV SI,0FH*4MOV SI,AXMOV AX,0MOV SI+2,AXIN AL,218HAND AL,7FHOUT 219H,ALCLIMOV AL,80H ;初始化8255OUT EE,ALMOV AL,00OUT EA,ALMOV AL,0f0HOUT EA,ALMOV DX,218H ;8259初始化MOV AL,bOUT DX,ALMOV AL,08HMOV DX,219HOUT DX,ALMOV DX,203H ;设置为全
22、输出MOV AL,80HOUT DX,ALMOV DX,200HMOV AL,0ffhOUT DX,AL ;清LEDMOV DX,200H ;全红MOV AL,0F0HOUT DX,ALMOV AL,b ;初始化 8254OUT CONTROL,ALMOV AX,2500MOV DX,COUNT0 OUT DX,ALMOV AL,AHOUT COUNT0 ,ALMOV AX,DATAMOV DS,AX中断服务程序:A1: STI HLT JMP A1IRQ0: JMP COMPARECOMPARE:CMP DL,0 JZ STATE0 CMP DL,1 JZ STATE1 CMP DL,2 J
23、Z STATE2 CMP DL,3 JZ STATE3STATE0: ;状态0:东西红南北绿 mov al,b out D2,al DEC SI JNZ CHANGE1 DEC DH MOV SI,100CHANGE1:DEC CX CMP CX,0 JNZ M0 MOV CX,500STATE1: DEC DI ;状态1:东西方向黄灯闪烁,南北绿灯 CMP DI,0 JNZ SHINE1 MOV AL, b ;东西灭,南北绿 OUT D2,AL MOV DI,50 JMP CHANGESHINE1: MOV AL,B ;东西黄,南北绿 OUT D2,ALCHANGE: DEC SI JNZ
24、CHANGE2 DEC DI MOV SI,100CHANGE2:DEC CX CMP CX,0 JNZ M1 MOV CX,2000 MOV DH,25STATE2: MOV AL,b ;状态2:东西绿灯,南北红灯 OUT D2,AL DEC SI JNZ CHANGE3 DEC DH MOV SI,100CHANGE3:DEC CX CMP CX,0 JNZ M2 MOV CX,500STATE3: DEC DI ;状态3:东西绿灯,南北黄灯闪烁 CMP DI,0 JNZ SHINE2 MOV AL,B ;东西绿灯,南北灭 OUT D2,AL MOV DI,50 JMP SOURCESHI
25、NE2: MOV AL,B ;东西绿,南北黄 OUT D2,ALSOURCE: DEC SI JNZ CHANGE4 DEC DH MOV SI,100CHANGE4:DEC CX CMP CX,0 JNZ M3 MOV CX,6000 MOV DH,65M0: MOV DL,0 ;下次进入状态0 JMP EXITM1: MOV DL,1 ;下次进入状态1 JMP EXITM2: MOV DL,2 ;下次进入状态2 JMP EXITM3: MOV DL,3 ;下次进入状态3EXIT: MOV AL,20H OUT 218H,AL IRETCODE ENDSEND START(四) 测试1. 在
26、测试中遇到的问题记录a) 软件延时与定时器计时 软件延时,设计简单,使用方便,但是无法进行精确计时,无法在实际应用中进行使用,本次设计采用了,定时器0进行计时,每10ms产生一个脉冲信号,可以准确的计时并方便8段数码管进行显示b) 使用中断 使用中断比较麻烦,在试验中需要两次加载初始化程序和中断服务程序,并且需要手工指定中断服务地址和中断向量号;但是使用中断可以进行多样化设计,强化程序功能与执行效率。2. 测试结果 1即东西方向的绿灯和南北方向的红灯同时点亮1分钟; 21分钟后,东西方向的黄灯闪烁5秒钟,。此时南北方向仍维持红灯点亮。 3东西方向的黄灯闪烁5秒钟后,转为东西方向的红灯和南北方向
27、的绿灯同时点亮20秒钟; 4 20秒钟后,转为南北方向的黄灯闪烁5秒钟,此时东西方向仍维持红灯点亮。 5南北方向的黄灯闪烁5秒钟后,东西方向的绿灯和南北方向的红灯同时点亮1分钟。如此循环重复。(五)总结在本次设计中,使用了8259A中断控制器、8254计数器、8255可编程并行接口实现了,对南北、东西方向交通的分别计时、分别控制,但是程序没有实现对双向交通的数码显示,数码显示模块空缺,会尽快将程序补全,使其具有完整的交通灯功与其他设计相比。 十字道口的红绿灯是交通法规的无声命令,是司机和行人的行为准则。十字道口的交通红绿灯控制是保证交通安全和道路畅通的关键。当前,国内大多数城市正在采用“自动”
28、红绿交通灯,它具有固定的“红灯绿灯”转换间隔,并自动切换。它们一般由“通行与禁止时间控制显示、红黄绿三色信号灯和方向指示灯”三部分组成。在交通灯的通行与禁止时间控制显示中,通常要么东西、南北两方向各50秒;要么根据交通规律,东西方向60秒,南北方向40秒,时间控制都是固定的。交通灯的时间控制显示,以固定时间值预先“固化”在单片机中,每次只是以一定周期交替变化。但是,实际上不同时刻的车辆流通状况是十分复杂的,是高度非线性的、随机的,还经常受认为因素的影响。采用定时控制经常造成道路有效应用时间的浪费,出现绿灯方向车辆较少,红灯方向车辆积压。它不顾当前道路上交通车辆数的实际情况变化,其最大的缺陷就在于当路况发生变化时
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《立定跳远》的教学反思
- 《快乐英语》第三册教案
- 体育场馆电缆网络顶管施工协议
- 城市绿化钻孔桩施工合同
- 环保产业园项目招投标资料
- 建筑工人休息室空调节能办法
- 公共交通枢纽防火门招投标资料
- 物业公司医疗保健人员合同模板
- 招投标合同变更法律风险
- 研发项目招投标实施细则
- Module1 Unit3 Period 3 A thirsty bird (教学设计)-2024-2025学年沪教牛津版(深圳用)英语四年级上册
- 《心系国防 强国有我》 课件-2024-2025学年高一上学期开学第一课国防教育主题班会
- Unit1 单元整体教学设计 2024-2025学年人教版(2024)七年级英语上册
- 2024年秋季新华师大版七年级上册数学教学课件 4.1.1对顶角
- 《创伤失血性休克中国急诊专家共识(2023)》解读课件
- 论网络交易违法行为监管地域管辖权的确定
- 酒店连锁突发事件处理考核试卷
- 2024发电企业安全风险分级管控和隐患排查治理管理办法
- 2024-2030年中国甲硫基乙醛肟行业市场行情监测及发展前景研判报告
- 运用PBL教学法探讨如何教会患者正确使用吸入剂
- 第四章运动和力的关系单元教学设计
评论
0/150
提交评论