基于单片机的汽车信号灯控制系统
基于单片机的汽车信号灯控制系统

基于单片机的汽车信号灯控制系统文档编制序号:[KKIDT-LLE0828-LLETD298-POI08]中南大学课程设计(附代码)20)设计一个基于单片机的汽车信号灯控制系统设计要求:分析系统需求,设计出电路原理图,说明工作原理,编写程序及程序流程图。
设计一个基于单片机的汽车信号灯控制系统。
汽车驾驶执行的操作由相应的开关状态反映,所需控制的信号灯有仪表盘左/右转弯灯、左右头灯和左右尾灯共六类灯,还有蜂鸣器喇叭控制的信号。
设计功能:驾驶操作与灯光信号对应关系如下:(1) 左/右转弯(合上左/右开关):仪表盘左/右转弯灯、左/右头灯、左/右尾灯闪烁。
(2) 紧急开关合上:所有灯闪烁。
(3) 刹车(合上刹车开关):左右尾灯亮。
(4) 左/右转弯刹车:仪表盘左/右转弯灯、左/右头灯、左/右尾灯闪烁,右/左尾灯亮。
(5) 刹车、合上紧急开关:尾灯亮、仪表板灯、头灯闪烁。
(6) 左/右转弯刹车,并合上紧急开关:右/左尾灯亮,其余灯闪烁。
(7) 停靠(合上停靠开关):头灯、尾灯以1Hz的频率闪烁。
(8)倒车:尾灯长亮、蜂鸣器以的频率报警。
设计要求:设计出电路原理图,说明工作原理,编写程序及程序流程图。
仿真操作及现象:1)合上左转弯开关:仪表板左转弯灯、左头灯、左尾灯闪烁。
2)合上右转弯开关:仪表板右转弯灯、右头灯、右尾灯闪烁。
3)合上紧急开关:所有灯闪烁4)合上刹车开关:左右尾灯亮5)合上左开关和刹车开关:仪表板左转弯灯、左头灯、左尾灯闪烁,右尾灯亮。
6)合上右开关和刹车开关:仪表板右转弯灯、右头灯、右尾灯闪烁,左尾灯亮。
7)合上刹车开关、紧急开关(紧急刹车):左右尾灯亮、左右仪表板灯、头灯闪烁。
8)合上左开关和刹车开关、紧急开关(紧急左转弯刹车):右尾灯亮,其余灯闪烁。
9)合上右开关和刹车开关、紧急开关(紧急右转弯刹车):左尾灯亮,其余灯闪烁。
10)合上停靠开关:左右头灯、尾灯以1Hz的频率闪烁代码:#include <>#include<>#define uchar unsigned char#define uint unsigned intunsigned char jianzhi;uchar count=0;uchar count1=0; //记录中断次数,count2=20才产生1HZ的时钟脉冲uchar count2=0; //记录中断次数,count2=40才产生的时钟脉冲sbit LF=P0^0; //左头灯sbit RF=P0^1; //右头灯sbit LY=P0^2; //左转弯灯sbit RY=P0^3; //右转弯灯sbit LB=P0^4; //左尾灯sbit RB=P0^5; //右尾灯sbit BU=P0^6; //蜂鸣器sbit led=P0^7;sbit zong_switch=P1^6;uchar code Key[]={1,2,3,4,5,6};uchar k=16;uchar code DSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0x00};//延时void DelayMS(uint x){uchar i;while(x--){for(i=0;i<120;i++);}}//矩阵键盘扫描uchar Keys_Scan(){uchar Tmp;P2=0x0f; //高4位置0,放入4行DelayMS(1);Tmp=P2^0x0f;//按键后0f变成0000XXXX,X中一个为0,3个仍为1,通过异或把3个1变为0,唯一的0变为1switch(Tmp) //判断按键发生于0~3列的哪一列{case 1: k=0;break;case 2: k=1;break;case 4: k=2;break;case 8: k=3;break;default:k=16; //无键按下}P2=0xf0; //低4位置0,放入4列DelayMS(1);Tmp=P2>>4^0x0f;//按键后f0变成XXXX0000,X中有1个为0,三个仍为1;高4位转移到低4位并异或得到改变的值switch(Tmp) //对0~3行分别附加起始值0,4,8,12{case 1: k+=0;break;case 2: k+=4;break;case 4: k+=8;break;case 8: k+=12;}return(k);}//密码锁uchar Coded_lock(){uchar m=0,j,x=16,y=16;uchar KeyNo[]={16,16,16,16,16,16}; //按键序号,16表示无按键P2=0xf0; //高4位置0,放入4行//led=1;while(m<6){P2=0xf0;if(P2!=0xf0){y=Keys_Scan(); //扫描键盘获取输入的密码//P3=~DSY_CODE[y];if(y<=9&&y!=x){KeyNo[m]=y;P3=~DSY_CODE[y];m++;}else if(9<y<16&&y!=x){P3=~0x86; //显示E,表示重新输入m=0;}}x=y;y=16;DelayMS(100);}for(j=0;j<6;j++){if(KeyNo[j]!=Key[j]){return 0;break;}}return 1;}//主程序void main(void){uchar i=3,sign=1,flag=0,choose=16;TMOD=0x01;TH0= (65536- 50000)/256; //定时器0,方式lTL0= (65536- 50000)%256; //置初值,产生50ms 定时IE=0x82; //允许T0中断TR0=0; //关中断P0=0x3f;P1=0xff;P2=0xf0;P3=0x00;for(;zong_switch!=0;) //循环直到总开关按下{DelayMS(50);P3=~0x00;}P3=~0x86;while(zong_switch==0) //总开关按下{DelayMS(50);while(1){flag=Coded_lock();DelayMS(50);choose=16;while((choose!=10)&&(choose!=11)) //循环,直到按下确定或者取消{P3=~0xa1;//按确认或者取消P2=0xf0;if(P2!=0xf0)choose=Keys_Scan();DelayMS(100);}P3=~DSY_CODE[choose];DelayMS(50);if(flag==1) //密码正确{if(choose==10) //确定{break;}elseP3=~0x86;}else if(i==1) //三次密码错误,所有灯高频闪烁,并且蜂鸣器报警{while(1){P0=0xff;DelayMS(20);P0=0x00;DelayMS(20);}}else if(choose==10) //密码错误,且按下确认键{P3=~0x8e; //显示F表示密码错误DelayMS(100);i--; //可输入密码次数减一}elseP3=~0x86;}break;}P3=0x00;TR0=1;while(1);}void time0(void) interrupt 1{//TH0= (65536- 50000)/256;//TL0= (65536-50000)%256;P1=0xff; // Pl先送Oxff,Pl中保存是按键的值jianzhi=P1; //暂存键值到jianzhijianzhi=jianzhi&0x7f; //因为最高位不用,去掉switch(jianzhi){case 0x3e: //左转弯0011 1110{BU=0; //蜂鸣器不响RF=1;RB=1;RY=1;if(count==15){LF=!LF;LB=!LB;LY=!LY;count=0;}else{count++;}}break;case 0x3d: //右转弯0011 1101{BU=0; //蜂鸣器不响LF=1;LB=1;LY=1;if(count==15){RF=!RF;RB=!RB;RY=!RY;count=0;}else{count++;}}break;case 0x3b: //紧急0011 1011{BU=0; //蜂鸣器不响if(count==15){LF=!LF;RF=!RF;LY=!LY;RY=!RY;LB=!LB;RB=!RB;count=0;}else{count++;}}break;case 0x37: //刹车0011 0111{BU=0; //蜂鸣器不响LB=0;RB=0;LF=1;RF=1;LY=1;RY=1;}break;case 0x36: //左转弯刹车0011 0110{BU=0; //蜂鸣器不响RB=0;RF=1;RY=1;if(count==15){LB=!LB;LF=!LF;LY=!LY;count=0;}else{count++;}}break;case 0x35: //右转弯刹车0011 0101{BU=0; //蜂鸣器不响LB=0;LF=1;LY=1;if(count==15){RB=!RB;RF=!RF;RY=!RY;count=0;}else{count++;}}break;case 0x33: //紧急刹车0011 0011{BU=0; //蜂鸣器不响LB=0;RB=0;if(count==15){RF=!RF;LF=!LF;RY=!RY;LY=!LY;count=0;}else{count++;}}break;case 0x32: //左转紧急刹车0011 0010{BU=0; //蜂鸣器不响RB=0;if(count==15){LB=!LB;RF=!RF;RY=!RY;LF=!LF;LY=!LY;count=0;}else{count++;}}break;case 0x31: //右转紧急刹车0011 0001{BU=0; //蜂鸣器不响LB=0;if(count==15){RB=!RB;RF=!RF;RY=!RY;LF=!LF;LY=!LY;count=0;}else{count++;}}break;case 0x2f: //停靠0010 1111{BU=0; //蜂鸣器不响LY=1;RY=1;if(count1==20){LF=!LF;RF=!RF;LB=!LB;RB=!RB;count1=0;}else{count1++;}}break;case 0x1f: //倒车0001 1111{LB=0;RB=0;LF=1;RF=1;LY=1;RY=1;if(count2==40){BU=!BU;count2=0;}else{count2++;}}break;default:P0=0x3f;break;}}。
基于单片机的汽车信号灯控制系统的设计文稿

