单片机报告-汽车转向灯

合集下载

单片机课设 汽车转向灯

单片机课设  汽车转向灯

第1章选题背景随着社会的发展,道路上到处都是飞速的汽车。

特别是以人为本的和谐社会的观念深入人心。

如何保证人安全,一直都是人们关注的重心。

为了减少交通事故,从汽车的各种安全设计考虑,这不仅仅是汽车本身的质量问题,还应关注汽车在行驶过程中对路人的引导指示方面。

其中汽车的各种灯就是安全警示的一个方面,汽车的转弯灯、头灯、尾灯和警示灯等能够帮助路人识别汽车的动向,尤其是当遇到紧急事件时,打开紧急开关就可以警示路人该车现在不安全了,需要小心避车。

转弯灯能提示路人该车要进行左转或是右转了,小心碰撞。

传统的汽车闪光器结构简单体积小、闪光频率稳定、监控作用明显,故被广泛使用。

但这样的继电器由于自身条件的限制,可靠性低,定时时间不够精确,使用寿命较短,且继电器受温度影响较大,对于温度变化较大的环境往往不能满足要求。

所以本文中汽车转向灯设计是用单片机来实现的,单片机控制系统不仅可避免传统的缺点,还具有功能强、使用灵活、可靠性高、成本低、体积小、面向控制、具有智能化功能等优点。

第2章汽车转弯灯2.1基本的功能和工作方式如表1表12.2工作原理由定时器/计数器与中断系统的联合组成控制系统的工作原理。

汽车上有一个转弯控制杆,其中有三个位置:中间位置,汽车不转弯;向上,汽车左转;向下汽车右转。

转弯时,规定左右尾灯、左右头灯仪表板上2个指示灯相应地发出闪烁信号。

应急开关合上时, 6个信号灯都应闪烁。

汽车刹车时,2个尾灯发出不闪烁信号。

如正当转弯时刹车,转弯时原应闪烁的信号仍应闪烁。

它们都是频率为1Hz低频闪烁,在汽车停靠而停靠开关合上时,左头灯、右头灯、左尾灯、右尾灯按频率为30Hz的高频闪烁。

由上所述,各种情况作操作时,信号灯应输出信号。

第3章转向灯系统的工作原理及设计3.1 开关状态检测开关状态检测,对AT89C51来说是输入关系,可轮流检测每个开关状态,以每个开关的状态让相应的发光二极管指示,采用JNB P1.X,REL 指令来完成;也可以一次性检测五路开关状态,让它指示,可以用MOV A,P1 指令一次把P1 端口的状态全部读入,取低5位的状态来指示。

单片机课程设计汽车转向灯

单片机课程设计汽车转向灯

2010 届毕业设计(论文)课题任务书系:电气与信息工程系专业:电子信息工程技术目录1 绪论…………………………………………………………………………1.1 选题背景………………………………………………………………………1.2 研究意义………………………………………………………………………1.3 研究方法……………………………………………………………………2 汽车转弯灯单片机控制系统原理………………………………………………2.1 汽车转弯灯工作原理…………………………………………2.2 单片机系统的工作原理及设计………………………………………………3 设计方案论证与选择………………………………………………3.1 方案论证一……………………………………………………………3.2 方案论证二…………………………………………………………3.3 方案选择…………………………………………………………4 控制系统的硬件设计…………………………………………………………4.1 单片机控制系统电路图……………………………4.2 单片机控制系统功能模块的设计………………4.3 元器件清单……………………………………………………5 主要芯片介绍…………………………………………………………5.1 单片机的特点………………………………………………………5.2 单片机各引脚介绍………………………………………………………5.3 单片机的功能介绍………………………………………………………6 控制系统的软件设计……………………………………………………7.1 汽车转弯灯控制系统流程图7.2 软件和程序设计7 电路功能实现7.1 软件调试7.2 单片机硬件功能实现7.3 仿真操作说明及现象………………………………………………………参考文献…………………………………………………………………………………. 致………………………………………………………………………………………附录………………………………………………………………………………………摘要随着单片机的日益发展,其应用也越来越广泛,通过对“汽车转弯灯单片机控制系统”设计,可以对单片机的知识得到巩固和扩。

基于单片机的汽车转向灯设计单片机课程设计报告

