基于单片机与VB汽车尾灯设计报告_第1页
基于单片机与VB汽车尾灯设计报告_第2页
基于单片机与VB汽车尾灯设计报告_第3页
基于单片机与VB汽车尾灯设计报告_第4页
基于单片机与VB汽车尾灯设计报告_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、PAGE PAGE 611课程设计(论文) 设计计课题: 基于于单片机机的汽车车尾灯控控制 学校校院系: 海海南师范范大学物物电学院院 专 业: 10电电子一班班 学生生姓名: 学 号: 指导导教师: 摘 要本次的课题题是基于于单片机机的汽车车尾灯控控制器,该该设计课课题主要要由STTC899C522RC单单片机为为核心展展开的汽汽车尾灯灯控制电电路的设设计方法法,用发光光二极管管模拟汽汽车尾灯灯,可以以用VBB上位机机界面和和按键开开关作为为转弯等等控制信信号,并并且把信信息显示示在LCCD16602上上。在VB6.00环境下下,上位位机利用用MSCCOMMM通信控控件与单单片机之之间串口口

2、通信实实现上位位机控制制汽车尾尾灯。设设计电路路能很好好的综合合运用我我们所学学习到的的单片机机、C语语言、VVB上位位机编程程,熟悉悉电子电电路设计计的基本本方法。关键词:SSTC889C552RCC;发光二二极管;单片机机;C语言言; VBB上位机机;MSCOMMM控件件 PAGE 11TOC o 1-3 h z u HYPERLINK l _Toc367909131 引言 PAGEREF _Toc367909131 h 3 HYPERLINK l _Toc367909132 一 设设计任务务 PAGEREF _Toc367909132 h 3 HYPERLINK l _Toc367909

3、133 1.1 任任务说明明 PAGEREF _Toc367909133 h 3 HYPERLINK l _Toc367909134 1.2 任任务分析析 PAGEREF _Toc367909134 h 3 HYPERLINK l _Toc367909135 二 设计计方案选选择及论论证 PAGEREF _Toc367909135 h 4 HYPERLINK l _Toc367909136 2.1 方方案一:采用5555定定时器等等构成的的汽车尾尾灯电路路 PAGEREF _Toc367909136 h 4 HYPERLINK l _Toc367909137 2.2 方方案二:由STTC899

4、C522RC及及其外围围电路构构成的汽汽车尾灯灯控制器器 PAGEREF _Toc367909137 h 4 HYPERLINK l _Toc367909138 2.3 方方案比较较和选择择 PAGEREF _Toc367909138 h 4 HYPERLINK l _Toc367909139 2.4 系系统框图图 PAGEREF _Toc367909139 h 5 HYPERLINK l _Toc367909140 三 系系统硬件件原理介介绍 PAGEREF _Toc367909140 h 7 HYPERLINK l _Toc367909141 3.1 单单片机SSTC889C552RCC介

5、绍 PAGEREF _Toc367909141 h 7 HYPERLINK l _Toc367909142 3.2 LLCD116022液晶屏屏介绍 PAGEREF _Toc367909142 h 8 HYPERLINK l _Tocc367790991433 3.33系统结结构原理理图、器器件选择择 PAGEREF _Toc367909143 h 9 HYPERLINK l _Toc367909144 3.4 硬硬件电路路总原理理图 PAGEREF _Toc367909144 h 14 HYPERLINK l _Toc367909145 3.5 硬硬件设计计原理及及状态图图 PAGEREF

6、_Toc367909145 h 14 HYPERLINK l _Toc3679091446 四程程序流程程 PAGEREF _Toc367909146 h 15 HYPERLINK l _Toc367909147 4.1下位位机软件件程序 PAGEREF _Toc367909147 h 15 HYPERLINK l _Toc367909148 4.1.11 键盘盘扫程序序设计流流程图 PAGEREF _Toc367909148 h 15 HYPERLINK l _Toc367909149 4.2.11 显显示程序序设计流流程图 PAGEREF _Toc367909149 h 17 HYPERL

7、INK l _Toc367909150 4.2 VVB上位位机界面面设计 PAGEREF _Toc367909150 h 18 HYPERLINK l _Toc367909151 4.2.11设计方方案原理理与设计计特点分分析 PAGEREF _Toc367909151 h 18 HYPERLINK l _Toc367909152 五仿真图图实物调调试 PAGEREF _Toc367909152 h 20 HYPERLINK l _Toc367909153 5.1仿真真图 PAGEREF _Toc367909153 h 20 HYPERLINK l _Toc367909154 5.2实物物图