基于单片机汽车信号灯控制系统的设计摘要汽车信号灯汽车信号灯,,作为汽车的必备装置之一作为汽车的必备装置之一,,各式各样的汽车都离不开它。传统的汽车信号灯控制系统有很多类型的汽车信号灯控制系统有很多类型,,但使用寿命短但使用寿命短,,采用纯电路设计模式采用纯电路设计模式,,线路复杂,容易产生故障容易产生故障,,可靠性低。针对汽车信号灯控制系统存在的问题针对汽车信号灯控制系统存在的问题,,本文设计了一个以单片机为核心的控制系统一个以单片机为核心的控制系统,,该系统采用C51单片机为控制核心单片机为控制核心,,具有手动和自动两种模式可供驾驶员选择和自动两种模式可供驾驶员选择,,设计相对人性化。设计具有界面友好设计具有界面友好,,可靠性高可靠性高,,线路简单线路简单,,成本低廉成本低廉,,使用方便的优点使用方便的优点,,通过软件升级很容易实现功能扩展。关键词:汽车信号灯汽车信号灯;;单片机单片机;;手动控制手动控制;;自动控制ABSTRACTAutomobile signal lamp, as a necessary device of automobile, every kind of car can not be separated from it. The traditional automobile signal lamp control system has many types, but the service life is short, using pure circuit design mode, complex lines, lines, and and and prone prone prone to to to failure, failure, failure, low low low reliability. reliability. reliability. Aiming Aiming Aiming at at at the the the automobile automobile automobile signal signal signal lamp lamp control system, this paper describes the design of a single chip microcomputer as the core of the control system, the system uses the C51MCU as the control core, with two types of manual and automatic mode for the driver to select, design relative humanity. The design has a friendly specific, high reliability, simple circuit, low cost, convenient to use, through software upgrades are easy to achieve functional expansion. Key words: ;Single chip microcomputer; Manual control;Auto control; 目录摘 要要.............................................................. I ABSTRACT .......................................................... I I第1章 引言引言......................................................... 1 1.1 1.1 绪论绪论绪论 ........................................................ 1 1.2汽车信号灯简介汽车信号灯简介............................................... 1 1.2.1 1.2.1 汽车信号灯的作用汽车信号灯的作用汽车信号灯的作用....................................... 1 1.2.2 1.2.2 汽车信号灯发展历史汽车信号灯发展历史汽车信号灯发展历史..................................... 2 1.3 8051单片机简介单片机简介.............................................. 3 1.3.1 1.3.1 中断系统中断系统中断系统............................................... 7 1.3.2 1.3.2 时钟系统时钟系统时钟系统............................................... 7 1.4 1.4 章节规划章节规划章节规划................................................... 10 第2章 设计方案讨论设计方案讨论设计方案讨论............................................... 11 2.1设计的要求设计的要求.................................................. 11 2.2方案讨论方案讨论.................................................... 11 2.2.1继电器作为控制器继电器作为控制器 ...................................... 11 2.2.2 PLC 作为控制器作为控制器........................................ 12 2.2.3利用单片机作为控制核心利用单片机作为控制核心................................ 12 第3章 硬件设计方案硬件设计方案硬件设计方案............................................... 13 3.1工作原理图工作原理图.................................................. 13 3.2硬件连接图硬件连接图.................................................. 14 3.2.1手动原理硬件连接图手动原理硬件连接图.................................... 14 3.2.2自动报警原理硬件连接图自动报警原理硬件连接图................................ 15 3.3各电气原件选择思路各电气原件选择思路.......................................... 16 3.3.1ULN2003A 电路介绍电路介绍...................................... 16 3.3.2 3.3.2 各个开关功能介绍各个开关功能介绍各个开关功能介绍...................................... 16 3.3.3 LED 信号灯信号灯 ............................................ 17 3.3.4 3.3.4 数码显示器数码显示器数码显示器............................................ 17 3.3.5 3.3.5 自动报警系统自动报警系统自动报警系统.......................................... 18 3.4 3.4 芯片及其他硬件介绍芯片及其他硬件介绍芯片及其他硬件介绍......................................... 19 3.4.1ULN2003A .. (19)3.4.2光敏电阻简介光敏电阻简介.......................................... 20 3.4.3 LED 灯简介及其优点灯简介及其优点.................................... 22 3.4.4 74LS164简介简介.......................................... 23 第4章 软件设计方案软件设计方案软件设计方案............................................... 25 4.1程序设计思想程序设计思想................................................ 25 4.2程序流程图程序流程图.................................................. 25 4.2.1 4.2.1 手动模式手动模式手动模式 ............................................. 25 4.2.2 4.2.2 自动模式自动模式自动模式.............................................. 26 4.3调试与仿真调试与仿真.................................................. 26 第5章 结束语结束语结束语..................................................... 27 参考文献参考文献........................................................... 28 附件1 PCB (29)附件22 原理图原理图 (30)原理图程序清单 (31)附件3程序清单第1章 引言1.1 1.1 绪论绪论随着改革开放的深入发展随着改革开放的深入发展,,国民综合收入不断提高国民综合收入不断提高,,越来越多的家庭选择了汽车作为交通工具。大量的汽车行驶在道路上大量的汽车行驶在道路上,,照成了交通拥挤照成了交通拥挤,,所以一套操作方便,性能可靠性能可靠,,界面友好界面友好,,容易升级的信号灯控制系统是现代汽车必不可少配件之一。以往的汽车信号灯控制系统都是纯电路设计的以往的汽车信号灯控制系统都是纯电路设计的,,不仅设计麻烦不仅设计麻烦,,而且故障率高,已经不能适应现代汽车所要发出的信号的任务。而基于单片机的电路设计模式则能很好的胜任这一任务式则能很好的胜任这一任务,,这是以后所有汽车信号灯控制系统的一个发展趋势。单片微型计算机简称为单片机单片微型计算机简称为单片机,,又称为微型控制器又称为微型控制器,,是微型计算机的一个重要分支。单片机是70年代中期发展起来的一种大规模集成电路芯片年代中期发展起来的一种大规模集成电路芯片,,是CPU 、RAM 、ROM 、I/O 接口和中断系统于同一硅片的器件。80年代以来年代以来,,单片机发展迅速单片机发展迅速,,各类新产品不断涌现新产品不断涌现,,出现了许多高性能新型机种。目前单片机渗透到我们生活的各个领域个领域,,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置导弹的导航装置,,飞机上各种仪表的控制仪表的控制,,计算机的网络通讯与数据传输计算机的网络通讯与数据传输,,工业自动化过程的实时控制和数据处理处理,,广泛使用的各种智能IC 卡,民用豪华轿车的安全保障系统民用豪华轿车的安全保障系统,,录像机、摄像机、全自动洗衣机的控制全自动洗衣机的控制,,以及程控玩具、电子宠物等等电子宠物等等,,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。Altium designer 软件是澳大利亚的公司制作并发行的软件是澳大利亚的公司制作并发行的,,支持多种语言格式支持多种语言格式,,是绘制各种电路图的不二选择。 , ,完全替代了完全替代了Protel 99。本次设计以8051单片机核心,通过1.2汽车信号灯简介1.2.1 .2.1 汽车信号灯的作用汽车信号灯的作用汽车信号灯对汽车有着十分重要的作用汽车信号灯对汽车有着十分重要的作用,,第一是为汽车行驶起照明的作用第一是为汽车行驶起照明的作用;;第二是表明汽车正在或者即将要做出的动作第二是表明汽车正在或者即将要做出的动作,,如刹车灯和转弯的如刹车灯和转弯的;;第三是在汽车处于紧急状态时提醒、警示过往车辆的目的警示过往车辆的目的; ;第四是汽车司机与司机之间交流的作用。还有一些其他方面的作用还有一些其他方面的作用,,如装饰、阅读。1.2.2 1.2.2 汽车信号灯发展历史汽车信号灯发展历史汽车信号灯发展历史1898年,哥伦比亚号电动汽车把电用于前灯和尾灯哥伦比亚号电动汽车把电用于前灯和尾灯,,这样车灯就诞生了。最初的前大灯不能调光初的前大灯不能调光,,所以在会车时有些晃眼所以在会车时有些晃眼,,为了克服这个缺点为了克服这个缺点,,后来采用了附加光度调节器。这种前大灯可以在垂直方向移动这种前大灯可以在垂直方向移动,,但驾驶员必须下车搬动夹具装置。从早期乙炔气前照灯发展到当今的自由面反射镜气体放电前照灯,差不多经历了120年,其演变过程如下其演变过程如下: :第一代——乙炔气前照灯前照灯具有高的轮廓亮度第一代——乙炔气前照灯前照灯具有高的轮廓亮度,,乙炔气火焰的亮度比当时的电光源所能达到的亮度高出一倍时的电光源所能达到的亮度高出一倍,,因而因而,,在1925 1925 年以前使用的汽年以前使用的汽年以前使用的汽{TodayHot}{TodayHot}车前照灯几乎全是乙炔前照灯。第二代——电光源前照灯1913年带螺旋灯丝的充气白炽灯泡问世年带螺旋灯丝的充气白炽灯泡问世,,因其具有较高亮度有较高亮度,,给电光源前照灯开辟了广阔的前景。然而由于当时汽车电气设备系统的制约统的制约,,直到1925年,电气照明才得到广泛的应用。第三代——双光灯芯前照灯具备有高轮廓亮度充气灯泡的电前照灯一装在汽车上汽车上,,就出现了在交会车时因前照灯的强光造成驾驶员炫目而导致发生交通事故和撞车的严重问题。因而因而,,对前照灯的设计提出了两个互不相容的要求对前照灯的设计提出了两个互不相容的要求::一个是如何在不小于100m 的距离内使道路和高度至少2-2.5m 的障碍物得到良好的照明的障碍物得到良好的照明;;另一个是如何使迎面车辆驾驶员不炫目。汽车会车时的这种炫目问题汽车会车时的这种炫目问题,,仍是汽车照明技术中最难以解决的问题。为解决会车炫目的问题为解决会车炫目的问题,1924,1924年,欧洲发明了双光灯芯前照灯之后光灯芯前照灯之后,,美国也出现了带双丝灯泡的前照灯。然而然而,,欧洲和美国具备不炫目近光的前照灯的光学系统结构原理不尽相同。其灯泡的差异在于灯丝的形状和位置不同和位置不同::配光镜的差异在于折光单元的图案和计算不同配光镜的差异在于折光单元的图案和计算不同,,因而因而,,近光的配光也有所不同。近光系统分为欧洲系统和美国系统两种近光系统分为欧洲系统和美国系统两种,,两大系统的协调问题是当今世界汽车灯光发展的重大课题之一。第四代——不对称近光前照灯第四代——不对称近光前照灯 双光灯芯前照灯系统属于对称近光系统双光灯芯前照灯系统属于对称近光系统,,近光光型的左右两侧完全相同光光型的左右两侧完全相同,,因而左、右两侧行驶皆适用。但由于行车光但由于行车光 ( ( ( 远光远光远光 ) )变到会车光变到会车光 ( ( ( 近光近光近光 ) ) ) 时时,视见距离缩短视见距离缩短,,迫使车速降低。为解决在会车过程中为解决在会车过程中,,前照灯既不产生炫目前照灯既不产生炫目,,又能保证对道路具有良好的照明又能保证对道路具有良好的照明,1932,1932年美国发明了不对称前照灯称前照灯,,它是以基准轴为中心它是以基准轴为中心,,将光束一分为二将光束一分为二,,靠近来车一侧的落地距离短靠近来车一侧的落地距离短 ( ( 即光束压低即光束压低即光束压低,,从而防炫从而防炫 ) , ) , ) ,而另一侧光束的落地距离长而另一侧光束的落地距离长而另一侧光束的落地距离长 ( ( ( 即光束抬高即光束抬高即光束抬高,,从而增加视见加视见 ) ) 。第五代——第五代——h4h4卤钨前照灯第一批装有卤钨灯泡的汽车前照灯是由法国 “ 斯贝“ 斯贝 ” 公司在1964年生产的年生产的,,其灯丝允许工作温度较普通白炽灯泡高其灯丝允许工作温度较普通白炽灯泡高,,光效增加约效增加约 50% , 50% , 50% ,寿命也增加一倍寿命也增加一倍。第六代——第六代——hid hid 前照灯以hid 前照灯为代表的现代汽车前照灯在发光原理、结构形式以及制造材料等方面又发生了一系列的重大变化。hid 氙气头灯是以高压击穿惰性气体电离而发光压击穿惰性气体电离而发光,,其产生的光照度强其产生的光照度强,,色温高色温高,,穿透力强穿透力强,,而且节约电能,是理想的汽车前照灯光源。第七代——第七代——led led 前照灯美国最新的研究结果表明前照灯美国最新的研究结果表明,,未来五年内未来五年内,,白光大功率led 技术将大幅度代替目前的各种照明产品技术将大幅度代替目前的各种照明产品,,而且将适用于汽车的各种照明而且将适用于汽车的各种照明,,包括:前照灯、刹车灯、雾灯、应急灯、车内照明等。led 具有高安全性、运行平稳、节约电力、寿命长等多种优点寿命长等多种优点,,是未来车辆照明的一个发展趋势。1.3 8051单片机简介单片机是一种集成在电路芯片单片机是一种集成在电路芯片,,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU 随机存储器RAM 、只读存储器ROM 、多种I/O 口和中断系统、定时器定时器//计时器等功能计时器等功能((可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D 转换器等电路转换器等电路))集成到一块硅片上构成的一个小而完善的计算机系统。单片机具有体积小单片机具有体积小,,集成度高集成度高,,性能稳定性能稳定,,可靠性高等特点可靠性高等特点,,而且具有较高的性价比。单片机的种类繁多单片机的种类繁多,,一般按单片机数据总线的位数进行分类一般按单片机数据总线的位数进行分类,,主要分为4位、8位、16位和32位单片机。根据应用领域、总线类型来分总线类型来分: :(1)(1)工控型工控型工控型//家电型。工控型的单片机主要是面向测控工控型的单片机主要是面向测控,,要求寻址范围大要求寻址范围大,,运算能力强。家电型的单片机要求体积小、价格低价格低,,外围器件少外围器件少,,使用方便。(2)(2)总线型总线型总线型//非总线型。总线型单片机是指单片机设有并行总线总线型单片机是指单片机设有并行总线,,用以扩展并行外围器件。非总线型单片机是指单片机通过串行口与外围器件连接,或直接把外围器件、外设接口集成在片内。(3)(3)通用型通用型通用型//专用型。通用型单片机通用型单片机,,它的应用范围宽它的应用范围宽,,如Intel 公司的MCS MCS——5l 系列产品8031、80C51等通过不同的外围扩展就可以用在不同的设备中。专用型单片机是专门为某一产品设计生产的如电子体温计、计费电度表等。单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域能化管理及过程控制等领域,,大致可分如下几个范畴大致可分如下几个范畴: :在智能仪器仪表上的应用在智能仪器仪表上的应用; ;在工业控制中的应用在工业控制中的应用; ;在家用电器中的应用在家用电器中的应用; ;在计算机网络和通信领域中的应用在计算机网络和通信领域中的应用; ;单片机在医用设备领域中的应用单片机在医用设备领域中的应用; ;在各种大型电器中的模块化应用在各种大型电器中的模块化应用; ;单片机在汽车设备领域中的应用。8051单片机是ATMEL 公司生产的低电压公司生产的低电压,,高性能的CMOS 8位单片机位单片机,,片内含4K bytes 的可反复擦写和只读程序存储器的可反复擦写和只读程序存储器(PEROM)(PEROM)(PEROM)和和128 bytes 的随机存取数据存储器数据存储器,,器件采用ATMEL 公司的高密度、非易失性存储技术非易失性存储技术,,兼容标准MCS-51指令系统指令系统,,片内置通用8位中央处理器和FLASH 存储单元。其主要性能参数为其主要性能参数为其主要性能参数为: :l 与MCS-51产品指令系统完全兼容产品指令系统完全兼容l 4k 字节可重擦写Flash 闪速存储器闪速存储器l 1000次擦写周期次擦写周期l 全静态操作全静态操作:0Hz-24MHz :0Hz-24MHzl 三级加密程序存储器三级加密程序存储器l 128 X 8字节内部RAMl 32个可编程I/O 口线口线l 2个16位定时位定时//计数器计数器l 6个中断源个中断源l 可编程串行UART 通道通道l 低功耗空闲和掉电模式低功耗空闲和掉电模式其内部结构图如下其内部结构图如下其内部结构图如下: :单片机的硬件主要包括中央处理器单片机的硬件主要包括中央处理器(CPU)(CPU)、 中央处理器是单片机的核心中央处理器是单片机的核心中央处理器是单片机的核心,,主要功能是产生各种控制信号主要功能是产生各种控制信号,,根据程序中每一条指令的具体功能根据程序中每一条指令的具体功能,,控制寄存器和输入和输入//输出端口的数据传送输出端口的数据传送,,进行数据的算术运算、逻辑运算以及位操作等处理。MCS-51系列单片机的CPU 字长是8位,能处理8位二进制数或代码位二进制数或代码,,也可处理一位二进制数据。单片机的CPU 从功能上一般可以分为运算器和控制器两部分。2.储存器储存器单片机内部包含随机存取存储器RAM 和程序存储器ROM,RAM 用于保存单片机运行的中间数据运行的中间数据; ; ; 单片机的单片机的ROM 不只是用来装载程序不只是用来装载程序,,增强51系列也可以在单片机运行过程中利用程序把数据存贮在ROM 的部分空间内。51系列单片机在系统结构上采用哈佛结构构上采用哈佛结构(Harvard architecture),(Harvard architecture),(Harvard architecture),即程序存储器和数据存储器的寻址即程序存储器和数据存储器的寻址空间是分开管理的。它共有4个物理上独立的存储器空间个物理上独立的存储器空间,,即内部和外部程序存储器及内部和外部数据存储器。从用户的角度看从用户的角度看,,单片机的存储器逻辑上分为三图1-1 51单片机内部结构图单片机内部结构图个存储空间个存储空间,,即统一编址的64KB 的程序存储器地址空间的程序存储器地址空间((包括片内ROM 和外部扩展ROM),ROM),地址从地址从0000H 0000H——FFFFH;256B 的片内数据存储地址空间的片内数据存储地址空间((包括128B 的片内RAM 和特殊功能寄存器的地址空间和特殊功能寄存器的地址空间);64KB );64KB 的外部扩展的数据存储器地址空间。1.3.1 1.3.1 中断系统中断系统51单片机的中断功能较强。51单片机共有5个中断源,即外部中断两个,定时/计数中断两个,串行口中断一个。全部中断分为高级和低级两个优先级别。1.3.2 1.3.2 时钟系统时钟系统时钟电路为单片机产生时钟脉冲序列。51单片机芯片的内部有时钟电路单片机芯片的内部有时钟电路,,但石英晶体和微调电容需外接石英晶体和微调电容需外接,,系统常用的晶振频率一般为6 MHz 或12 MHz 。由此可见由此可见,,单片机虽然只是一个芯片单片机虽然只是一个芯片,,但是它集成了一台计算机应该有的重要硬件要硬件,,所以它是一个微型的计算机系统。8051单片机外部结果如下图所示单片机外部结果如下图所示它的引脚功能如下它的引脚功能如下: : VCC :供电电压。 GND :接地。P0口:P0口为一个8位漏级开路双向I/O 口,每脚可吸收8TTL 门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器能够用于外部程序数据存储器,,它可以被定义为数据可以被定义为数据//地址的第八位。在FIASH 编程时编程时,P0 ,P0 ,P0 口作为原码输入口口作为原码输入口口作为原码输入口,,当FIASH 进行校验时进行校验时,P0,P0输出原码输出原码,,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O 口,P1口缓冲器能接收输出4TTL 门电流。P1口管脚写入1后,被内部上拉为高被内部上拉为高,,可用作输入可用作输入,P1,P1口被外部下拉为低电平时拉为低电平时,,将输出电流将输出电流,,这是由于内部上拉的缘故。在FLASH 编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O 口,P2口缓冲器可接收口缓冲器可接收,,输出4个TTL 门电流门电流,,当P2口被写“1”时口被写“1”时,,其管脚被内部上拉电阻拉高其管脚被内部上拉电阻拉高,,且作为输入。图1-2 51单片机外部结构图单片机外部结构图并因此作为输入时并因此作为输入时,P2,P2口的管脚被外部拉低口的管脚被外部拉低,,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时位地址外部数据存储器进行存取时,P2,P2口输出地址的高八位。在给出地址“1”时在给出地址“1”时,,它利用内部上拉优势它利用内部上拉优势,,当对外部八位地址数据存储器进行读写时地址数据存储器进行读写时,P2,P2口输出其特殊功能寄存器的内容。P2口在FLASH 编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O 口,可接收输出4个TTL 门电流。当P3口写入“1”后口写入“1”后,,它们被内部上拉为高电平它们被内部上拉为高电平,,并用作输入。作为输入作为输入,,由于外部下拉为低电平于外部下拉为低电平,P3,P3口将输出电流口将输出电流(ILL)(ILL)(ILL)这是由于上拉的缘故这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口的一些特殊功能口,,如下表所示如下表所示: : 口管脚口管脚口管脚 备选功能备选功能 P3.0 RXD( P3.0 RXD(串行输入口串行输入口串行输入口) ) P3.1 TXD( P3.1 TXD(串行输出口串行输出口串行输出口) ) P3.2 /INT0( P3.2 /INT0(外部中断外部中断0) P3.3 /INT1( P3.3 /INT1(外部中断外部中断1) P3.4 T0( P3.4 T0(记时器记时器0外部输入外部输入) ) P3.5 T1( P3.5 T1(记时器记时器1外部输入外部输入) ) P3.6 /WR( P3.6 /WR(外部数据存储器写选通外部数据存储器写选通外部数据存储器写选通) ) P3.7 /RD( P3.7 /RD(外部数据存储器读选通外部数据存储器读选通外部数据存储器读选通) )P3口同时为闪烁编程和编程校验接收一些控制信号。 RST :复位输入。当振荡器复位器件时当振荡器复位器件时,,要保持RST 脚两个机器周期的高电平时间。ALE/PROG :当访问外部存储器时当访问外部存储器时,,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH 编程期间编程期间,,此引脚用于输入编程脉冲。在平时在平时,ALE ,ALE 端以不变的频率周期输出正脉冲信号率周期输出正脉冲信号,,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是然而要注意的是::每当用作外部数据存储器时每当用作外部数据存储器时,,将跳过一个ALE 脉冲。如想禁止ALE 的输出可在SFR8EH 地址上置0。此时此时, , ALE 只有在执行MOVX,MOVC 指令是ALE 才起作用。另外另外,,该引脚被略微拉高。如果微处理器在外部执行状态ALE 禁止禁止,,置位无效。/PSEN :外部程序存储器的选通信号。在由外部程序存储器取指期间在由外部程序存储器取指期间,,每个机器周期两次周期两次/PSEN /PSEN 有效。但在访问外部数据存储器时但在访问外部数据存储器时,,这两次有效的这两次有效的/PSEN /PSEN 信号将不出现。/EA/VPP :当/EA 保持低电平时保持低电平时,,则在此期间外部程序存储器则在此期间外部程序存储器(0000H-FFFFH),(0000H-FFFFH),(0000H-FFFFH),不不管是否有内部程序存储器。注意加密方式1时,/EA 将内部锁定为RESET;RESET;当当/EA 端保持高电平时保持高电平时,,此间内部程序存储器。在FLASH 编程期间编程期间,,此引脚也用于施加12V 编程电源编程电源(VPP)(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件如采用外部时钟源驱动器件,XTAL2,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求号的脉宽无任何要求,,但必须保证脉冲的高低电平要求的宽度。1.4 章节规划第一章第一章::介绍单片机的发展情况、背景背景,,以及单片机的基础特性以及单片机的基础特性; ; 第二章第二章第二章::本章节介绍了设计方案的构思与讨论本章节介绍了设计方案的构思与讨论,,并最终确定设计方案并最终确定设计方案; ; 第三章第三章第三章::硬件设计。本章节重点介绍了总体硬件框图本章节重点介绍了总体硬件框图,,硬件原理图硬件原理图,,并分别介绍了各个分支系统的功能与构成绍了各个分支系统的功能与构成,,如开光系统、ULN2003A 芯片系统芯片系统,LED ,LED 信号灯信号灯,,数码显示器数码显示器,,自动报警系统。 第四章第四章第四章::本章节介绍了软解设计思想本章节介绍了软解设计思想,,程序流程图以及设计系统仿真程序流程图以及设计系统仿真; ; 第五章第五章第五章::结束语结束语; ; 参考文献参考文献参考文献; ;其他其他其他::本设计中需要用到的附件。。
基于单片机的交通信号灯的控制系统设计

基于单片机的交通信号灯的控制系统设计交通信号灯是城市交通管理中非常重要的一部分,它通过灯光信号来指示道路上车辆和行人的行动。
基于单片机的交通信号灯控制系统可以实现对交通信号的自动控制,并能根据实际交通情况和时间变化进行灵活调整,提高道路交通的效率和安全性。
1.系统设计需求分析:
-实现红、黄、绿三种信号灯的循环显示,时间可设定;
-根据实际交通情况和时间变化,动态调整红、黄、绿三种信号灯的显示时间;
-配备感应器,检测行人和车辆的存在,根据情况自动调整信号灯时间。
2.系统硬件设计:
-选择合适的单片机,如AT89C52;
-使用LED灯作为信号灯显示器件;
-选择适当的传感器,如红外传感器用于检测行人,光敏电阻用于检测车辆;
-选择适当的电路板进行连接。
3.系统软件设计:
-编写单片机的控制程序,实现红、黄、绿三种信号灯的循环显示;
-设定初始的信号灯显示时间;
-利用定时器和中断控制程序,实现对信号灯显示时间的控制,可以根据设定的时间进行调整;
-设定感应器的检测程序,当检测到行人或车辆时,调整信号灯显示时间。
4.系统工作流程:
(1)初始化系统,设定初始的信号灯显示时间;
(2)通过定时器和中断控制程序实现循环显示红绿黄信号灯;
(3)检测行人和车辆的存在,根据情况调整信号灯显示时间;
(4)循环执行步骤2和步骤3,实现自动控制交通信号灯。
5.系统优化方案:
-根据实际交通数据和研究结果,优化信号灯显示时间;
-利用流量监测技术,实时监测道路交通情况,进一步优化信号灯的控制策略;
-可以加入数据通信模块,将采集到的交通数据上传到中央交通管理系统,实现更智能化的交通信号灯控制。
基于单片机的交通信号灯控制系统设计

基于单片机的交通信号灯控制系统设计交通信号灯控制系统是城市交通管理中必不可少的一个重要元素,通过对车辆行驶状态的监测,协调红绿灯信号,来确保道路交通的流畅和安全。
本文将介绍一种基于单片机的交通信号灯控制系统设计方案。
1. 系统功能描述该交通信号灯控制系统的主要功能是控制红绿灯信号的循环变换,保证各个车辆道路的交通流畅。
同时,系统具备故障检测和自适应调整的功能,当出现交通拥堵状况时,系统能够自动调整信号灯的时间,实现道路交通的快速畅通。
2. 系统设计框架此系统主要分为硬件系统和软件系统两部分。
硬件系统主要由单片机、红绿灯、电源、车辆检测器等部分组成。
其中,单片机作为系统的核心部分,主要实现了信号灯的周期控制和车辆检测。
软件系统主要由整合了单片机编程语言和相关算法所组成。
系统中的单片机程序主要完成红绿灯变换和车辆检测等功能,还会实现一些复杂的算法,如故障检测和自适应调整等。
3. 系统设计过程基于单片机的交通信号灯控制系统设计主要分为以下几个方面。
1) 系统需求分析:针对不同的交通场景,分析交通信号灯的需要,确定系统设计的需求。
2) 硬件选型:根据系统的需求,选择单片机、传感器、红绿灯等硬件设备。
3) 软件设计:在单片机上设计系统软件,实现各个部分的功能。
如控制红绿灯变换,实现车辆检测器的功能等。
4) 系统测试:对系统进行全面测试,验证其性能和功能是否满足设计要求。
5) 发布与维护:发布系统,并在运营过程中不断优化和维护。
4. 系统实现效果基于单片机的交通信号灯控制系统设计方案,通过软硬件体系的配合,能够高效准确地控制红绿灯信号的变换,有效降低交通拥堵,提高交通运行效率。
同时,该系统具备自适应调整和故障检测等功能,能够根据实际交通情况快速调整相应的红绿灯信号,确保道路交通的畅通和安全。
综上所述,基于单片机的交通信号灯控制系统设计,是一种高效实用的解决方案。
其系统感知性强,性能稳定可靠,可广泛应用于城市和道路交通的管理中,促进交通资源的有效分配,在实现城市交通快速、高效、安全运行的同时,也为市民提供了更好的出行环境。
基于单片机的智能交通红绿灯控制系统设计

