下载此文档

交通灯论文.doc


文档分类:论文 | 页数:约11页 举报非法文档有奖
1/11
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/11 下载此文档
文档列表 文档介绍
交通灯
摘要:利用数码管,定时器,LED灯,以及芯片AT89C52实现交通灯的模拟。最终实现,东西方与南北方交换时间为30秒,其中,在30秒的最后两秒有相应的绿灯变为黄灯,然后再切换到另一方向。同时,由数码管显示具体时间。
方案论证及设计
首先,设定两个时间初值,timer1=30,timer2=;然后再利用定时器T0控制timer1和timer2每一秒钟减1并通过数码管将两者的具体变化显示出来;同时,设定显示标志位 direction,当其值为1时,东西方通行,即:东西绿灯,南北红灯;当其值为零时,南北通行,即:南北绿灯,东西红灯。direction的初值为1,当T(30秒倒计时标志位)减到-1时direction变为0,以此类推。其中,T的变化同timer1、timer2步调一致(每一秒钟变化一次)。当direction变为0时,timer1、timer2值互换,南北绿灯亮,计时初值为30。
原理分析及硬件电路图

P1^6、 P1^7、 P1^8口控制东西方的红黄绿灯;P1^3、 P1^2、 P1^1口控制南北方向的红黄绿灯;
P0^3、P0^2、P0^1、P0^0分别控制数码管2、1、4、3;
P3^0~P3^7分别控制每一位数码管的ABCDEFG DP位。
(一)、在函数display_1()(东西方向数码管显示函数)及函数void display_2()(南北方向数码管示函数)中分别控制各自LED及LCD的显示,最终在主函数中调用。
void display_1()
{
char T_high,T_low;//时间的个位和十位
T_high=Time1/10; //十位值
T_low=Time1%10; //各位值
P0=14; //开十位,P0口编码:00001110
P3=table[T_high]; //显示十位数
delay(20);//软件延时
P0=13; //开个位,P0口编码:00001101
P3=table[T_low]; //显示个位数
delay(20);
}
//南北方向数码管显示
void display_2()
{
char T_high,T_low;
T_high=Time2/10;
T_low =Time2%10;
P0=11;//00001011
P3=table[T_high];
delay(20);
P0=7;//00000111
P3=table[T_low];
delay(20);}
(二)对于东西方与南北方的交换,则在主函数中体现:
if(flag)
{
flag=0;// 1S标志清零
Time1--;Time2--;T--; //时间减去1S
if(!direction&&T==-1)//南北方向(direction=-1)30S倒计时完毕,调换通行方向和倒计时起点
{Time1=30;Time2=28;T=30;direction=!direction;}
if(direction&&T==-1)//东西方向(direction=1)30S倒计时完毕,调换通行方向和倒计时起点
{Time1=28;Time2=30;T=30;direction=!direction;}
}
(三)程序流程(浩哥,画流程图的那个工具我不会用,你弄一下吧,呵呵)
(四)误差分析:
该程序中的误差会产生在时间上。由于每条语句的执行都需要一定的时间,故会对定时造成一定的影响。但执行每条语句大约只要?us乘以20条(至多)小于1ms
,所以,误差处在允许范围内。
(五)总结
本系统主要实现交通灯的模拟,最终实现:
1)30秒转换。
2)最后5秒绿灯转为黄灯。
3)有数码管倒计时。
附源程序:
#include <>
char count=0; // 中断计数,50ms*20次=1秒
bit flag=0; //一秒标志位
bit direction=1; //方向标志位,东西方向为1,南北方向为0
char Time1=30,Time2=28;//倒计时起点
char code table[10]={0x3f,0x06,0x5b,0x4f,0x66, //0~9的数码管编码
0x6d,0x7d,0x07,0x7f,0x6f};
void delay(char);//软件延时子函数
void display_1();//东西方向数码管显示函数
void display_2();//南北方向数码管示函数
//主程序
void main()
{

交通灯论文 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数11
  • 收藏数0 收藏
  • 顶次数0
  • 上传人jianjian401
  • 文件大小51 KB
  • 时间2017-07-24