8、PAGEREF _Toc367909154 h 21 HYPERLINK l _Toc367909156 六课设总总结 PAGEREF _Toc367909156 h 21 HYPERLINK l _Toc367909157 参考文献 PAGEREF _Toc367909157 h 22 HYPERLINK l _Toc367909158 附录一 PAGEREF _Toc367909158 h 223引言汽车作为现现代交通通工具已已经大量量进入人人们的生生活,随随着电子子技术的的发展,对对于汽车车的控制制电路也也已经从从过去的的全人工工开关控控制发展展到了智智能化的的控制。汽汽车尾灯灯控制器器

9、是随着着汽车智智能化技技术的发发展而迅迅速发展展起来的的,汽车车尾灯一一般基于于微处理理器的硬硬件电路路结构构构成,而而正因为为硬件电电路的局局限性,不不能随意意的更改改电路的的功能和和性能,且且可靠性性得不到到保证,因因此对汽汽车尾灯灯控制系系统的发发展带来来局限性性,难以以满足现现代智能能化的要要求。本次的设计计是基于于单片机机的汽车车尾灯控控制器,用用发光二二极管模模拟汽车车尾灯,用用VB上位机机和按键键开关作作为汽车车转弯等等控制信信号,实实现汽车车尾灯的的智能化化控制。一 设设计任务务1.1 任任务说明明 本次次课题主主要是以以STCC89CC52RRC为核核心的单单片机控控制电路路

10、,它主主要模拟拟了汽车车尾灯系系统的正正常行驶驶、转弯弯、刹车车、倒车车、夜间间行驶等等状态下下的发光光情况,实实现了汽汽车尾灯灯控制的的智能化化。1.2 任任务分析析设计一个基基于单片片机的汽汽车尾灯灯控制器器,其具具体设计计要求如如下:1)汽车白白天正常常行驶时时指示灯灯全灭;2)汽车车右(左左)转弯时,前后最最右(左左)边和和右(左左)侧那那个指示示灯亮并并闪烁;3)汽车临临时刹车车时车尾尾灯全部部亮;4)汽车车倒车时时尾灯中中间4个个指示灯灯亮;5)汽车车夜间行行驶时,车车前灯全全亮,尾尾灯两边边各中间间的灯亮亮;6)可通过过串口连连接PCC控制车车尾灯(自己发挥挥部分);二 设计计方

11、案选选择及论论证2.1 方方案一:采用5555定定时器等等构成的的汽车尾尾灯电路路采用译码器器74LLS1338、计计数器774LSS1611、脉冲冲产生器器5555、开光光控制电电路、显显示驱动动电路、发发光二极极管以及及各种逻逻辑元件件等构成成的汽车车尾灯控控制电路路。由于于汽车左左右转弯弯时,四四个指示示灯循环环点亮,所所以用四四进制计计数器控控制译码码器电路路顺序输输出低电电平,从从而控制制尾灯按按要求点点亮,达达到模拟拟汽车转转弯、刹刹车、正正常行驶驶等状态态。由于于行车时时都是开开关控制制,所以以每一个个开关都都应该有有一个消消除机械械振动的的装置,可可以用基基本SRR触发器器来实

12、现现。2.2 方方案二:由STTC899C522RC及及其外围围电路构构成的汽汽车尾灯灯控制器器 STC889C552RCC 是一一种低功功耗、高高性能CCMOSS8位微微控制器器,具有有 8KK 在系系统可编编程Fllashh 存储储器。本次单片片机的控控制系统统以STTC899C522RC为为控制器器,键盘为为输入信信号,由由于STTC899C522RC本本身的功功能强大大,汽车车转弯灯灯的驱动动用单片片机的驱驱动功能能来完成成。使得得单片机机的功能能得到了了充分的的运用;并且显显示电路路从并行行I/OO口输出出,由限限流电阻阻和发光光二极管管组成,低低电平使使发光二二极管导导通,显显示出

13、相相应的信信号灯亮亮灭情况况,实现现了左转转、右转转、刹车车、应急急灯多种种状态下下的控制制效果。2.3 方方案比较较和选择择方案一中,要使用多种控制电路,实现的方法繁杂且不灵活,成本高,搭建好电路后调试起来不方便,不可以任意定义各种状态,电路的可靠性以及可扩展性不高,且与本次课题所要求运用的知识相悖,因此不宜使用此方案。方案二中,以单片机为核心,而单片机的编程比较直接,且可重复擦除修改,硬件电路搭建方便简单。搭建好电路后通过STC89C52RC来编写程序,控制LED的亮灭,大大的简化了系统结构,降低材料的成本,提高系统的先进性和可靠性,能实现控制器的智能化。由于采用此种方法开发的系统其升级和