基于单片机的智能交通红绿灯控制系统设计智能交通红绿灯控制系统是一种基于单片机的电子设备,用于智能化控制交通信号灯的工作。
本文将详细介绍如何设计一套基于单片机的智能交通红绿灯控制系统。
首先,我们需要选择适合的单片机作为控制器。
在选择单片机时,我们需要考虑其功能、性能和价格等因素。
一些常用的单片机型号有8051、AVR、PIC等。
我们可以根据具体的需求选择合适的单片机型号。
接下来,我们需要设计硬件电路。
智能交通红绿灯控制系统的硬件电路主要包括单片机、传感器、继电器和LED等组件。
传感器可以用来感知交通流量和车辆信息,继电器用于控制交通灯的开关,LED用于显示交通灯的状态。
在硬件设计中,我们需要将传感器与单片机相连接,以便将传感器获取的信息传输给单片机。
同时,我们还需要将单片机的控制信号传输给继电器和LED,以实现对交通灯的控制。
在软件设计中,我们需要编写相应的程序代码来实现智能交通红绿灯的控制逻辑。
首先,我们需要对传感器获取的信息进行处理,根据交通流量和车辆信息来确定交通灯的状态和切换规则。
例如,当交通流量较大时,可以延长绿灯亮起的时间;当有车辆等待时,可以提前切换到红灯。
此外,我们还可以在程序中添加自适应控制算法,用于根据交通流量动态调整交通灯的周期和切换时间,以进一步提高交通流量的效率和道路通行能力。
最后,我们需要将程序代码烧录到单片机中,并进行调试和测试。
在测试过程中,我们可以模拟不同的交通流量和车辆信息,以验证智能交通红绿灯控制系统的正常运行和控制效果。
综上所述,基于单片机的智能交通红绿灯控制系统设计主要包括硬件设计和软件设计两个方面。
通过合理的硬件电路设计和程序编写,可以实现对智能交通红绿灯的智能化控制,提高交通流量的效率和道路通行能力,实现交通拥堵的缓解和交通安全的提升。
基于单片机控制的汽车转弯信号灯设计

