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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

实验三交通灯控制实验.docx

1、实验三交通灯控制实验D南昌大学实验报告学生姓名:学 号: 专业班级:实验类型:验证 综合设计 创新 实验日期: 实验成绩:实验三交通灯控制实验掌握十字路口交通灯控制方法。.实验内容利用系统提供的双色LED显示电路,和四位静态数码管显示电路模拟十字路口交通信 号灯。4位LED数码管显示时间,LED显示红绿灯状态。3. 实验要求根据实验内容编写一个程序,并在实验仪上调试和验证。4. 实验说明和电路原理图交通信号灯控制逻辑如下: 假设一个十字路口为东西南北走向。 开始为四个路口的红灯全部亮之后,东西路口的绿灯亮,南北路口的红灯亮,东西路口方向通车,延时一段时间后(20 秒) ,东西路口的绿灯 ,闪烁

2、若干次后( 3 秒),东西路口的绿灯熄灭,同时东西路口的黄灯 亮 , 延时一段时间后( 2 秒) , 东西路口的红灯亮 ,南北路口的绿灯亮 ,南北路口方向通车 ,延时 一段时间后( 20 秒) ,南北路口的绿灯闪烁若干次后( 3 秒) ,南北路口的绿灯熄灭,同时 南北路口的黄灯亮,延时一段时间后( 2 秒) ,再切换到东西路口的绿灯亮 ,南北路口的红灯 亮,之后重复以上过程。双色LED是由一个红色LED管芯和一个绿色LED管芯封装在一起,共用负极,当红色 正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平时, 绿灯亮;两端都加高电平时,黄灯亮。本实验需要用到 CPU

