82558253交通灯模拟实验报告

上传人:m**** 文档编号:216172729 上传时间:2023-06-05 格式:DOCX 页数:14 大小:35.52KB
收藏 版权申诉 举报 下载
82558253交通灯模拟实验报告_第1页
第1页 / 共14页
82558253交通灯模拟实验报告_第2页
第2页 / 共14页
82558253交通灯模拟实验报告_第3页
第3页 / 共14页
资源描述:

《82558253交通灯模拟实验报告》由会员分享,可在线阅读,更多相关《82558253交通灯模拟实验报告(14页珍藏版)》请在装配图网上搜索。

1、(一)课题简介2(二)设计方案2(三)具体设计41. 电路原理42. 程序原理:63. 系统原理81)8259, 8255A, 8254 工作原理:84. 关键技术分析131)实时控制和管理设计132)发光二极管闪烁程序143)源程序15(四)测试211. 在测试中遇到的问题记录212. 测试结果22(五)总结22(六)设计体会23(七)参考文献24(一)课题简介十字道I I的红绿灯是交通法规的无声命令,是司机和行人的行为准则。十字道I I的交通红绿 灯控制是保证交通安全和道路畅通的关键。当前,国内人多数城市正在采用“自动”红绿交 通灯,它具有固定的“红灯一绿灯”转换间隔,并自动切换。它们一般

2、由通行与禁止时间 控制显示、红黄绿三色信号灯和方向指示灯”三部分组成。在交通灯的通行与禁止时间控制 显示中,通常要么东西、南北两方向各50秒;要么根据交通规律,东西方向60秒,南北方 向40秒,时间控制都是固定的。交通灯的时间控制显示,以固定时间值预先“固化”在单 片机中,每次只是以一定周期交替变化。但是,实际上不同时刻的车辆流通状况是十分复杂 的,是高度非线性的、随机的,还经常受认为因素的影响。采用定时控制经常造成道路有效 应用时间的浪费,出现绿灯方向车辆较少,红灯方向车辆积压。它不顾当前道路上交通车辆 数的实际情况变化,其最人的缺陷就在于当路况发生变化时,不能满足司机与路人的实际需 要,轻

3、者造成时间上的浪费,重者直接导致交通堵塞,导致城市交通效率的卞降。 目前, 有一种使用“模糊控制”技术控制交通灯的方法。能够根据十字路11两个方向上车辆动态状 况,自动判断红绿灯时间间隔,以保证最人车流屋,减少道II的交通堵塞。但是却不像定时 控制,能用数字显示器显示当前灯色剩余时间,以便于驾驶员随时掌握自己的驾驶动作,及 时停车或启动。(二) 设计方案使用了 8259A中断控制器、8254计数器、8255可编程并行接口实现了,对南北、东西方向 交通的分别计时、分别控制,设计釆用定时加中断控制的方式进行,对两个方向车辆的通行 时间分别计时,可随意进行更改双向的通行时间。城市十字交叉路I I红绿

4、灯控制系统主要负贵控制东西走向和南北走向的红绿灯的状态和转 换顺序,关键是各个状态之间的转换和进行适当的时间延时,正是基于以上考虑,釆用如卞设 计:11.即东西方向的绿灯和南北方向的红灯同时点亮1分钟;2. 1分钟后,东西方向的黄灯闪烁5秒钟,。此时南北方向仍维持红灯点亮。3. 东西方向的黄灯闪烁5秒钟后,转为东西方向的红灯和南北方向的绿灯同时点亮20 秒钟;4. 20秒钟后,转为南北方向的黄灯闪烁5秒钟,此时东西方向仍维持红灯点亮。5. 南北方向的黄灯闪烁5秒钟后,东西方向的绿灯和南北方向的红灯同时点亮1分钟。 如此循坏重复。基于以上设计,在表1中给出了交通灯控制器的4种状态,对应的状态迁移