基于单片机控制的汽车转弯信号灯设计摘要工业控制自动化水平经过很长一段的发展,其主力技术不断革新,对系统中的多个对象进行高度智能化、自动化的控制如今已俨然成为主流。
在此背景下,具备体积小、重量轻、价格低、抗干扰能力强等特点的单片机控制系统成为控制系统中不可缺少的一部分。
汽车转弯信号灯系统,作为汽车的必备设备之一,广泛应用于现代各类型汽车中。
汽车转弯信号灯控制系统采用性能价格皆具优势的STC15F104W单片机作为控制器,用于代替传统的控制电路,并阐述系统的整体硬件结构,使系统具有可靠性高、线路简单、成本低廉、使用简单等优点,既满足工业制造的工艺性、实用性的基本原则,同时减少了成本。
关键词:STC15F104W单片机汽车转弯信号灯控制一、设计背景和目标采用单片机对汽车转弯信号灯进行控制,比传统的数字逻辑电路控制要更加安全可靠,更有利于实现自动化和智能化的控制。
1.1设计目的通过STC15F104W单片机来对汽车转弯信号灯控制系统进行改进设计,可以大幅度的提高汽车转向灯的智能程度,从而减少手动控制模块数量,为驾驶员带来更好的驾驶体验。
相比于传统的手动制动转向灯开启方式,更加智能化,更加易于操作和使用。
1.2设计内容首先需要设计一个可行的转弯信号灯通电电路,通过单片机控制转向灯的开关从而实现灯光的开启和转换。
其次,编程代码的设计也是该项目的一个重点,既要保证程序的简洁,又要做到稳定可靠,便于编写。
所以综合考虑,只有用C语言去实现该功能更为合适。
硬件部分的设计主要是电路的升级设计。
通过STC15F104W单片机的引脚以及记忆功能,对电路进行设计,由于单片机引脚比较多,所以在设计的时候要考虑如何将单片机的功能做到最强大,所以,电路设计部分我们本着“单独控制,集总运用”的原则,进行设计。
运用STC15F104W单片机对转弯进行智能控制,并通过多源互感电路进行信号的传输,相比于传统的MSC-51汽车转弯信号灯控制系统反应更加迅速,并且稳定性更强,可以达到很好的使用体验。
基于单片机的交通信号灯控制系统