基于单片机的汽车转向灯设计单片机课程设计报告

单片机原理及系统课程设计报告单片机原理及系统课程设计专业:自动控制班级:控1101班姓名:陈姣学号:201105320指导教师:李亚宁兰州交通大学自动化与电气工程学院2014 年1 月17 日基于单片机的汽车转向灯设计1引言在当今社会,科技与工业高度发达,汽车的数量逐年增多,街上的每一个角落都充斥它们的身影,但凡事都有两面性,汽车在方便了人们的生活也对交通方面和人身安全构成了威胁,为此我们应该采取有效的方法来减少事故的发生概率和提高车辆的运行效率。

因此汽车转向灯便成为每一辆汽车必不可少的装置设备。

汽车转向灯是行车安全的必备条件,除了具有照明作用,对行人和其他车辆还具有转向、会车、刹车等警示作用。

传统的汽车转向灯由于自身条件的限制,可靠性低,定时时间不够精确,使用寿命较短,且继电器受温度影响较大,对于温度变化较大的环境往往不能满足要求。

所以本文中汽车转向灯设计是用单片机来实现的,单片机控制系统不仅可避免传统的缺点,还具有功能强、使用灵活、可靠性高、成本低、体积小、面向控制、具有智能化功能等优点。

2设计方案及原理本设计要求在汽车进行左转弯、右转弯、刹车、合紧急开关、停靠、倒车等操作时,实现对各种信号指示灯的控制。

根据设计要求,制定总体的设计思想。

汽车转向灯电路是由单片机AT89C51、复位、警报、LED显示电路、按键电路等几部分构成。

2.1系统设计以单片机AT89C51为核心芯片通过控制LED的显示来模拟汽车转向灯,即用开关1-6的闭合分别模拟刹车、紧急、停靠、左转、右转、倒车操作;用LED发光二极管D1-D8的亮灭显示来模拟汽车的故障指示灯、左头灯、右头灯、左转弯信号灯、右转弯信号灯、左尾灯、右尾灯、倒车灯的显示情况。

转向时,规定左右尾灯、左右头灯仪表板上2个指示灯相应地发出闪烁信号;应急开关合上时,6个信号灯都应闪烁;汽车刹车时,2个尾灯发出稳定亮信号;如正当转向时刹车,转向时原应闪烁的信号仍应闪烁。

汽车转弯灯单片机实习报告

汽车转弯灯单片机实习报告

汽车转弯灯单片机实习报告汽车转弯灯单片机控制系统实习报告一、实习目的1、掌握51系列单片机的常用指令。

2、熟练的编写51系列单片机的分支程序和一些子程序,如延时子程序。

二、实习要求模拟汽车在驾驶中的左转弯、右转弯、刹车、合紧急开关、停靠等操作。

在左转弯或右转弯时,通过转弯操作杆使左转弯或右转弯开关合上,从而使左头信号灯、仪表板的左转弯灯、左尾信号灯或右头信号灯、仪表板的右转弯信号灯、右尾信号灯闪烁;闭合紧急开关时以上六个信号灯全部闪烁;汽车刹车时,左右两个尾信号灯点亮;若正当转弯时刹车,则转弯时原闪烁的信号灯应继续闪烁,同时另一个尾信号灯点亮,以上闪烁的信号灯以1Hz频率慢速闪烁;在汽车停靠开关合上时左头信号灯、右头信号灯、左尾信号灯、右尾信号灯以10Hz频率快速闪烁。

任何在下表中未出现的组合,都将出现故障指示灯闪烁,闪烁频率为10Hz。

数码管正常情况下显示操作功能的所写,故障情况显示“HELP”三、实习设计原理1、8051单片机的功能单片机是集CPU、 RAM、 ROM(或EPROM)、 I/O接口、定时器/计数器、中断系统为一体完整的计算机系统。

8051内部含有8位CPU、4KB的ROM和128B的RAM、4个8位I/O接口电路、一个全双工的异步接口、5个终端源和2个中断优先级。

2、单片机各引脚介绍(1) VCC:电源。

(2) GND:接地。

(3) P0口:是一个8位漏极开路的双向I/O口。

(4) P1口:是一个具有内部上拉电路的8位双向I/O口。

