基于单片机汽车尾灯控制毕业设计论文_第1页
基于单片机汽车尾灯控制毕业设计论文_第2页
基于单片机汽车尾灯控制毕业设计论文_第3页
基于单片机汽车尾灯控制毕业设计论文_第4页
基于单片机汽车尾灯控制毕业设计论文_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

1、毕业设计说明书(论文)题 目基于单片机汽车尾灯控制助 学 点 : 湖南电子科技职业学院 专 业: 电子信息工程 学 生 姓 名: 考 籍 号: 指导教师姓名: 职称 最终评定成绩 长沙学院毕业设计(论文)基于单片机汽车尾灯控制助 学 点:湖南电子科技职业学院专 业: 电子信息工程 考 籍 号: 学生姓名: 指导教师: 副教授 2012 年 10 月毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得

2、 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 摘 要本次的课题是基于单片机的汽车尾灯控制器,该设计课题主要由at89s52单片机为核

3、心展开的汽车尾灯控制电路的设计方法,用发光二极管模拟汽车尾灯,按键开关作为转弯等控制信号。通过设计汽车尾灯显示控制电路,能很好的综合运用我们所学习到的单片机、c语言、模拟电路等知识,熟悉电子电路设计的基本方法。在实际应用中有很多种方法来实现汽车尾灯的控制,但此次以单片机为核心的控制电路体现出电路简单、制作方便、容易操作、可反复擦写、性能可靠等特点。关键词:at89s52;发光二极管;单片机;c语言;汽车尾灯; abstractthis task is to design a car tail light controller depend onmcu, it mainly constitute

4、d by at89s52 then become a car taillight control circuit, using led simulation the car taillight, using the button turn as the control signal. through the design of a cartaillight control circuit, the use of well integrated single chip、c language、analog circuit, become familiar with the basic method

5、of electronic circuit design. key words:at89s52;light emitting diode; mcu; c language;taillight; 目 录引言11 设计任务11.1 任务说明11.2 任务分析12 设计方案选择及论证22.1 方案一:采用555定时器等构成的汽车尾灯电路22.2 方案二:由at89s52及其外围电路构成的汽车尾灯控制器22.3 方案比较和选择22.4 系统框图的绘制33 系统硬件原理介绍43.1 单片机at89s52介绍43.2 lcd1602液晶屏介绍83.3系统结构原理图、器件选择93.4 硬件电路总原理图123

6、.5 设计原理及状态图133.6 电路仿真图143.7 本次课题的结果及结论154 组装调试154.1 制作所需元件154.2硬件制作与调试中遇到的问题及解决方法154.3 软件工作原理164.4 软件调试时遇到的问题及解决方法174.5 实物图185 课设总结20谢 辞21参考文献22附录一23附录二24附录三25附录四26引言汽车作为现代交通工具已经大量进入人们的生活,随着电子技术的发展,对于汽车的控制电路也已经从过去的全人工开关控制发展到了智能化的控制。汽车尾灯控制器是随着汽车智能化技术的发展而迅速发展起来的,汽车尾灯一般基于微处理器的硬件电路结构构成,而正因为硬件电路的局限性,不能随意

7、的更改电路的功能和性能,且可靠性得不到保证,因此对汽车尾灯控制系统的发展带来局限性,难以满足现代智能化的要求。本次的设计是基于单片机的汽车尾灯控制器,用发光二极管模拟汽车尾灯,用按键开关作为汽车转弯等控制信号,实现汽车尾灯的智能化控制。1 设计任务1.1 任务说明 本次课题主要是以at89s52为核心的单片机控制电路,它主要模拟了汽车尾灯系统的转弯、刹车、应急、夜间行驶等状态下的发光情况,实现了汽车尾灯控制的智能化。1.2 任务分析设计一个基于单片机的汽车尾灯控制器,其具体指标要求如下:1)用发光二极管模拟汽车尾灯,按键开关作为转弯控制信号;2)按键选择左转弯,相应左尾灯闪烁;选择右转弯,右尾

8、灯闪烁;3)按下双跳灯开关时,尾灯同时明、暗闪烁;4)可显示行进状态;5)可通过串口连接pc(发挥部分);2 设计方案选择及论证2.1 方案一:采用555定时器等构成的汽车尾灯电路采用译码器74ls138、计数器74ls161、脉冲产生器555、开光控制电路、显示驱动电路、发光二极管以及各种逻辑元件等构成的汽车尾灯控制电路。由于汽车左右转弯时,四个指示灯循环点亮,所以用四进制计数器控制译码器电路顺序输出低电平,从而控制尾灯按要求点亮,达到模拟汽车转弯、刹车、正常行驶等状态。由于行车时都是开关控制,所以每一个开关都应该有一个消除机械振动的装置,可以用基本sr触发器来实现。2.2 方案二:由at8