基于单片机的交通信号灯控制系统随着城市化进程的加快以及汽车数量的不断增加,道路交通量也呈现出快速上升的趋势。
交叉路口作为道路交通的瓶颈,其通行效率的提高对于缓解交通压力、减少车辆排放、提高城市交通环境起着至关重要的作用。
因此,交通信号灯控制系统的设计和优化成为提高城市道路交通流量和通行效率的重要工作之一。
本文基于单片机的交通信号灯控制系统进行探究和分析。
一、交通信号灯控制系统的结构交通信号灯控制系统一般由控制主机、信号灯、车辆感应器、红外线传感器以及通信传输模块等组成。
控制主机通过车辆感应器、红外线传感器等感应设备获取交通信息,判断交通流量,从而实现对交通信号灯进行控制。
同时,通信传输模块将交通信息通过网络传输到控制中心,实现系统的远程监控和管理。
二、基于单片机的交通信号灯控制系统的特点基于单片机的交通信号灯控制系统具有如下特点:1. 系统结构简单,操作稳定可靠单片机芯片集成度高、成本低、工作电压和频率范围广,具有高速、高可靠性、易于程序控制等特点。
因此在交通信号灯控制系统的设计中,选用单片机控制器作为控制核心,可以保证系统结构简单,操作稳定可靠。
2. 精准控制,实时响应单片机可以运行高速时钟、具有中断响应功能,可实现精准计时,来控制交通信号灯的展现模式,同时根据系统设置实时响应交通流量变化。
3. 极大地提高交通效率和安全性基于单片机的交通信号灯控制系统可以根据实际交通情况进行快速响应和调整,使得交通信号灯的控制更加精确、有效。
从而极大地提高了交通效率和安全性。
三、基于单片机的交通信号灯控制系统的实现方法1. 硬件设计在进行基于单片机的交通信号灯控制系统的硬件设计时,需要选择合适的控制器,以及对应的通信模块、GSM模块、各类传感器等,进行整合和组装。
控制器选用常用的51单片机、AVR单片机或者ARM单片机等作为芯片,进行外围电路设计。
同时,需要根据控制器的选择和实际情况选择对应的模块进行组合。
2. 软件设计软件设计是基于单片机的交通信号灯控制系统的核心。
基于单片机的智能交通信号灯控制系统设计及仿真

基于单片机的智能交通信号灯控制系统设计及仿真一、本文概述随着城市化进程的加快和汽车保有量的不断增加,交通拥堵和交通事故问题日益突出,智能交通信号灯控制系统的研究和应用显得尤为重要。
本文旨在设计并仿真一种基于单片机的智能交通信号灯控制系统,以提高交通流通效率,减少交通事故,并优化城市交通环境。
本文首先介绍了智能交通信号灯控制系统的研究背景和意义,阐述了单片机在交通信号灯控制中的应用优势。
接着,详细阐述了系统的总体设计方案,包括硬件设计和软件设计两大部分。
硬件设计部分主要介绍了单片机选型、外围电路设计以及信号灯的选型与连接方式;软件设计部分则主要介绍了交通信号灯控制算法的设计和实现,包括交通流量的检测、信号灯的调度策略以及控制逻辑的编写。
在完成系统设计后,本文进一步进行了仿真实验,以验证系统的可行性和有效性。
仿真实验采用了交通仿真软件,模拟了不同交通场景下的信号灯控制效果,并对仿真结果进行了详细的分析和讨论。
本文的研究成果对于推动智能交通信号灯控制技术的发展具有一定的理论价值和实际应用价值,对于缓解城市交通问题、提高交通效率具有积极意义。
二、智能交通信号灯控制系统总体设计在智能交通信号灯控制系统的设计中,我们首先需要明确系统的总体架构和功能模块。
基于单片机的设计思路,我们将系统划分为几个关键部分:信号控制模块、传感器数据采集模块、通信模块以及电源管理模块。
信号控制模块:这是整个系统的核心部分,负责根据交通流量和道路状况实时调整交通信号灯的状态。
我们选用高性能的单片机作为控制器,通过编程实现多种交通控制策略,如固定时序控制、感应控制和自适应控制等。
传感器数据采集模块:为了实时感知道路交通状况,我们采用了多种传感器,如红外传感器、车辆检测传感器和摄像头等。
这些传感器负责采集道路上的车辆数量、速度和方向等信息,并将数据传递给信号控制模块进行处理。
通信模块:为了实现智能交通信号灯之间的联动和与交通管理中心的通信,我们设计了通信模块。
基于单片机的汽车车灯控制器的设计

基于单片机的汽车车灯控制器的设计近年来,车灯控制器逐渐成为汽车电子控制系统中不可或缺的组成部分。
由于单片机的性能优良、易于编程,因此基于单片机的汽车车灯控制器在汽车行业中得到了广泛的应用。
为了更好地了解基于单片机的汽车车灯控制器的设计,本文将对其进行详细讲解。
首先,需要明确的是,车灯控制器的设计基本上是由两个部分组成的,即硬件设计和软件设计。
在硬件设计方面,需要使用单片机负责控制汽车的灯光,因此需要考虑单片机的硬件连接和外设的接口。
在软件设计方面,主要包括编程和算法设计两个方面。
针对硬件设计,单片机应选择性能优良、价格合适的芯片,这样可以在有限的资源下取得最优秀的性价比。
同时,需要考虑到单片机外设的连接接口,比如模拟输入输出口、数字输入输出口、计时计数器、串行通讯接口等,以便更好地控制汽车的灯光。
接着,就是软件设计的部分。
在软件设计中,需要使用微处理器的编程语言以及对算法的掌握。
对于单片机的编程语言,一般使用的是C语言。
同时,还需要编写针对不同车灯状态的控制算法,以便更好地控制汽车的交通安全。
最终的目的是要实现对车灯状态的时时刻刻监控和控制。
所以,基于单片机的汽车车灯控制器的设计需要耐心和技术,而设计的过程中还需要注意以下几点:1. 应根据实际需要选择合适的计算器。
2. 对于电路的接线方法和分析要仔细,避免出现故障。
3. 需要将编程的代码经过正确的测试和验证,确保网站的正常运作。
总之,设计基于单片机的汽车车灯控制器是一项非常重要的任务。
通过合理、准确的硬件连接和精确的软件设计,可以实现对车灯状态的精确控制,保证交通安全。
相信在不久的将来,基于单片机的汽车车灯控制器将在汽车行业中发挥更加重要的作用。
基于单片机的智能交通信号灯控制系统设计