(5) P2口:是一个具有内部上拉电路的8位双向I/O口。

(6) P3口:是一个具有内部上拉电路的8位双向I/O口,P3输出缓冲器能吸入/放出4个TTL输入。

Flash 编程及检验时,P3口也接收一些控制信号。

(7) RST:复位端。

当振荡器工作时,此时高电平将系统复位。

(8) XTAL1:振荡器反向放大器输入端和内部时钟发生器的输入端。

XTAL2:振荡器反相放大器输出端。

单片机汽车转向灯

单片机汽车转向灯

单片机原理与应用课程大作业项目名称:基于AT89S52的汽车灯光控制系统设计专业班级:微机091 学号:姓名:连云港职业技术学院信息工程学院2011年4月19 日目录第一章项目要求---------------------------------1.1 设计目标----------------------------------1.2 AT89S52的简介和结构框图-------------------第二章项目设计前的分析-------------------------2.1 汽车转向灯的几种状态分析------------------2.2 设计电路的思路----------------------------第三章硬件电路的设计----------------------------3.1 单片机简介--------------------------------3.2 8051单片机指令----------------------------3.3 MCS-51构成与工作原理----------------------第四章软件的设计--------------------------------4.1 发光二极管常亮-----------------------------4.2 发光二极管一闪一亮-------------------------4.3 发光二极管一闪一亮(可延时)---------------4.4 通过开关控制发光二极管一闪一亮(可延时)---4.5 通过开关控制发光二极管一闪一亮(可延时),当出现故障时能报警------------------------------------------- 第五章项目设计总结------------------------------第六章元件清单----------------------------------第一章项目要求一、设计目标1、发光二极管常亮2、发光二极管一闪一亮3、发光二极管一闪一亮(可延时)4、通过开关控制发光二极管一闪一亮(可延时)5、通过开关控制发光二极管一闪一亮(可延时),当出现故障时能报警二、 AT89S52的简介和结构框图第二章项目设计前的分析一、汽车转向灯的几种状态分析汽车灯主要包括转向灯、刹车灯、倒车灯、雾灯。

单片机课程设计:汽车转向灯03

单片机课程设计:汽车转向灯03

目录基于单片机的汽车转向灯(LED灯)控制器的设计摘要随着社会的不断发展,汽车正在成为现代社会的一种重要交通工具。

车灯是行车安全的必备件,除了具有照明的作用,还具有转向、刹车等警示作用。

汽车转向和报警信号灯是汽车运动方向和车身状态的表示信号,关系着汽车的安全问题,因此基于单片机的汽车信号灯控制器的设计一直以来都是汽车电子设计中的一个十分重要的领域。

然而求低功耗,相对于传统的卤素低压照明模式,带来诸多好处。

高亮度LED汽车灯能以相对较小的功率消耗来提供更高的亮度,并能通过简单的电流控制来获得很宽的调光范围,而其低成本、低功耗、快速接通时间、长寿命、结构坚固、外围电路简单、受振动影响小等特点更可带来绝对的经济优势。

高亮度LED照明也给汽车电子产品师和制造商带来了全新的机遇和挑战。

本设计是基于AT89C51单片机芯片的汽车转向灯的控制系统,通过I/O口控制发光二极管的亮﹑灭及闪烁,加上一些复位电路﹑按键电路﹑驱动电路等来模拟汽车尾灯的功能。

该系统在汽车进行左转向、右转向、刹车、合紧急开关、停靠等操作时,实现对各种信号指示灯的控制。

利用Proteus和Keil联调,对此控制系统进行仿真,可实现上述功能。