5、过程见表(1)和图(l)o东西走向南北走向 状态0红、黄、绿001红、黄、绿100 状态1红、黄、绿011红、黄、绿100 状态2红、黄、绿100红、黄、绿001状态3红、黄、绿100红、黄、绿011表(1)交通灯控制器的4种状态状态2状态3状态0状态1图(1)(三)具体设计1. 电路原理本课题的设计可通过实验平台上的一些功能模块电路组成,由于各模块电路内部已经连接, 用户在使用时只要设计模块间电路的连接,因此,硬件电路的设计及实现相对简单。完整系 统的硬件连接如图1所示。硬件电路由定时模块、发光二极管模块、数码管显示模块和紧急 中断模块组成。定时模块是由8254的计数器0来实现定时lOOni

6、So ClkO接实验平台分频电路输出Q6, f= 468751iZoGATE0接8255的PA0,由8255输出来控制计数器的起停oOUTO接8259的IRQ2, 定时完成申请中断,进入中断服务程序。发光二极管显示模块由8255输出来控制发光二极管的亮灭。8255输出为低电平时, 对应的发光二极管就点亮,否则就熄灭。8255的接I I电路如图2所示。交通灯的对应关系 如2L7L6L5L2L1L0PC7PC6PC5PC2PCIPCO 13红灯13黄灯13绿灯24红灯24黄灯24绿灯实验平台上提供一组六个LED数码管。插孔CS1用于数码管段选的输出选通,插孔CS2用 于数码管位选信号的输出选通。本

7、设计用4个数码管来倒计时。紧急中断模块是由单脉冲发生单元和8259中断控制器,单脉冲发生单元主要用来 请求中断,然后做出紧急情况处理。图2 8255接I丨电路2. 程序原理:设计数器0的计数初值为25000,由于CLK0接脉冲信号,频率为2.5MHZ,所以每lOnis 中断一次。利用CX对不同的状态时间计数,用来实现计数器0对1分钟,20秒钟,5秒钟 的定时。中断子程序分为数码显示刷新部分和红绿黄灯各种状态切换部分。每进入中断即刷 新LED显示。用对于东西车道和南北车道黄灯闪烁利用标志位判断实现,满足比较条件就 暗,不满足条件就亮。8254计数的起停由8255的PA0控制,8255的PA0输出

8、1时,8254开始计数,交通灯按正 常状态切换工作,PA0输出0时,计数器停止工作,交通灯不再按正常状态切换。8254开 始计数后每100ms发出一个中断申请信号,在中断子程序中先刷新数码管,然后判断当前 状态,进入相应的处理程序进行处理。主程序负贵系统的初始化,然后数码管数据输出显示,同时检测PC键盘按键,有按键就退 出程序。主程序的流程图如图3所示。定时中断子程序是本设计的重点,负责完成数码管输出数据刷新和各个状态的处理切换。中 断子程序包括数码管输出数据刷新程序和各状态处理程序。数码管输出数据刷新子程序是实 现倒计时25s,用LEDOUT表示输出的数据,W用来软件计时Is,就是计数10个

9、100ms。 LED输出是要将输出的数据转化为段选码。根据当前的状态跳转到相应的处理程序,在处 理程序中完成定时和状态的切换。状态1和3的流程是一样的,先点亮对应的交通灯,再判 断定时到了就可以切换了。状态2和4要实现黄灯的闪烁,间隔点亮和熄灭就可以了。状态 1和3处理程序的流程图(以状态1为例)如图6所示,其中NUM是状态1对应的PC I I 输出。外部中断服务子程序主要用来处理紧急情况,将2个方向的车都停止运行,点亮所有红灯。 卞次中断来时恢复以前的状态。用一个标志位FLAG判断是第一次进入还是恢复状态。3. 系统原理1)8259, 8255A, 8254 工作原理:1、8259的工作原理