基于单片机的智能交通信号灯控制系统设计智能交通信号灯控制系统是通过单片机来实现的一种智能化交通管理系统。
本文将介绍这个系统的设计原理和实现过程。
首先,我们需要明确设计目标。
智能交通信号灯控制系统旨在提高交通信号灯的运行效率,减少交通拥堵,并提供更安全、更流畅的交通体验。
系统应具备以下特点:可智能化控制信号灯的时间和状态,能够实时感知交通流量和通过车辆的情况,并根据这些信息灵活调整信号灯的绿灯时间。
接下来是硬件的选型和设计。
考虑到单片机的性能和成本,我们选用一款功能强大的低功耗单片机作为系统的核心处理器。
在选取单片机时,需要考虑其处理能力、存储容量、通信接口以及对外设控制的能力。
在交通信号灯控制系统设计中,需要采集和处理交通流量和通过车辆的数据。
为了实现这一功能,我们可以使用传感器来收集数据,如车辆检测器、红外线传感器等。
这些传感器将采集到的数据通过数字信号发送给单片机,单片机再根据这些数据进行相应的控制操作。
为了将控制信号传递给信号灯,我们需要选择合适的继电器或开关来实现。
当单片机判断需要更改信号灯状态时,它会通过输出端口控制继电器或开关的闭合与断开,从而打开或关闭相应的灯光。
在软件设计方面,我们需要编写适当的程序来实现交通信号灯控制功能。
这包括交通流量和通过车辆数据的处理,以及控制信号灯和继电器的操作。
可以使用C语言或汇编语言等编程语言来编写程序,并使用相应的开发工具进行调试和烧录。
在系统测试和调试阶段,我们需要模拟不同交通流量和车辆通过情况,验证系统对于不同情况下的灵活控制能力。
可以使用示波器、逻辑分析仪等工具来检测和分析系统的工作过程,确保系统的稳定性和可靠性。
总结起来,智能交通信号灯控制系统的设计包括硬件选型和设计、软件编写以及系统测试和调试三个方面。
通过合理选择硬件和编写适当的程序,可以实现交通信号灯的智能控制和优化,提高交通流畅性和交通安全性。
这个系统是智能交通管理的一个重要组成部分,有着广泛的应用前景。
基于MCS-51单片机的汽车信号灯控制器设计

毕业论文(设计)学院:专业:电子信息工程年级: 06级题目: 基于MCS-51单片机的汽车信号灯控制器设计学生:学号:指导教师:职称: 副教授本科毕业论文(设计)原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
本人完全意识到本声明的法律后果由本人承担。
作者签名:年月日目录摘要 (1)关键词 (1)Abstract (1)Key Words (1)1.绪论 (2)2.系统概述 (2)2.1 MSC-51芯片简介 (2)2.1.1 MCS-51单片机内部结构 (2)2.1.2 AT89C51微处理器 (4)2.1.3 AT89C51的引脚说明 (4)2.2 ULN2003A简介 (6)2.2.1 ULN2003A的结构 (6)2.2.2 ULN2003A的作用 (6)3.设计的技术指标及要求 (6)3.1 设计的要求 (6)3.2 设计方案与思想 (7)3.2.1 选定方案的论证 (7)3.2.2 硬件设计方案 (7)3.2.3 软件设计思想 (8)4.单元电路设计及元器件选择 (8)4.1 AT89C51的最小系统 (8)4.1.1 复位电路说明 (8)4.1.2 时钟电路说明 (8)4.2 信号灯的选择 (9)4.3 开关的连接 (9)4.4 ULN2003A的连接 (10)4.5 元件清单 (10)5.软件设计 (10)5.1 程序设计思想 (10)5.2 程序流程 (11)5.3 调试与仿真 (11)5.4 硬件装配与焊接及电路调试 (12)6.结论 (12)参考文献 (13)附录1 电路原理图 (14)附录2 源程序代码 (15)基于MCS-51单片机的汽车信号灯控制器设计摘要:汽车作为较为方便的代步工具已经成为我们生活中不可或缺的一部分,人们对于它的研究已经进入技术非常发达的阶段,为了使其更为完美的被人们更方便、更简单的利用,人们从没停止对它的各方面的研究。
基于单片机的交通信号灯控制系统设计

基于单片机的交通信号灯控制系统设计
1. 系统设计目标
设计一个基于单片机的交通信号灯控制系统,实现不同方向车辆和行人的交通规划。
2. 系统硬件设计
硬件组成:单片机、LED灯、电源、电阻、电容等。
系统结构:
- 单片机通过IO口控制LED灯显示红、黄、绿三种状态。
- 通过数码管和按钮实现人行道倒数计时和手动切换信号灯的功能。
- 通过外部输入检测传感器实现车辆和行人的检测。
- 接口技术:USB、串口通讯。
3. 系统软件设计
软件设计流程:
- 初始化IO口、定时器等资源。
- 通过程序控制LED灯的开关。
- 利用定时器完成各个状态的时长控制,将绿灯、黄灯和红灯的切换时间控制在合理的范围内。
- 通过IO口读取外部传感器的状态,确定行人和车辆的状态并作出相应的反应。
- 实现手动切换信号灯的功能,红色按钮为停止键,绿色按钮为启动键,通过按照不同的指令来切换信号灯状态。
- 显示人行道倒数计时的时间,可通过数码管显示。
以上就是基于单片机的交通信号灯控制系统的设计。
需要注意的是,在实际的应用中还需要考虑人车流量、路口情况等因素,获得更可靠的结果。
基于单片机的智能交通信号灯控制系统设计

基于单片机的智能交通信号灯控制系统设计智能交通信号灯控制系统是一种基于单片机的智能交通管理系统,它能够实时感知交通流量、调整信号灯的运行状态,以最大化提高交通效率和减少交通事故。
本系统设计的目标是通过利用单片机的计算和控制能力,实现智能化的交通信号灯控制,包括交通流量检测、信号灯状态转换和交通信号灯的显示等功能。
首先,在本系统中,需要利用传感器对交通流量进行检测。
可以采用多种传感器来实现不同交通流量的检测,例如车辆探测器、红外线传感器等。
通过这些传感器,系统能够实时感知各个方向的交通流量。
其次,在信号灯状态转换方面,系统需要根据当前交通流量情况来决定信号灯的状态转换。
一般来说,我们可以通过设置不同的阈值,根据检测到的交通流量来判断是否需要进行信号灯状态的转换。
例如,当一条道路上的车辆数量超过一定的阈值时,系统可以判断当前方向的交通拥堵,从而改变信号灯的状态,增加对该方向的绿灯时间。
最后,在交通信号灯的显示方面,系统需要根据当前信号灯的状态来进行显示。
可以通过LED灯或其它显示设备来实现信号灯的显示。
根据不同的交通流量,系统可以控制不同方向的信号灯的显示状态,如红灯、绿灯或黄灯。
此外,为了提高系统的稳定性和可靠性,还可以在系统中添加一些自检和故障处理机制。
例如,可以设置系统定时进行自检,判断传感器和其他外部设备是否工作正常。
同时,可以设置故障处理机制,当系统检测到一些传感器或其他设备出现故障时,及时进行报警或采取其他措施来处理。
综上所述,基于单片机的智能交通信号灯控制系统设计考虑了交通流量检测、信号灯状态转换和交通信号灯的显示等功能,以实现交通信号灯的智能化控制。
通过优化交通流量的调度,本系统能够提高交通效率,减少交通事故的发生。
在实际应用中,还可以根据具体的情况进行功能的扩展和优化,以适应不同的交通环境和需求。
基于单片机汽车信号灯控制系统的设计

摘要在生活的环境中,自动控制要求中都会有单片机的控制的一部分;从简单到复杂,凡是能想象到的地方几乎都有使用单片机的需求。
单片机的应用有利于产品的小型化、多功能化和智能化,能够提高劳动效率、减轻劳动强度,提升产品质量,改善劳动环境。
例如,在工业自动化方面:自动化能使工业系统处于最佳状态、提高经济效益和改善产品质量。
自动化控制原理有应用于电子、电力、石油、化工、纺织、食品等轻重工业领域中,无论数据采集和测控技术,还是生产线上的机器人技术,都有单片机的参与。
有时,在仪器仪表、信息和通信等产品方面,它在其中发挥着重大作用。
现在,虽然单片机的应用很普遍了,但仍有许多项目尚未实现,所以单片机的应用有很大的发展空间。
本设计是设计一个单片机控制系统。
在汽车进行左转弯、右转弯、刹车、合紧急开关等操作时,实现对各种信号指示灯的控制。
本设计主要是对单片机的并行输入/输出口电路的应用,通过I/O口控制发光二极管的亮﹑灭﹑闪烁,加上一些复位电路﹑按键电路﹑驱动电路来模拟汽车尾灯的功能。
汽车在驾驶时有左转弯、右转弯、刹车、合紧急开关等操作。
在左转弯或右转弯时,通过转弯操作杆应使左转开关或右转开关合上,从而使左头灯、左尾灯或右头灯、右尾灯闪烁;合紧急开关时要求前面所述的4个信号灯全部闪烁;汽车刹车时,两个尾灯点亮。
目录1.绪论 (1)1.1设计意义 (1)1.2设计内容 (1)1.3设计过程 (1)2.设计的原理分析及实现 (2)2.1系统简介 (2)2.2硬件组成 (2)2.3设计原理 (3)3.应用软件简介 (4)3.1单片机简介 (4)3.2 AT89C51单片机简介 (4)3.3 Proteus软件介绍 (8)4.硬件设计 (10)4.1 AT89C51芯片图 (10)4.2汽车信号灯控制电路 (10)4.2.1硬件接线图 (10)4.2.2复位电路 (11)4.2.3显示电路 (11)4.2.4按键电路 (12)4.2.5振荡电路 (13)4.3 Proteus仿真结果 (14)5.软件设计 (17)5.1汽车信号灯控制程序 (17)5.2汽车信号灯控制程序流程图 (19)5.3利用伟福软件编译程序图 (20)5.3.1伟福软件简介 (20)5.3.2伟福软件编译程序图 (21)6.心得体会 (22)7.参考文献 (23)1.绪论1.1设计意义利用单片机控制汽车信号灯,通过所学知识进行软硬件设计,提高各方面技能,巩固对理论知识的掌握,把理论知识应用到实际中。
基于单片机的交通灯控制系统的设计方案