关键词:转向灯;单片机;Proteus;KeilAbstractWith the continuous development of society, car is becoming a modern society and important vehicle. Lamp is the necessary parts, traffic safety in addition to its lighting effect, still have to etc, brake warning role. Automotive steering and warning lights are car movement direction and body state, relate to the signal of car based on single chip and security problems, so the car light controller design has always been one of automobile electronic design is very important fields. However, compared with traditional for low power consumption of low-pressure halide lighting mode, to bring a lot of benefits. High brightness LED with relatively small car lamp can the power consumption to provide higher brightness, and through simple current control for a wide range of light, and the low cost, low power consumption, fast on time, long life, firm structure, peripheral circuit is simple, small vibration influence characteristics such as by more can bring absolute economic advantages. High brightness LED lighting also give automobile electronic products division and the manufacturer bring a completely new opportunities and challenges.This design is based on AT89C51 chips lights, control system, car through the I/O port control leds light, destroy and flashing, plus some reset circuit, buttons circuit, drive circuit to simulate the function of automobile tail light. In this system, the car left to right turn, brakes, and fits the emergency switch, calls when operating, realize the control of the various signal lights. Use this Keil alignment, Proteus and control system, and simulation can realize the function.Key W ords:direction indicator lamp;Single Chip Microcomputer;Proteus;Keil第1章绪论1.1 选题背景最近几年,燃料费的提高让汽车都力求低功耗,这使得汽车上的LED应用越来越多,并有取代汽车密封式前大灯和其他汽车用白炽灯的趋势。

汽车转向灯 单片机c语言程序及其原理图

汽车转向灯 单片机c语言程序及其原理图

项目1 汽车转向灯XTAL218XTAL119ALE 30EA31PSEN 29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR 16P3.5/T115U180C52R110kR2330D1SW1R3330D2R410kSW2SW3附:C 程序源代码#include <reg52.h>sbit sw1=P1^0; //定义P1.0引脚位名称为P1_0 sbit sw2=P1^1; sbit sw3=P1^2;sbit ledl=P0^0; //定义P0.0引脚位名称为P0_0 sbit ledr=P0^1;void delay(unsigned char k) {unsigned char i,j; for(i=0;i<k;i++)for(j=0;j<200;j++); }void main() //主函数 {P1=0xff; while(1) {if(sw1==0) ledl=0; if(sw2==0) ledr=0; if(sw3==0){ledl=0;ledr=0;}delay(200);ledl=1;ledr=1;delay(200);}}#include<reg51.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intuchar code DSY_CODE[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8, 0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0xbf};uchar code df_table[]={0,1,1,2,3,3,4,4,5,6,6,7,8,8,9,9};uchar currentT=0;uchar HOUR,MIN,SECOND,count_t0,count_t1;uchar temp_value[]={0x00,0x00};uchar display_digit[]={0,0,0,0};uchar time_or_temperature;sbit DQ=P3^3;sbit SPK=P3^4;bit flag;bit ds18b20_is_ok=1;bit key_flag=0;void delay(uint x){while(--x);}void delay1ms(uint m){uchar i;while(m--) for(i=0;i<120;i++);}uchar init_ds18b20()uchar status;DQ=1;delay(8);DQ=0;delay(90);DQ=1;delay(8); status=DQ;delay(100);DQ=1;return status;}uchar readonebyte(){uchar i,dat=0;DQ=1;_nop_();for(i=0;i<8;i++){DQ=0;dat>>=1;DQ=1;_nop_();_nop_();if(DQ) dat|=0x80;delay(30);DQ=1;}return dat;}void writeonebyte(uchar dat){uchar i;for(i=0;i<8;i++){DQ=0;DQ=dat&0x01;delay(5);DQ=1;dat>>=1; }delay(8);}void read_temperature(){if(init_ds18b20()==1)ds18b20_is_ok=0;else{writeonebyte(0xcc);writeonebyte(0x44);init_ds18b20();writeonebyte(0xcc);writeonebyte(0xbe);temp_value[0]=readonebyte();temp_value[1]=readonebyte();ds18b20_is_ok=1;}void display_temperature(){uchar i,j;//延时值与负数标识uchar t=150,ng=0;//高5位全为1(0xf8)则为负数,为负数时取反加1,并设置负数标识 if((temp_value[1]&0xf8)==0xf8){temp_value[1]=~temp_value[1];temp_value[0]=~temp_value[0]+1;if(temp_value[0]==0x00) temp_value[1]++;//负数标识置1ng=1;}//查表得到温度小数部分display_digit[0]=df_table[temp_value[0]&0x0f];//获取温度整数部分(高字节中的低3位与低字节中的高4位,无符号) currentT=((temp_value[0]&0xf0>>4))|((temp_value[1]&0x07)<<4); //将整数部分分解为3位待显示数字display_digit[3]=currentT/100;display_digit[2]=currentT%100/10;display_digit[1]=currentT%10;if(ng==1){P2=0x01;P0=0xbf;delay1ms(11);P2=0x02;P0=DSY_CODE[display_digit[2]];delay1ms(11);P2=0x04;P0=DSY_CODE[display_digit[1]]&0x7f;delay1ms(11);P2=0x08;P0=DSY_CODE[display_digit[0]];delay1ms(11);}else{j=0x01;for(i=0;i<4;i++){P2=j;if(i==2) P0=DSY_CODE[display_digit[3-i]]&0x7f; else P0=DSY_CODE[display_digit[3-i]];delay1ms(11);j=_crol_(j,1);}}}void display(){uchar i,j,time[4];time[0]=HOUR/10;time[1]=HOUR%10;time[2]=MIN/10;time[3]=MIN%10;j=0x01;for(i=0;i<4;i++){P2=j;switch(i){case 1:P0=DSY_CODE[time[i]]&0x7f;break;case 3:if(flag==0) P0=DSY_CODE[time[i]]&0x7f;else P0=DSY_CODE[time[i]];break;default:P0=DSY_CODE[time[i]];}delay1ms(16);j=_crol_(j,1);}}/*void keyscan(){if(P1!=0xff) delay1ms(150);if(P1!=0xff){switch(P1){case 0xfe:HOUR=HOUR+1;if(HOUR==24) HOUR=0;break;case 0xfd:MIN=MIN+1;if(MIN==60) MIN=0;break;case 0xfb:time_or_temperature++;break;}}}*/void main(){uchar i=0;HOUR=0;MIN=0;SECOND=0;count_t0=0;count_t1=0;TMOD=0x11;TH0=0x3c;TL0=0xb0;TH1=0x3c;TL1=0xb0;EA=1;ET0=1;ET1=1;TR0=1;TR1=1;SPK=0;read_temperature();delay(5000);delay(5000);while(1){i=time_or_temperature%2;if(i==0) display();if(i==1){read_temperature();if(ds18b20_is_ok) display_temperature(); }//keyscan();}}void T0_int() interrupt 1 using 1{TH0=0x3c;TL0=0xb0;count_t0=count_t0+1;if(count_t0==10) flag=!flag;if(count_t0==20){count_t0=0;SECOND=SECOND+1;if(SECOND==60){SECOND=0;MIN=MIN+1;if(MIN==60){MIN=0;HOUR=HOUR+1;if(HOUR==24){HOUR=0;}}}}}void keyscan_t1() interrupt 3 using 2{count_t1=count_t1+1;TH1=0x3c;TL1=0xb0;if(P1!=0xff){key_flag=1;}if((count_t1==3)&&(P1!=0xff)&&(key_flag==1)) {count_t1=0;key_flag=0;switch(P1){case 0xfe:HOUR=HOUR+1;if(HOUR==24) HOUR=0; break;case 0xfd:MIN=MIN+1;if(MIN==60) MIN=0;break;case 0xfb:time_or_temperature++; break;}}if(count_t1>3){key_flag=0;count_t1=0;}}。