9、9s52及其外围电路构成的汽车尾灯控制器 at89s52 是一种低功耗、高性能cmos8位微控制器,具有 8k 在系统可编程flash 存储器。本次单片机的控制系统以at89s52为控制器,键盘为输入信号,由于at89s52本身的功能强大,汽车转弯灯的驱动用单片机的驱动功能来完成。使得单片机的功能得到了充分的运用;并且显示电路从并行i/o口输出,由限流电阻和发光二极管组成,低电平使发光二极管导通,显示出相应的信号灯亮灭情况,实现了左转、右转、刹车、应急灯多种状态下的控制效果。2.3 方案比较和选择方案一中,要使用多种控制电路,实现的方法繁杂且不灵活,成本高,搭建好电路后调试起来不方便,不可以任

10、意定义各种状态,电路的可靠性以及可扩展性不高,且与本次课题所要求运用的知识相悖,因此不宜使用此方案。方案二中,以单片机为核心,而单片机的编程比较直接,且可重复擦除修改,硬件电路搭建方便简单。搭建好电路后通过at89s52来编写程序,控制led的亮灭,大大的简化了系统结构,降低材料的成本,提高系统的先进性和可靠性,能实现控制器的智能化。由于采用此种方法开发的系统其升级和改进较为方便,因此本次课题选用方案二。2.4 系统框图的绘制at89s52电源电路发 光 二 极管 显 示 电路时钟电路液 晶 屏 显示 电 路复位电路按键电路图2.4.1 系统结构框图整个系统包括电源电路、时钟电路、复位电路、按

11、键电路、发光二极管显示电路、液晶屏显示电路、单片机等。其中主要由按键电路发出控制信号,由显示电路显示信号的具体状态。3 系统硬件原理介绍3.1 单片机at89s52介绍图3.1.1at89s52引脚图(1)at89s52主要功能列举如下:1、拥有灵巧的8位cpu和在系统可编程flash2、晶片内部具时钟振荡器(传统最高工作频率可至 12mhz)3、内部程序存储器(rom)为 8kb4、内部数据存储器(ram)为 256字节5、32 个可编程i/o 口线6、8 个中断向量源7、三个 16 位定时器/计数器8、三级加密程序存储器9、全双工uart串行通道(2)at89s52各引脚功能介绍:1、vc

12、c:at89s52电源正端输入,接+5v。2、vss:电源地端。3、xtal1:单芯片系统时钟的反相放大器输入端。4、xtal2:系统时钟的反相放大器输出端,一般在设计上只要在 xtal1 和 xtal2 上接上一只石英振荡晶体系统就可以动作了,此外可以在两引脚与地之间加入一 20pf 的小电容,可以使系统更稳定,避免噪声干扰而死机。5、reset:at89s52的重置引脚,高电平动作,当要对晶片重置时,只要对此引脚电平提升至高电平并保持两个机器周期以上的时间,at89s51便能完成系统重置的各项动作,使得内部特殊功能寄存器之内容均被设成已知状态,并且至地址0000h处开始读入程序代码而执行程

13、序。6、ea/vpp:ea为英文external access的缩写,表示存取外部程序代码之意,低电平动作,也就是说当此引脚接低电平后,系统会取用外部的程序代码(存于外部eprom中)来执行程序。因此在8031及8032中,ea引脚必须接低电平,因为其内部无程序存储器空间。如果是使用 8751 内部程序空间时,此引脚要接成高电平。此外,在将程序代码烧录至8751内部eprom时,可以利用此引脚来输入21v的烧录高压(vpp)。7、ale/prog:ale是英文address latch enable的缩写,表示地址锁存器启用信号。at89s52可以利用这支引脚来触发外部的8位锁存器(如74ls

14、373),将端口0的地址总线(a0a7)锁进锁存器中,因为at89s52是以多工的方式送出地址及数据。平时在程序执行时ale引脚的输出频率约是系统工作频率的1/6,因此可以用来驱动其他周边晶片的时基输入。此外在烧录8751程序代码时,此引脚会被当成程序规划的特殊功能来使用。8、psen:此为program store enable的缩写,其意为程序储存启用,当8051被设成为读取外部程序代码工作模式时(ea=0),会送出此信号以便取得程序代码,通常这支脚是接到eprom的oe脚。at89s52可以利用psen及rd引脚分别启用存在外部的ram与eprom,使得数据存储器与程序存储器可以合并在一