14、改进较为方便,因此本次课题选用方案二。采用串口连连接笔记记本电脑脑,通过过VB上上位机控控制LEED的亮亮灭,实实现真正正意义上上的智能能化控制制。发 光 二 极管 显 示 电路STC89C52RC2.4 系系统框图图发 光 二 极管 显 示 电路STC89C52RC时钟电路时钟电路1602液 晶 屏 显示 电 路1602液 晶 屏 显示 电 路复位电路复位电路PC电脑上位机按键电路串口电路MAX232PC电脑上位机按键电路串口电路MAX232图2.4.1 系系统结构构框图整个系统统包括电电源电路路、时钟钟电路、复复位电路路、按键键电路、发发光二极极管显示示电路、液液晶屏显显示电路路、串口口电

15、路、单单片机、PPC上位位机等。其其中主要要由按键键电路和和PC上上位机发发出控制制信号,由由显示电电路显示示信号的的具体状状态。三 系系统硬件件原理介介绍3.1 单单片机SSTC889C552RCC介绍 图3.1.1STTC899C522RC引引脚图(1)STTC899C522RC部部分引脚脚功能介介绍:1、VCCC:STC899C522RC电电源正端端输入,接接+5VV。2、VSSS:电源地端。3、XTAAL1:单芯片系统统时钟的的反相放放大器输输入端。4、XTAAL2:系统时钟的的反相放放大器输输出端,一一般在设设计上只只要在 XTAAL1 和 XXTALL2 上上接上一一只石英英振荡晶

16、晶体系统统就可以以动作了了,此外外可以在在两引脚脚与地之之间加入入一 220PFF 的小小电容,可可以使系系统更稳稳定,避避免噪声声干扰而而死机。5、RESSET:STC899C522RC的的重置引引脚,高高电平动动作,当当要对晶晶片重置置时,只只要对此此引脚电电平提升升至高电电平并保保持两个个机器周周期以上上的时间间,ATT89SS51便便能完成成系统重重置的各各项动作作,使得得内部特特殊功能能寄存器器之内容容均被设设成已知知状态,并并且至地地址00000HH处开始始读入程程序代码码而执行行程序。3.2 LLCD116022液晶屏屏介绍1602LLCD主主要技术术参数:显示容量:162个字字

17、符芯片工作电电压:44.55.55V工作电流:2.00mA(5.00V)模块最佳工工作电压压:5.0V字符尺寸:2.99544.355(WH)mmm引脚功能说说明:1602LLCD采采用标准准的144脚(无无背光)或或16脚脚(带背背光)接接口,各各引脚接接口说明明如表110-113所示示:编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏偏压11D4数据4RS数据/命令令选择12D5数据5R/W读/写选择择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极极8D1数据16BLK背光源负极极表10-113:引引脚接口口说明表表第

18、1脚:VVSS为为地电源源。第2脚:VVDD接接5V正正电源。第3脚:VVL为液液晶显示示器对比比度调整整端,接接正电源源时对比比度最弱弱,接地地时对比比度最高高,对比比度过高高时会产产生“鬼鬼影”,使使用时可可以通过过一个110K的的电位器器调整对对比度。第4脚:RRS为寄寄存器选选择,高高电平时时选择数数据寄存存器、低低电平时时选择指指令寄存存器。第5脚:RR/W为为读写信信号线,高高电平时时进行读读操作,低低电平时时进行写写操作。当当RS和和R/WW共同为为低电平平时可以以写入指指令或者者显示地地址,当当RS为为低电平平R/WW为高电电平时可可以读忙忙信号,当当RS为为高电平平R/WW为

19、低电电平时可可以写入入数据。第6脚:EE端为使使能端,当当E端由由高电平平跳变成成低电平平时,液液晶模块块执行命命令。第7144脚:DD0DD7为88位双向向数据线线。第15脚:背光源源正极。第16脚:背光源源负极。系统结构原原理图、器器件选择择(1)电源源电路图3.3.1 电电源电路路电源电路路可以给给单片机机提供工工作所需需电源,有有指示灯灯提示,灯灯亮时表表示提供供正常工工作电压压。(2)时钟钟电路图3.3.2 时钟钟电路时钟电路路中使用用的122M晶振振,为单单片机提提供系统统时钟。(3)复位位电路 图3.3.3 复复位电路路复位电路路是单片片机能上上电复位位,当程程序混乱乱跑飞时时可