10、1、数据总线缓冲器:8259A与系统数据总线的接I I,是8位双向三态缓冲器。CPU与8259A 之间的控制命令信息、状态信息以及中断类型信息,都是通过缓冲器传送的。2、读/写控制逻辑:CPU通过它实现对8259A的读/写操作。3、级连缓冲器:用以实现8259A芯片之间的级连,使得中断源可以由8级扩展至64级。4、控制逻辑电路:对整个芯片内部各部件的工作进行协调和控制。5、中断请求寄存器IRR:8位,用以分别保存8个中断请求信号,当响应的中断请求输入脚 有中断请求时,该寄存器的相应位置1。6、中断屏蔽寄存器IMR:8位,相应位用以对8个中断源的中断请求信号进行屏蔽控制。当 其中某位置“0“时,

11、则相应的中断请求可以向CPU提出;否则,相应的中断请求被屏蔽, 即不允许向CPU提出中断请求。该寄存器的内容为8259A的操作命令字OCW1,可以由程 序设置或改变。7、中断服务寄存器ISR:8位,当CPU正在处理某个中断源的中断请求时,ISR寄存器中的 相应位置lo8、用以比较正在处理的中断和刚刚进入的中断请求之间的优先级别,以决定是否产生多重 中断或中断嵌套。II. 8255A的工作原理1、8255A的内部结构:1) 数据总线缓冲器:这是一个双向三态的8位数据缓冲器,它是8255A与微机系统数 据总线的接1丨。输入输出的数据、CPU输出的控制字以及CPU输入的状态信息都是通过这 个缓冲器传

12、送的。2) 三个端口 A, E和C:A端I包含一个8位数据输出锁存器和缓冲器,一个8位数据 输入锁存器。E端II包含一个8位数据输入/输出锁存器和缓冲器,一个8位数据输入缓冲 器。C端II包含一个8位数据输出锁存器和缓冲器,一个8位数据输入缓冲器(输入没有锁 存器)。3) A组和B组控制电路:这是两组根据CPU输出的控制字控制8255工作方式的电路, 它们对于CPU而言,共用一个端II地址相同的控制字寄存器,接收CPU输出的一字节方式 控制字或对CII按位复位字命令。方式控制字的高5位决定A组的工作方式,低3位决定 B组的工作方式。对C I I按位复位命令字可对C丨I的每一位实现置位或复位。A

13、组控制电 路控制A 口和C 口上半部,B组控制电路控制B 口和C 口下半部。4) 读写控制逻辑:用来控制把CPU输出的控制字或数据送至相应端I I,也由它来控制 把状态信息或输入数据通过相应的端门送到CPUo2、8255A的工作方式:方式0-基本输入输出方式;方式选通输入输出方式;方式2-双向选通输入输出方式。3、引脚信号8255A的引脚如图7.5所示,分为数据线、地址线、读/写控制线、输入/输出端I I线和电源 线。D7DO (data bus):三态、双向数据线,与CPU数据总线连接,用来传送数据。(chip select):片选信号线,低电平有效时,芯片被选中。Al, AO (port

14、address):地址线,用来选择内部端I I。(read):读出信号线,低电平有效时,允许数据读出。(write):写入信号线,低电平有效时,允许数据写入。RESET (reset):复位信号线,高电平有效时,将所有内部寄存器(包括控制寄存器)清0。PA7PAO (poitA): A I I输入/输出信号线。PB7PBO (portB): B 口输入/输出信号线。PC7PCO (portC): CII输入/输出信号线。VCC: +5V电源。GND:电源地线。III. 8254的工作原理:8254是可编程的计数器/定时器,其内部有三个独立的16位计数器/定时器通道,每个计数器通 道均可按6种不

15、同的方式工作,并且都可以按二进制或十进制计数。其CLK0CLK2是计数 器02的时钟脉冲输入端,GATE0GATE2是门控脉冲输入端,OUT0OUT2是输出端。4. 关键技术分析1) 实时控制和管理设计a) 芯片选择及端II选择1.用实验系统8255A实现对信号灯的控制(所用端I I自定);2位数码显示用8255A实现 控制。2. 用实验系统8235的计数器2定时向实验系统主片8259A的IRQ7请求中断,以实现要求 的1分钟、5秒钟和20秒的定时。实验系统8235的计数器2的CLK2接OPCLK,频率为 1.19318MH乙GATE2已接+5V;定时采用软硬件相结合的方式实现。3、用实验系统