15、起而共用64k的定址范围。9、port0(p0.0p0.7):端口0是一个8位宽的开路汲极(open drain)双向输出入端口,共有8个位,p0.0表示位0,p0.1表示位1,依此类推。其他三个i/o端口(p1、p2、p3)则不具有此电路组态,而是内部有一提升电路,p0在当做i/o用时可以推动8个ls的ttl负载。如果当ea引脚为低电平时(即取用外部程序代码或数据存储器),p0就以多工方式提供地址总线(a0a7)及数据总线(d0d7)。设计者必须外加一锁存器将端口0送出的地址栓锁住成为a0a7,再配合端口2所送出的a8a15合成一完整的16位地址总线,而定址到64k的外部存储器空间。10、p

16、ort2(p2.0p2.7):端口2是具有内部提升电路的双向i/o端口,每一个引脚可以推动4个ls的ttl负载,若将端口2的输出设为高电平时,此端口便能当成输入端口来使用。p2除了当做一般i/o端口使用外,若是在at89s52扩充外接程序存储器或数据存储器时,也提供地址总线的高字节a8a15,这个时候p2便不能当做i/o来使用了。11、port1(p1.0p1.7):端口1也是具有内部提升电路的双向i/o端口,其输出缓冲器可以推动4个ls ttl负载,同样地若将端口1的输出设为高电平,便是由此端口来输入数据。如果是使用8052或是8032的话,p1.0又当做定时器2的外部脉冲输入脚,而p1.1

17、可以有t2ex功能,可以做外部中断输入的触发脚位。12、port3(p3.0p3.7):端口3也具有内部提升电路的双向i/o端口,其输出缓冲器可以推动4个ttl负载,同时还多工具有其他的额外特殊功能,包括串行通信、外部中断控制、计时计数控制及外部数据存储器内容的读取或写入控制等功能。其引脚分配如下:p3.0:rxd,串行通信输入。p3.1:txd,串行通信输出。p3.2:int0,外部中断0输入。p3.3:int1,外部中断1输入。p3.4:t0,计时计数器0输入。p3.5:t1,计时计数器1输入。p3.6:wr:外部数据存储器的写入信号。p3.7:rd,外部数据存储器的读取信号。3.2 lc

18、d1602液晶屏介绍1602lcd主要技术参数:显示容量:162个字符芯片工作电压:4.55.5v工作电流:2.0ma(5.0v)模块最佳工作电压:5.0v字符尺寸:2.954.35(wh)mm引脚功能说明:1602lcd采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表10-13所示:编号符号引脚说明编号符号引脚说明1vss电源地9d2数据2vdd电源正极10d3数据3vl液晶显示偏压11d4数据4rs数据/命令选择12d5数据5r/w读/写选择13d6数据6e使能信号14d7数据7d0数据15bla背光源正极8d1数据16blk背光源负极表10-13:引脚接口说明表第1脚

19、:vss为地电源。第2脚:vdd接5v正电源。第3脚:vl为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10k的电位器调整对比度。第4脚:rs为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:r/w为读写信号线,高电平时进行读操作,低电平时进行写操作。当rs和r/w共同为低电平时可以写入指令或者显示地址,当rs为低电平r/w为高电平时可以读忙信号,当rs为高电平r/w为低电平时可以写入数据。第6脚:e端为使能端,当e端由高电平跳变成低电平时,液晶模块执行命令。第714脚:d0d7为8位双向数据线。第15脚:背

