《2022年智能交通灯控制知识 .pdf》由会员分享,可在线阅读,更多相关《2022年智能交通灯控制知识 .pdf(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、实 验 报 告课程名称:_微机原理与应用实验_指导老师:_ _成绩:_ 实验名称:_智能交通灯控制 _实验类型:_同组学生姓名:_ 一、实验目的和要求(必填)二、实验内容和原理(必填)三、主要仪器设备(必填)四、操作方法和实验步骤五、实验数据记录和处理六、实验结果与分析(必填)七、讨论、心得一、实验目的1、掌握单片微机定时器的编程和应用。2、掌握单片微机外部中断的编程和应用。二、实验任务设计一个智能交通灯管理程序。要求如下:假设十字路口有两组交通灯,每一组各有红、黄、绿三种颜色的指示灯,分别管理通道A和通道 B。A为主通道。1、如果两个车道都有车,轮流放行,其中A道绿灯 6 秒。B道绿灯 4
2、秒。2、通道放行管理:如果某个通道无车,而另一车道有车,那么有车的通道放行。如果无车的通道有车了,则有车的通道立刻恢复正常的交通灯进行管理(由无车通道有车开始计时)。3、如果两个通道都没有车,那么两个通道按照平时的交通灯进行管理。4、如有紧急车辆通过,应立即禁止普通车辆通行(即A、B车道红灯均亮),紧急车辆通过后,恢复原来的信号灯状态,且原先的计时时间累计。要求采取中断方式,用按键中断模拟有紧急车辆通过。5、在从绿灯切换为红灯时,应有2 秒的黄灯点亮时间。提示:使用拨动开关模拟通道有无车,选择拨动开关的两位。A道通行的时候B道必须禁止,B道通行的时候A道必须禁止。三、实验器材1、PC机一台2、
3、MICE高级仿真器一台3、自制实验版一块4、导线若干四、实验报告内容专业:_电信 _ 姓名:_ _ 学号:_ 日期:_ _ 桌号:_ 名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 8 页 -1、实验系统逻辑电路图和芯片地址分配1)总系统2)中断系统交通灯控制系统定义中断系统开始程序检查是否有车A 道亮绿灯B 道亮红灯6 秒B 道亮红灯A 道黄灯闪烁2 秒B 道亮绿灯A 道亮红灯4 秒A 道亮红灯B 道黄灯闪烁2 秒都有车或者都没车A 道有车、B 道没车B 道有车、A 道没车A 道亮绿灯B 道亮红灯B 道亮绿灯A 道亮红灯中断响应堆栈压入保护全部红灯堆栈取出返回恢复原状并返回名师
4、资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 8 页 -3)实验系统逻辑电路图4)芯片地址分配A 道红灯 P1.0 黄灯 P1.1 绿灯 P1.2 B 道红灯 P1.3 黄灯 P1.4 绿灯 P1.5 判断 A 道车辆 P2.0 判断 B 道车辆 P2.1 2、软件流程图和.LST 文件,并加以注释LED_R1 BIT P1.0;A 道红黄绿灯LED_Y1 BIT P1.1 LED_G1 BIT P1.2 LED_R2 BIT P1.3;B 道红黄绿灯LED_Y2 BIT P1.4 LED_G2 BIT P1.5 ORG 0000H 0000 020006 LJMP START O
5、RG 0003H 0003 020200 LJMP URZD 0006 758160 START:MOV SP,#60H 0009 758901 MOV TMOD,#01H;选择 T0,方式 1 000C 758C3C MOV TH0,#3CH;定时 50ms 000F 758AB0 MOV TL0,#0B0H 0012 C28D CLR TF0;清除 T0 标志位0014 D2AF SETB EA;允许外部中断0、启动定时器0016 D2A8 SETB EX0 0018 D289 SETB IE0 001A D28C SETB TR0 001C C290 CLR P1;清零001E E4 C
6、LR A 名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 8 页 -001F 120086 LOOP:LCALL CHOOSE;检查是否有车0022 7C78 MOV R4,#120;A 道亮绿灯、B 道亮红灯6s 0024 1200AA WAIT1:LCALL STATE1;调用状态1 0027 308DFA JNB TF0,WAIT1;判断是否到达定时002A C28D CLR TF0;到达 50ms,标志位清零,重新定时002C 758C3C MOV TH0,#3CH 002F 758AB0 MOV TL0,#0B0H 0032 DCF0 DJNZ R4,W AIT1;判断
7、是否到达6s 0034 120086 LCALL CHOOSE 0037 7C08 MOV R4,#8;B 道红灯不变、A 道黄灯闪烁2s 0039 7D05 MOV R5,#5;每 250ms 闪烁一次、灭一次003B 1200B7 WAIT2:LCALL STATE2 003E 308DFA JNB TF0,WAIT2;定时0041 C28D CLR TF0 0043 758C3C MOV TH0,#3CH 0046 758AB0 MOV TL0,#0B0H 0049 DDF0 DJNZ R5,W AIT2;判断是否到达250ms 004B B291 CPL LED_Y1;到达 250ms
8、,闪烁一次004D 7D05 MOV R5,#5 004F DCEA DJNZ R4,W AIT2;判断是否到达2s 0051 120086 LCALL CHOOSE 0054 7C50 MOV R4,#80;B 道亮绿灯、A 道亮红灯4s 0056 1200C2 WAIT3:LCALL STATE3 0059 308DFA JNB TF0,WAIT3 005C C28D CLR TF0 005E 758C3C MOV TH0,#3CH 0061 758AB0 MOV TL0,#0B0H 0064 DCF0 DJNZ R4,W AIT3 0066 120086 LCALL CHOOSE 006
9、9 7C08 MOV R4,#8;A 道红灯不变、B 道黄灯闪烁2s 006B 7D05 MOV R5,#5 006D 1200CF WAIT4:LCALL STATE4 0070 308DFA JNB TF0,WAIT4 0073 C28D CLR TF0 0075 758C3C MOV TH0,#3CH 0078 758AB0 MOV TL0,#0B0H 007B DDF0 DJNZ R5,W AIT4 007D B294 CPL LED_Y2 007F 7D05 MOV R5,#5 0081 DCEA DJNZ R4,W AIT4 名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页
10、,共 8 页 -0083 02001F LJMP LOOP;大循环0086 E590 CHOOSE:MOV A,P1 0088 C0E0 PUSH ACC 008A C0D0 PUSH PSW 008C 30A008 JNB P2.0,CHOSE1;判断 A 道是否有车,无车调用CHOSE1 008F 30A110 JNB P2.1,CHOSE2;A 道有车,判断 B 道是否有车,无车调用 CHOSE2 0092 D0E0 RETURN:POP ACC 0094 D0D0 POP PSW 0096 22 RET 0097 30A1F8 CHOSE1:JNB P2.1,RETURN;A 道无车,
11、判断 B 道是否有车,无车返回009A 1200C2 LCALL STATE3;有车,调用 STATE3 009D 30A0FD JNB P2.0,$;判断 A 道是否有车00A0 0192 AJMP RETURN;有车恢复00A2 1200AA CHOSE2:LCALL STATE1;B 道无车,调用 STATE1 00A5 30A1FD JNB P2.1,$;判断 B 道是否有车00A8 0192 AJMP RETURN;有车恢复00AA D292 STATE1:SETB LED_G1;A 道绿灯亮,B 道红灯亮00AC C291 CLR LED_Y1 00AE C290 CLR LED_
12、R1 00B0 C295 CLR LED_G2 00B2 C294 CLR LED_Y2 00B4 D293 SETB LED_R2 00B6 22 RET 00B7 C292 STATE2:CLR LED_G1;A 道黄灯闪烁00B9 C290 CLR LED_R1 00BB C295 CLR LED_G2 00BD C294 CLR LED_Y2 00BF D293 SETB LED_R2 00C1 22 RET 00C2 C292 STATE3:CLR LED_G1;B 道绿灯亮,A 道红灯亮00C4 C291 CLR LED_Y1 00C6 D290 SETB LED_R1 00C8
13、D295 SETB LED_G2 00CA C294 CLR LED_Y2 00CC C293 CLR LED_R2 00CE 22 RET 00CF C292 STATE4:CLR LED_G1;B 道黄灯闪烁00D1 C291 CLR LED_Y1 00D3 D290 SETB LED_R1 名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 8 页 -00D5 C295 CLR LED_G2 00D7 C293 CLR LED_R2 00D9 22 RET ORG 0200H 0200 E590 URZD:MOV A,P1;紧急中断0202 C0E0 PUSH ACC;保护现场
14、0204 C0D0 PUSH PSW 0206 C28C CLR TR0 0208 C292 CLR LED_G1;紧急情况红灯全亮020A C291 CLR LED_Y1 020C D290 SETB LED_R1 020E C295 CLR LED_G2 0210 C294 CLR LED_Y2 0212 D293 SETB LED_R2 0214 30B2FD JNB P3.2,$;判断紧急情况是否结束0217 D28C SETB TR0 0219 D0E0 POP ACC;结束,恢复现场021B D0D0 POP PSW 021D F590 MOV P1,A 021F 32 RETI
15、END 符号值类型AC=00D6H CONST 常量ACC=00E0H CONST 常量B=00F0H CONST 常量CHOOSE=0086H CODE 标号CHOSE1=0097H CODE 标号CHOSE2=00A2H CODE 标号CY=00D7H CONST 常量DPH=0083H CONST 常量DPL=0082H CONST 常量EA=00AFH CONST 常量ES=00ACH CONST 常量ET0=00A9H CONST 常量ET1=00ABH CONST 常量EX0=00A8H CONST 常量EX1=00AAH CONST 常量F0=00D5H CONST 常量F1=0
16、0D1H CONST 常量名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 8 页 -IE=00A8H CONST 常量IE0=0089H CONST 常量IE1=008BH CONST 常量IP=00B8H CONST 常量IT0=0088H CONST 常量IT1=008AH CONST 常量LED_G1=0092H CONST 常量LED_G2=0095H CONST 常量LED_R1=0090H CONST 常量LED_R2=0093H CONST 常量LED_Y1=0091H CONST 常量LED_Y2=0094H CONST 常量LOOP=001FH CODE 标号O
17、V=00D2H CONST 常量P=00D0H CONST 常量P0=0080H CONST 常量P1=0090H CONST 常量P2=00A0H CONST 常量P3=00B0H CONST 常量PCON=0087H CONST 常量PS=00BCH CONST 常量PSW=00D0H CONST 常量PT0=00B9H CONST 常量PT1=00BBH CONST 常量PX0=00B8H CONST 常量PX1=00BAH CONST 常量RB8=009AH CONST 常量REN=009CH CONST 常量RETURN=0092H CODE 标号RI=0098H CONST 常量R
18、S0=00D3H CONST 常量RS1=00D4H CONST 常量SBUF=0099H CONST 常量SCON=0098H CONST 常量SM0=009FH CONST 常量SM1=009EH CONST 常量SM2=009DH CONST 常量SP=0081H CONST 常量START=0006H CODE 标号STATE1=00AAH CODE 标号STATE2=00B7H CODE 标号STATE3=00C2H CODE 标号STATE4=00CFH CODE 标号TB8=009BH CONST 常量名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 8 页 -TCO
19、N=0088H CONST 常量TF0=008DH CONST 常量TF1=008FH CONST 常量TH0=008CH CONST 常量TH1=008DH CONST 常量TI=0099H CONST 常量TL0=008AH CONST 常量TL1=008BH CONST 常量TMOD=0089H CONST 常量TR0=008CH CONST 常量TR1=008EH CONST 常量URZD=0200H CODE 标号WAIT1=0024H CODE 标号WAIT2=003BH CODE 标号WAIT3=0056H CODE 标号WAIT4=006DH CODE 标号公有符号:77 私有符号:0 3、记录实验中出现的故障、错误以及相应的解决办法1)开始时用P1.6 和 P1.7 两个地址来判断A、B 车道是否有车,但一直失败,后来发现该单片机P1.6和 P1.7 两个接口失效不起作用,于是将判断端口改到P2.0 和 P2.1 则选择车道可以成功。2)开始时紧急中断中各个输出口的值是调用子程序STATE5 来执行的,但是程序一旦运行至STATE5后就一直停留在该子程序不再跳出,后将子程序取消,对各个输出口直接赋值即可实行紧急中断和中断取消。名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 8 页 -
限制150内