51单片机交通灯课程设计
一 设计方案
系统完成内容如下:
正常情况下,A、B道(A、B道交叉组成十字路口,A是主道,B是支道)轮流放行,A道放行60秒(两个数码管从60秒开始倒数,其中5秒用于警告),B道放行30秒(两个数码管从30秒开始倒数,其中5秒用于警告)。 3)、一道有车而另一道无车(用按键开关S1、S2模拟)时,使有车车道放行。 4)、有紧急车辆通过(用按键开关S0模拟)时,A、B道均为红灯(两次按下S0后,回复正常状态)。 要求: 3)、编写系统的程序,完成系统的分、秒的计时功能 2.具体编程过程: 根据要求我首先想到
显示界面:采用数码管和LED灯相结合的方法,因为实际既要求倒计时施主输出,又要求又状态灯输出等,为方便观看并考虑到现实状况,用2个数码管与12个LED分别显示时间和提示信息。这种方案既满足系统功能要求,又减少了系统实现的复杂度。考虑到数码显示我采用了动态显示的方法,这是原理图里只有一个数码显示管亮的原因。按键方面我用了三个,一个用于A道无车,一个用于B道无车,一个用于特殊情况,都红的情况。 主控制方案
采用AT89C51单片机作为控制器,控制整个反感实行通行倒计时及A
道、B道、一道有车和特殊情况都为无车情况、通过变成方案设计占用单片机的端口尽量最少,硬件也做到能少最好的地步。
二 设计原理分析
1、首先了解实际交通灯的变化情况和规律。假设一个十字路口如上图所以,
为东南西北走向。初始状态0:为东西绿灯亮,南北红灯亮;然后转状态1:东西绿灯亮黄灯亮,南北红灯亮黄灯亮;过后转状态2:东西红灯亮,南北绿灯亮;再转状态3:东西红灯亮黄灯亮,南北绿灯亮黄灯亮。一段时间后,又循环至状态0。中间可通过中断按钮产生中断,跳入中断程序执行中断。
信号灯的显示情况是相同的,所以只要用两组就行了,因此,采用单片机内部的I/O口上的P1口中的6个引脚即可来控制6个信号灯。
3、通过编写程序,实现对发光二极管的控制,来模拟交通信号灯的管理。每延时一段时间,灯的显示情况都会按交通灯的显示规律进行状态转换。
4、通过延时时间送显,可以在原有的交通信号灯系统的基础上,增添其倒计时间的显示功能,实现其功能的扩展。
5.通过脉冲中断编写中断程序,可实现中断。
四、硬件资源及其分配
主要用到的硬件:P1口、P3口、LED数码管、LED发光二级管、定时器T0 硬件分配:
2、P3口中的P3.0(RXD)和P3.1(TXD)作特殊用途,数据(倒计时时间)从RXD端输入,TXD端输出。
3、LED发光二极管用来显示灯亮情况。 4、定时/计数器T0用来产生1秒的定时
5.Led显示器十位与p0相连接,个位与p2连接用来显示时间,下面是LED显示接口及原理。
1 LED是发光二极管的英文缩写,LED显示器是由发光二极管构成的,它在
单片机中的应用非常普遍。通常所说的LED显示器由7个发光二极管组成,其排列形状如图所示。此外,显示器中还有一个圆点型发光二极管以dp表示,用于小数点表示。通过七个发光二极管亮暗的不同组合,可以显示多种数字、字母以及其它符号。LED显示中的发光二极管共有两种连接方法:
2 共阳极接法:把发光二极管的阳极连在一起构成公共阳极。使用时公共阳极接+5V。这样阴极端输入低电平的段发光二极管就导通点亮,而输入高电平的则不亮。
3共阴极接法:把发光二极管的阴极连在一起构成公共阴极。使用时公共阴极接地。这样阳极端输入高电平的段发光二极管就导通点亮,而输入低电平的则不亮。
4 控制数码管驱动级的控制电路有静态式和动态式两类:
5 静态驱动:它是指每个数码管都要用一个译码器译码驱动。
6动态驱动:它是所的数码管使用一个专门的译码驱动器,使各位数码管逐个轮流显示,它的扫描速度极快,因此显示效果与静态驱动相同。
7采用动态数码管显示,可以大幅度地降低硬件成本和电源的功耗,因为某一时刻只有一个数码管工作,就是所谓的分时显示,显示所需要的硬件电路可分时复用。
共阳与共阴数码管自行代码
三 具体实现的程序
#include <at89x52.h> bit flag;
void Adao(void); void Bdao(void) ; void theshu (void);
#define uint unsigned char #define uchar unsigned char void delay_ms(uint delay); void jjj(void) ; uchar sum=0; uchar count=0; uchar flag3=0;
void xianshi(void) ; bit flag;
sbit p36=P3^6 ; sbit p37=P3^7 ; sbit p32=P3^2;
uchar code LED_Val[]={0xc0,0xf9,0xa4,0x0b0,0x99,0x92,0x82,0x0f8,0x80,0x98}; uchar data num[4];
uchar data led_point[2]={0xfd,0xfe}; void disp(uint disp_value);
void bcd(uint bcd_value); uchar att;
void system(void) ; // 定时 1s void T0_srv(void) interrupt 1 using 2 {
TH0=0x3c; TL0=0xb0; count++;
if(count==20) {count=0; flag=1; sum++ ; } }// 中断全红的情况 void int_0srv(void) interrupt 0 using 1 { flag3++;
}
/////////int//111/// 特殊 void jjj (void) {
uchar temp1,temp=sum; sum=0; temp1=P1; P1=0x36; //delay_ms(2); //if(!INT0) if(flag3==1) {while(sum<15) {
disp(15-sum);
//while(!INT0); } } //////////// if(flag3==2) {
P1=temp1; sum=temp; flag3=0; } }
/////////////////////////////// 延时void delay_ms(uint delay) {
uchar i;
while(delay--) {
for(i=0;i<125;i++); } } //////////////////////// B道正常情况 void Bdao(void) {
sum=0;
while(sum<25) { if(flag3!=0) jjj(); if(p36==0) { EA=0; P1=0x1e;
EA=1; if(p37==0) {EA=0; P1=0x33; } EA=1; P1=0x33; disp(30-sum); //while(!flag); flag=0; //sum++; }
//sum=0;
while(sum<30) {if(flag3==1) jjj(); while(p36==0){
EA=0; P1=0x1e; } EA=1; while(p37==0) {EA=0; P1=0x33; } EA=1; P1=0x2D; disp(30-sum); while(!flag); flag=0; //sum++; }
sum=0; P1=0; }
//////////////////////// A到正常void Adao(void) {
while(sum<55) {if(flag3==1) jjj();
while(p36==0) { EA=0; P1=0x1e;
EA=1; while(p37==0) {EA=0; P1=0x33; } EA=1; disp(60-sum); P1=0x1e;
////////while(!flag); flag=0; //sum++; }
//sum=0; //P1=0x11; while(sum<60) {if(flag3==1) jjj(); while(p36==0) {
EA=0; P1=0x1e; } EA=1; while(p37==0){
EA=0; P1=0x33; } EA=1; P1=0x2D; disp(60-sum); while(!flag); flag=0; sum++; } }
/////////////////////// 系统初始化 void system(void) {
TMOD=0x01; TH0=0x3c; TL0=0xb0; ET0=1; EA=1; TR0=1;
EX0=1; IT0=1; }
/////////////////////// 显 …… 此处隐藏:2661字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [专业资料]《蜜蜂之家》教学反思
- [专业资料]过去分词作定语和表语1
- [专业资料]苏州工业园区住房公积金贷款申请表
- [专业资料]保安管理制度及处罚条例细则
- [专业资料]2018年中国工程咨询市场发展现状调研及
- [专业资料]2015年电大本科《学前教育科研方法》期
- [专业资料]数字信号处理实验 matlab版 离散傅里叶
- [专业资料]“十三五”重点项目-虎杖白藜芦醇及功
- [专业资料]2015-2020年中国竹木工艺市场需求及投
- [专业资料]国际贸易理论与实务作业五:理论案例分
- [专业资料]财政部修订发布事业单位会计制度
- [专业资料]BCA蛋白浓度测定试剂盒(增强型)
- [专业资料]工程进度总计划横道图模板(通用版)
- [专业资料]七年级地理同步练习(天气与气候)
- [专业资料]X光安检机介绍火灾自动报警系统的组成
- [专业资料]衢州市人民政府办公室关于印发衢州市区
- [专业资料]经济全球化及其影响[1]
- [专业资料]质粒DNA限制性酶切图谱分析
- [专业资料]国家安全人民防线工作“六项”制度
- [专业资料]劳动力投入计划及保证措施
- 电子账册联网监管培训手册
- 人教版语文七年级上第1课《在山的那边
- 对我区担保行业发展现状的思考与建议
- 平面四边形网格自动生成方法研究
- 2016年党课学习心得体会范文
- 如何设置电脑定时关机
- 全球最美人妖排行榜新鲜出炉
- 社会实践调查报告及问卷
- Visual Basic习题集
- 《鱼我所欲也》课件2
- 浙江省会计从业资格考试试卷
- 全遥控数字音量控制的D 类功率放大器资
- 鞍钢宪法与后福特主义
- 电表的改装与校准实验报告(1)
- 2014年高考理科数学真题解析分类汇编:
- Windows 7 AIK 的使用
- 风电场全场停电事故应急处置方案
- 化工原理选填题题库(下)
- 关于产学研合作教育模式的学习与思考
- 西安先锋公馆项目前期定位报告