20、光源正极。第16脚:背光源负极。3.3 系统结构原理图、器件选择(1)电源电路图3.3.1 电源电路电源电路可以给单片机提供工作所需电源,有指示灯提示,灯亮时表示提供正常工作电压。(2)时钟电路图3.3.2 时钟电路时钟电路中使用的12m晶振,为单片机提供系统时钟。(3)复位电路图3.3.3 复位电路复位电路是单片机能上电复位,当程序混乱跑飞时可以通过按键手动复位。(4)按键电路图3.3.4 按键电路按键电路可以通过按键来模拟汽车的转弯、刹车、应急等各种状态,控制led和液晶屏的显示。(5)发光二极管显示电路图3.3.5 发光二极管显示电路发光二极管可以模拟汽车车灯,显示各种控制信号的效果。(

21、6)液晶屏显示电路图3.3.6 液晶屏显示电路液晶屏显示电路可以直观的显示出汽车的行进状态,增加尾灯系统的可视性。3.4 硬件电路总原理图图3.4.1 总原理图硬件总原理分解如3.3.13.3.6各图所示,完整的实现了汽车尾灯的控制,用按键模拟控制信号,用发光二极管和液晶屏显示状态,达到所有指标。3.5 设计原理及状态图本次由按键作为控制信号,发光二极管模拟汽车尾灯,液晶屏显示行进状态,状态表如下所示:驾驶操作输出信号左前灯左尾灯左夜灯右前灯右尾灯右夜灯刹车灯液晶屏左转闪烁闪烁灭灭灭灭灭turn left右转灭灭灭闪烁闪烁灭灭turn right刹车灭亮灭灭闪烁灭亮break应急闪烁闪烁灭闪烁

22、闪烁灭灭emergency白天正常行驶灭灭灭灭灭灭灭day normal drive夜间行驶灭灭亮灭灭亮灭night drive左转时刹车闪烁闪烁灭灭亮灭亮turn leftbreak右转时刹车灭亮灭闪烁闪烁灭亮turn rightbreak夜间左转闪烁闪烁亮灭灭亮灭night driveturn left夜间右转灭灭亮闪烁闪烁亮灭night driveturn right夜间刹车灭亮亮灭亮亮亮night drivebreak3.6 电路仿真图图3.6.1 仿真图此次仿真的结果,全部与图3.5.1的状态图相符合,完美的达到了汽车尾灯控制的需求和指标,进一步证明本次课题所绘的电路图基本正确且可以

23、使用,对于后期制作实物板奠下了理论基础。3.7 本次课题的结果及结论本次课题主要以at89s52为核心展开的汽车尾灯控制器,通过原理仿真以及实物制作,完整的实现了汽车尾灯智能化控制的效果,相比以前用数字逻辑电路原理打成的汽车尾灯更方便、更简单。制作出的实物板有6个控制状态的按键,可以搭配起来控制11种汽车的行驶状态,完美的模拟了汽车尾灯控制系统,完成本次课题的全部指标。4 组装调试4.1 制作所需元件单片机at89s52、按键、发光二极管、lcd1602、电阻、电容、12m晶振、10针的下载口底座、插针。4.2硬件制作与调试中遇到的问题及解决方法(1)在绘制pcb时,焊盘大小的设置与实际所需有

24、所偏差,因此在制版打孔的时候,元件插孔打得过小;(2)按键的实物一般为四个管脚,而pcb中的封装是两个管脚的,因此在绘制时要自己画封装;精密电位器封装的2、3焊盘颠倒,在绘制时要自己手动修改调整过来,以达到和实物符合;(3)由于元件较多,在绘制pcb图时不可能实现全部底层布线,因此适当的采用了跳线处理;(4)制作好电路板后,先不要急着上电工作,而是先用万用表检查接线是否完好,是否有断线,短路等情况。在检查中发现有断线,可以用焊锡补上。(5)插上芯片,上电烧入程序后,发现按键5不工作,然后用万用表连接单片机的25管脚与地,发现电压的显示正确,此时按键5也可以正常工作,因此在单片机的25管脚和40

25、管脚直接接了个大电阻后,按键5终于能正常工作;4.3 软件工作原理(1)软件流程图图4.3.1 软件流程图(2)软件设计思路 程序开始后进入初始化,然后扫描键盘等待有键按下。如果没有键按下则一直扫描,如果有键按下,则判断是哪个键,如果为1键,则左转;为2键,则右转;为3键则,则刹车;为4键,则应急状态;为5键,则回归白天正常行驶;为6键,则夜间行驶。其中还有组合状态,如左转时刹车、右转时刹车、夜间左转、夜间右转、夜间刹车,它们各对应不同的灯亮灭。判别按键执行相应程序后再检测按键,如果没有按键按下则保持原来状态,直到有按键按下为止。4.4 软件调试时遇到的问题及解决方法(1)在编写液晶屏的显示程