3、模块( F3 区)、静态数码管 /双色 LED 显示模块( B4 区) 实验框图如图 :5. 实验预习要求学习教材的相关内容,根据实验要求画出程序流程图,写出实验程序。6. 实验步骤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)观察十字路口交通灯效果。七实验程序/*SECOND1EQU30H;东西秒寄存器SECOND2EQU31

4、H;南北秒寄存器DBUFEQU40H;显示缓冲 1TEMPEQU44H;显示缓冲 2LED_G1BITP1.0;东西绿灯LED_R1BITP1.1;东西红灯LED_G2BITP1.2;南北绿灯LED_R2BITP1.3;南北红灯DinBITP1.6;串行显示数据CLKBITP1.7;串行显示时钟ORG0000HLJMPSTARTORG0100HSTART:LCALLSTATE0;调用状态 0LCALLDELAY;调用延时MOVTMOD,#01H;置 T0 工作方式 1MOVTH0, #3CH;置 T0 定时初值 50mSMOVTL0, #0B0HSETBTR0;启动 T0CLREALOOP:

5、MOVMOVMOVMOVR2,#20R3,#20SECOND1,#25SECOND2,#25;置 1S 计数初值;红灯 20S;东西秒显示初值;南北秒显示初值50mS*20=1S25S25SLCALL DISPLAYLCALLSTATE1;调用状态 1WAIT1: JNBTF0,WAIT1;查询 50mS 到否CLRTF0MOVTH0, #3CH;恢复 T0 定时初值 50mSMOVTL0, #0B0HSETBTR0;启动 T0DJNZR2,WAIT1;判 1S 到否 ?未到继续状态 1MOVR2,#20;置 50mS 计数初值DECSECOND1;东西秒显示减一DECSECOND2;南北秒显

6、示减一LCALLDISPLAYDJNZR3,WAIT1;状态 1 维持 20S*MOVR2,#5;置 50mS 计数初值5*4=20MOVR3,#3;绿灯闪 3SMOVR4,#4;闪烁间隔 200mSMOVSECOND1,#5;东西秒显示初值5SMOVSECOND2,#5;南北秒显示初值5SLCALL DISPLAYWAIT2: LCALLSTATE2;调用状态 2JNBTF0,WAIT2;查询 50mS 到否CLRTF0MOVTH0, #3CH;恢复 T0 定时初值 50mSMOVTL0, #0B0HDJNZR4,WAIT2;判 200mS 到否 ?未到继续状态 2CPLLED_G1;东西绿

7、灯闪MOVR4,#4;闪烁间隔 200mSDJNZR2,WAIT2;判 1S 到否 ?未到继续状态 2MOVR2,#5;置 50mS 计数初值DECSECOND1;东西秒显示减一DECSECOND2;南北秒显示减一LCALLDISPLAYDJNZR3,WAIT2;状态 2 维持 3S*MOV R2,#20 ;置 50mS 计数初值MOV R3,#2 ;黄灯 2SMOVSECOND1,#2;东西秒显示初值2SMOVSECOND2,#2;南北秒显示初值2SLCALLDISPLAYWAIT3: LCALLSTATE3;调用状态 3JNBTF0,WAIT3;查询 30mS 到否CLRTF0MOVTH0

8、, #3CH;恢复 T0 定时初值50mSMOVTL0, #0B0HDJNZR2,WAIT3;判 1S 到否 ?未到继续状态 3MOVR2,#20;置 50mS 计数初值DECSECOND1;东西秒显示减一DECSECOND2;南北秒显示减一LCALLDISPLAYDJNZR3,WAIT3;状态 3 维持 2S*MOV R2,#20;置 50mS 计数初值MOVR3,#20 ;红灯 20SMOVSECOND1,#25 ;东西秒显示初值25SMOVSECOND2,#25 ;南北秒显示初值25SLCALLDISPLAYWAIT4: LCALLSTATE4;调用状态 4JNBTF0,WAIT4;查询

9、 50mS 到否CLRTF0MOVTH0, #3CH;恢复 T0 定时初值 50mSMOVTL0, #0B0HDJNZR2,WAIT4;判 1S 到否 ?未到继续状态 4MOVR2,#20;置 50mS 计数初值DECSECOND1;东西秒显示减一DECSECOND2;南北秒显示减一LCALLDISPLAYDJNZR3,WAIT4;状态 4 维持 20S*MOVR2,#5;置 50mS 计数初值5*4=20MOVR4,#4;闪烁间隔 200mSMOVR3,#3;绿灯闪 3SMOVSECOND1,#5;东西秒显示初值5SMOVSECOND2,#5;南北秒显示初值5SLCALLDISPLAYWAI

10、T5: LCALLSTATE5;调用状态 5JNBTF0,WAIT5;查询 50mS 到否CLRTF0MOVTH0, #3CH;恢复 T0 定时初值 100mSMOVTL0, #0B0HDJNZR4,WAIT5;判 200mS 到否 ?未到继续状态 5CPLLED_G2;南北绿灯闪MOVR4,#4;闪烁 200mSDJNZR2,WAIT5;判 1S 到否 ?未到继续状态 5MOVR2,#5;置 100mS 计数初值DECSECOND1;东西秒显示减一DECSECOND2;南北秒显示减一LCALLDISPLAYDJNZR3,WAIT5;状态 5 维持 3S*MOVR2,#20;置 50mS 计数

11、初值MOVR3,#2;黄灯 2SMOVSECOND1,#2;东西秒显示初值2SMOVSECOND2,#2;南北秒显示初值2SLCALLDISPLAYWAIT6: LCALLSTATE6;调用状态 6JNBTF0,WAIT6;查询 100mS 到否CLRTF0MOVTH0, #3CH;恢复 T0 定时初值 100mSMOVTL0, #0B0HDJNZR2,WAIT6;判 1S 到否 ?未到继续状态 6MOVR2,#20;置 100mS 计数初值DECSECOND1;东西秒显示减一DECSECOND2;南北秒显示减一LCALLDISPLAYDJNZR3,WAIT6;状态 6 维持 2SLJMPLO

12、OP;大循环STATE0:;状态 0MOVP1,#0CLRLED_G1SETBLED_R1;东西红灯亮CLRLED_G2SETBLED_R2;南北红灯亮RETSTATE1:;状态 1SETBLED_G1;东西绿灯亮CLRLED_R1CLRLED_G2SETBLED_R2;南北红灯亮RETSTATE2:;状态 2CLRLED_R1CLRLED_G2SETBLED_R2;南北红灯亮RETSTATE3:;状态 3SETBLED_G1SETBLED_R1;东西黄灯亮CLRLED_G2SETBLED_R2;南北红灯亮RETSTATE4:;状态 4CLRLED_G1SETBLED_R1;东西红灯亮SETB

13、LED_G2;南北绿灯亮CLRLED_R2RETSTATE5: ;状态 5CLR LED_G1SETB LED_R1 ;东西红灯亮CLR LED_R2RETSTATE6: ;状态 6CLR LED_G1SETB LED_R1 ;东西红灯亮SETB LED_G2SETB LED_R2 ;南北黄灯亮RETDISPLAY: ;数码显示MOVA, SECOND1;东西秒寄存器MOVB, #10;16 进制数拆成两个 10 进制数DIVABMOVDBUF+1,AMOVA,BMOVDBUF, AMOVA, SECOND2;南北秒寄存器MOVB, #10;16 进制数拆成两个DIVABMOVDBUF+3,

14、AMOVA,BMOVDBUF+2, AMOVR0,#DBUFMOVR1,#TEMPMOVR7,#4MOVDPTR,#LEDMAPMOVA,R0MOVCA,A+DPTRMOVR1,AINCR0INCR1DJNZR7,DP10MOVR0,#TEMPDP10:10 进制数MOVR1,#4DP12:MOVR7,#8MOVA,R0DP13:RLCAMOVDIN,CCLRCLKSETBCLKDJNZR7,DP13INCR0DJNZR1,DP12RETLEDMAP: DB3FH,6,5BH,4FH,66H,6DH ;0,1,2,3,4,5DB7DH,7,7FH,6FH,77H,7CH ;6,7 ,8,9,A

15、 ,BDB58H,5EH,7BH,71H,0,40H ;C,D,E,F, , -Delay: movr5, #5DLoop0:movr6, #0DLoop1:movr7, #0DLoop2:NOPNOPdjnzr7, DLoop2djnzr6, DLoop1djnzr5, DLoop0retEND八实验现象及小结当程序开始运行时,东西绿灯亮,南北红灯亮,且持续的时间为 25 秒,数码管显示计 数器的当前值,当还剩三秒的时候,绿灯开始闪烁。计时到 0 时,东西转黄灯,时间为 5 秒,计满之后东西红灯, 南北绿灯。 南北方向上的情况与之前东西的情况一致。当南北黄灯 状态的计数值计满时,转回初始状态,完成一个循环。通过这次实验, 我了解到了用单片机实现综合功能的例子了。 很强大, 交通灯利用计数 器和控制 LED 灯,以及数码管的显示来实现交通灯的功能。程序中包含咧很多子程序,逐 一调用,并且按照一定的顺序调用, 使得整个程序变得有条有理。 在单片机的学习中, 程序 的编辑也是很有必要掌握的。 要做到利用最简洁的语言来实现最复杂的功能, 这是我们的目 标。而我们还需要更多的去练习。-可编辑修改 -可编辑修改 -THANKS !学习课件等等致力为企业和个人提供合同协议, 策划案计划书,打造全网一站式需求

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

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