数字交通灯的单片机控制设计.doc

数字交通灯的单片机控制设计课案

数字交通灯的单片机设计 摘要:本文介绍了一的软硬件设计过程,本系统采用单片机、显示、交通灯演示系统组成。设计一个用于十字路口的车辆及行人的交通管理,既要求倒计时数字输出,又要求有状态灯输出等点给出了其软件编程的思想方法,以期给单片机学习者以启发。1.引言当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。目前,一个学习与应用单片机的高潮正在工厂、学校及企事业单位大规模地兴起。学习单片机的最有效方法就是理论与实践并重,本文用AT89C51单片机自制了一款,重点介绍了其软件编程方法,2.功能 南北显示 南北指灯 东西显示 东西指灯 1 25~5 绿 25~5 红 2 5~2 绿(闪) 5~2 红 3 2~0 黄 2~0 红 4 25~5 红 25~5 绿 5 5~2 红 5~2 绿(闪) 6 2~0 红 2~0 黄 3.硬件组成   按照单片机系统扩展与系统配置状况,单片机应用系统可分为最小系统、最小功耗系统及典型系统等。AT89C51单片机是美国ATMEL公司生产的低电压、高性能CMOS 8位单片机,具有丰富的内部资源:4kB闪存、128BRAM、32根I/O口线、2个16位定时/计数器、5个向量两级中断结构、2个全双工的串行口,具有4.25~5.50V的电压工作范围和0~24MHz工作频率,使用AT89C51单片机时无须外扩存储器。因此,本灯实际上就是一个带有的单片机最小应用系统,即为由、晶振、复位、电源等电路和必要的软件组成的单个单片机。其具体硬件组成如图1所示。 图1 灯硬件原理图 从原理图中可以看出,在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制亮灭应该延时一段时间8+8个引线(P2+P1) 4.软件编程 单片机的应用系统由硬件和软件组成,上述硬件原理图搭建完成上电之后,我们还需要告诉单片机怎么来进行工作,软件编程是单片机应用系统中的一个重要的组成部分,是单片机学习的重点和难点。主程序要负责总体程序管理功能,实现人机交换设定。 4)软件设计 1、定时中断:1秒(50ms定时,20次为1秒) 2、绿灯闪烁:周期500ms( 50ms定时,5次为一个翻转) 3、状态字:FLAG(东西还是南北) FLAG0(是否绿灯闪烁阶段) 5)数字交通灯的程序 #includereg52.h unsigned char code dispcode[]= {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; unsigned char second,tcount,tcount1; sbit red1=P0^0; sbit yellow1=P0^1; sbit green1=P0^2; sbit red2=P0^3; sbit yellow2=P0^4; sbit green2=P0^5; bit flag=0; bit flag1=1; //主函数 void main() { second=25; P2=dispcode[second/10]; P1=dispcode[second%10]; tcount=0; TMOD=0x10; TH1=(65536-50000)/256; TL1=(65536-50000)%256; EA=1;ET1=1; TR1=1; while(1) { if((second=5)(second=25)) {if(flag==0){red1=1; yellow1=0; green1=0; red2=0;yellow2=0;green2=1;} else{red1=0;yellow1=0;green1=1; red2=1;yellow2=0;green2=0; } } if((second=3)(second5)) flag1=1; else flag1=0; if((second=0)(second3)) {if(flag==0){red1=1;yellow1=0;green1=0; red2=0;yellow2=1;green2=0;} else{red1=0;yellow1=1;green1=1; red2=0;yellow

文档评论(0)

1亿VIP精品文档

相关文档