本篇文章给大家谈谈交通灯微机接口设计,以及微机课设交通灯对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
今天给各位分享交通灯微机接口设计的知识,其中也会对微机课设交通灯进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
微机接口课程设计 交通灯控制系统设计
C8255 EQU 203H ;8255 状态/命令口地址
P8255A EQU 200H ;8255 PA 口地址
P8255B EQU 201H ;8255 PB 口地址
P8255C EQU 202H ;8255 PC 口地址
DATA SEGMENT
DATA ENDS
STACK SEGMENT STACK
STA DW 50 DUP(?)
TOP EQU LENGTH STA
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK
START:
MOV DX,C8255 ;A口输出
MOV AL,80H
OUT DX,AL
PUSH CS
POP DS
CALL STATUS0 ;初始状态(都是红灯)
MLOOP: CALL STATUS1 ;南北绿灯,东西红灯
CALL STATUS2 ;南北绿灯闪转黄灯,东西红灯
CALL STATUS3 ;南北红灯,东西绿灯
CALL STATUS4 ;南北红灯,东西绿灯闪转黄灯
JMP MLOOP
STATUS0:
MOV AL,0F0H ;南北红灯,东西红灯
MOV DX,P8255A
OUT DX,AL
MOV BL,10
CALL DELAY ;延时1秒
RET
STATUS1:
MOV AL,05AH ;南北红灯,东西红灯
MOV DX,P8255A
OUT DX,AL
MOV BL,50
CALL DELAY ;延时5秒
RET
STATUS2:
MOV CX,3 ;绿灯闪3次
FLASH: MOV AL,050H ;南北红灯,东西红灯
MOV DX,P8255A
OUT DX,AL
MOV BL,3
CALL DELAY ;延时0.3秒
MOV AL,05AH ;南北红灯,东西红灯
MOV DX,P8255A
OUT DX,AL
MOV BL,3
CALL DELAY ;延时0.3秒
LOOP FLASH
MOV AL,0FAH ;南北红灯,东西红灯
MOV DX,P8255A
OUT DX,AL
MOV BL,10
CALL DELAY ;延时1秒
RET
STATUS3:
MOV AL,0A5H ;南北红灯,东西绿灯
MOV DX,P8255A
OUT DX,AL
MOV BL,50
CALL DELAY ;延时5秒
RET
STATUS4: ;南北红灯,东西绿灯闪转黄灯
MOV CX,3 ;绿灯闪3次
FLASH1: MOV AL,0A0H
MOV DX,P8255A
OUT DX,AL
MOV BL,3
CALL DELAY ;延时0.3秒
MOV AL,0A5H
MOV DX,P8255A
OUT DX,AL
MOV BL,3
CALL DELAY ;延时0.3秒
LOOP FLASH1
MOV AL,0F5H ;南北红灯,东西黄灯
MOV DX,P8255A
OUT DX,AL
MOV BL,10
CALL DELAY ;延时1秒
RET
DELAY PROC NEAR
PUSH CX
DL1: MOV CX,8000H
DL2: LOOP DL2
DEC BL
CMP BL,0
JNE DL1
POP CX
RET
DELAY ENDP
CODE ENDS
END START
微机原理课程设计:交通灯控制系统设计
写完了
也不长
CODE SEGMENT
FLASHTIME EQU 01H
;黄灯闪烁三次
OUT 00H,AL
MOV 03H,BL
START:
OUT 12h,AL;点亮黄灯
MOV AX,02H
CALL Delay
OUT 00h,AL;熄灭所有灯
MOV AX,02H
CALL Delay
OUT 12h,AL;点亮黄灯
MOV AX,02H
CALL Delay
OUT 00h,AL;熄灭所有灯
MOV AX,02H
CALL Delay
OUT 12h,AL;点亮黄灯
MOV AX,02H
CALL Delay
OUT 00h,AL;熄灭所有灯
MOV AX,02H
CALL Delay
MAIN:
OUT 21h,AL
MOV AX,0AH
CALL Delay
OUT 22H,AL
MOV AX,FLASHTIME
CALL Delay
OUT 20H,AL
MOV AX,FLASHTIME
CALL Delay
OUT 22H,AL
MOV AX,FLASHTIME
CALL Delay
OUT 20H,AL
MOV AX,FLASHTIME
CALL Delay
OUT 22H,AL
MOV AX,FLASHTIME
CALL Delay
OUT 20H,AL
MOV AX,FLASHTIME
CALL Delay
OUT 0CH,AL
MOV AX,10H
CALL Delay
OUT 14H,AL
MOV AX,FLASHTIME
CALL Delay
OUT 04H,AL
MOV AX,FLASHTIME
CALL Delay
OUT 14H,AL
MOV AX,FLASHTIME
CALL Delay
OUT 04H,AL
MOV AX,FLASHTIME
CALL Delay
OUT 14H,AL
MOV AX,FLASHTIME
CALL Delay
OUT 04H,AL
MOV AX,FLASHTIME
CALL Delay
JMP MAIN
CODE ENDS
Delay:
CALL Delay1S
DEC AX
CMP AX,0
JNZ Delay
RET
Delay1S:
MOV CX,04FFFH
Delayloop:
DEC CX
CMP CX,0
JNZ Delayloop
RET
END
微机原理及应用课程设计--交通信号灯的控制
ORG 0000H
LJMP STAR1
A_BIT EQU 20H;数字的管店的内存位置
B_BIT EQU 21H个位数字数码管的十位数字的存储空间位置
TEMP EQU 22H;计数器的值存储位置
STAR1:MOV TEMP,#20;初始化计数器60
CLR P1.0;南北方向的红灯
CLR P1 0.5,东西方向绿灯
STLOP1:由ACALL和DISPLAY1;调用显示子程序
DEC的TEMP 1
MOV A计数器减的TEMP;
CJNE A,#0,STLOP1;判断计数器满了吗?“
SETB P1.0;南北方向的红灯熄灭
SETB P1.5 ACALL和山绿色
由东向西方向的呼叫闪烁的黄灯过程 BR / STAR2:MOV TEMP,#20;重新开始60秒倒计时
CLR P1.2;南北方向的绿灯
CLR P1.3;东方红西方向
STLOP2:ACALL并显示2;调用数码管子程序
DEC TEMP;计数器减
MOV A,TEMP
CJNE A,#0,STLOP2以确定是否计数器?
SETB P1.2
SETB P1.3
ACALL山,子程序调用黄灯闪烁?
由SJMP STAR1;
DISPLAY1:MOV A,TEMP
MOV B,#10
DIV AB
MOV B_BIT,B位B BR / MOV A_BIT,A;十
MOV DPTR,#NUMTAB;指定查找表启起始地址
MOV R0,#12;
DPL1: MOV R1,#250;
DPLOP1:MOV A,A_BIT;个位数
MOVC A,@ A + DPTR;调查位数的7段码
MOV P0,A;发送出去位7段码
CLR P2.3;打开一个数字显示
ACALL和D1MS所; 162微秒
SETB P2.3;关闭了一下,以防止鬼影
MOV A,B_BIT,以十位数
MOVC A _at_ A + DPTR;调查10位,7段码
MOV P0,A;发送10七段码
CLR至P2.2,开放的10显著?
CLR P2.0
CLR P2.1
ACALL D1MS显示
SETB P2.2 162微秒;近10个,以防止重影
DJNZ R1 DPLOP1循环执行250次
DJNZ R0,DPL1流通实施250X4 = 1000
RET
DISPLAY2:MOV A,TEMP TEMP中的十六进制数转换成十进制数 BR / MOV B,#10; 10进制/ 10 =十进制
DIV AB;
MOV A_BIT,B,在B
MOV B_BIT 10,A;一个
MOV DPTR,#NUMTAB,
MOVC A指定的查找表的起始地址
MOV R0,#12;
DPL2:MOV R1,#250;
DPLOP2:MOV A,A_BIT带数字,@ A + DPTR;调查数字的7段码
MOV P0,A;发送的位7段码
CLR P2。 0;打开一个位
ACALL和D1MS;
显示162微秒SETB P2.0;关闭位,防止重影
MOV A,B_BIT十位数</ MOVC A _at_ A + DPTR;调查的10位数字的7段码
MOV P0,A,派出10个7段码
CLR P2.1,开放的十个重大
CLR P2.2 CLR P2.3
ACALL D1MS显示
SETB P2.1,162微秒;关闭10
DJNZ R1 DPLOP2,防止重影;循环执行250次
DJNZ R0,DPL2循环执行250X4 = 1000
RET
山:MOV R3,#5;
ROUND:CLR P1.1; / CLR P1.4;
ACALL DELAY;黄灯闪烁5
SETB P1.1,每次间隔一秒钟
SETB P1.4;
ACALL延迟
DJNZ R3轮;
RET;
D1MS:MOV R7,#80; 2 +2 X80 = 162微秒的延迟计算12MHZ
DJNZ R7,美元;
RET;
DELAY:MOV R6,#10;
YL3:MOV R4,#100;
XL2:MOV R5,#71;
DL1:NOP;秒的延时子程序
NOP
NOP
NOP
NOP
DJNZ R5,DL1;
DJNZ R4,XL2;
DJNZ R6,YL3的; <br / RET;
共阴极数码管显示的代码
NUMTAB一个:DB 03FH 0
END
基于Proteus的智能交通灯设计与仿真实现论文
基于Proteus的智能交通灯设计与仿真实现论文
交通灯有两种交通灯微机接口设计,给机动车看的叫机动车灯,通常指由红、黄、绿(绿为蓝绿)三种颜色灯组成用来指挥交通通行的信号灯。给行人看的叫人行横道灯,通常指由红、绿(绿为蓝绿)二种颜色灯组成用来指挥交通通行的信号灯,红灯停,绿灯行。下面是交通灯微机接口设计我为交通灯微机接口设计你带来的 基于Proteus的智能交通灯设计与仿真实现论文,欢迎阅读。
摘要交通灯微机接口设计:针对现实中越来越严重的城市交通拥堵现象,文章介绍了一种十字路口交通信号灯智能控制系统。该系统实现了正常时段交通信号灯的轮换,解决了十字路口车辆的正常行驶;并可通过外部中断或手动设置解决一些紧急事件或由于某方向车道车流量不均衡所造成的十字路口交通资源浪费或堵塞问题。通过在Proteus V7.8仿真平台中运行,系统具有较强的可靠性。
关键词:Proteus;智能交通灯;仿真实验
随着现代化社会经济的快速发展,城市车辆大幅度增加,交通拥挤、道路阻塞、车辆通行缓慢等问题受到了人们极大的关注,特别是早晚交通高峰时的十字路口,因此智能交通控制就显得尤为重要。传统的交通灯控制,是根据一定时间段的各车道车流量的调查而分配出的相对合理的固定周期换灯的控制方式,不管是车流高峰还是低谷;也有一些交通灯能根据简单划分的时间段来调整时间,但控制起来不是很灵活,这使得城市车流的调节不能达到最优,经常出现通行时间与车流量不相适应的'情况,特别是特定时间的十字路口,会出现某一方向车辆早已通行完,而另一方向车辆排队等绿灯的情况[1]。本文介绍的是一种采用8086 CPU和8259中断控制器配以7段数码管设计实现的十字路口智能交通灯控制系统,其能根据实时车流量对路口的绿灯时间进行动态调节,大大加强了其灵活性和实时性,并通过Proteus仿真软件平台实现了仿真。
一、总体设计方案
本文以十字路口单行车辆通行为研究对象,东南西北四个方向对应路口都设绿、红、黄三色圆灯信号(东西为一向,南北为一向),正常工作状态见表1,具体控制思想如下:(1)车辆流量的采集;(2)分析计算停止车辆排队长度,计算车流量比值,以1为基值判断双方车流量大小;(3)车辆输出量确认,根据各个方向车辆排队长度给定每个路口的红、绿灯时间值;(4)根据比值,增减另一方向车辆红、绿灯时长;(5)以3秒钟为单位,最大变化不超过18秒;(6)检测采用每周期循环一次,从而实现对整个信号灯的智能控制。
按照此思想,系统主要包括6个模块,如图1所示。以8086 CPU为主控制器,控制其他模块协调工作。其中信号灯模块显示各车道的通行情况;数码管倒计时模块显示信号灯燃亮时间;闯红灯报警模块实时监测车辆违规行为;紧急通行模块用于处理非正常通行,以外部中断方式控制[2];时间手动设置模块以通过键盘进行手动设置,增加人为的可控性,用于在紧急状态下,通过设置所有灯变为红灯以避免自动故障和意外发生。
二、Proteus仿真设计
1.Proteus仿真平台简介。Proteus是英国Labcenter electronics公司研发的多功能EDA软件,其由ISIS原理图编辑与仿真软件包和ARES布线编辑软件包组成,是目前世界上唯一将电路仿真、PCB设计软件和虚拟模型仿真软件三合一的设计平台。Proteus V7.5 SP3以上的版本中增加了对8086 CPU及相关接口芯片的仿真功能。另外,Proteus还提供有示波器、逻辑分析仪、信号发生器、交直流电压/电流表、数字图案发生器、定时器/计数器、逻辑探头、虚拟终端等很多虚拟仪器,是一个全开放性的仿真实验平台,相当于一个设备齐全的综合性实验室。本文介绍所使用的为Proteus V7.8软件。Proteus本身未提供8086编译器,而是通过添加外部代码编译器,将编写好的源程序加入工程,编译并生成可执行程序。本文介绍的采用EMU8086提供的编译环境进行程序的编写和汇编。EMU8086是一可在Windows环境下运行的8086 CPU汇编真软件,其集成了文本编辑器、编译器、反编译器、真调试、虚拟设备和驱动器为一体。Proteus仅支持8086最小模式,8086模型可直接加载BIN、COM和EXE格式的文件到内部RAM中,不需要DOS,而且允许对Microsoft(Codeview)和Borland格式中包含了调试通过的程序可以进行源程序或反汇编后的调试,因此源码汇编和链接过程的参数相当重要[3]。
2.信号灯电路设计。信号灯组由红、黄、绿三色灯组成,4组共12盏灯,其亮灭及闪烁方式与十字路口的红、黄、绿灯同步,由8255A芯片的A口通过方式0控制6个开关量(12盏灯);七段数码管采用共阴极接法,由8255A芯片的B口通过方式0输出控制,其中低四位控制个位显示,高四位控制十位显示。8259中断控制器的IR0接8253的OUT2,实现对于紧急情况的外部中断处理。譬如控制红绿信号灯,实现相应车道通行、另一车道禁行,同时熄灭所有的数码管;或者遇有某方向路段忙时,信号灯的燃亮时间可根据车流量情况设置时间。
3.软件设计。程序主要包括“jjsj”和“zcsj”两个子程序。系统正常运行都在执行“zcsj”子程序,初始化十字路口的交通信号灯状态及燃亮时间,启动8253定时器数码管开始倒计时。在倒计时期间,当遇有某方向车辆特别多或遇忙等其他紧急情况时,通过外部中断请求执行“jjsj”子程序模块。绿灯倒计时完毕后,转换黄色信号灯,持续到规定时间后,东西和南北方向路口信号灯互换,如此一直循环运行[4]。程序设计流程如图2所示。
三、Proteus仿真实现
1.8255A初始化。从图3所示的硬件原理图得知,8255A芯片的片选端连接在74HC154译码器的输出端,74HC154的4个引脚D、C、B、A分别与锁存器74LS273输出的A12、A11、A10、A9相连,当A12、A11、A10、A9=0001时8255A有效,所以8255A的4个端口地址分别为0200H、0202H、0204H、0206H;初始化方式选择控制字为89H(A、B口方式0输出,C口方式0输入)。
2.实际问题处理。①定时时间的动态调整。定时时间设计为倒计时,用两位七段数码管显示,倒计时小于等于5秒时黄灯每0.5秒亮和灭切换一次,倒计时显示0秒时两个方向的红色灯和绿色灯切换。定时时间可以通过软件设计实现动态调整。方法为:将8253A计数器0工作在方式2,CLK0接2MHZ的时钟频率,设一计数初值(假设为2000),OUT0接CLK1,8253计数器1工作在方式0,设一计数初值(假设为500),则OUT1的输出频率为:2MHZ/2000/500=2HZ脉冲,相应周期为0.5秒。根据实际路况,通过改变计数初值可调整倒计时间。②时间差异。Proteus中利用8253A表示的时间和真实时间有差异,设定的时间比实际时间要长很多。所以,在仿真实验中为了看到与实际相符的交通灯变化,本应是0.5秒的时间需在源程序中将延时时间设置为0.25秒,这样运行起来更贴近实际[5,6]。
3.仿真效果。如图4所示为东西路口绿灯燃亮,南北路口红灯燃亮倒计时运行在18秒时的仿真结果图。
本系统以8086 CPU为核心,程序调试阶段采用EMU86进行在线编程及修改,设计的交通灯可控制十字路口的车辆及行人的交通管理,采用3个7段数码管,可以直观地显示红绿灯的开放和关闭时间。实际交通中的每个路口不完全一样,所以交通灯显示也没有固定规则,通常会根据具体情况设置相应的程序。由于Proteus没有提供箭头标志,本系统按单行道设计,指示灯不是专门的箭头指向灯,只是红、黄、绿三色圆灯信号灯,所以系统只考虑并实现了简单的十字路口交通行驶,即红灯亮时不能直行也不能左转,但可以右转;绿灯亮时,直行、左转、右转都可以,当遇有某方向车辆多或其他紧急情况时,通过中断可加以灵活性控制[7]。另外,系统在实现了十字路口基本的交通灯控制基础上,还引用了外部中断技术和时间手动设置,这可避免因无序和抢行等无控制原因造成的不必要阻塞甚至瘫痪情况发生。Proteus从V8版本开始支持ARM/Cortex-M3,这样,将会给交通灯系统增添更多现代化功能。
参考文献:
[1]李萍.基于AT89S51的智能交通灯控制系统设计与仿真[J].电子设计工程,2014,22(01):190-193.
[2]王维松,等.十字路口智能交通灯控制系统的FPGA实现[J].电子科技,2012,25(9):37-39,44.
[3]顾晖,陈越,梁惺彦,等.微机原理与接口技术-基于8086和Proteus仿真[M].北京:电子工业出版社,2011:110-135
[4]周灵彬,任开杰.基于Proteus的电路与PCB设计[M].北京:电子工业出版社,2013:1-38.
[5]温志达,梁桂荣.基于车流量的智能交通灯控制系统[J].自动化技术与应用,2009,28(6):115-118.
[6]张晓荣,李永红.智能交通灯的设计及其FPGA的实现[D].传感器世界,2013,(12):27-30.
[7]赵金亮.自适应交通路口控制系统设计与实现[J].太原理工大学学报,2013,44(4):531-535.
;
微机原理 8255A应用——交通控制程序
CODE SEGMENT
ASSUME CS:CODE
IOCONPT EQU 0FF2BH
IOAPT EQU 0FF28H
IOBPT EQU 0FF29H
IOCPT EQU 0FF2AH
ORG 10e0H
START: MOV DX,IOCONPT
MOV AL,80H
OUT DX,AL
MOV DX,IOBPT
MOV AL,00H
OUT DX,AL
MOV DX,IOCPT
MOV AL,0FH ;H
OUT DX,AL
CALL DELAY1
IOLED0: MOV AL,01011010B ;13L 24H
MOV DX,IOCPT
OUT DX,AL
CALL DELAY1
CALL DELAY1
MOV AL,00001010B ;13LN
OUT DX,AL
MOV CX,8H
IOLED1: MOV DX,IOBPT
MOV AL,50H
OUT DX,AL
CALL DELAY2
MOV AL,00H
OUT DX,AL
CALL DELAY2
LOOP IOLED1
MOV DX,IOCPT
MOV AL,10100101B
OUT DX,AL
CALL DELAY1
CALL DELAY1
MOV AL,00000101B
OUT DX,AL
MOV CX,8H
IOLED2: MOV DX,IOBPT
MOV AL,0A0H
OUT DX,AL
CALL DELAY2
MOV AL,00H
OUT DX,AL
CALL DELAY2
LOOP IOLED2
MOV DX,IOCPT
MOV AL,0FH
OUT DX,AL
CALL DELAY2
JMP IOLED0
DELAY1: PUSH AX
PUSH CX
MOV CX,0030H
DELY2: CALL DELAY2
LOOP DELY2
POP CX
POP AX
RET
DELAY2: PUSH CX
MOV CX,8000H
DELA1: LOOP DELA1
POP CX
RET
CODE ENDS
END START
关于交通灯微机接口设计和微机课设交通灯的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
交通灯微机接口设计的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于微机课设交通灯、交通灯微机接口设计的信息别忘了在本站进行查找喔。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
暂时没有评论,来抢沙发吧~