16、的发光二极管模拟红绿灯。注:8259A的端口地址为:218H、219H8255A 的端II地址为:端I I A-200H.端I 丨 E-201H、端I I C-202H.控制端 I 1-203H8254的端口地址为:计数器0-208H、计数器1-209H.计数器2-20aH、控制寄存器0-20bHo本设计硬件由定时模块、发光二极管模块、数码管显示模块和紧急中断模块组成。定时模块 采用硬件定时和软件定时相结合的方法,用8254定时/计数器定时lOOnis,再用软件计时实现所需的定时。发光二极管模块由8255控制发光二极管来实现。数码管显示模块由实验平 台上的LED显示模块实现。紧急中断模块是由单

17、脉冲发生单元和8259中断控制器组成。程序主要是由定时子程序、发光二极管显示子程序、数码管显示子程序和中断服务程序 组成。包括对8254. 8255以及8259等可编程器件的编程。2) 发光二极管闪烁程序1:在单片机系统的P1.0 I I接上一个发光二极管,实现此灯的闪烁功能。LED EQUORGSTART: CLRLCALLSETBP1.00LEDDELAYLEDDELAYSTART;P1.0引脚上接上一个发光二极管 ;程序从0地址开始;点亮发光二极管;调用延时子程序(亮1秒钟);关掉发光二极管;调用延时子程序(关1秒钟);跳到START标号处执行LCALLLJMPDELAY:;1秒延时子程

18、序(12MHz晶振)MOVR5*8;R5寄存器加载8次DO:MOVR7,#250;R7寄存器加载250次数DI:MOVR6,#250;R6寄存器加载250次数D2:DJNZR6.D2:D2循坏执行R6次DJNZR7Q1;D1循环执行R7次DJNZR5.D0;D0循坏执行R5次RET;返回主程序END;主程序结束2:在单片机系统的Pl I I接上8个发光二极管,实现低位4个和高位4个的交替闪烁。ORG0;程序从0地址开始START:MOVA.#0FH;让ACC的内容为00001111LOOP:MOVPLA;从Pl输出ACC的内容CPLA;对ACC的内容取反码(即反相)CALLDELAY;调用延时

19、子程序LJMPLOOP;跳到LOOP处执行DELAY:;0.1秒延时子程序(12MHz晶振)MOVR7,#200;R7寄存器加载200次数DO:MOVR6,#250;R6寄存器加载250次数DJNZR65;本行执行R6次DJNZR7Q0;D1循坏执行R7次RET;返回主程序END;主程序结束3) 源程序初始化程序:DATA SEGMENTLED DB 3FH,06H,5EH,4FH,66H6DH,7DH.07HDB 7FH.6FHJ7H5CHJ9H.5EHJ9HJ1H:存放七段代码表DIEQU 10HD2EQU 200HEA EQU 200HEE EQU 2O3HCONTROL EQU 20b

20、H;8255A 端 I I A;8259端口地址;8254端口地址COUNTO EQU 208HCOUNT 1 EQU 209HCOUNT2 EQU 20aHZ8279 EQUD8279 EQULEDMOD EQULEDFEQ EQU222H220H00 ;左边输入,八位显示外部译码八位显示38H ;扫描频率DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATACODE SEGMENTCONTDBOCONTIDBOCONT2DBOBKSDDBOBKADDBOBKDADBOTEMPDBOASSUME CS:CODE*START:MOV AX,0MOV DS,AXM