单片机实验---汽车转向灯控制

单片机实验---汽车转向灯控制

实验九汽车转向信号灯控制一、实验目的:(1)掌握分支程序的设计方法;(2)掌握用分支程序编程控制汽车转向信号灯的方法;(3)掌握用keil实现软件调试的方法;(4)掌握用Proteus实现电路设计,程序设计和仿真方法。

二、实验内容:P1口做输出口控制汽车转向信号灯,P3口做输入口接五只控制开关,设计一个汽车转向信号灯控制系统。

晶振频率6MHZ。

设计要求如下:(1)正常驾驶时,按通左转弯开关,左转弯灯,左头灯,左尾灯同时闪烁;按通右转弯开关,右转弯灯,右头灯,右尾灯同时闪烁,闪烁频率为1HZ。

(2)刹车时,接通刹车开关,左尾灯,右尾灯同时亮。

(3)停靠站时,接通停靠开关,左头灯,右头灯,左尾灯,右尾灯同时闪烁,闪烁频率为1HZ。

(4)出现紧急情况时,接通紧急开关,左转弯灯,右转弯灯,左头灯,右头灯,左尾灯,右尾灯同时闪烁,闪烁频率为5HZ。

三、主要器件的型号:四、实验参考电路:实验时用发光二极管替代信号灯,P1.7------P1.2接发光二极管的阴极,P1口的管脚输出低电平时对应的发光二极管点亮。

