上海定制网站建设公司哪家好,成都网站优化公司哪家好,北京网站制作招聘,上海装修公司排名39151单片机交通灯_紧急开关黄灯倒计时可调时间 开题报告系统硬件设计主控制器选择系统硬件结构图时钟及复位电路指示灯及倒计时模块 倒计时模块#xff1a;程序软件主流程框架main函数 设计报告资料清单资料下载链接 基于51单片机交通灯_紧急开关黄灯倒计时可调时间 仿真图prote… 51单片机交通灯_紧急开关黄灯倒计时可调时间 开题报告系统硬件设计主控制器选择系统硬件结构图时钟及复位电路指示灯及倒计时模块 倒计时模块程序软件主流程框架main函数 设计报告资料清单资料下载链接 基于51单片机交通灯_紧急开关黄灯倒计时可调时间 仿真图proteus 7.8
程序编译器keil 4/keil 5
编程语言C语言
设计编号J000
功能说明
采用51单片机以及单片机最小系统和三极管驱动电路以及外围的按键和数码管显示等部件设计一个基于单片机的交通灯设计。
1.四路交通灯带有红绿灯倒计时绿灯倒计时结束后转黄灯5秒再转红灯。
2.紧急情况下按键紧急按钮四路黄灯快闪。
3.可以动态设置红绿灯时间。
涉及知识点:按键扫描定时器数码管驱动。
开题报告
内容要求
一、 任务
近年来随着科技的飞速发展单片机的应用正在不断深入同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中单片机往往作为一个核心部件来使用仅单片机方面知识是不够的还应根据具体硬件结构软硬件结合加以完善。
十字路口车辆穿梭行人熙攘车行车道人行人道有条不紊。那么靠什么来实现这井然秩序呢靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本系统采用STC89C52单片机以及单片机最小系统和三极管驱动电路以及外围的按键和数码管显示等部件设计一个基于单片机的交通灯设计。设计通过两位一体共阴极数码管显示并能通过按键对定时进行设置。本系统实用性强、操作简单、扩展功能强。设计通过STC89C52单片机以及单片机最小系统和三极管驱动数码管数码管更亮白天看的很清楚以及外围的按键和数码管显示等部件数码管倒计时显示时间。 仿真图提供源文件 系统硬件设计
根据上面的功能要求硬件系统主要有单片机模块、指示灯模块和倒计时显示模块。各模块选择如下
主控制器选择
单片机Microcontrollers是一种集成电路芯片是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路集成到一块硅片上构成的一个小而完善的微型计算机系统在工业控制领域广泛应用。从上世纪80年代由当时的4位、8位单片机发展到现在的300M的高速单片机。本文的单片机特指51单片机具体芯片型号是STC89C52RC。需注意STC89C51,STC89C52AT89C51,AT89C52都是51单片机的一种具体芯片型号。
AT89C51是AT89C5X系列单片机的典型产品它采用ATMEL的高密非易失存储技术制造并和工业标准MCS—51指令集和引脚结构兼容。通过在单块芯片上组合通用的CPL1和快闪存储器ATMEL公司生产的AT89C52是一强劲的微型计算机它对许多嵌入式控制的应用提供了一种高度灵活和成本低的解决办法。芯片AT89C52是ATMEL公司生产的带2K字节快闪存储器的8位单片机。
该单片机还具有体积小,价格低等特点。AT89C51单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线。
系统硬件结构图
中央处理器(CPU)是整个单片机的核心部件是8位数据宽度的处理器能处理8位二进制数据或代码CPU负责控制、指挥和调度整个单元系统协调的工作完成运算和控制输入输出功能等操作。
AT89C51内部有128个8位用户数据存储单元和128个专用寄存器单元它们是统一编址的专用寄存器只能用于存放控制指令数据用户只能访问而不能用于存放用户数据所以用户能使用的RAM只有128个可存放读写的数据运算的中间结果或用户定义的字型表。
AT89C51共有4096个8位掩膜ROM用于存放用户程序原始数据或表格。 AT89C51有两个16位的可编程定时/计数器以实现定时或计数产生中断用于控制程序转向。
AT89C51共有4组8位I/O口(P0、P1、P2或P3)用于对外部数据的传输。 AT89C51内置一个全双工串行通信口用于与其它设备间的串行数据传送该串行口既可以用作异步通信收发器也可以当同步移位器使用。
AT89C51具备较完善的中断功能有两个外中断、两个定时/计数器中断和一个串行中断可满足不同的控制要求并具有2级的优先级别选择。
时钟及复位电路
AT89C51内置最高频率达12MHz的时钟电路用于产生整个单片机运行的脉冲时序但AT89C51单片机需外置振荡电容。
本设计中使单片机运行在最小系统。
时钟电路由两个20nF的微调电容和一个晶振组成。AT89C51内部有一个用于构成振荡器的高增益反相放大器它的输入端为芯片引脚XTAL1输出端为引脚XTAL2。这两个引脚接石英晶体振荡器和微调电容构成一个稳定的自激振荡器。本系统采用12Hz的振荡器机器周期为1us。复位操作有上电自动复位、按键电平复位和外部脉冲复位三种方式。
指示灯及倒计时模块
1指示灯模块
设计电路中每个路口的控制信号灯应有三个即红灯、黄灯、绿灯各一个。因此本电路的设计中应用到红灯、黄灯、绿灯个四个。同一方向的两个路口的同一颜色指示灯是同时亮灭为简化电路可让这两个灯接同一引脚。这样可用P1口控制所有的指示灯。
按照设计指示灯采用红/绿/黄三种发光二极管。该组件及其与单片机引脚的接法如下
倒计时模块
利用两个74HC573锁存器驱动四个两位数码管因为南北方向和东北方向的倒计时时间是一样的所以倒计时实际上只有两个显示。 程序 软件主流程框架 开机上电便处于正常运行状态南北方向通行30秒后变为东西方向通行30秒如此60秒循环一次使得东西方向和南北方向交替通行。
显示系统则显示到下一次改变通行方向所剩的时间利于司机调整车辆状况。每到通行方向转换时正在通行的方向绿灯熄灭变为黄灯闪烁提醒司机注意通行方向的改变避免不必要的危险。
本设计支持动态修改东西南北方向的红绿灯时间。短按设置/退出设计进入修改模式。先修改南北方向绿灯时间再短按修改东西方向红灯时间按第四个按键保存设置的时间。
紧急情况下可以通过按键设置四方向黄灯。
延时方法可以有两种一种是利用MCS-51内部定时器才生溢出中断来确定1秒的时间另一种是采用软延时的方法。本程序的倒计时采用软件延时。
main函数
以下是主函数
#define _MAIN_C
#include use.h
#include main.h
#include time.h
#include key.h
bit flag1s;
uchar count1s,NS_time,WE_time;
uchar GreenTime30,RedTime35;//绿灯时间和红灯时间红灯要比绿灯时间长
uchar index0;
enum eStaSysterm StaSystermNormalRun;void main()
{EA1; //开总中断InintTimer0(); //初始化定时器0while(1){ LEDScan(); //数码管即LED扫描KeyDriver(); //键盘驱动扫描if(flag1s){flag1s0;NS_time--; //红绿灯倒计时时间减WE_time--;} }
}
void InintTimer0()
{TMOD0X01;TH00X4C;TL00X00;ET01;TR01;
}
void Timer0() interrupt 1
{TH00XBB;TL00X00;KeyScan();if(count1s50) return;count1s0;if(StaSystermNormalRun) flag1s1; //非正常运行时不红绿灯数值不减一
}
void LEDScan()
{if(StaSystermNormalRun) //正常运行{if(NS_time0 || WE_time0)//当东西或者南北方向通行时间倒数到0切换状态{switch(index) //改变红绿灯的状态状态机{case 0:{index1;NS_timeGreenTime;//南北方向绿灯通行时间WE_timeRedTime;//东西绿灯方向通行时间P20X09; //需要亮的灯转换为二进制位0000 1001对应P2口的P2^0和P2^3,//对应仿真图的绿灯L0和红灯L3亮。}break;case 1:{index2;NS_timeRedTime-GreenTime;P20X0A; }break;case 2:{index3;NS_timeRedTime;WE_timeGreenTime;P20X24; }break;case 3:{index0;WE_timeRedTime-GreenTime;P20X14; }break;default:break;}}Seg_Display(NS_time/10,0);Seg_Display(NS_time%10,1);Seg_Display(WE_time/10,2);Seg_Display(WE_time%10,3);}else if(StaSystermUrgentRun){ //紧急情况运行P20x12;Delayms(200);P20x00;Delayms(200);}else //设置调整红绿灯时间{index0;NS_time0;WE_time0; //重新初始化红绿灯并运行UrgentScan();}
}
设计报告 资料清单 资料下载链接