20、以通通过按键键手动复复位。(4)按键键电路 图3.3.4 按按键电路路按键电路路可以通通过按键键来模拟拟汽车的的转弯、刹刹车、应应急等各各种状态态,控制制LEDD和液晶晶屏的显显示。(5)发光光二极管管显示电电路 图3.3.5 发发光二极极管显示示电路发光二极极管可以以模拟汽汽车车灯灯,显示示各种控控制信号号的效果果。(6)液晶晶屏显示示电路 图3.3.6 液液晶屏显显示电路路液晶屏显示示电路可可以直观观的显示示出汽车车的行进进状态,增增加尾灯灯系统的的可视性性。 (7) 串口电电路 为了了使单片片机内的的电平与与计算机机的电平平一样需需要利用用电平转转换,MMAX2232芯芯片是专专为RSS

21、2322标准串串口设计计的单电电源点平平转换芯芯片。其其特点如如下:1)符合所所有的RRS2332技术术标准;2)只需要要单一 +5VV电源供供电;3)片载电电荷泵具具有升压压、电压压极性反反转能力力,能够够产生+10VV和-110V电电压;4)功耗低低,典型型供电电电流5mmA;5)内部集集成2个个RS-2322C驱动动器;6)高集成成度,片片外最低低只需44个电容容即可工工作;7)连接方方式如图图5所示示。 图5串串口连接接3.4 硬硬件电路路总原理理图图3.4.1 总总原理图图硬件总原原理分解解如3.3.113.3.66各图所所示,完完整的实实现了汽汽车尾灯灯的控制制,用按按键模拟拟控制

22、信信号,用用发光二二极管和和液晶屏屏显示状状态,达达到所有有指标。3.5 硬硬件设计计原理及及状态图图本次由按键键作为控控制信号号,发光光二极管管模拟汽汽车尾灯灯,状态态表如下下所示:驾驶操作输出信号LED1LED2 LED3LED4LED5LED6LED7LED8左转灭灭闪烁灭灭灭灭 灭右转灭灭灭闪烁灭灭灭灭刹车亮亮亮亮亮亮亮亮正常行驶亮亮灭灭亮亮灭灭夜间行驶亮亮灭灭灭灭亮亮倒车行驶灭灭灭灭亮亮亮亮本次课题题主要以以STCC89CC52RRC为核核心展开开的汽车车尾灯控控制器,通通过原理理仿真以以及实物物制作,完完整的实实现了汽汽车尾灯灯智能化化控制的的效果,相相比以前前用数字字逻辑电电路原

23、理理打成的的汽车尾尾灯更方方便、更更简单。制制作出的的实物板板有6个个控制状状态的按按键,可可以搭配配起来控控制6种汽车车的行驶驶状态,完完美的模模拟了汽汽车尾灯灯控制系系统,完完成本次次课题的的全部指指标。四程序流流程4.1下位位机软件件程序4.1.11 键盘盘扫程序序设计流程图图键扫程序的的过程为为:开始始时,先先判断是是否有键键闭合,无无键闭合合时,返返回继续续判断,有有键闭合合时,先先去抖动动,然后后确定是是否有键键按下,若若无键按按下,则则返回继继续判断断是否有有键闭合合,若有有键按下下,则判判断键号号,然后后释放,若若释放按按键完毕毕,则返返回,若若没有释释放按键键,则返返回继续续

24、释放。其其流程图图如图所所示。软件设计思思路,程程序开始始后进入入初始化化,然后后扫描键键盘等待待有键按按下。如如果没有有键按下下则一直直扫描,如如果有键键按下,则则判断是是哪个键键,如果果为1键键,则正正常行驶驶;为22键,则则右转;为3键键,则左左车;为为4键,则则应急状状态;为为5键,则则倒车行行驶;为为6键,则则夜间行行驶。YYN开始有键闭合否?去抖动确有键按下判断按键释放LED状态返回YNYN图4.3.1 软软件流程程图4.2.11 显显示程序序设计流流程图NNYN是否返回 LCD初始化显示汉ACSII码显示开始显示字符相应功能设置送地址送数据NN相应功能设置送行地址和列地址送数据是

25、否YY图 4.22.1 显示程程序流程程图显示程序的的过程为为:显示示开始时时,先进进行LCCD的初初始化,判判断是否否显示汉汉字或AACSIII码或或图形,若若不显示示,则返返回,若若显示的的是汉字字或ACCSIII码,则则进行相相应功能能的设置置,然后后送地址址和数据据,再判判断是否否显示完完,显示示完则返返回,没没有显示示完则继继续送地地址,若若显示的的是图形形,则先先进行相相应功能能的设置置,再送送行地址址和列地地址,然然后送数数据,最最后判断断是否显显示完,显显示完则则返回,没没有显示示完则继继续送行行地址和和列地址址。其流流程图如如图7所所示。(1)在编编写液晶晶屏的显显示程序序时