26、序时,发现液晶屏只能瞬间的显示状态,而不能保持,因此在液晶显示程序后要加上一个延时,使液晶屏能够保持状态;(2)要使发光二极管闪烁可以通过指令让其取反,但是在编写程序时,只能取反一次,一次可以使用一个while函数,当没有按键时候发光二极管一直取反,且在程序里加上适当的延时;(3)在使发光二极管闪烁时,如果前一个状态中正在使用改二极管,则切换状态后,每个灯管的闪烁时间不同步,因此在让其闪烁之前先令所有二极管保持同一个状态;本次课题所编源程序见附录四。4.5 实物图(1)图4.5.1 实物图正面(2)图4.5.2 实物图反面.5 课设总结本次的课设作品的主要元件为at89s52,在其控制下保证了

27、系统的正常工作,达到模拟汽车尾灯控制的效果,实现汽车尾灯的智能化控制。两周的课程设计,相较于之前所选修的各种实验课程,此次更增加了自己的动手实践能力。理论与实践还是有一定的差距的,在理论上不管多精确的数据,一旦用于实际中,就不得不考虑其仪器,器件的误差,以及自己操作上的能力。而且,在课设过程中添加了自己的思考,该选择怎样的电阻、电容,想要修改最后的输出,应该在什么地方做改变。虽然是一些很基础的东西,但仅仅是书上的理论学习,会让人对知识遗忘得比较快,相反,通过自己动手实践过的东西,会更加记忆深刻。看着自己成功制作出来的电路板觉得很有成就感。通过这次课设教我还学会很多关于电子产品知识。进一步的认识

28、了我们现实生活电子产品,了解和掌握了一些简单电子元件的运用,大大的扩展了我们的知识面。提高了自己以后在学习 生活中自己动手能力。给我们很大的启发,很有助于我们将来的学习生活和工作。在查阅资料中,获得了许多额外的知识,开拓视野。在原理图的设计、使用proteus仿真、使用protel绘制、实物的制作、板子调试等整个过程中加强了我分析问题和解决问题的能力,深刻体味到实践是检验真理的唯一标准这一道理。总而言之,这次课设,让我受益匪浅。谢 辞 本次课程设计在陈寿宏老师的悉心指导和严格要求下顺利完成,从原理图的设计到论文的完成过程,都离不开陈寿宏老师的正确指导,在我原理图的设计期间,陈老师为我提供了许多

29、专业知识上的指导和一些大胆的建议,如果离开陈寿宏老师的帮助和关怀,我不会这么顺利而全面的完成课程设计。在此,我向陈老师表示深深的谢意和崇高的敬意。在课设完成之际,我还要感谢八院科协给我提供溶板和砖孔的地点,并借此机会向在大学以来给予了我帮助和指导的所有老师表示由衷的谢意,感谢他们一直以来的辛勤栽培。各位任课老师认真负责,在他们的帮助和支持下,我能够很好的掌握和运用专业知识,并在这次课程设计中学以致用,顺利完成了这次的课程设计。同时,在板子的调试过程中,我还参考了有关书籍和论文,在这里一并向有关的作者表示谢意。我还要感谢周围的同学们,在课程设计这期间里,你们给了我很多启发和帮助,提出了许多宝贵的

30、意见和建议,对于你们的支持和帮助,在此我表示深深的感谢!参考文献1李广弟,朱月秀,王秀山.单片机基础m.北京:航空航天大学出版社,2000.2康华光,陈大钦.电子技术基础模拟部分m.武汉:高等教育出版社,1998.3谢自美.电子线路设计实验测试(第二版).武汉:华中理工出版社,2000.4戴佳.51单片机c 语言应用程序设计实例精讲m.电子工业出版社,2006.5徐爱钧,彭秀华。keil cx51 v7.0单片机高级语言编程与vision2应用实践m.北京:电子工业出版社,2006.附录一课程设计元器件清单示例学号:0800820416 姓名:马超 课题:基于单片机的汽车尾灯控制 序 号名 称

31、数 量单 价备 注1单片机at89s52129管脚的排阻13led灯84四脚按键75220电阻8610k电阻8712m赫兹晶振1830pf电容2910uf电解电容21010管脚底座111排针312杜邦线10131415合计附录二总电路设计原理图:附录三总电路设计pcb图附录四源程序: #include #define uint unsigned int #define uchar unsigned char #include /包含_nop_()函数定义的头文件/*- 变量定义-*/sbit p0_0=p00; /左前灯 sbit p0_1=p01; /左尾灯 sbit p0_2=p02; /