控制开关的信号通过P3.4-------P3.0送入单片机,设控制开关输出低电平有效。

汽车转向信号控制灯控制电路如下图所示:五、实验参考程序:ORG 0000HLJMP MAINORG 0030HMAIN: MOV P3,#0FFHMOV A,P3 // 读P3口输入数据JNB ACC.4,JJ // ACC.4=0,转移到紧急状态JNB ACC.3,TK // ACC.3=0,转移到停靠状态JNB ACC.2,SC // ACC.2=0,转移到刹车状态JNB ACC.1,YZW // ACC.1=0,转移到右转弯状态JNB ACC.0,ZZW // ACC.0=0,转移到左转弯状态SJMP MAINJJ: MOV P1,#03H // 紧急状态LCALL DELAY1 // 0.1秒延时MOV P1,#0FFH // 信号灯全灭LCALL DELAY1SJMP MAINTK: MOV P1,#0C3H // 停靠状态LCALL DELAY2 // 0.5秒延时MOV P1,#0FFH // 信号灯全灭LCALL DELAY2SJMP MAINSC: MOV P1,#0F3H // 刹车状态LCALL DELAY2 // 0.5秒延时MOV P1,#0FFH // 信号灯全灭SJMP MAINYZW: MOV P1,#0ABH // 右转弯状态LCALL DELAY2 // 0.5秒延时MOV P1,#0FFH // 信号灯全灭LCALL DELAY2SJMP MAINZZW: MOV P1,#57H // 左转弯状态LCALL DELAY2 // 0.5秒延时MOV P1,#0FFH // 信号灯全灭LCALL DELAY2SJMP MAINORG 0100H // 0.1秒延时子程序DELAY1: MOV R3,#100 // 0.1秒循环次数DEL1: MOV R2,#248 // 1ms循环次数NOPDEL2: DJNZ R2,DEL2DJNZ R3,DEL1RET // 子程序返回ORG 0200H // 0.5秒延时子程序DELAY2: MOV R4,#5 // 0.5秒循环次数DEL3: MOV R3,#100 // 100ms循环次数DEL4: MOV R2,#248 // 1ms循环次数NOPDEL5: DJNZ R2,DEL5DJNZ R3,DEL4DJNZ R4,DEL3RET // 子程序返回END六、实验步骤:(1)用Keil软件对源程序进行调试如下:如图可以看到调试程序无错误,切将其生成HEX文件;(2)根据汽车转向信号灯控制实验电路及相应器件连接电路图如下:(3)将所生成的HEX文件下载到芯片中,根据实验内容对其进行运行;A、当正常驾驶时,按通左转弯开关,左转弯灯,左头灯,左尾灯同时闪烁;按通右转弯开关,右转弯灯,右头灯,右尾灯同时闪烁,闪烁频率为1HZ,如下图所示:B、当刹车时,接通刹车开关,左尾灯,右尾灯同时亮,如下图:C、当停靠站时,接通停靠开关,左头灯,右头灯,左尾灯,右尾灯同时闪烁,闪烁频率为1HZ,如下图:D、出现紧急情况时,接通紧急开关,左转弯灯,右转弯灯,左头灯,右头灯,左尾灯,右尾灯同时闪烁,闪烁频率为5HZ,如下图:七、实验总结:(1)通过软件与硬件的配合使用,更加深刻的理解软件与硬件之间的关系;(2)通过汽车转向信号灯的控制实验的设计与实现,对汽车转向灯控制原理与实际应用有更深刻的了解;(3)通过自己动手,理论与实践相结合,扩展自己的知识视野。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机原理及系统课程设计
专业:
班级:
姓名:
学号:
指导教师:
兰州交通大学自动化与电气工程学院
2014 年 7月 1日
1 引言
随着单片机的日益发展,其应用也越来越广泛,通过对“汽车转向灯单片机控制系统”设计,可以对单片机的知识得到巩固和扩展。

本课程内容是设计一个单片机控制系统,在汽车进行左转弯、右转弯、刹车、合紧急开关、停靠等操作时,实现对各种信号指示灯的控制。