26、,发发现液晶晶屏只能能瞬间的的显示状状态,而而不能保保持,因因此在液液晶显示示程序后后要加上上一个延延时,使使液晶屏屏能够保保持状态态;(2)要要使发光光二极管管闪烁可可以通过过指令让让其取反反,但是是在编写写程序时时,只能能取反一一次,一一次可以以使用一一个whhilee函数,当当没有按按键时候候发光二二极管一一直取反反,且在在程序里里加上适适当的延延时;(3)在在使发光光二极管管闪烁时时,如果果前一个个状态中中正在使使用改二二极管,则则切换状状态后,每每个灯管管的闪烁烁时间不不同步,因因此在让让其闪烁烁之前先先令所有有二极管管保持同同一个状状态;4.2 VVB上位位机界面面设计4.2.11

27、设计方方案原理理与设计计特点分分析(1)IOO控制系系统原理理框图: 单片机 上位机控制软件 单片机 上位机控制软件 发送数数据 将将PC机机和单片片机通过过RS2232连连接,通通过上位位机软件件可以向向单片机机发送数数据来测测试两者者的通讯讯状态,同同时单片片机也可可以向上上位机软软件返回回数据,以以显示当当前通信信状态是是否正常常。以及及用上位位机软件件控制单单片机上上的指示示灯工作作。从而而实现简简单的IIO控制制系统。(2)上位位机软件件(3)通信信协议本通信系统统使用了了一个简简单的通通信协议议,就是是每当向向单片机机发送一一个特定定字符串串时,单单片机在在接收到到字符串串时会向向

28、上位机机软件反反馈一条条信息,来来表明上上位机软软件和硬硬件是否否正常通通信,制制定通信信协议时时需要指指定端口口号,关关键代码码如下: MMSCoomm11.CoommPPortt = “ ” MMSCoomm11.InnputtModde = “ ” MMSCoomm11.RTThreeshoold = “ ” MMSCoomm11.STThreeshoold = “ ” MMSCoomm11.Seettiingss = MMSCoomm11.PoortOOpenn = “ ” VBB上位机机界面通过过协议控控制车灯灯的智能能开关。五仿真图图实物调调试5.1仿真真图5.2实物物图6 课设设

29、总结本次的课设设作品的的主要元元件为SSTC889C552RCC,在其其控制下下保证了了系统的的正常工工作,达达到模拟拟汽车尾尾灯控制制的效果果,实现现汽车尾尾灯的智智能化控控制。两周的课程程设计,相相较于之之前所选选修的各各种实验验课程,此此次更增增加了自自己的动动手实践践能力。理理论与实实践还是是有一定定的差距距的,在在理论上上不管多多精确的的数据,一一旦用于于实际中中,就不不得不考考虑其仪仪器,器器件的误误差,以以及自己己操作上上的能力力。而且,在课课设过程程中添加加了自己己的思考考,该选选择怎样样的电阻阻、电容,想想要修改改最后的的输出,应应该在什什么地方方做改变变。虽然然是一些些很基

30、础础的东西西,但仅仅仅是书书上的理理论学习习,会让让人对知知识遗忘忘得比较较快,相相反,通通过自己己动手实实践过的的东西,会会更加记记忆深刻刻。看着着自己成成功制作作出来的的电路板板觉得很很有成就就感。通过这次课课设教我我还学会很很多关于于电子产产品知识识。进一一步的认认识了我我们现实实生活电电子产品品,了解解和掌握握了一些些简单电电子元件件的运用用,大大大的扩展展了我们们的知识识面。提提高了自自己以后后在学习习 生活中中自己动动手能力力。给我我们很大大的启发发,很有有助于我我们将来来的学习习生活和和工作。在在查阅资资料中,获获得了许许多额外外的知识识,开拓拓视野。在在原理图图的设计计、使用用

31、prooteuus仿真真、使用用Alttiumm绘制、实实物的制制作、板板子调试试等整个个过程中中加强了了我们分析问问题和解解决问题题的能力力,深刻刻体味到到实践是是检验真真理的唯唯一标准准这一道道理。总总而言之之,这次次课设,让让我们受益匪匪浅。 参考文献献1李广广弟,朱朱月秀,王王秀山.单片机机基础M.北京:航空航航天大学学出版社社,20000.2康华华光,陈陈大钦.电子技技术基础础模拟部部分MM.武武汉:高高等教育育出版社社,19998.3谢自自美.电电子线路路设计实验测试(第第二版).武汉:华中理理工出版版社,220000.4戴佳佳.511单片机机C 语语言应用用程序设设计实例例精讲M

