已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
南昌大学实验报告学生姓名: 学 号: 专业班级: 实验类型:验证综合设计创新 实验日期: 实验成绩: 实验三 交通灯控制实验一实验目的掌握十字路口交通灯控制方法。二实验内容利用系统提供的双色LED 显示电路,和四位静态数码管显示电路模拟十字路口交通信号灯。4 位LED 数码管显示时间,LED 显示红绿灯状态。三实验要求根据实验内容编写一个程序,并在实验仪上调试和验证。四实验说明和电路原理图交通信号灯控制逻辑如下:假设一个十字路口为东西南北走向。开始为四个路口的红灯全部亮之后,东西路口的绿灯亮,南北路口的红灯亮,东西路口方向通车,延时一段时间后(20 秒),东西路口的绿灯,闪烁若干次后(3 秒),东西路口的绿灯熄灭,同时东西路口的黄灯亮,延时一段时间后(2 秒),东西路口的红灯亮,南北路口的绿灯亮,南北路口方向通车,延时一段时间后(20 秒),南北路口的绿灯闪烁若干次后(3 秒),南北路口的绿灯熄灭,同时南北路口的黄灯亮,延时一段时间后(2 秒),再切换到东西路口的绿灯亮,南北路口的红灯亮,之后重复以上过程。双色LED 是由一个红色LED 管芯和一个绿色LED 管芯封装在一起,共用负极,当红色正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平时,绿灯亮;两端都加高电平时,黄灯亮。本实验需要用到CPU 模块(F3 区)、静态数码管/双色LED 显示模块(B4 区)实验框图如图:五实验预习要求学习教材的相关内容,根据实验要求画出程序流程图,写出实验程序。六实验步骤1)系统各跳线器处在初始设置状态。P10 同时接G1、G3;P11 同时接R1、R3;P1.2 同时接G2、G4;P1.3 同时接R2、R4;P1.6、P1.7 分别接静态数码显示的DIN、CLK。2)启动PC 机,打开THGMW-51 软件,输入源程序,并编译源程序。编译无误后,下载程序运行。3)观察十字路口交通灯效果。七实验程序/* SECOND1 EQU 30H ;东西秒寄存器 SECOND2 EQU 31H ;南北秒寄存器 DBUF EQU 40H ;显示缓冲1 TEMP EQU 44H ;显示缓冲2 LED_G1 BIT P1.0 ;东西绿灯 LED_R1 BIT P1.1 ;东西红灯 LED_G2 BIT P1.2 ;南北绿灯 LED_R2 BIT P1.3 ;南北红灯 Din BIT P1.6 ;串行显示数据 CLK BIT P1.7 ;串行显示时钟 ORG 0000H LJMP START ORG 0100HSTART: LCALL STATE0 ;调用状态0 LCALL DELAY ;调用延时 MOV TMOD,#01H ;置T0工作方式1 MOV TH0, #3CH ;置T0定时初值50mS MOV TL0, #0B0H SETB TR0 ;启动T0 CLR EALOOP: MOV R2,#20 ;置1S计数初值 50mS*20=1S MOV R3,#20 ;红灯20S MOV SECOND1,#25 ;东西秒显示初值25S MOV SECOND2,#25 ;南北秒显示初值25S LCALL DISPLAY LCALL STATE1 ;调用状态1WAIT1: JNB TF0,WAIT1 ;查询50mS到否 CLR TF0 MOV TH0, #3CH ;恢复T0定时初值50mS MOV TL0, #0B0H SETB TR0 ;启动T0 DJNZ R2,WAIT1 ;判1S到否?未到继续状态1 MOV R2,#20 ;置50mS计数初值 DEC SECOND1 ;东西秒显示减一 DEC SECOND2 ;南北秒显示减一 LCALL DISPLAY DJNZ R3,WAIT1 ;状态1维持20S;* MOV R2,#5 ;置50mS计数初值 5*4=20 MOV R3,#3 ;绿灯闪3S MOV R4,#4 ;闪烁间隔200mS MOV SECOND1,#5 ;东西秒显示初值5S MOV SECOND2,#5 ;南北秒显示初值5S LCALL DISPLAYWAIT2: LCALL STATE2 ;调用状态2 JNB TF0,WAIT2 ;查询50mS到否 CLR TF0 MOV TH0, #3CH ;恢复T0定时初值50mS MOV TL0, #0B0H DJNZ R4,WAIT2 ;判200mS到否?未到继续状态2 CPL LED_G1 ;东西绿灯闪 MOV R4,#4 ;闪烁间隔200mS DJNZ R2,WAIT2 ;判1S到否?未到继续状态2 MOV R2,#5 ;置50mS计数初值 DEC SECOND1 ;东西秒显示减一 DEC SECOND2 ;南北秒显示减一 LCALL DISPLAY DJNZ R3,WAIT2 ;状态2维持3S;* MOV R2,#20 ;置50mS计数初值 MOV R3,#2 ;黄灯2S MOV SECOND1,#2 ;东西秒显示初值2S MOV SECOND2,#2 ;南北秒显示初值2S LCALL DISPLAYWAIT3: LCALL STATE3 ;调用状态3 JNB TF0,WAIT3 ;查询30mS到否 CLR TF0 MOV TH0, #3CH ;恢复T0定时初值50mS MOV TL0, #0B0H DJNZ R2,WAIT3 ;判1S到否?未到继续状态3 MOV R2,#20 ;置50mS计数初值 DEC SECOND1 ;东西秒显示减一 DEC SECOND2 ;南北秒显示减一 LCALL DISPLAY DJNZ R3,WAIT3 ;状态3维持2S;* MOV R2,#20 ;置50mS计数初值 MOV R3,#20 ;红灯20S MOV SECOND1,#25 ;东西秒显示初值25S MOV SECOND2,#25 ;南北秒显示初值25S LCALL DISPLAYWAIT4: LCALL STATE4 ;调用状态4 JNB TF0,WAIT4 ;查询50mS到否 CLR TF0 MOV TH0, #3CH ;恢复T0定时初值50mS MOV TL0, #0B0H DJNZ R2,WAIT4 ;判1S到否?未到继续状态4 MOV R2,#20 ;置50mS计数初值 DEC SECOND1 ;东西秒显示减一 DEC SECOND2 ;南北秒显示减一 LCALL DISPLAY DJNZ R3,WAIT4 ;状态4维持20S;* MOV R2,#5 ;置50mS计数初值 5*4=20 MOV R4,#4 ;闪烁间隔200mS MOV R3,#3 ;绿灯闪3S MOV SECOND1,#5 ;东西秒显示初值5S MOV SECOND2,#5 ;南北秒显示初值5S LCALL DISPLAYWAIT5: LCALL STATE5 ;调用状态5 JNB TF0,WAIT5 ;查询50mS到否 CLR TF0 MOV TH0, #3CH ;恢复T0定时初值100mS MOV TL0, #0B0H DJNZ R4,WAIT5 ;判200mS到否?未到继续状态5 CPL LED_G2 ;南北绿灯闪 MOV R4,#4 ;闪烁200mS DJNZ R2,WAIT5 ;判1S到否?未到继续状态5 MOV R2,#5 ;置100mS计数初值 DEC SECOND1 ;东西秒显示减一 DEC SECOND2 ;南北秒显示减一 LCALL DISPLAY DJNZ R3,WAIT5 ;状态5维持3S;* MOV R2,#20 ;置50mS计数初值 MOV R3,#2 ;黄灯2S MOV SECOND1,#2 ;东西秒显示初值2S MOV SECOND2,#2 ;南北秒显示初值2S LCALL DISPLAYWAIT6: LCALL STATE6 ;调用状态6 JNB TF0,WAIT6 ;查询100mS到否 CLR TF0 MOV TH0, #3CH ;恢复T0定时初值100mS MOV TL0, #0B0H DJNZ R2,WAIT6 ;判1S到否?未到继续状态6 MOV R2,#20 ;置100mS计数初值 DEC SECOND1 ;东西秒显示减一 DEC SECOND2 ;南北秒显示减一 LCALL DISPLAY DJNZ R3,WAIT6 ;状态6维持2S LJMP LOOP ;大循环STATE0: ;状态0 MOV P1,#0 CLR LED_G1 SETB LED_R1 ;东西红灯亮 CLR LED_G2 SETB LED_R2 ;南北红灯亮 RETSTATE1: ;状态1 SETB LED_G1 ;东西绿灯亮 CLR LED_R1 CLR LED_G2 SETB LED_R2 ;南北红灯亮 RETSTATE2: ;状态2 CLR LED_R1 CLR LED_G2 SETB LED_R2 ;南北红灯亮 RETSTATE3: ;状态3 SETB LED_G1 SETB LED_R1 ;东西黄灯亮 CLR LED_G2 SETB LED_R2 ;南北红灯亮 RETSTATE4: ;状态4 CLR LED_G1 SETB LED_R1 ;东西红灯亮 SETB LED_G2 ;南北绿灯亮 CLR LED_R2 RETSTATE5: ;状态5 CLR LED_G1 SETB LED_R1 ;东西红灯亮 CLR LED_R2 RETSTATE6: ;状态6 CLR LED_G1 SETB LED_R1 ;东西红灯亮 SETB LED_G2 SETB LED_R2 ;南北黄灯亮 RETDISPLAY: ;数码显示 MOV A, SECOND1 ;东西秒寄存器 MOV B, #10 ;16进制数拆成两个10进制数 DIV AB MOV DBUF+1,A MOV A,B MOV DBUF, A MOV A, SECOND2 ;南北秒寄存器 MOV B, #10 ;16进制数拆成两个10进制数 DIV AB MOV DBUF+3, A MOV A,B MOV DBUF+2, A MOV R0,#DBUF MOV R1,#TEMP MOV R7,#4DP10:MOV DPTR,#LEDMAP MOV A,R0 MOVC A,A+DPTR MOV R1,A INC R0 INC R1 DJNZ R7,DP10 MOV R0,#TEMP MOV R1,#4DP12:MOV R7,#8 MOV A,R0DP13:RLC A MOV DIN,C CLR CLK SETB CLK DJNZ R7,DP13 INC R0 DJNZ R1,DP12 RETLEDMAP: DB 3FH,6,5BH,4FH,66H,6DH ;0,1,2,3,4,5 DB 7DH,7,7FH,6FH,77H,7CH ;6,7,8,9,A,B DB 58H,5EH,7BH,71H,0,40H ;C,D,E,F, , -Delay: mov r5, #5DLoop0:mov r6, #0DLoop1:mov r7, #0DLoop2: NOP NOP djnz r7, DLoop2 djnz r6, DLoop1 djnz r5, DLoop0 ret END八实验现象及小结当程序开始运行时,东西绿灯亮,南北红灯亮,且持续的时间为25秒,数码管显示计数器的当前值,当还剩三秒的时候,绿灯开始闪烁。计时到0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工科硕士学位论文评语
- 用矛盾分析法浅析人性之善恶
- 芪参益气滴丸辅助治疗冠脉综合征作用机制研究进展
- 计算机应用毕业论文格式范文
- 汉语国际教育专业硕士毕业论文的研究设计与写作
- 论文评语大全合集五
- 详细版论文答辩专家鉴定意见
- 本科毕业论文范文全文
- 工程合同一般一式(3篇)
- 经济学毕业论文题目参考
- 2025年辽宁档案职称考试(档案基础理论知识与实务·中级)历年参考题库含答案详解(5套)
- 层析技术试题及答案
- 动火作业审批详细方案
- (标准)兔喜驿站转让合同协议书
- 直招士官协议书
- 离婚保险分割协议书范本
- 2025年海口市写字楼市场调查报告
- 2025年中国休闲小食行业市场运行态势及投资战略规划报告
- 小班健康活动:小松鼠运果子
- 土方开挖的重点和难点及保证措施
- 以叙事学为翼:高中小说教学赋能记叙文写作新探
评论
0/150
提交评论