




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
交通灯远程控制灯的设计一、总体设计、任务交通灯的任务要求为:模拟十字路口的交通灯的亮、灭及闪烁控制及时间显示。.基本工作原理:根据交通灯的亮灭情况,可以分为四种状态,利用定时计数器每5毫秒产生一次中断,完成对 LED显示模块的刷新,红绿灯的切换。通过串口对交通灯进行远程控制,实现pc机和单片机之间的通信程序编写,学习单片机和pc机之间的串口连接方法和编程技巧。、要求设计并实现单片机交通灯控制系统,实现以下三种情况下的交通灯控制。() 正常情况下双方向轮流点亮。() 特殊情况时A道运行。() 有紧急车辆通行时,A B道均为红灯。紧急情况优先级高于特殊情况。3、说明本任务实现用pc机作为控制机、单片机控制信号灯为从机的远程控制系统。主从机双方除了要有一定的通信格式,波特率外,还要约定一些握手应答信号,即通信协议。通信协议如下:二、硬件设计1、 根据总体设计要求,确定系统功能接口,设计出系统的电路原理图。2、 若不考虑左行转弯,则南北方向只用红、绿、黄3只灯控制,东西方向也只用红、绿、黄3只灯控制,即共用6只灯。不必对单片机的I/O口进行扩展。3、 4个共阳极数码管自右至左以两位数的形式显示秒数。为了保证数码管的亮度,必须保证输入电流的大小,因此,选用PNP型三极管作为位驱动放大器。如下图:分析可知,三极管相当于反向器,数码管位选低电平有效。4、按键模拟紧急情况和特殊情况的发生,当s1 、s2为高电平时(不按按键时)表示正常情况,当s1为低电平时表示紧急情况,s1信号接至INT0*引脚,s2为低电平时表示特殊情况, s2信号接至INT1*引脚(若为矩阵式键盘,可采用扫描方式识别按键)。三、软件设计1、根据图表可以画出各个函数流程图 P1.5P1.4P1.3P1.2P1.1P1.0P1端口数据状态说明A红灯A黄灯A绿灯B红灯B黄灯B绿灯F3110010状态1:A通行,B禁止110,1交替变换011EB状态2:A绿灯闪,B禁止101011状态3:A警告,B禁止011110DE状态4:A禁,B通01110,1交替变换状态5:A禁,B闪011101DD状态6:A禁,B警告2、函数流程图A绿灯,B红灯延时55秒A绿灯闪烁2次A黄灯,B红灯延时2秒A红灯,B绿灯延时55秒B绿灯闪烁2次B黄灯,A红灯延时2秒关中断保护现场开中断A绿灯,B红灯延时10秒恢复现场开中断关中断中断0响应保护现场A红灯,B红灯延时10秒恢复现场返 回开 始中断1响应四、硬件电路图五、源程序#include #define uchar unsigned char #define uint unsigned int uchar led=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90; uchar DispX=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;y0;y-) P2=0xf5; P0=ledx%10; delay_5ms(); P2=0xfa; P0=ledx/10;/紧急情况倒计时 delay_5ms(); EA=0;P1=i;TH1=l;TL1=m;EA=1; void int_1() interrupt 2 /特殊情况中断uint i,l,m,x,y;EA=0;/关中断i=P1;l=TH1;m=TL1;EA=1;P1=0xF3;for(x=10;x0;x-) for(y=100;y0;y-) P2=0xf5;P0=ledx%10;delay_5ms();P2=0xfa;P0=ledx/10;/特殊情况倒计时delay_5ms(); EA=0;P1=i;TH1=l;TL1=m;EA=1;void main ()/主函数uchar *PTR=&DispX;TMOD=0x21;/工作方式寄存器TMOD用于选择定时器/计数器的工作模式和工作方式,由TMOD可知,定时器T1工作在方式2,定时器T0工作在方式1TH1=0xf4; /由波特率为2400kb/s,晶体频率为11.0592MHz,可知定时器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) AFangXing();/A 道绿灯 B道红灯 ShanShuo(PTR); /A绿灯闪烁 2次 , B道红灯 ShanShuo(+PTR); ShanShuo(+PTR); JingGao(+PTR); /A 道黄灯 B道红灯 BFangXing();/B 道绿灯 A道红灯 ShanShuo(+PTR);/B绿灯闪烁 2次 , A道红灯 ShanShuo(+PTR); ShanShuo(+PTR); JingGao(+PTR);/B 道黄灯 A道红灯 PTR=&DispX; void AFangXing(void)uchar i,j;P1=0xf3; /A 道绿灯 B道红灯for(i=55;i0;i-)for(j=50;j0;j-)P2=0xfd;P0=ledi%10;/显示A方向秒个位delay_5ms();P2=0xfe;P0=ledi/10;/显示A方向秒十位delay_5ms();P2=0xf7;P0=led(i+5)%10;/显示B秒个位delay_5ms();P2=0xfb;P0=led(i+5)/10;/显示B秒十位delay_5ms();void ShanShuo(uchar *PTR)uchar i,j; for(i=1;i0;i-) P1=*PTR;for(j=25;j0;j-) P2=0xfd;P0=ledi%10;/显示A方向秒个位delay_5ms();P2=0xfe;P0=ledi/10;/显示A方向秒十位delay_5ms();P2=0xf7;P0=ledi%10;/显示B方向个位delay_5ms();P2=0xfb;P0=ledi/10;/显示B方向十位delay_5ms();void JingGao(uchar *PTR)uchar i,j;P1=*PTR; for(i=2;i0;i-)for(j=50;j0;j-)P2=0xfd;P0=ledi%10;/显示A方向秒个位delay_5ms();P2=0xfe;P0=ledi/10;/显示A方向秒十位delay_5ms();P2=0xf7;P0=ledi%10;/显示B方向个位delay_5ms();P2=0xfb;P0=ledi/10;/显示B方向十位delay_5ms(); void BFangXing(void)uchar i,j;P1=0xde; /A 道红灯 B道绿灯for(i=55;i0;i-)for(j=50;j0;j-)P2=0xfd;P0=led(i+5)%10;/显示A方向秒个位delay_5ms();P2=0xfe;P0=led(i+5)/10;/显示A方向秒十位delay_5ms();P2=0xf7;P0=ledi%10;/显示B方向个位delay_5ms();P2=0xfb;P0=ledi/10;/显示B方向秒十位delay_5ms();void serial() interrupt 4uchar i ;EA=0;if(RI=1)RI=0;if(SBUF=0x01)SBUF=0x01;while(!TI);TI=0;i=P1 ; P1=0xdb;while(SBUF!=0x02)while(!RI);RI=0;SBUF=0x02;while(!TI);TI=0;P1=i;EA=1;elseEA=1; 六、设计总结 本次实训运用Keil作为编译环境,用Proteus作为仿真软件。然后将程序下载到自己焊接的硬件电路中。由于Proteus软件功能的局限性,当仿真电路的数码管位选加上三极管作为驱动放大器时,数码管不能成功显示要显示的数,只显示8888或者9999这两个数,但为了与硬件电路一致,用Proteus仿真时改用非门代替三极管。当老师给我们布置这个课程设计时,我感到无从下手,不知道该怎样写程序。后来通过读老师的程序,慢慢明白了,知道了如何去做。对于这样的课程设计,应该先用Proteu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 离婚协议书范本:共同财产分割与子女抚养
- 创业公司知识产权保密与竞业禁止合同样本
- 离婚协议中子女抚养费支付及变更补充协议模板
- 现代服务业现代学徒制校企合作合同书范本
- 免租期商业地产租赁及租赁期限调整补充合同
- 企业创新能力培训
- 班组每月安全培训次数课件
- 班组日常安全教育培训课件
- 我们的市花课件
- 房产直播培训总结
- 中药郁金课件
- 农资创业项目计划书
- 环境标志产品技术要求 房间空气调节器(HJ 2535-2013代替HJ-T304-2006)
- 人工智能教育应用研究综述
- 生殖内分泌学
- 驾校教练员培训课件
- 冠寓公寓运营管理手册
- 人工智能 第2版 课件 AI12类脑智能
- 带状疱疹的中医护理方案
- 民谣酒馆项目融资计划书
- 新概念张云生讲解的笔记
评论
0/150
提交评论