32、.电子工工业出版版社,220066.5徐爱爱钧,彭彭秀华。KKeill Cxx51 V7.0单片片机高级级语言编编程与Vissionn2应用用实践M.北京:电子工工业出版版社,220066.附录一单片机源程程序:#inclludee #inclludee #defiine uchhar unssignned chaar#defiine uniit uunsiigneed iintsbit KEYY1=PP100;sbit KEYY2=PP111;sbit KEYY3=PP122;sbit KEYY4=PP133;sbit KEYY5=PP144;sbit KEYY6=PP155;sbit LE

33、DD1=PP200;sbit LEDD2=PP211;sbit LEDD3=PP222;sbit LEDD4=PP233;sbit LEDD5=PP244;sbit LEDD6=PP255;sbit LEDD7=PP266;sbit LEDD8=PP277;sbit LCDD_RSS = P34; sbit LCDD_RWW = P35;sbit LCDD_ENN = P36; void dellay(uniit tt);void dellay11(innt mms);#defiine dellayNNOP(); _nnop_();_noop_();_nopp_();_nnop_();void

34、 dellay(uniit tt)/延时时程序; unitt i,j;for(ii=0;itt;i+)for(jj=0;j1120;j+);/*/void dellay11(innt mms) unsiigneed ccharr y; whiile(ms) forr(y = 00; yy2550; y+) _nnop_(); _nnop_(); _nnop_(); _nnop_(); ucharr coode cddis11 = Daay ttimee;ucharr coode cddis22 = sstopp;ucharr coode cddis33 = lleftt;ucharr cood

35、e cddis44 = rrighht;ucharr coode cddis55 = AAsteern;ucharr coode cddis66 = nnighht;ucharr coode cddis77 = happpy eveery dayy;/uchhar codde cdiis111 = Daay ttimee;/uchhar codde cdiis211 = sstopp;/uchhar codde cdiis311 = lleftt;/uchhar codde cdiis411 = rrighht;/uchhar codde cdiis511 = AAsteern;/uchhar

36、 codde cdiis611 = nnighht;ucharr coode cddis771 = My Coontrrol ;/*/* */*检查LLCD忙忙状态 */*lcdd_buusy为为1时,忙忙,等待待。lccd-bbusyy为0时时,闲,可可写指令令与数据据。 */* */*/ bit llcd_bussy() bbit ressultt; LLCD_RS = 00; LLCD_RW = 11; LLCD_EN = 11; ddelaayNOOP(); rresuult = (bitt)(PP0&00 x800); LLCD_EN = 00; rretuurn(ressultt)

37、; /*/* */*写指令令数据到到LCDD */*RS=L,RRW=LL,E=高脉冲冲,D00-D77=指令令码。 */* */*/void lcdd_wccmd(uchhar cmdd) whhilee(lccd_bbusyy(); LLCD_RS = 00; LLCD_RW = 00; LLCD_EN = 00; _nopp_(); _nopp_(); PP0 = cmmd; ddelaayNOOP(); LLCD_EN = 11; ddelaayNOOP(); LLCD_EN = 00; /*/* */*写显示示数据到到LCDD */*RS=H,RRW=LL,E=高脉冲冲,D00-D7

