ImageVerifierCode 换一换
格式:DOCX , 页数:47 ,大小:273.30KB ,
资源ID:10550656      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10550656.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(华电电气微机原理综合交通灯设计.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

华电电气微机原理综合交通灯设计.docx

1、华电电气微机原理综合交通灯设计微机原理与接口技术实验报告综合实验 红绿灯仿真及实现 专业: 电力系 班级: 电气1409 学号: * 姓名: WAY 预习报告成绩 实验成绩: 实验日期及时间:(1) 2017/5/13 机位号: (2) 2017/5/20 机位号: B11 * * 综合实验项目基本要求(任务书):设计实现交通信号灯系统。设A车道与B车道交叉组成十字路口,A是主道,B是支道,直接对车辆进行交通管理,基本要求如下:(1)用发光二极管模拟交通信号灯;(2)正常情况下,A、B两车道轮流放行,A车道放行绿灯亮,其中3秒用于警告(黄灯亮);B车道放行绿灯亮,其中3秒用于警告(黄灯亮);A

2、、B车道放行、禁止通行时间自己定义;(3)有紧急车辆通过时,按下某开关使A、B车道均为红灯,紧急情况解除后,恢复正常控制。注意:除上述基本要求外,其它各种功能,可以自由发挥。一实验一: 在Proteus仿真实现交通信号灯系统。(1)交通信号灯系统设计描述(实现内容)用发光二极管模拟交通信号灯;正常情况下,A、B两车道轮流放行。A车道绿灯放行,直行箭头亮,人行道红灯亮,B道红灯亮,直行红箭头亮,人行道绿灯亮延时10秒;A车道绿灯闪烁两次B车道红灯禁止放行,然后A车道延时3秒用于警告(黄灯亮);A车道红灯亮,A车道左转箭头亮,延时5秒;B车道绿灯,直行箭头亮,人行道红灯亮,A车道禁止放行红灯亮直行

3、红箭头亮,人行道绿灯亮延时10秒,B车道绿灯闪烁2次,A车道禁止放行红灯亮,然后3秒用于警告(黄灯亮); B车道红灯亮,B车道左转箭头亮,延时5秒;恢复到初始状态.有紧急车辆通过时,按下某开关使A、B车道均为红灯,紧急情况延时5秒;A道有特种车辆通过时,按下某开关使A车道为绿灯B车道为红灯,延时5秒;用数码管显示绿灯通行、黄灯等待时间;(2)Proteus中实现原理图下图为矢量图可以放大看(3)源程序清单;8253的端口地址A1_PORT EQU 220H ;0#B1_PORT EQU 222H ;1#C1_PORT EQU 224H ;2#CT1_PORT EQU 226H ;CONTROL

4、;8255#1端口地址A_PORT EQU 200HB_PORT EQU 202HC_PORT EQU 204HCT_PORT EQU 206H;8255#2(A道LED)端口地址A2_PORT EQU 230HB2_PORT EQU 232HC2_PORT EQU 234HCT2_PORT EQU 236H;8255#3(B道LED)端口地址A3_PORT EQU 228HB3_PORT EQU 22AHC3_PORT EQU 22CHCT3_PORT EQU 22EH;8255#4(A、B道左转LED)端口地址A4_PORT EQU 238HB4_PORT EQU 23AHC4_PORT

5、EQU 23CHCT4_PORT EQU 23EH;8259A的端口地址O_ADR EQU 212H ;奇地址E_ADR EQU 210H ;偶地址DATAS SEGMENT;七段码ORG 0F0000HTAB DB 00H,01H,02H,03H,04H,05H,06H,07H,08H,09H,10H,11H,12H,13H,14H,15HAB_FLAG DB 0;0表示A道,1表示B道ORG 6000H;人行道段码表ROW1 DB 01H,02H,04H,08H,10H,20H,40H,80HCEL1 DB 0F7H,0F7H,0F7H,0F7H,0E7H,0DBH,0BDH,7EH;箭头

6、段码表CEL2 DB 0E7H,0C3H,0A5H,66H,0E7H,0E7H,0E7H,0E7HUNABLE DB 7EH,0BDH,0DBH,0E7H,0E7H,0DBH,0BDH,7EHALFT DB 0F3H,0F9H,0H,79H,73H,7FH,7FH,7FHDATAS ENDSCODE SEGMENT PUBLIC CODE ASSUME CS:CODE,DS:DATASORG 2000HSTART: ; Write your code here PUSH DS CLI ;8253计数器0的初始化 MOV AL,36H ;控制字00 11 011 0 B,计数器0,方式3,二进制

7、 MOV DX,CT1_PORT OUT DX,AL ;送控制端口 ;8253计数器1的初始化 MOV AL,70H ;控制字01 11 000 0 B,计数器1,方式0,二进制 MOV DX,CT1_PORT OUT DX,AL ;送控制端口 ;8259A的初始化 ;0001 0011,ICW1,边沿触发,无从片,写ICW4 MOV AL,13H MOV DX,E_ADR;偶地址 OUT DX,AL ;ICW2,IR0中断向量码为08H MOV AL,08H MOV DX,O_ADR;奇地址 OUT DX,AL MOV AL,0FH MOV DX,O_ADR;奇地址 OUT DX,AL ;I

8、CW4,CPU为80X86系列,非自动结束,无缓冲,全嵌套方式 MOV AL,01H OUT DX,AL MOV AL,7EH OUT DX,AL ;OCW1,只允许IR0开放 ;中断向量表的初始化 MOV AX,0000H MOV DS,AX MOV SI,08H*4 MOV AX,OFFSET IR0 MOV BX,SEG IR0 MOV SI,AX MOV SI+2,BX ;IR7中断向量 MOV SI,0FH*4 MOV AX,OFFSET IR7 MOV BX,SEG IR7 MOV SI,AX MOV SI+2,BX ;8255#1初始化 MOV AL,88H ;正定控制字1000

9、,1000,方式0,A口输出 ,C口输入 MOV DX,CT_PORT OUT DX,AL ;8255#2初始化 MOV AL,80H ;正定控制字1000,1000,方式0,A口、B、C输出 MOV DX,CT2_PORT OUT DX,AL ;8255#3初始化 MOV AL,80H ;正定控制字1000,1000,方式0,A口、B、C输出 MOV DX,CT3_PORT OUT DX,AL ;8255#4初始化 MOV AL,80H ;正定控制字1000,1000,方式0,A口、B、C输出 MOV DX,CT4_PORT OUT DX,AL ;A道绿灯,B道红灯,延时10s,默认是A道,

10、即AB_FLAG=0LP: PUSH DS CLI STI ;开中断 POP DS MOV AL,0F3H MOV DX,A_PORT ;A道绿灯,B道红灯 OUT DX,AL ;延时10S MOV CX,10YS1: CALL NORMALDELAY1S LOOP YS1 ;A道绿灯闪烁,B道红灯禁止,闪两次 MOV AL,0F7H MOV DX,A_PORT ;A道绿灯灭,B道红灯禁止,第一次 OUT DX,AL CALL NORMALDELAY1S MOV AL,0F3H MOV DX,A_PORT ;A道绿灯亮,B道红灯禁止,第一次 OUT DX,AL CALL NORMALDELAY

11、1S MOV AL,0F7H MOV DX,A_PORT ;A道绿灯灭,B道红灯禁止,第二次 OUT DX,AL CALL NORMALDELAY1S MOV AL,0F3H MOV DX,A_PORT ;A道绿灯亮,B道红灯禁止,第二次 OUT DX,AL CALL NORMALDELAY1S ;A道黄灯亮,B道红灯禁止,延时3s MOV AL,0F5H MOV DX,A_PORT ;A道黄灯亮,B道红灯禁止 OUT DX,AL ;延时3S MOV CX,3YS2: CALL NORMALDELAY1S LOOP YS2 ;A道直行红灯亮,左转绿灯,人行道红灯亮,B道红灯,延时5秒 MOV

12、CX,5AZZYS1: CALL AZZDELAY1S LOOP AZZYS1 ;B道绿灯放行,A道红灯禁止,延时10s,修改标志为B道 MOV AL,AB_FLAG INC AL MOV AB_FLAG,AL MOV AL,0DEH MOV DX,A_PORT ;B道绿灯放行,A道红灯禁止 OUT DX,AL ;延时10S程序 MOV CX,10YS3: CALL NORMALDELAY1SS LOOP YS3 ;B道绿灯闪烁,A道红灯禁止,闪两次 MOV AL,0FEH MOV DX,A_PORT ;B道绿灯灭,A道红灯禁止,第一次 OUT DX,AL CALL NORMALDELAY1S

13、S MOV AL,0DEH MOV DX,A_PORT ;B道绿灯亮,A道红灯禁止,第一次 OUT DX,AL CALL NORMALDELAY1SS MOV AL,0FEH MOV DX,A_PORT ;B道绿灯灭,A道红灯禁止,第二次 OUT DX,AL CALL NORMALDELAY1SS MOV AL,0DEH MOV DX,A_PORT ;B道绿灯亮,A道红灯禁止,第二次 OUT DX,AL CALL NORMALDELAY1SS ;B道黄灯亮,A道红灯禁止,延时3s MOV AL,0EEH MOV DX,A_PORT ;B道黄灯亮,A道红灯禁止 OUT DX,AL ;延时3S程序

14、 MOV CX,3YS4: CALL NORMALDELAY1SS LOOP YS4 ;B道直行红灯亮,左转绿灯,A道红灯,延时5秒 MOV CX,5BZZYS1: CALL BZZDELAY1S LOOP BZZYS1 ;修改标志为A道 MOV AL,AB_FLAG DEC AL MOV AB_FLAG,AL JMP LP IR0 PROC CLI PUSH CX MOV AL,0F6H ;A道B道红灯禁止 MOV DX,A_PORT OUT DX,AL MOV CX,6ZDYS1: CALL UNNORMALDELAY1S LOOP ZDYS1 POP CX MOV AL,20H MOV

15、DX,E_ADR OUT DX,AL ;OCW2发结束命令EOI=1 TEST AB_FLAG,1 JZ LIA JMP LIBLIA: MOV AL,0F3H MOV DX,A_PORT ;A道绿灯,B道红灯 OUT DX,AL JMP DONELIB: MOV AL,0DEH MOV DX,A_PORT ;B道绿灯放行,A道红灯禁止 OUT DX,ALDONE: STI IRETIR0 ENDP IR7 PROC CLI PUSH CX MOV AL,0F3H ;A道绿灯,B道红灯禁止 MOV DX,A_PORT OUT DX,AL MOV CX,5ZDYS2: CALL NORMALDE

16、LAY1S LOOP ZDYS2 POP CX MOV AL,20H MOV DX,E_ADR;偶地址 OUT DX,AL ;OCW2发结束命令EOI=1 TEST AB_FLAG,1 JZ LIA JMP LIBLIA: MOV AL,0F3H MOV DX,A_PORT ;A道绿灯,B道红灯 OUT DX,AL JMP DONELIB: MOV AL,0DEH MOV DX,A_PORT ;B道绿灯放行,A道红灯禁止 OUT DX,ALDONE: STI IRETIR7 ENDP ;1s精确延时NORMALDELAY1S PROC MOV AL,AB_FLAG CMP AL,0 JZ AP

17、ATH ;设置PC0为高 MOV AL,1 MOV DX,C_PORT OUT DX,AL JMP SEC_DISAPATH: ;设置PC0为低 MOV AL,0 MOV DX,C_PORT OUT DX,AL SEC_DIS: ;保存所余秒数 MOV BX,CX ;从PB口输出剩余秒数到LED LEA SI,TAB ADC BX,SI MOV AX,DS:BX MOV DX,B_PORT OUT DX,AL ;设置计数器0的初值 MOV AX,1000 MOV DX,A1_PORT OUT DX,AL MOV AL,AH OUT DX,AL ;设置计数器1的初值 MOV AX,1000 MO

18、V DX,B1_PORT OUT DX,AL MOV AL,AH OUT DX,AL ;判断计数时间是否达到1s PUSH SI PUSH DI PUSH BX PUSH CX N: MOV CX,8 LEA SI,ROW1 LEA DI,CEL1 LEA BX,CEL2LOOP2: MOV AL,SI MOV DX,A2_PORT OUT DX,AL MOV AL,BX MOV DX,C2_PORT OUT DX,AL MOV AL,SI MOV DX,A2_PORT OUT DX,AL MOV AL,DI MOV DX,B2_PORT OUT DX,AL INC SI INC DI INC

19、 BX PUSH CX MOV CX,150 LOOP $ POP CX LOOP LOOP2 MOV DX,C_PORT IN AL,DX AND AL,80H CMP AL,80H JNZ NDONE1: POP CX POP BX POP DI POP SI RETNORMALDELAY1S ENDPNORMALDELAY1SS PROC MOV AL,AB_FLAG CMP AL,0 JZ APATH ;设置PC0为高 MOV AL,1 MOV DX,C_PORT OUT DX,AL JMP SEC_DISAPATH: ;设置PC0为低 MOV AL,0 MOV DX,C_PORT O

20、UT DX,AL SEC_DIS: ;保存所余秒数 MOV BX,CX ;从PB口输出剩余秒数到LED LEA SI,TAB ADC BX,SI MOV AX,DS:BX MOV DX,B_PORT OUT DX,AL ;设置计数器0的初值 MOV AX,1000 MOV DX,A1_PORT OUT DX,AL MOV AL,AH OUT DX,AL ;设置计数器1的初值 MOV AX,1000 MOV DX,B1_PORT OUT DX,AL MOV AL,AH OUT DX,AL ;判断计数时间是否达到1s PUSH SI PUSH DI PUSH BX PUSH CX N: MOV C

21、X,8 LEA SI,ROW1 LEA DI,CEL1 LEA BX,CEL2LOOP2: MOV AL,SI MOV DX,A3_PORT OUT DX,AL MOV AL,BX MOV DX,C3_PORT OUT DX,AL MOV AL,SI MOV DX,A3_PORT OUT DX,AL MOV AL,DI MOV DX,B3_PORT OUT DX,AL INC SI INC DI INC BX PUSH CX MOV CX,150 LOOP $ POP CX LOOP LOOP2 MOV DX,C_PORT IN AL,DX AND AL,80H CMP AL,80H JNZ

22、N POP CX POP BX POP DI POP SI RET NORMALDELAY1SS ENDP ;中断1调用延时UNNORMALDELAY1S PROC MOV AL,AB_FLAG CMP AL,0 JZ APATH ;设置PC0为高 MOV AL,1 MOV DX,C_PORT OUT DX,AL JMP SEC_DISAPATH: ;设置PC0为低 MOV AL,0 MOV DX,C_PORT OUT DX,AL SEC_DIS: ;保存所余秒数 MOV BX,CX ;从PB口输出剩余秒数到LED LEA SI,TAB ADC BX,SI MOV AX,DS:BX MOV D

23、X,B_PORT OUT DX,AL ;设置计数器0的初值 MOV AX,1000 MOV DX,A1_PORT OUT DX,AL MOV AL,AH OUT DX,AL ;设置计数器1的初值 MOV AX,1000 MOV DX,B1_PORT OUT DX,AL MOV AL,AH OUT DX,AL ;判断计数时间是否达到1s PUSH SI PUSH DI PUSH BX PUSH CX N: MOV CX,8 LEA SI,ROW1 LEA DI,UNABLE LEA BX,UNABLELOOP2: MOV AL,SI MOV DX,A3_PORT OUT DX,AL MOV AL

24、,BX MOV DX,C3_PORT OUT DX,AL MOV AL,SI MOV DX,A3_PORT OUT DX,AL MOV AL,DI MOV DX,B3_PORT OUT DX,AL INC SI INC DI INC BX PUSH CX MOV CX,150 LOOP $ POP CX LOOP LOOP2 MOV DX,C_PORT IN AL,DX AND AL,80H CMP AL,80H JNZ N POP CX POP BX POP DI POP SI RETUNNORMALDELAY1S ENDPAZZDELAY1S PROC MOV AL,0DEH MOV DX

25、,A_PORT ;B道绿灯放行,A道红灯禁止 OUT DX,AL MOV AL,AB_FLAG CMP AL,0 JZ APATH ;设置PC0为高 MOV AL,1 MOV DX,C_PORT OUT DX,AL JMP SEC_DISAPATH: ;设置PC0为低 MOV AL,0 MOV DX,C_PORT OUT DX,AL SEC_DIS: ;保存所余秒数 MOV BX,CX ;从PB口输出剩余秒数到LED LEA SI,TAB ADC BX,SI MOV AX,DS:BX MOV DX,B_PORT OUT DX,AL ;设置计数器0的初值 MOV AX,1000 MOV DX,A

26、1_PORT OUT DX,AL MOV AL,AH OUT DX,AL ;设置计数器1的初值 MOV AX,1000 MOV DX,B1_PORT OUT DX,AL MOV AL,AH OUT DX,AL ;判断计数时间是否达到1s PUSH SI PUSH DI PUSH BX PUSH CX N: MOV CX,8 LEA SI,ROW1 LEA DI,ALFT LEA BX,UNABLELOOP2: MOV AL,SI MOV DX,A4_PORT OUT DX,AL MOV AL,BX MOV DX,C4_PORT OUT DX,AL MOV AL,SI MOV DX,A4_POR

27、T OUT DX,AL MOV AL,DI MOV DX,B4_PORT OUT DX,AL INC SI INC DI INC BX PUSH CX MOV CX,150 LOOP $ POP CX LOOP LOOP2 MOV DX,C_PORT IN AL,DX AND AL,80H CMP AL,80H JNZ N POP CX POP BX POP DI POP SI RETAZZDELAY1S ENDPBZZDELAY1S PROC MOV AL,0F3H MOV DX,A_PORT ;A道绿灯,B道红灯 OUT DX,AL MOV AL,AB_FLAG CMP AL,0 JZ A

28、PATH ;设置PC0为高 MOV AL,1 MOV DX,C_PORT OUT DX,AL JMP SEC_DISAPATH: ;设置PC0为低 MOV AL,0 MOV DX,C_PORT OUT DX,AL SEC_DIS: ;保存所余秒数 MOV BX,CX ;从PB口输出剩余秒数到LED LEA SI,TAB ADC BX,SI MOV AX,DS:BX MOV DX,B_PORT OUT DX,AL ;设置计数器0的初值 MOV AX,1000 MOV DX,A1_PORT OUT DX,AL MOV AL,AH OUT DX,AL ;设置计数器1的初值 MOV AX,1000 MOV DX,B1_PORT

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1