设计一个基于单片机的交通灯控制系统可以帮助实现交通信号灯的自动控制,提高交通效率和安全性。
以下是一个简要的设计方案:设计方案概述该系统基于单片机(如Arduino、STM32等)实现交通灯的控制,包括红灯、黄灯、绿灯的切换以及定时功能。
通过传感器检测车辆和行人的情况,系统可以根据实际交通情况智能地调整交通灯的状态。
系统组成部分1. 单片机控制模块:负责接收传感器信号、控制交通灯状态,并实现定时功能。
2. 传感器模块:包括车辆检测传感器和行人检测传感器,用于感知交通情况。
3. LED灯模块:用于显示红灯、黄灯、绿灯状态。
4. 电源模块:为系统提供稳定的电源供电。
工作流程1. 单片机接收传感器信号,监测车辆和行人情况。
2. 根据监测结果,控制交通灯状态的切换:红灯亮时其他灯灭,绿灯亮时红灯和黄灯灭,黄灯亮时其他灯灭或闪烁。
3. 实现交通灯状态的定时切换:设定各个灯的持续时间,保证交通信号的周期性切换。
系统特点1. 智能化控制:根据实时交通情况自动调整交通灯状态,提高交通效率。
2. 节能环保:通过定时控制,减少交通信号灯的能耗。
3. 可靠性:采用单片机控制,系统运行稳定可靠。
可扩展功能1. 远程监控:添加通讯模块,实现对交通灯系统的远程监控和控制。
2. 数据记录:添加存储模块,记录交通流量数据,为交通规划提供参考。
3. 多路控制:扩展系统支持多个交通路口的交通信号控制。
通过以上设计方案,可以实现基于单片机的交通灯控制系统,提升交通管理的效率和智能化水平。
设计时需注意硬件选型、软件编程和系统调试,确保系统正常运行并满足实际需求。
基于51单片机的交通信号灯系统_毕业设计

毕业设计基于单片机的交通信号的灯控制系统一. 综合实训的主要内容 1.设计任务设计一单片机控制的交通信号灯系统,模拟城市十字路口交通信号灯功能。
2.基本功能要求2.1 交通信号控制直行车道红黄绿灯控制、左行车道绿灯控制、人行横道红绿灯控制。
2.2 通行时间显示数码管倒计时显示通行时间。
2.3 时间参数设置存储按键实现通行时间的设置,并存储到EEPROM (24C02)芯片中。
二. 硬件方案设计与论证 1. 显示模块设计1.1倒计时时间显示设计思想:由于该系统要求完成倒计时显示通行时间的功能,且考虑到实际的交通系统中车辆及行人通行时间不会超过一分钟,基于以上原因,我们考虑完全采用数码管显示,四个路口分别采用一个二位共阴极数码管进行显示。
(其实物图见附录1图5.3)图2.1 数码管原理图原理图分析:为了显示数字或字符,必须对数字或字符进行编码。
七段数码管GND abcde fg dp gf ed c ba(a)(a,b,c,d,e,f,g)加上一个小数点(dp),共计8段,构成一个字节,通过对这八段给予高低平使二极管导通或截止,从而显示不同的数字或字符。
系统中所使用的是2位共阴数码管(实物图见附录),其管脚从左上方起顺时针依次为1,a,b,e,d,2,g,f,dp,c。
1.2 状态灯显示设计思想:由于该系统要求完成状态灯显示的功能,我们把各个路口的红灯和黄灯设成直行和左拐两个通行方式所共有,也就是说,一个路口只需四个状态灯,一个直行通行的绿灯,一个左拐通行的绿灯,一个共有的红灯,一个共有的黄灯,人行横道采用红绿灯控制,综上所述,我们共使用16个LED绿灯,12个LED 红灯,4个LED黄灯来完成状态灯显示功能。
2.控制模块设计2.1 设计思想由于本系统结构简单,实现较容易,不需要大量的外围扩展,所以我们采用STC89C51单片机作为主控制器,STC89C51单片机具有体积小,功耗低,控制能力强,价格低、扩展灵活,使用方便等特点,其最小系统由振荡电路、复位电路构成。
基于51型单片机汽车信号灯控制系统的设计