21、OV AX,OFFSET IRQOADD AX.2000HMOV SL0FH*4MOV SI,AXMOV AX,0MOV SI+2,AXINAL.218HAND ALJFHOUT219H.ALCLIMOV AL,80H;初始化 8255OUT EA.ALMOVMOVOUT DX.ALMOV AL.08HMOV DX,219HOUT DX.ALMOV DX,203HMOV AL,80HOUT DX,ALMOV DX,200HMOV AL.OffliOUT DX,ALMOV DX,200HMOV ALQF0H OUT DX,ALMOV AL,00110110bOUT CONTROL.ALMOVAX

22、2500MOV DX,COUNT0;设置为全输出;清 LED;全红;初始化8254OUT DX,ALMOV AL.AHOUT COUNTO ,ALMOV AX,DATAMOV DS,AX 中断服务程序:Al:STIHLTJMPA1IRQ0:JMP COMPARE COMPARE: CMP DL.O JZ STATEO CMPDLJ JZ STATE!CMP DL、2JZ STATE2CMP DL3JZ STATE3STATEO:状态0:东西红南北绿OUT EE.ALMOV AL,00OUT EA.ALMOVALQfOHDX,218H;8259 初始化AL,00010010bmov aLOlOl

23、 1010bout D2,alDEC SIJNZ CHANGE 1DEC DHMOV SI, 100CHANGE!:DEC CXCMP CX.OJNZ M0MOV CX JOOSTATEl:DEC DI:状态1:东西方向黄灯闪烁,南北绿灯CMP DL0JNZ SHINE 1MOV AL, 00001010b:东西灭,南北绿OUT D2ALMOV DL50JMP CHANGESHINE 1:MOVALJUllOlOB :东西黄,南北绿OUT D2ALCHANGE:DEC SIJNZ CHANGE2DEC DIMOV SI, 100CHANGE2 DEC CXCMP CX.OJNZ MlMOV C

24、X,2000MOV DH,25STATE2:MOVALJOlOOlOlb:状态2:东西绿灯,南北红灯OUT D2ALDEC SIJNZ CHANGE3DEC DHMOV SI, 100CHANGE3 DEC CXCMP CX.OJNZ M2MOV CX JOOSTATE3: DEC DI;状态3:东西绿灯,南北黄灯闪烁CMP DLOJNZ SHINE2MOVAL40100000B:东西绿灯,南北灭OUT D2ALMOV DL50JMPSOURCESHINE2:MOVALJ0101111B:东西绿,南北黄OUT D2AL SOURCE:DEC SIJNZ CHANGE4DEC DHMOV SI,

25、 100 CHANGE4:DEC CXCMP CX.OJNZ M3MOV CX,6000卜次进入状态0卜次进入状态1卜次进入状态2卜次进入状态3MOV DH,65MO:MOV DLQJMP EXITMl:MOV DLJJMP EXITM2:MOV DL,2JMP EXITM3:MOV DL,3EXIT:MOVAL20HOUT218H,ALIRETCODE ENDSEND START(四)测试1. 在测试中遇到的问题记录a)软件延时与定时器计时软件延时,设计简单,使用方便,但是无法进行精确计时,无法在实际应用中进行使用, 本次设计采用了,定时器0进行计时,每10ms产生一个脉冲信号,可以准确的计

26、时并方便 8段数码管进行显示b)使用中断使用中断比较麻烦,在试验中需要两次加载初始化程序和中断服务程序,并且需要手工 指定中断服务地址和中断向量号;但是使用中断可以进行多样化设计,强化程序功能与执行 效率。2. 测试结果1. 即东西方向的绿灯和南北方向的红灯同时点亮1分钟;2. 1分钟后,东西方向的黄灯闪烁5秒钟,。此时南北方向仍维持红灯点亮。3. 东西方向的黄灯闪烁5秒钟后,转为东西方向的红灯和南北方向的绿灯同时点亮20 秒钟;4. 20秒钟后,转为南北方向的黄灯闪烁5秒钟,此时东西方向仍维持红灯点亮。5. 南北方向的黄灯闪烁5秒钟后,东西方向的绿灯和南北方向的红灯同时点亮1分钟。 如此循坏