本设计主要是对单片机的并行输入/输出口电路的应用,通过I/O口控制发光二极管的亮﹑灭﹑闪烁,加上一些复位电路﹑按键电路﹑驱动电路来模拟汽车尾灯的功能。

2 设计方案及原理
汽车转向灯主要有单片机、按键、复位、时钟、电源、故障检测电路、LED显示电路组成最基本的单片机系统。

单片机本身的功能强大,汽车转向灯的驱动用单片机本身的驱动来驱动。

使得单片机的功能得到充分的运用。

本方案的故障检测电路具有故障监控性能,他能提高系统的可靠性。

由定时器/计数器与中断系统的联合组成控制系统的工作原理。

如汽车上有一个转弯控制杆,其中有三个位置:中间位置,汽车不转弯;向上,汽车左转;向下汽车右转。

转弯时,规定左右尾灯、左右头灯仪表板上2个指示灯相应地发出闪烁信号。

应急开关合上时,6个信号灯都应闪烁。

汽车刹车时,2个尾灯发出不闪烁信号。

如正当转弯时刹车,转弯时原应闪烁的信号仍应闪烁。

它们都是频率为1Hz低频闪烁,在汽车停靠而停靠开关合上时,左头灯、右头灯、左尾灯、右尾灯按频率为10Hz频率快速闪烁。

任何在下表中未出现的组合,都将出现故障指示灯闪烁,闪烁频率为10Hz。

3 系统硬件设计
3.1 AT89C51单片机介绍
AT89C51单片机有以下部件构成:八位微处理器、振荡电路、总线控制部件、中断控制部件、片内Flash存储器、片内RAM、并行I/O接口、定时器和串行I/O 接口。

AT89C51单片机内部由CPU、4KB的FPEROM,128B的RAM,两个16位的定时器/计数器T0和T1,4个8位的I/O端P0、P1、P2、P3等组成。

汽车转向灯单片机控制系统电路是由单片机AT89C51、复位、电源、时钟、LED显示电路、故障检测电路、按键电路构成汽车转向灯单片机控制系统框图如图3.1所示。

图3.1 汽车转向灯单片机控制系统框图
3.2 系统电路图
系统原理图如图3.2所示: Array
图3.2汽车转向灯控制硬件接线图
4 系统软件设计
汽车转向灯控制系统主程序流程如图4.1所示,源程序清单见附录1。

图4.1 汽车转向灯控制系统主程序流程图
键的功能程序流程图如图4.2所示,主程序及子程序流程图见附录2。

图4.2 键的功能程序流程图
5 总结
本系统基于MCS-51开发平台,充分利用了51单片机的各引脚功能,同时有效利用了中断、查询、定时器、计数器,使得汽车转向信号灯控制得以实现。

通过这次课程设计,用软件的方法设计硬件,并用软件方式设计的软件系统到硬件系统的转换是由有关的开发软件自动完成的。

在设计过程中可用有关软件进行各种仿真,同时系统可现场编程,在线升级等。

整个系统可集成在一个芯片上,体积小,功耗低,可靠性高。

其技术以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方法,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件方式设计的电子系统到硬件系统的逻辑编译,逻辑化简,逻辑分割,逻辑综合及优化,逻辑布局布线,逻辑仿真,直至特定目标芯片的适配便宜,逻辑映射,编程下载等工作,为系统的设计开发带来了极大地方便。