32、左夜灯 sbit p0_3=p03; /右前灯 sbit p0_4=p04; /右尾灯 sbit p0_5=p05; /右夜灯 sbit p0_6=p06; /刹车灯 sbit tl=p20; /左转turn letfsbit tr=p21; /右转turn rightsbit br=p22; /刹车breaksbit em=p23; /应急灯emergencysbit dnd=p24; /白天正常行驶day normal drivesbit nd=p25; /夜间行驶night drivesbit rs=p30; /寄存器选择位,将rs位定义为p2.0引脚sbit rw=p31; /读写选择

33、位,将rw位定义为p2.1引脚sbit e=p32; /使能信号位,将e位定义为p2.2引脚sbit bf=p17; /忙碌标志位,将bf位定义为p0.7引脚unsigned char code dis1 = turn letf;unsigned char code dis2 = turn right;unsigned char code dis3 = break;unsigned char code dis4 = emergency;unsigned char code dis5 = day normal drive;unsigned char code dis6 = night drive

34、;int a;int s;unsigned char i;/*函数功能:延时1ms(3j+2)*i=(333+2)10=1010(微秒),可以认为是1毫秒*/void delay1ms() unsigned char i,j; for(i=0;i10;i+) for(j=0;j33;j+) ; /*函数功能:延时若干毫秒入口参数:n*/ void delay(unsigned char n) unsigned char i;for(i=0;in;i+) delay1ms(); /*函数功能:判断液晶模块的忙碌状态返回值:result。result=1,忙碌;result=0,不忙*/ unsi

35、gned char busytest(void) bit result;rs=0; /根据规定,rs为低电平,rw为高电平时,可以读状态 rw=1; e=1; /e=1,才允许读写 _nop_(); /空操作 _nop_(); _nop_(); _nop_(); /空操作四个机器周期,给硬件反应时间 result=bf; /将忙碌标志电平赋给resulte=0; return result; /*函数功能:将模式设置指令或显示地址写入液晶模块入口参数:dictate*/void writeinstruction (unsigned char dictate) while(busytest()=

36、1); /如果忙就等待 rs=0; /根据规定,rs和r/w同时为低电平时,可以写入指令 rw=0; e=0; /e置低电平(根据表8-6,写指令时,e为高脉冲, / 就是让e从0到1发生正跳变,所以应先置0 _nop_(); _nop_(); /空操作两个机器周期,给硬件反应时间 p1=dictate; /将数据送入p0口,即写入指令或地址 _nop_(); _nop_(); _nop_(); _nop_(); /空操作四个机器周期,给硬件反应时间 e=1; /e置高电平 _nop_(); _nop_(); _nop_(); _nop_(); /空操作四个机器周期,给硬件反应时间 e=0;

37、/当e由高电平跳变成低电平时,液晶模块开始执行命令 /*函数功能:指定字符显示的实际地址入口参数:x*/ void writeaddress(unsigned char x) writeinstruction(x|0x80); /显示位置的确定方法规定为80h+地址码x因为写入显示地址时要求最高位d7恒定为高电平1所以实际写入的数据应该是01000000b(40h)+10000000b(80h)=11000000b(c0h) /*函数功能:将数据(字符的标准ascii码)写入液晶模块入口参数:y(为字符常量)*/ void writedata(unsigned char y) while(bu

38、sytest()=1); rs=1; /rs为高电平,rw为低电平时,可以写入数据 rw=0; e=0; /e置低电平(根据表8-6,写指令时,e为高脉冲, / 就是让e从0到1发生正跳变,所以应先置0 p1=y; /将数据送入p0口,即将数据写入液晶模块 _nop_(); _nop_(); _nop_(); _nop_(); /空操作四个机器周期,给硬件反应时间 e=1; /e置高电平 _nop_(); _nop_(); _nop_(); _nop_(); /空操作四个机器周期,给硬件反应时间 e=0; /当e由高电平跳变成低电平时,液晶模块开始执行命令 /*函数功能:对lcd的显示模式进行

39、初始化设置*/void lcdinitiate(void) delay(15); /延时15ms,首次写指令时应给lcd一段较长的反应时间 writeinstruction(0x38); /显示模式设置:162显示,57点阵,8位数据接口delay(5); /延时5mswriteinstruction(0x38);delay(5);writeinstruction(0x38);delay(5);writeinstruction(0x0f); /显示模式设置:显示开,有光标,光标闪烁delay(5);writeinstruction(0x06); /显示模式设置:光标右移,字符不移delay(5);writeinstructio

温馨提示

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

评论

0/150

提交评论