单片机实验报告——交通灯.doc
文本预览下载声明
实验报告
一、实验目的和要求(必填) 二、实验内容和原理(必填)
三、主要仪器设备(必填) 四、操作方法和实验步骤
五、实验数据记录和处理 六、实验结果与分析(必填)
七、讨论、心得
一、实验目的
1、掌握单片微机定时器的编程和应用。
2、掌握单片微机外部中断的编程和应用。
实验内容
1,假设十字路口有两组交通灯,每一组各有红、黄、绿三种颜色的指示灯,分别管理车道x,y,要求:两车道均遵守相同的规则,红灯6秒,黄灯2秒,绿灯4秒,绿灯转换为红灯的过程中有一个黄灯的过渡;
2,并且有一个数码管显示的倒计时6秒。
三,实验原理:
X,y车道上的交通灯均由P0口控制,P0.0-P0.5分别为X:红黄绿;Y:红黄绿。8段数码管连接串行输出口P3.1,通过串转并芯片控制
生成的list文件
ORG 0000H ;红灯6秒,绿灯4秒,黄灯2秒,绿灯转红灯之间有一个黄灯的过渡,只用一个数码管显示红灯6秒的倒计时
ORG 000BH
000B 015E AJMP SER_T0
000D 0130 AJMP MAIN
ORG 0030H
MAIN:
0030 D2AF SETB EA
0032 758911 MOV TMOD ,#11H
0035 758C3C MOV TH0,#3CH
0038 758AB0 MOV TL0,#0B0H ;T0_TIME=100MS
003B D28C SETB TR0 ;START T0
003D 7A00 MOV R2,#00H
003F 7B06 MOV R3,#06H
0041 900099 MOV DPTR,#TABLE ;指向显示码表
LOOP:
0044 7580A1 MOV P0, ;XGREEN,Y-RED
0047 120089 CALL GREEN_TIME
004A 7580AA MOV P0, ;X-YELLOW,Y-RED
004D 120091 CALL YELLOW_TIME
0050 75804C MOV P0, ;X-RED ,Y-GREEN
0053 120089 CALL GREEN_TIME
0056 758074 MOV P0, ;X-RED,Y-YELLOW
0059 120091 CALL YELLOW_TIME
005C 80E6 SJMP LOOP
SER_T0: ;计时器T0的中断服务程序
005E 758C3C MOV TH0,#3CH
0061 758AB0 MOV TL0,#0B0H ;100ms计时重新装入
0064 0A INC R2
0065 BA0A11 CJNE R2,#10,LOOP_0 ;R2监视10次,即为1s的时间间隔
DISPLAY:
0068 EB MOV A,R3
0069 93 MOVC A,@A+DPTR
DIP_0:
006A F599 MOV SBUF,A
DIP_1:
006C 3099FD JNB TI,DIP_1 ;数字输出
006F C299 CLR TI
0071 BB0004 CJNE R3,#00H,LOOP_1
0074 7B06 MOV R3,#06H ;R3监视6秒一次循环
0076 8001 SJMP LOOP_0
LOOP_1:
0078 1B DEC R3
显示全部