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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

模拟交通控制灯设计Word格式文档下载.docx

1、2、 若不考虑左行转弯,则南北方向只用红、绿、黄3只灯控制,东西方向也只用红、绿、黄3只灯控制,即共用6只灯。不必对单片机的I/O口进行扩展。3、 4个共阳极数码管自右至左以两位数的形式显示秒数。为了保证数码管的亮度,必须保证输入电流的大小,因此,选用PNP型三极管作为位驱动放大器。如下图:分析可知,三极管相当于反向器,数码管位选低电平有效。4、按键模拟紧急情况和特殊情况的发生,当s1 、s2为高电平时(不按按键时)表示正常情况,当s1为低电平时表示紧急情况,s1信号接至INT0*引脚,s2为低电平时表示特殊情况, s2信号接至INT1*引脚(若为矩阵式键盘,可采用扫描方式识别按键)。三、软件

2、设计1、根据图表可以画出各个函数流程图 P1.5P1.4P1.3P1.2P1.1P1.0P1端口数据状态说明A红灯A黄灯A绿灯B红灯B黄灯B绿灯F31状态1:A通行,B禁止0,1交替变换EB状态2:A绿灯闪,B禁止状态3:A警告,B禁止DE状态4:A禁,B通状态5:A禁,B闪DD状态6:A禁,B警告2、函数流程图四、硬件电路图五、源程序#include #define uchar unsigned char #define uint unsigned int uchar led=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90; uchar D

3、ispX=0xfb,0xf3,0xfb,0xeb,0xde,0xdf,0xde,0xdd; void AFangXing(void); /函数声明 void ShanShuo(uchar *PTR); void JingGao(uchar *PTR); void BFangXing(void); void delay_5ms(void) /5ms定时 uchar i; for(i=0;i0;x-) for(y=100;yy-) P2=0xf5; P0=ledx%10; delay_5ms(); P2=0xfa; P0=ledx/10;/紧急情况倒计时EA=0;P1=i;TH1=l;TL1=m;

4、EA=1;void int_1() interrupt 2 /特殊情况中断uint i,l,m,x,y;i=P1;l=TH1;m=TL1;P1=0xF3;for(x=10;for(y=100;P2=0xf5;P0=ledx%10;delay_5ms();P2=0xfa;P0=ledx/10;/特殊情况倒计时void main ()/主函数uchar *PTR=&DispX;TMOD=0x21; /工作方式寄存器TMOD用于选择定时器/计数器的工作模式和工作方式,由TMOD可知,定时器T1工作在方式2,定时器T0工作在方式1TH1=0xf4; /由波特率为2400kb/s,晶体频率为11.059

5、2MHz,可知定时器T1的初值,又因为定时器T1采用方式2,8位初值自动重装入的8位定时器/计数器,故TH1,TL1初值相同TL1=0xf4;TR0=1;TR1=1;SCON=0x50; /SCON为串行口控制寄存器,采用方式1,允许串行接收PCON=0x00; /设置波特率SMODIE=0x95; /IE为中断允许寄存器,允许串行口中断,允许外部中断1中断,允许外部中断0中断IP=0x11; /串行口中断、外部中断0设定为高优先级中断IT0=1; /外部中断0的中断请求信号为边沿触发(下降沿有效) IT1=1; /外部中断1的中断请求信号为边沿触发(下降沿有效)while(1) AFangX

6、ing();/A 道绿灯 B道红灯 ShanShuo(PTR); /A绿灯闪烁 2次 , B道红灯 ShanShuo(+PTR); JingGao(+PTR); /A 道黄灯 B道红灯 BFangXing(); /B 道绿灯 A道红灯 /B绿灯闪烁 2次 , A道红灯 /B 道黄灯 A道红灯 PTR=&void AFangXing(void)uchar i,j;P1=0xf3; /A 道绿灯 B道红灯for(i=55;ii-)for(j=50;jj-)P2=0xfd;P0=ledi%10;/显示A方向秒个位P2=0xfe;P0=ledi/10;/显示A方向秒十位P2=0xf7;P0=led(i

7、+5)%10;/显示B秒个位P2=0xfb;P0=led(i+5)/10;/显示B秒十位void ShanShuo(uchar *PTR) for(i=1;i-) P1=*PTR;for(j=25; /显示B方向个位/显示B方向十位void JingGao(uchar *PTR)for(i=2; void BFangXing(void)P1=0xde; /A 道红灯 B道绿灯/显示B方向秒十位void serial() interrupt 4uchar i ;if(RI=1)RI=0;if(SBUF=0x01)SBUF=0x01;while(!TI);TI=0;i=P1 ;P1=0xdb;wh

8、ile(SBUF!=0x02)RI);SBUF=0x02;else六、设计总结 本次实训运用Keil作为编译环境,用Proteus作为仿真软件。然后将程序下载到自己焊接的硬件电路中。由于Proteus软件功能的局限性,当仿真电路的数码管位选加上三极管作为驱动放大器时,数码管不能成功显示要显示的数,只显示8888或者9999这两个数,但为了与硬件电路一致,用Proteus仿真时改用非门代替三极管。当老师给我们布置这个课程设计时,我感到无从下手,不知道该怎样写程序。后来通过读老师的程序,慢慢明白了,知道了如何去做。对于这样的课程设计,应该先用Proteus画出仿真电路,然后根据电路图编写程序。通过编写程序,对单片机语言有了更进一步的掌握。经过本次设计对Keil和Proteus更加熟悉了。在焊接电路的过程中,一定要注意:不能虚焊,更不能连焊,对某个元件焊接时间不能太长,焊锡不要用太多,容易造成连焊。电路上电前一定要仔细检查单片机等芯片是否装反,确认无误后再下载程序。总的来说,通过本次课程设计,学到了很多知识,为以后再用单片机做电路时积累了经验。

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

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