27、重复。(五)总结在本次设计中,使用T 8259A中断控制器、8254计数器、8255可编程并行接口实现了,对 南北、东西方向交通的分别计时、分别控制,但是程序没有实现对双向交通的数码显示,数 码显示模块空缺,会尽快将程序补全,使其具有完整的交通灯功与其他设计相比。十字道I I的红绿灯是交通法规的无声命令,是司机和行人的行为准则。十字道I I的交通红绿 灯控制是保证交通安全和道路畅通的关键。当前,国内人多数城市正在采用“自动”红绿交 通灯,它具有固定的“红灯一绿灯”转换间隔,并自动切换。它们一般由通行与禁止时间 控制显示、红黄绿三色信号灯和方向指示灯”三部分组成。在交通灯的通行与禁止时间控制 显

28、示中,通常要么东西、南北两方向各50秒;要么根据交通规律,东西方向60秒,南北方 向40秒,时间控制都是固定的。交通灯的时间控制显示,以固定时间值预先“固化”在单 片机中,每次只是以一定周期交替变化。但是,实际上不同时刻的车辆流通状况是十分复杂 的,是高度非线性的、随机的,还经常受认为因素的影响。釆用定时控制经常造成道路有效 应用时间的浪费,出现绿灯方向车辆较少,红灯方向车辆积压。它不顾当前道路上交通车辆 数的实际情况变化,其最人的缺陷就在于当路况发生变化时,不能满足司机与路人的实际需 要,轻者造成时间上的浪费,重者直接导致交通堵塞,导致城市交通效率的卞降。 目前, 有一种使用“模糊控制”技术

29、控制交通灯的方法。能够根据十字路I I两个方向上车辆动态状 况,自动判断红绿灯时间间隔,以保证最犬车流量,减少道II的交通堵塞。但是却不像定时 控制,能用数字显示器显示当前灯色剩余时间,以便于驾驶员随时掌握自己的驾驶动作,及 时停车或启动。本次课程设计釆用定时加中断控制的方式进行,对两个方向车辆的通行时间分别计时,可 随意进行更改双向的通行时间。(六)设计体会此次实习可以说是获益匪浅。通过查阅了很多资料,了解了许多汇编程序的思想,扩展了自 己的视野,不再仅仅局限于书本中几条简短的程序,而且更重要的是明白写程序的态度:仔 细谨慎,精益求精。在程序中添加了黄灯闪烁,更加醒目。另外加入能够实现各路I

30、 I绿灯显 示时间不同,适应在主干道和支线路II中使用。在系统加电调试中,针对一些问题,熟练掌 握了根据原理分步测试,将错误之处缩小的最小范围内。通过该课程设计,掌握了什么是编译程序,编译程序工作的基本过程及其各阶段的基本任务, 熟悉了编译程序总流程框图,了解了编译程序的生成过程、构造工具及其相关的技术对课本 上的知识有了更深的理解,课本上的知识师机械的,表面的。通过把该算法的内容,算法的 执行顺序在计算机上实现,把原来以为很深奥的书本知识变的更为简单,对实验原理有更深 的理解。而且在设计中,把死板的课本知识变得生动有趣,激发了学习的积极性。把学过的计算机编 译原理的知识强化,能够把课堂上学的知识通过自己设计的程序表示出来,加深了对理论知 识的理解。以前对与计算机操作系统的认识是模糊的,概念上的,现在通过自己动手做实验, 从实践上认识了操作系统是如何处理命令的,如何协调计算机内部各个部件运行,对计算机 编译原理的认识更加深刻。课程设计中程序比较复杂,在调试时应该仔细,在程序调试时, 注意指针,将不必要的命令去除。(七)参考文献1 钱能.C卄程序设计教程M.北京:清华人学出版社,2004.82 谭浩强.C语言教程M.北京本文来自 CSDN 博客,转载请标明出处:

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!