参考文献
[1] 孙涵芳,徐爱卿.MCS-51.96系列单片机原理及应用[M].北京:北京航空航天大学出版社,1988.
[2] 徐爱钧,彭秀华.Keil Cx51 V7.0单片机高级语言编程与μVision2应用实践[M].北京:电子工
业出版社,2006.
[3] 张毅坤.单片微型计算机原理及应用[M].陕西:西安电子科技大学出版社,1988.
附录1 源程序代码
ORG 0000H
AJMP START1
ORG 0030H
SAME EQU 4EH
START1:MOV P1,#00H ;无输入时无输出
START: MOV A,P3 ;读P3口数据
ANL A,#1FH ;取用P3口的低五位数据
CJNE A,#1FH,SHIY ;对P3口低五位数据进行判断
AJMP START1
SHIY: MOV SAME,A
LCALL YS ;延时
MOV A,P3 ;读P3口的数据
ANL A,#1FH ;取用P3口的低五位数据
CJNE A,#1FH,SHIY1 ;对P3口的低五位数据进行判断
AJMP START1 ;开关没有动作时无输出
SHIY1: CJNE A,SAME,START1
CJNE A,#17H,NEXT1 ;P3.3=0时进入左转分支
AJMP LEFT
NEXT1: C JNE A,#0FH,NEXT2 ;P3.4=0时进入右转分支AJMP RIGHT
NEXT2: C JNE A,#1DH,NEXT3 ;P3.1=0时进入紧急分支AJMP EARGE
NEXT3: C JNE A,#1EH,NEXT4 ;P3.0=0时进入刹车分支AJMP BRAKE
NEXT4: C JNE A,#16H,NEXT5 ;P3.0=P3.3=0时进入左转刹车分支AJMP LEBR
NEXT5: C JNE A,#0EH,NEXT6 ;P3.0=P3.4=0时进入右转刹车分支AJMP RIBR
NEXT6: C JNE A,#1CH,NEXT7 ;P3.0=P3.1=0时进入紧急刹车分支AJMP BRER
NEXT7: C JNE A,#14H,NEXT8 ;P3.0=P3.1=P3.3=0时进入左转紧急
刹车分支
AJMP LBE
NEXT8: C JNE A,#0CH,NEXT9 ;P3.0=P3.1=P3.4=0时进入右转紧急
刹车分支
AJMP RBE
NEXT9: C JNE A,#1BH,NEXT10 ;P3.2=0时进入停靠分支AJMP STOP
NEXT10:AJMP ERROR ;其他情况进入错误分支LEFT: MOV P1,#2AH ;左转分支
LCALL Y1s
MOV P1,#00H
LCALL Y1s
AJMP START
RIGHT: MOV P1,#54H ;右转分支
LCALL Y1s
MOV P1,#00H
LCALL Y1s
AJMP START
EARGE:MOV P1,#7FH ;紧急分支
LCALL Y1s
MOV P1,#00H
LCALL Y1s
AJMP START
BRAKE:MOV P1,#60H ;刹车分支
AJMP START
LEBR: MOV P1,#6AH ;左转刹车分支LCALL Y1s
MOV P1,#40H
LCALL Y1s
AJMP START
RIBR: MOV P1,#6AH ;右转刹车分支LCALL Y1s
MOV P1,#40H
LCALL Y1s
AJMP START
BRER: MOV P1,#7EH ;紧急刹车分支LCALL Y1s
MOV P1,#60H
LCALL Y1s
AJMP START
LBE: MOV P1,#7EH ;左转紧急刹车分支LCALL Y1s
MOV P1,#40H
LCALL Y1s
AJMP START
RBE: MOV P1,#7EH ;右转紧急刹车分支LCALL Y1s
MOV P1,#20H
LCALL Y1s
AJMP START
STOP: MOV P1,#66H ;停靠分支
LCALL Y100ms
MOV P1,#00H
LCALL Y100ms
AJMP START
ERROR:MOV P1,#80H ;错误分支
LCALL Y1s
MOV P1,#00H
LCALL Y1s
AJMP START
YS: MOV R7,#20H ;延时
YS0: MOV R6,#0FFH
YS1: DJNZ R6,YS1
DJNZ R7,YS0
RET
Y1s: MOV R7,#04H ;延时
Y1s1: MOV R6,#0FFH
Y1s2: MOV R5,#0FFH
DJNZ R5,$
DJNZ R6,Y1s2
DJNZ R7,Y1s1
RET
Y100ms:MOV R7,#66H ;延时
Y100ms1:MOV R6,#0FFH
Y100ms2:DJNZ R6, Y100ms2
DJNZ R7, Y100ms1
RET
END
附录2 程序流程图
(1) 主程序流程图如图2.1所示。

图2.1 主程序流程图
(2) 子程序流程图如图2.2~2.6所示。

图2.2 表示左转 图2.3 表示右转
单片机原理及系统课程设计报告
- 10 -
图2.4 表示紧急 图2.5 表示停靠
图2.6 表示刹车。

相关文档
最新文档