单片机报告-汽车转向灯
- 格式:docx
- 大小:69.25 KB
- 文档页数:11
第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的简介和结构框图第二章项目设计前的分析一、汽车转向灯的几种状态分析汽车灯主要包括转向灯、刹车灯、倒车灯、雾灯。
目录基于单片机的汽车转向灯(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应用越来越多,并有取代汽车密封式前大灯和其他汽车用白炽灯的趋势。
项目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. 掌握单片机的基本原理和应用;2. 学会使用单片机开发工具和编程语言;3. 熟悉转向灯控制系统的工作原理;4. 培养实际动手能力和团队协作精神。
三、实训内容1. 单片机基础知识单片机是一种集成了CPU、存储器、输入/输出接口等功能的微型计算机。
本实训选用8051系列单片机作为核心控制单元。
通过学习8051单片机的内部结构、工作原理、指令系统、编程方法等知识,为转向灯控制系统的设计打下基础。
2. 转向灯控制系统设计(1)系统组成转向灯控制系统主要由单片机控制模块、转向灯驱动模块、信号输入模块、故障检测模块和电源模块组成。
(2)工作原理单片机控制模块接收驾驶员的转向信号,根据信号类型控制转向灯的闪烁频率和亮度。
转向灯驱动模块根据单片机的控制指令,驱动左右转向灯闪烁。
信号输入模块将驾驶员的转向信号转换为单片机可识别的电平信号。
故障检测模块实时监测转向灯的工作状态,一旦发现故障,立即向单片机发送报警信号。
电源模块为系统提供稳定的工作电压。
(3)电路设计根据系统需求,设计合适的电路,包括单片机最小系统、转向灯驱动电路、信号输入电路、故障检测电路和电源电路。
3. 软件设计(1)编程环境使用Keil uVision 5作为编程环境,编写8051单片机程序。
(2)程序设计编写程序实现以下功能:1)接收驾驶员的转向信号,控制转向灯的闪烁频率和亮度;2)检测转向灯的工作状态,一旦发现故障,立即报警;3)实时显示系统运行状态。
四、实训过程1. 熟悉8051单片机原理和编程方法;2. 设计转向灯控制系统电路;3. 编写程序实现转向灯控制功能;4. 测试和调试程序,确保系统稳定运行。
单片机汽车转向灯开题报告引言汽车转向灯是一种非常重要的安全设备,其功能是通过闪烁来提醒其他车辆和行人驾驶员将要转向的方向。
由于其重要性,我们决定使用单片机来设计和实现一种可靠的汽车转向灯系统。
本报告将介绍我们的项目目标、实施计划和预期结果。
项目目标本项目的目标是设计和实现一种基于单片机的汽车转向灯系统。
主要目标包括:1.实现转向指示功能:通过控制转向灯的闪烁来指示车辆即将转向的方向。
2.提高灵活性:允许驾驶员选择转向灯的闪烁频率和模式。
3.实现自动关闭功能:在车辆完成转弯后,转向灯应自动关闭。
4.提高可靠性:设计一个稳定可靠的电路,以确保转向灯系统始终正常工作。
实施计划以下是我们的实施计划:1.硬件准备:选择合适的单片机和其他所需的电子元件,并搭建一个实验电路。
2.学习单片机编程:熟悉单片机的编程语言和开发环境,并学习如何控制输入输出。
3.设计转向灯控制逻辑:根据转向信号和驾驶员输入设计转向灯的控制逻辑。
4.实现基本功能:使用单片机编程实现转向灯的基本功能,包括转向指示、闪烁频率控制和自动关闭。
5.测试和优化:使用实验电路对系统进行测试,并根据测试结果进行优化和改进。
6.编写文档:整理项目过程和结果,撰写项目报告。
预期结果我们预计实现一个功能强大且可靠的单片机汽车转向灯系统。
预期结果包括:1.转向灯指示功能:转向灯能够根据驾驶员输入和转向信号正确地指示车辆即将转向的方向。
2.灵活性:驾驶员可以通过控制面板选择转向灯的闪烁频率和模式。
3.自动关闭功能:转向灯能够在车辆完成转弯后自动关闭,以避免误导其他车辆和行人。
4.可靠性:经过测试和优化后,转向灯系统应该是稳定和可靠的,能够长时间正常工作。
结论本报告介绍了我们的单片机汽车转向灯项目的开题报告。
项目的目标是设计和实现一种可靠和灵活的转向灯系统,并已制定了实施计划和预期结果。
我们相信该项目能够为车辆驾驶员提供更好的转向指示功能,提高交通安全性。
我们将努力完成该项目,并期待得到一个成功的结果。
单片机原理及系统课程设计
专业:
班级:
姓名:
学号:
指导教师:
兰州交通大学自动化与电气工程学院
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 表示刹车。