38、7=数据据。 */* */*/void lcdd_wddat(uchhar datt) whhilee(lccd_bbusyy(); LLCD_RS = 11; LLCD_RW = 00; LLCD_EN = 00; PP0 = daat; ddelaayNOOP(); LLCD_EN = 11; ddelaayNOOP(); LLCD_EN = 00; /*/* */* LLCD初初始化设设定 */* */*/void lcdd_innit() ddelaay1(15); llcd_wcmmd(00 x388); /166*2显显示,55*7点点阵,88位数据据 ddelaay1(5); l

39、lcd_wcmmd(00 x388); ddelaay1(5); llcd_wcmmd(00 x388); ddelaay1(5); llcd_wcmmd(00 x0cc); /显示示开,关关光标 ddelaay1(5); llcd_wcmmd(00 x066); /移动动光标 ddelaay1(5); llcd_wcmmd(00 x011); /清除除LCDD的显示示内容 ddelaay1(5);/*/* */* 设设定显示示位置 */* */*/void lcdd_poos(uuchaar ppos) lcdd_wccmd(poss | 0 x880); /数据据指针=80+地址变变量/*

40、/void iniitUAART(voiid) /串口口必须作作以下初初始化,才才能正常常工作。 TMODD=0 xx20; /MM1=11,M00=0 定时器器1工作作方式22(定时时常数重重装,88 位) SCONN=0 xx50; /SSM0=0,SSM1=1,RREN=1 串串口工作作方式11,允许许接收 TH1=0 xffd; /晶晶振111.05592时时,波特特率96600 TL1=0 xffd; /TL11计数,溢溢出后,TTH1值值送入TTL1EA=1; /开总总中断 ES=11; /允允许串口口中断 TR1=1; /启启动定时时器1 void maiin(vvoidd) u

41、chaar mm; P1=0 xx00;P2=0 xxff;P0=0; deelayy1(110); /延延时 llcd_iniit(); /初始始化LCCD llcd_poss(0); /设置置显示位位置为第第一行的的第1个个字符 ffor(m=00;m16;m+) llcd_wdaat(ccdiss7mm); iniitUAART(); / lccd_ppos(0 x440); /设置显显示位置置为第二二行第11个字符符 / foor(mm=0;m116;mm+) / lccd_wwdatt(cddis22m); whille(11) llcd_poss(0); /设置置显示位位置为第第一

42、行的的第1个个字符 ffor(m=00;m16;m+) llcd_wdaat(ccdiss7mm); /白天天正常行行驶指示示灯全灭灭 if(KEEY1=1)delayy(100);if(KEEY1=1) P22=0 xxff; lccd_ppos(0 x440); foor(mm=0;m116;mm+) lccd_wwdatt(cddis11m);/汽车右右转 ;亮并且且闪if(KEEY2=1) dellay(10); if(KKEY22=11) P2=0 xfff; whiile(1) LEDD3=LEDD3; dellay(1000); lcdd_poos(00 x400); forr(

43、m=0;mm166;m+) lcdd_wddat(cdiis4m); if(KEYY4=1|KEYY3=1|KEYY1=1|KEYY5=1|KEYY6=1) breeak; /汽车车左转 ;亮并并且闪if(KEEY3=1) deelayy(100);if(KEEY3=1) P22=0 xxff;whilee(1) LEDD4=LEDD4; deelayy(1000); lccd_ppos(0 x440); foor(mm=0;m116;mm+) lccd_wwdatt(cddis33m); iff(KEEY4=1|KEEY2=1|KEEY1=1|KEEY5=1|KEEY6=1) breeak;

44、 /汽车临临时刹车车全部亮亮if(KEEY4=1) deelayy(100);if(KEEY4=1) P22=0 xx00; lccd_ppos(0 x440); foor(mm=0;m116;mm+) lccd_wwdatt(cddis22m); /汽车倒倒车;中中间四个个灯亮if(KEEY5=1) deelayy(100);if(KEEY5=1) P2=0 xfff; dellay(1); LEDD5=00; LEDD6=00; LEDD7=00; LEDD8=00;LED11=0;LED22=0; lcdd_poos(00 x400); forr(m=0;mm166;m+) lcdd_w

45、ddat(cdiis5m); /汽汽车夜间间行驶车车前灯全全亮。尾尾灯两边边的中间间 灯亮亮 if(KKEY66=11) deelayy(100);if(KEEY6=1) P2=0 xfff; dellay(1); LEDD1=00; LEDD2=00; LEDD5=00; LEDD6=00; lcdd_poos(00 x400); forr(m=0;mm166;m+) lcdd_wddat(cdiis6m); voidd UAARTiinteerruupt(voiid) intterrruptt 4 uuchaar mm; llcd_poss(0); /设置置显示位位置为第第一行的的第1个个

46、字符 ffor(m=00;m16;m+) llcd_wdaat(ccdiss71m);if(RII) RRI=00; whille(11) if (SSBUFF=1) /单引号号内表示示ASCCII码码 /白天天正常行行驶指示示灯全灭灭 P22=0 xxff; lccd_ppos(0 x440); foor(mm=0;m116;mm+) lccd_wwdatt(cddis11m); iff(SBBUF=22|SBUUF=3|SSBUFF=4|SBBUF=55|SBUUF=6 |KEYY4=1|KEYY3=1|KEYY1=1|KEYY5=1|KEYY6=1|KEYY2=1 ) brreakk;

47、else if(SBUUF =22) /汽车右右转 ;亮并且且闪 if(SBUUF=1|SSBUFF=3|SBBUF=44|SBUUF=5|SSBUFF=6|KEEY4=1|KEEY3=1|KEEY1=1|KEEY5=1|KEEY6=1|KEEY2=1) wwhille(11); PP2=00 xfff; ddelaay(1100); PP2=00 xfbb;delaay(1100); lcd_poss(0 xx40); ffor(m=00;m16;m+) llcd_wdaat(ccdiss4mm); /brreakk; bbreaak; else if(SBUUF =33) /汽车左左转 ;

48、亮并且且闪 if(SBUUF=1|SSBUFF=2|SBBUF=44|SBUUF=5|SSBUFF=6|KEEY4=1|KEEY3=1|KEEY1=1|KEEY5=1|KEEY6=1|KEEY2=1) wwhille(11); PP2=00 xfff; ddelaay(1100); PP2=00 xf77;delaay(1100); lcd_poss(0 xx40); ffor(m=00;m16;m+) llcd_wdaat(ccdiss3mm); /brreakk; bbreaak; elsee iff(SBBUF=44) /汽汽车临时时刹车全全部亮 PP2=00 x000;lcd_poss

49、(0 xx40); ffor(m=00;m16;m+)lcd_wdaat(ccdiss2mm);if(SSBUFF=1|SBBUF=33|SBUUF=2|SSBUFF=5|SBBUF=66|KEYY4=1|KEYY3=1|KEYY1=1|KEYY5=1|KEYY6=1|KEYY2=1 ) brreakk; elsee iff(SBBUF=55) /汽汽车倒车车;中间间四个灯灯亮 PP2=00 xfff;delaay(11); LLED55=0; LLED66=0; LLED77=0; LLED88=0;LED11=0;LED22=0; llcd_poss(0 xx40); ffor(m=00;

50、m16;m+)lcd_wdaat(ccdiss5mm); iif(SSBUFF=1|SBBUF=33|SBUUF=4|SSBUFF=2|SBBUF=66|KEYY4=1|KEYY3=1|KEYY1=1|KEYY5=1|KEYY6=1|KEYY2=1 ) brreakk; else if(SBUUF=6)/汽汽车夜间间行驶车车前灯全全亮。尾尾灯两边边的中间间 灯亮亮 P22=0 xxff; deelayy(1); LEED1=0; LEED2=0; LEED5=0; LEED6=0; lccd_ppos(0 x440); foor(mm=0;m116;mm+) lccd_wwdatt(cddis

51、66m); iff(SBBUF=11|SBUUF=3|SSBUFF=4|SBBUF=55|SBUUF=2|KKEY44=11|KKEY33=11|KKEY11=11|KKEY55=11|KKEY66=11|KKEY22=11 ) brreakk; eelsee TI = 00;Vb上位机机程序 Privaate Subb Chheckk3_CClicck()If MSSCommm1.PorrtOppen = TTruee Thhen Iff Chheckk3.VValuue = 1 Theen Chheckk1.CCapttionn = 尾灯灯控制 Ellse Chheckk3.CCaptti

52、onn = 按键键控制 End IIfElseMsgBoox 请打开开串口End IIfEnd SSubPrivaate Subb Coommaand11_Cllickk() MSCoomm11.Ouutpuut = 11 Cheeck11.Vaaluee = 0 Checck2.Vallue = 00 Shappe2.FilllCoolorr = vbRRed Shappe3.FilllCoolorr = vbBBlacck Shappe4.FilllCoolorr = vbBBlacck Shappe5.FilllCoolorr = vbBBlacck Shappe6.FilllCoolo

53、rr = vbBBlacck Shappe7.FilllCoolorr = vbBBlacckEnd SSubPrivaate Subb Coommaand110_CClicck()EndEnd SSubPrivaate Subb Coommaand22_Cllickk() MSCoomm11.Ouutpuut = 66 Checck1.Vallue = 00 Checck2.Vallue = 00 Shappe7.FilllCoolorr = vbRRed Shappe3.FilllCoolorr = vbBBlacck Shappe4.FilllCoolorr = vbBBlacck Sh

54、appe5.FilllCoolorr = vbBBlacck Shappe6.FilllCoolorr = vbBBlacck Shappe2.FilllCoolorr = vbBBlacck End SSubPrivaate Subb Coommaand33_Cllickk()Checkk1.VValuue = 1 Checck2.Vallue = 00Shapee3.FFilllCollor = vvbReedShapee2.FFilllCollor = vvbBllackk Shappe4.FilllCoolorr = vbBBlacck Shappe5.FilllCoolorr = vbBBlacck Shappe6.FilllCoolorr = vbBBlacck Shappe7.FilllCoolorr = vbBBlacckEnd SSubPrivaate Subb Coommaand44_Cllickk()Checkk2.VValuue = 1Checkk1.VValuue = 0 MSCCommm1.OOutpput = 2Shapee4.FFilllCollor = vvbReedShapee3.FFilllCollor = vvbBllackk Shappe2.FilllCoo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论