D1
D5
左头灯
R3 R5 R11 R9 R1 R7
左尾灯
VCC R9
右头灯
R4 R6 R12 R10 R2 R8
右尾灯
前右转向灯
右侧开门灯 D9 D7
右侧警示灯
后右转向灯
D2
D6
车尾上部警示灯灯
D7
图 3 信号灯显示电路 2.2 主要功能模块电路设计
2.2.1 开关手动控制电路 如图 2 所示,前照灯开 关控制电路由开关 S2,电阻和施密特触发器构成,置于 汽车远光灯开关上;转向灯等信号灯的开关控制电路则 由 8 个单独的开关组成,分别控制 P3.0~P3.7,通过程控 使 P1.0~P1.7 为低电平,从而完成对 LED 信号灯的控制。
¶
”
D15
D16
´
»˘
1K 1K 1K 1K 1K 1K 1K
VCC
为正角度,且大于一定角度时,驱动 P1.0、P1.2 口为低电 平,从而控制左转向灯闪烁。当传感器检测到方向盘转 角度为负角度,且大于一定角度时,驱动 P1.1、P1.3 口为 低电平,从而控制右转向灯闪烁。 3.2 程序设计
主 程 序 初 始 化 后,首 先 判 断 P0.0 口 是 否 低 电 平, P0.0 口为手动模式与自动模式转换开关接口,当 P0.0 为 低电平时,为自动模式;反之,若为高电平则为手动模式。
2.2.2 信 号 灯 显 示 电 路 如 图 3 所 示,对 于 开 关 控 制 电 路 的 不 同 操 作,AT89C51 根 据 程 序 处 理,使 得 P1.0~P1.6 七个接口中的某些为低电平,完成转向,紧急 停靠,停车,开车门以及警示灯的正常显示。另外,通过 程控延时使信号灯作长亮或闪烁两种模式的反应。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于单片机的汽车信号灯控制系统————————————————————————————————作者: ————————————————————————————————日期:ﻩ中南大学课程设计(附代码)20)设计一个基于单片机的汽车信号灯控制系统设计要求:分析系统需求,设计出电路原理图,说明工作原理,编写程序及程序流程图。
设计一个基于单片机的汽车信号灯控制系统。
汽车驾驶执行的操作由相应的开关状态反映,所需控制的信号灯有仪表盘左/右转弯灯、左右头灯和左右尾灯共六类灯,还有蜂鸣器喇叭控制的信号。
设计功能:驾驶操作与灯光信号对应关系如下:(1)左/右转弯(合上左/右开关):仪表盘左/右转弯灯、左/右头灯、左/右尾灯闪烁。
(2) 紧急开关合上:所有灯闪烁。
(3)刹车(合上刹车开关):左右尾灯亮。
(4) 左/右转弯刹车:仪表盘左/右转弯灯、左/右头灯、左/右尾灯闪烁,右/左尾灯亮。
(5) 刹车、合上紧急开关:尾灯亮、仪表板灯、头灯闪烁。
(6) 左/右转弯刹车,并合上紧急开关:右/左尾灯亮,其余灯闪烁。
(7)停靠(合上停靠开关):头灯、尾灯以1Hz的频率闪烁。
(8)倒车:尾灯长亮、蜂鸣器以0.5Hz的频率报警。
设计要求:设计出电路原理图,说明工作原理,编写程序及程序流程图。
仿真操作及现象:1)合上左转弯开关:仪表板左转弯灯、左头灯、左尾灯闪烁。
2)合上右转弯开关:仪表板右转弯灯、右头灯、右尾灯闪烁。
3)合上紧急开关:所有灯闪烁4)合上刹车开关:左右尾灯亮5)合上左开关和刹车开关:仪表板左转弯灯、左头灯、左尾灯闪烁,右尾灯亮。
6)合上右开关和刹车开关:仪表板右转弯灯、右头灯、右尾灯闪烁,左尾灯亮。
7)合上刹车开关、紧急开关(紧急刹车):左右尾灯亮、左右仪表板灯、头灯闪烁。
8)合上左开关和刹车开关、紧急开关(紧急左转弯刹车):右尾灯亮,其余灯闪烁。
9)合上右开关和刹车开关、紧急开关(紧急右转弯刹车):左尾灯亮,其余灯闪烁。
10)合上停靠开关:左右头灯、尾灯以1Hz的频率闪烁1)合上倒车开关:左右尾灯,蜂鸣器以0.5Hz的频率报警。
状态名称输入状态输出状态转弯灯头灯尾灯喇叭左开关右开关紧急开关刹车开关左转弯刹车开关右转弯刹车开关停靠开关倒车开关左右左右左右左转弯1 1 0 010 0右转弯0 01 0 01 0紧急开1 01101 01 0合上刹车0 1 1 0左转弯刹车01 0 01 10右转弯刹车0 01 1 01 0紧急刹车1 0111 1 0紧急左1 01 01011 0弯刹车紧急右转弯刹车1 01 011 01停靠1 01101 0倒车0 1 1 1 注:01表示闪烁,1表示亮/鸣喇叭,0表示不亮也不闪烁/不鸣喇叭代码:#include <reg52.h>#include<intrins.h>#defineuchar unsignedchar#define uintunsignedintunsigned char jianzhi;ucharcount=0;uchar count1=0;ﻩ//记录中断次数,count2=20才产生1HZ的时钟脉冲uchar count2=0; //记录中断次数,count2=40才产生0.5HZ的时钟脉冲sbitLF=P0^0; //左头灯sbit RF=P0^1; //右头灯sbit LY=P0^2;ﻩ//左转弯灯sbit RY=P0^3; //右转弯灯sbit LB=P0^4; //左尾灯sbitRB=P0^5; //右尾灯sbit BU=P0^6;ﻩ//蜂鸣器sbitled=P0^7;sbitzong_switch=P1^6;uchar code Key[]={1,2,3,4,5,6};uchar k=16;ucharcodeDSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0x00};//延时voidDelayMS(uint x){ﻩuchar i;ﻩwhile(x--){for(i=0;i<120;i++);}}ﻩ//矩阵键盘扫描ucharKeys_Scan(){uchar Tmp;ﻩP2=0x0f; //高4位置0,放入4行DelayMS(1);Tmp=P2^0x0f;//按键后0f变成0000XXXX,X中一个为0,3个仍为1,通过异或把3个1变为0,唯一的0变为1ﻩswitch(Tmp)ﻩ//判断按键发生于0~3列的哪一列ﻩ{ﻩﻩcase 1: k=0;break;ﻩcase 2: k=1;break;ﻩcase4:k=2;break;ﻩcase 8: k=3;break;ﻩdefault:k=16;ﻩ//无键按下ﻩ}ﻩP2=0xf0;//低4位置0,放入4列DelayMS(1);Tmp=P2>>4^0x0f;//按键后f0变成XXXX0000,X中有1个为0,三个仍为1;高4位转移到低4位并异或得到改变的值switch(Tmp) //对0~3行分别附加起始值0,4,8,12ﻩ{ﻩcase 1:ﻩk+=0;break;case 2:k+=4;break;case4:ﻩk+=8;break;case 8:ﻩk+=12;}ﻩreturn(k);}//密码锁uchar Coded_lock()ﻩ{ﻩuchar m=0,j,x=16,y=16;uchar KeyNo[]={16,16,16,16,16,16}; ﻩ//按键序号,16表示无按键P2=0xf0;ﻩﻩﻩ//高4位置0,放入4行//led=1;while(m<6){ﻩP2=0xf0;ﻩif(P2!=0xf0){ﻩy=Keys_Scan();ﻩ//扫描键盘获取输入的密码ﻩ//P3=~DSY_CODE[y];ﻩﻩﻩﻩ if(y<=9&&y!=x){ﻩﻩKeyNo[m]=y;ﻩﻩP3=~DSY_CODE[y];m++; ﻩﻩﻩﻩﻩ}ﻩelse if(9<y<16&&y!=x)ﻩﻩ{ﻩﻩP3=~0x86;ﻩﻩ//显示E,表示重新输入ﻩﻩm=0;ﻩﻩ}ﻩﻩ}ﻩx=y;ﻩy=16;DelayMS(100);ﻩﻩ}for(j=0;j<6;j++){if(KeyNo[j]!=Key[j])ﻩ{return0;break;ﻩ}}return1;}//主程序void main(void){uchar i=3,sign=1,flag=0,choose=16;ﻩTMOD=0x01;TH0= (65536-50000)/256;ﻩ//定时器0,方式lTL0=(65536-50000)%256;ﻩ//置初值,产生50ms定时IE=0x82;ﻩ//允许T0中断TR0=0; ﻩ//关中断ﻩP0=0x3f;P1=0xff;ﻩP2=0xf0;P3=0x00;ﻩfor(;zong_switch!=0;) //循环直到总开关按下{ﻩﻩDelayMS(50);P3=~0x00;}P3=~0x86;while(zong_switch==0) //总开关按下{ﻩﻩDelayMS(50);ﻩﻩ while(1)ﻩ{ﻩﻩﻩﻩflag=Coded_lock();ﻩﻩDelayMS(50);ﻩﻩchoose=16; ﻩﻩwhile((choose!=10)&&(choose!=11))ﻩ//循环,直到按下确定或者取消ﻩﻩﻩ{ﻩﻩﻩP3=~0xa1;ﻩﻩﻩﻩﻩﻩ //按确认或者取消ﻩﻩP2=0xf0;ﻩif(P2!=0xf0)ﻩﻩﻩchoose=Keys_Scan();ﻩDelayMS(100); ﻩﻩﻩﻩﻩﻩﻩﻩ}ﻩP3=~DSY_CODE[choose];ﻩDelayMS(50);ﻩﻩif(flag==1) ﻩﻩﻩﻩ//密码正确ﻩﻩ{ﻩﻩif(choose==10) ﻩ//确定ﻩﻩﻩ{ﻩbreak;ﻩﻩﻩ}ﻩﻩﻩﻩelseﻩﻩﻩP3=~0x86;ﻩﻩﻩ}ﻩﻩelse if(i==1) ﻩ//三次密码错误,所有灯高频闪烁,并且蜂鸣器报警ﻩ{ﻩﻩﻩwhile(1){ﻩP0=0xff;ﻩﻩﻩﻩﻩDelayMS(20);ﻩP0=0x00;ﻩDelayMS(20);}ﻩﻩﻩ}ﻩelse if(choose==10) //密码错误,且按下确认键ﻩ{ﻩﻩﻩﻩﻩP3=~0x8e; ﻩ //显示F表示密码错误ﻩﻩﻩﻩDelayMS(100);ﻩﻩi--; //可输入密码次数减一ﻩﻩﻩﻩ}ﻩelseﻩP3=~0x86;ﻩﻩﻩﻩﻩ}ﻩbreak;}ﻩP3=0x00;ﻩTR0=1;while(1);}void time0(void) interrupt 1{//TH0=(65536-50000)/256;//TL0= (65536-50000)%256;P1=0xff;ﻩﻩﻩ// Pl先送Oxff,Pl中保存是按键的值jianzhi=P1; ﻩ//暂存键值到jianzhijianzhi=jianzhi&0x7f; ﻩ //因为最高位不用,去掉switch(jianzhi){ﻩcase 0x3e: //左转弯0011 1110{ﻩBU=0;ﻩﻩ//蜂鸣器不响ﻩﻩRF=1;RB=1;RY=1;ﻩif(count==15){ﻩLF=!LF;LB=!LB;L Y=!LY; ﻩﻩﻩcount=0;}else{count++;}}break;case0x3d:ﻩ//右转弯00111101{BU=0;ﻩﻩ//蜂鸣器不响ﻩLF=1;LB=1;L Y=1;ﻩif(count==15){ﻩRF=!RF;RB=!RB;RY=!RY;ﻩﻩﻩcount=0;ﻩﻩ}else{count++;}}break;ﻩcase0x3b:ﻩﻩ//紧急0011 1011{ﻩﻩBU=0; ﻩ//蜂鸣器不响ﻩﻩif(count==15){ ﻩﻩﻩﻩ LF=!LF;RF=!RF;LY=!LY;RY=!RY;LB=!LB;RB=!RB;count=0;ﻩ}else{count++;}}break;ﻩcase0x37:ﻩﻩ//刹车0011 0111{BU=0; ﻩ//蜂鸣器不响ﻩﻩLB=0;RB=0;ﻩﻩLF=1;RF=1;LY=1;RY=1;}break;case 0x36: //左转弯刹车00110110{BU=0;ﻩﻩﻩ//蜂鸣器不响ﻩRB=0;RF=1;RY=1;if(count==15){LB=!LB;LF=!LF;LY=!LY;count=0;ﻩﻩ}else{count++;}}break;case0x35:ﻩﻩ//右转弯刹车0011 0101{ﻩBU=0; //蜂鸣器不响ﻩLB=0;ﻩLF=1;L Y=1;if(count==15){ﻩRB=!RB;RF=!RF;RY=!RY;count=0;ﻩﻩ}else{count++;}}break;case0x33:ﻩﻩﻩ //紧急刹车00110011{ﻩBU=0; ﻩ//蜂鸣器不响ﻩﻩLB=0;RB=0;if(count==15){ﻩRF=!RF;LF=!LF;RY=!RY;LY=!LY;count=0;ﻩ}else{count++;}}break;case 0x32:ﻩﻩﻩﻩ//左转紧急刹车00110010{ﻩBU=0;ﻩﻩﻩ//蜂鸣器不响ﻩﻩRB=0;if(count==15){ﻩﻩﻩLB=!LB;RF=!RF;RY=!RY;LF=!LF;L Y=!LY;count=0;ﻩ}else{count++;}}break;case 0x31: ﻩ//右转紧急刹车0011 0001 {BU=0;ﻩﻩﻩ//蜂鸣器不响ﻩLB=0;if(count==15){ﻩﻩRB=!RB;RF=!RF;RY=!RY;LF=!LF;LY=!LY;count=0;}ﻩﻩelse{count++;}}break;ﻩcase0x2f: ﻩ//停靠00101111{BU=0;ﻩﻩﻩﻩ//蜂鸣器不响L Y=1;RY=1;ﻩﻩif(count1==20){ﻩLF=!LF;RF=!RF;LB=!LB;RB=!RB;ﻩﻩcount1=0;}ﻩelse{count1++;}}break;case0x1f: ﻩ//倒车0001 1111{LB=0;RB=0;ﻩﻩLF=1;RF=1;LY=1;RY=1;ﻩif(count2==40){ﻩﻩBU=!BU;count2=0;}ﻩelse{count2++;}}break;default:P0=0x3f;break;}ﻩ}。