基于单片机的数控主直流稳压电源的设计(共30页).doc

上传人:飞****2 文档编号:12083292 上传时间:2022-04-23 格式:DOC 页数:30 大小:1.05MB
返回 下载 相关 举报
基于单片机的数控主直流稳压电源的设计(共30页).doc_第1页
第1页 / 共30页
基于单片机的数控主直流稳压电源的设计(共30页).doc_第2页
第2页 / 共30页
点击查看更多>>
资源描述

《基于单片机的数控主直流稳压电源的设计(共30页).doc》由会员分享,可在线阅读,更多相关《基于单片机的数控主直流稳压电源的设计(共30页).doc(30页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上专心-专注-专业毕 业 设 计 论 文基于单片机的数控直流稳压电源的设计指导老师姓名: 专 业 名 称: 应用电子技术班 级 学 号: 论文提交日期: 2016年12月 16日论文答辩日期: 2016年12月 17日摘要传统应用技术,由于功率器件性能的限制使开关电源性能的影响减至最小,为解决普通电源精度不高的问题,设计出性能优良的开关电源,十分必要。本文介绍一种以STC12C5A60S2单片机为核心的数控直流稳压电源的设计。该电路详细论述了本系统的总体结构、硬件和软件的设计。采用STC系列单片机作为整机的控制单元,通过改变输入数字量来改变输出电压值,经集成运放放大和射

2、极输出器输出,间接地改变输出电压的大小,设计出一种输出电压在 012V 之间并以0. 1V 为步进值,进行电压精确调整的数控直流稳压电源电路,并具有输出精度高和液晶显示直观等特点。关键词 STC;数控;稳压电源Abstract The traditional application technology due to power the performance of the devices limit switch power supply to minimize the influence of performance ,to solve the problem of normal powe

3、r supply s low accuracy,design the good performance of switch power, is necessary. This paper introduces a STC12C5A60S2 numerical control dc voltage stabilizer.Furthermore,the paper elaborates this system overall the structure,the hardware and the softwaredesignBased on STC12C5A60S2 series singlechi

4、p machine as the center, combined with digital reflect control technology, by changing the inside digital, via integrated operational and put some very output of output shot,change the voltage quality,in order to design a kind of output voltage in 0 12V and with 0.1 V for stepping value indirectly ,

5、to adjust the regulated power supply .At last outputs are amplified by operational amplifier and circuit emitter output,it will indirectly alters output voltageThis source supply has the advantages of high accuracy on output and Liquid crystal display visual characteristic Key Words STC; numericalco

6、ntrolled; voltage-stabilized source目录绪 论数控电源是从80年代才真正的发展起来的,期间系统的电力电子理论开始建立。这些理论为其后来的发展提供了一个良好的基础。在以后的一段时间里,数控电源技术有了长足的发展。但其产品存在数控程度达不到要求、分辨率不高、功率密度比较低、可靠性较差的缺点。因此数控电源主要的发展方向,是针对上述缺点不断加以改善。单片机技术及电压转换模块的出现为精确数控电源的发展提供了有利的条件。新的变换技术和控制理论的不断发展,各种类型专用集成电路、数字信号处理器件的研制应用,到90年代,己出现了数控精度达到0.05V的数控电源,功率密度达到每立

7、方英寸50W的数控电源。从组成上,数控电源可分成器件、主电路与控制等三部分。目前在电力电子器件方面,几乎都为旋纽开关调节电压,调节精度不高,而且经常跳变,使用麻烦数字化智能电源模块是针对传统智能电源模块的不足提出的,数字化能够减少生产过程中的不确定因素和人为参与的环节数,有效地解决电源模块中诸如可靠性、智能化和产品一致性等工程问题,极大地提高生产效率和产品的可维护性。电源采用数字控制,具有以下明显优点:1)易于采用先进的控制方法和智能控制策略,使电源模块的智能化程度更高,性能更完美。2)控制灵活,系统升级方便,甚至可以在线修改控制算法,而不必改动硬件线路。3)控制系统的可靠性提高,易于标准化,

8、可以针对不同的系统(或不同型号的产品),采用统一的控制板,而只是对控制软件做一些调整即可。4)系统维护方便,一旦出现故障,可以很方便地通过RS232接口或RS485接口或USB接口进行调试,故障查询,历史记录查询,故障诊断,软件修复,甚至控制参数的在线修改、调试; 5)系统的一致性好,成本低,生产制造方便。由于控制软件不像模拟器件那样存在差异,所以,其一致性很好。由于采用软件控制,控制板的体积将大大减小,生产成本下降。6)易组成高可靠性的多模块逆变电源并联运行系统。为了得到高性能的并联运行逆变电源系统,每个并联运行的逆变电源单元模块都采用全数字化控制,易于在模块之间更好地进行均流控制和通讯或者

9、在模块中实现复杂的均流控制算法(不需要通讯),从而实现高可靠性、高冗余度的逆变电源并联运行系统。第1章 概述1.1系统研究方向本系统研究的直流稳压电源主要是符合智能化、数字化以及模块化的特点。智能化主要是指系统有可编程模块可以对系统进行智能控制。数字化主要是指系统输出电压通过液晶显示,并且可以通过按键对输出电压进行连续步进数字化调节。模块化是指系统由各个相关模块组成,提高了系统的可靠性。1.2研究方法硬件电路的设计、制作,程序调试与性能测试采用STC12C5A60S2芯片作为控制器,P0口和DAC0832的数据口直接相连,DA的8脚接参考电压(UREF)。LM336集成电路是精密的5V稳压器,

10、其工作相当于一个低温度系数的、动态电阻为0.2的5V齐纳二极管,其中的微调端(G)可以使基准电压和温度系数的到微调。通过调节可调电阻调节LM336的输出电压为5.12V,所以在DAC的8脚输出电压的分辨率为5.12V/256=0.02V,也就是说DAC输入数据端每增加1,电压增加0.02。由于本电源输出电压为012V,则最大输入数据为120(对应的二进制为),DAC输出的值为2.4V,即输入数据在0之间变化,DA输出电压在02.4V(实际为0-2.4)之间变化。DAC输出的电压经集成运放倒相放大后,输出012V电压。为了满足输出电压的要求,应使集成运放的放大倍数为5倍。实际使用时,通过调整电位

11、器的值,来满足放倍数的要求。集成运放放大的电压经三极管构成射极跟随器放大,作为最终电压输出。1.3研究步骤电路的设计、制作,程序调试与性能测试。具体研究步骤如下:1、完成数控直流稳压电源的系统方案设计,利用protel画出原理图,再做成pcb板;2、制作数控直流稳压电源的硬件电路;3、编写程序,对系统进行调试;4、使用仪表对系统进行性能测试。1.4设计要求本系统结构选用STC单片机为控制核心,外加液晶显示和按键电路,由液晶显示,同时通过转换器转换为模拟电压与液晶显示值相比较。 1、液晶显示初始值06.0V; 2、实现步进为0.1V; 3、电压范围为012V;1.5显示电路方案选择液晶显示,单片

12、机系统利用液晶显示较数码管显示硬件电路比较简单无需驱动电路且显示比较稳定。数码管显示,利用数码管显示需要驱动电路这就需要很多三极管和电阻无形中增加了硬件电路的复杂性,不利于电路的调试以及电路不稳定。 综上所述选液晶显示电路1.6系统框图系统由各个模块组成,由各个模块组成的系统框图如图1.1所示。液晶显示按键电路单片机系统控制电源电路电压输出控 制D|A转换+5V15V输出放大电路图1.1 系统框图第2章 电路设计2.1基准电压电路设计LM336集成电路是精密的5V稳压器,其工作相当于一个低温度系数的、动态电阻为0.2的5V齐纳二极管,其中的微调端可以使基准电压和温度系数得到微调。通过调节可调电

13、阻调节LM336的输出电压为5.12V。图2.1 基准电路2.2显示电路设计如果采用数码管显示,其价格便宜,但是占用端口较多,功耗大、显示不功能不全。而用1602液晶显示,则占用端口少,显示功能较全面,驱动电流小。所以选择选择1602液晶显示。如图2.2所示。图2.2 LCD1602 显示电路 2.3按键电路设计本系统用两只按键KEY2、KEY3来实现“+”、“”步进控制,用一只按键KEYl实现电路复位清零6.0V。如图2.3所示。图2.3 按键部分2.4运放电路设计本系统的运放电路主要是通过芯片UA741来实现,UA741是普通的放大器通过联接D/A转换器(DAC0832)使其内部的电流转换

14、为模拟电压,这就完成了数字电压到模拟电压的转换,在其后面接级联运放UA741使转换的模拟电压放大到所需大小。电路最后接一个射随电路使输出电压更加稳定。此电路比较稳定原理简单,且都是常用芯片性价比较高。图2.4 运放电路2.5电源电路的设计本系统采用两种电源(主电源和辅助电源)供电,电源变压器带有中心抽头,经LM7915(稳压芯片 图a)、LM7815(输出三端稳压器 图b)得到大小相等、极性相反的士15 v,一路经LM7805得到+5 V电压:其中+15 V为主电源,通过变压器与桥式整流后,经过滤波,一路经LM7815得到+15V,作为射极输出器的电源;士15 V作为集成运放的电源;+5 V作

15、为单片机系统及显示电路电源用。如图2.4所示。图 图2.5电源电路第三章 主要器件介绍3.1 STC单片机STC12C5A60S2 STC12C5A60S2主要性能:(1)高速:1个时钟周期/机器周期,增强型8051内核,速度比普通8051快8到12倍;(2)工作频率:035MHZ,相当于普通8051:0420MHZ;(3)时钟:外部晶体或内部RC振荡器可选,在ISP下载编程用户程序时设置;(4)4个16位定时器,兼容普通8051的定时器T0/T1,2路实现2个定时器;(5)可编程时钟输出功能,T0在P3.4输出时钟,T1在P3.5时输出时钟,BRT在P1.0时输出时钟;(6)先进的指令集结构

16、,兼容普通8051指令集,有硬件乘法/除法指令;(7)每个I/O口驱动功能力均可达到20mA,但整个芯片最大不得超过55mA。 图3.1STC12C5A60S2STC12C5A60S2AT89C51的引脚功能VCC(40脚):供电电压。GND(20脚):接地。P0.0-P0.7(39-32):P0口为一个8位漏极开路双向I/O口,每脚可接收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1.0-P1.7(1-

17、8脚):P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2.0-P2.7(21-28脚):P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的

18、高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3.0-P3.7(10-17脚):P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚 备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.

19、3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST/VPP(9脚):复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG(30脚):当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用

20、作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN(29脚):外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP(31脚):当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内

21、部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1(19脚):反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2(18脚):来自反向振荡器的输出。振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。3.2 DAC0832 DAC0832是一种采样频率8位的D/A转换集成芯片,该芯片与单片机系统完全兼容。这个D/A转换芯

22、片具有价格低廉、接口简单、转换容易控制等优点,在单片机应用系统中得以广泛的应用。D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路和转换控制电路构成。如图3.2所示。图3.2(1)DAC0832的主要功能指标:(a)8位分辨率; (b)电流稳定时间仅1us; (c)可单缓冲、双缓冲或直接数据输入; (d)在满量程下可以调整线性度; (e)可单一电源供电; (f)低功耗为20mW。 (2)DAC0832引脚及功能介绍:(a)D0D7:8位数据输入线,TLL电平,有效时间大于90ns; (b)ILE:数据锁存允许控制信号输入线,高电平有效; (c)CS:片选信号输入线,低电平有效;

23、 (d)WR1:数据锁存器写选通信号输入线,负脉冲有效; (e)WR2:DAC寄存器写选通信号输入线,负脉冲有效; (f)IOUT1:电流输出端,当输入值为1时,Iout1最大; (g)IOUT2:电流输出端,其值与Iout1值之和为常数; (h)Rfb:反馈信号输入线,芯片内部有反馈电阻; (i)Vcc:电源输入端,工作电压范围为+5V+15V; (j)Vref:基准电压输入端,Vref的电压范围为-10V+10V; (k)AGND:模拟信号接地端,模拟信号和基准电源的参考接地;(l)DGND:数字信号接地端;(2)DAC0832输出的是电流,一般要求输出是电压,所以还必须经过一个外接的运算

24、放大器转换成电压。实验线路如图3.3所示。 图3.33.3 LCD1602 LCD1602 可以在LCD显示屏上完整显示32 个英文字符和日文等一些字符,适合显示英文文字信息量较小的地方。可以应用在计算器、频率计、信号发生器、时钟等产品显示上。引脚图如图2.3所示。LCD1602引脚(1)LCD1602主要技术参数:(a)显示容量:32字符;(b)芯片工作电压范围为4.5V5.5V;(c)正常工作电流2mA,不包括背光源电流;(d)模块最佳工作电压设置5V;(e)自带英文和日文字库,使用简便;(2)LCD1602引脚接口说明:(a)1脚:VSS为地电源;(b)2脚:VDD接5V正电源;(c)3

25、脚:V0为液晶显示器对比度调整端,接正电源时对比度较弱,接地电源时对比度较高,对比度过高时会产生阴影,使用时可以通过一个10K的滑动变阻器调整其对比度。(d)4脚:RS为寄存器选择端,高电平时选择数据寄存器、低电平时选择指令寄存器。(e)5脚:R/W为读写信号端,高电平时进行读操作,低电平时进行写操作。当RS和RW为低电平时可以写入指令或者显示地址。(f)6脚:E端为使能控制端,当E端由高电平变为低电平时,LCD就执行命令。3.4 键盘目前键盘电路常用的主要有两种,一种是独立式键盘电路,另一种是矩阵式键盘电路。独立式键盘电路是指直接用I/O口线构成的单个按键电路,每根I/O口线上按键的工作状态

26、不会影响其它I/O口线的工作状态。这种方式无论在硬件连接还是软件编译处理上都比较简单,直接选取输入键值,简单快捷,这种方式在I/O富余的情况下可以使用。矩阵式键盘电路是指按键设置在行列式交点上,行列线分别连接到按键开关的两端。当行线通过上拉电阻接+5V时,被钳位在高电平状态。键盘中有无按键按下是由列线送入全扫描字、行线读入行线状态来判断的。键盘中哪一个键按下可由列线逐列置低电平后,检查行输入状态来判断。独立式按键电路配置灵活,软件结构简单。在本课题中由于键盘数目较少,经过所查阅的参考资料经综合考虑最终决定采用独立式键盘,这样可以充分利用I/O口,简化软件编程,并且节省电路板面积。第4章 软件设

27、计4.1软件设计系统应用程序的结构可分为主程序和若干子程序,主程序主要完成:对内存中的工作参数进行初始化,显示系统初始状态;在有键入操作时读取键值,并跳转到相应功能的子程序中去。子程序包括:读键盘子程序、显示子程序等。4.2软件设计流程图当电源打开的时候,MCU进行复位,寄存器清零,输出电压为6 V,并在液晶上显示为6.0V。这时候程序循环检测是否有按键信号,如果KEY2按下,则输出电压增加01 V,液晶显示6.1V;如果KEY3按下,则输出电压减小01 V,液晶显示5.9V。若用户按KEYl,则复位清零,单片机返回初始状态,输出电压为6 V,并等待下一次按键。键盘扫描是否KEY2按下是否KE

28、Y3按下电压增加0.1V程序电压减少0.1V程序开始系统初始化把电压数据送到DAYYNN第5章 调试过程5.1调试步骤及解决方法1. 在硬件电路焊接完成后,调试电路,发现液晶没有显示0.6V,显示乱码,经检查发现D/A转换器与单片机连接错误,没有分清高低位;2. 依然不显示数据且芯片UA741发热,检查出UA741接错;3. 经调试,液晶显示0.6V,但不可以调步进,发现程序有误;4. 可调步进为0.1V,范围为012V,但不能复位;5. 满足设计所有要求,最终正常工作,用万用表测基准电压,黑表笔接地,红表笔接DAC0832的8脚,测得电压为5.12V;黑表笔接地,红表笔接电阻R100,测得D

29、/A转换后的电压为-1.2V;测得放大后的电压为6.0V。 5.2数据测量组数液晶显示:单位(伏)测量显示:单位(伏)106.006.0200.000.0306.106.1405.905.9505.005.0606.506.5707.007.1805.105.1903.003.2第6章 作品展示 基准电压5.12V 初始值6.0V 增加0.1V 减少0.1V结 论在本次设计的过程中,我发现很多的问题,给我的感觉就是很难,很不顺手,看似很简单的电路,要动手把它给设计出来,是很难的一件事,主要原因是我没有经常动手设计过电路,还有资料的查找也是一大难题,这就要求我在以后的学习中,应该注意到这一点,更

30、重要的是我要学会把从书本中学到的知识和实际的电路联系起来,这不论是对我以后就业还是学习,都会起到很大的促进和帮助,我相信,通过这次的毕业设计,在以后的学习中我会更加努力,力争把这专业学好,学精。同时,通过本次毕业设计,巩固了我学习过的专业知识,也使我把理论与实践从真正意义上相结合了起来;考验了我借助互联网络搜集、查阅相关文献资料和组织材料的综合能力;从中可以自我测验,认识到自己哪方面有欠缺、不足,以便于在日后的学习中得以改进、提高;通过使用电路CAD 软件 也让我了解到计算机辅助设计(CAD)的智能化,有利于提高工作效率。当确定了最终的设计方向以后,我就开始着手完善它的理论方案。根据设计方案的

31、内容我画出了具体的原理图,进行逻辑分析和理论计算,然后去电子市场根据设计要求购买了大量所需的原器件,准备好了设计所需的一切材料。在焊接问题上,我也出了很多问题。首先,你必须知道那个电路版哪几条线是通的,这样对布线和摆放都有好处。再者,焊接的时候,注意焊锡焊接的逻辑对不对,这里我犯了很多错误,比方说2个触点本来是不连的,但是不小心就会焊接起来,花了我很多时间找错误。有了这次难忘的经历,我觉得自己充实了许多,学到了很多东西,更重要的是我学会了如何协同合作,学会了遇到问题应该如何解决。这将在我以后的学习和工作中起着重要的作用。致 谢本设计是在崔玫老师的悉心指导下完成的。她具有严谨的治学态度,丰富的实

32、践经验,在学术及为人方面使我受益匪浅。衷心感谢她对我的关心指导和帮助。通过这次毕业设计,我把理论与实际联系起来,对平时所学的单片机和电子电路技术,将这些学科有机的联系起来,进行了本次设计。这次设计使我们将大学这几年所学的知识做了一次很好的总结,也使我们明白了学习不再是单一的学习,而是全面贯穿的去学习,去思考问题,这为我们以后的工作和学习提供了很好的思路和方法,也打下了坚实的基础。!在本次设计中,我同样碰到了好多的问题。老师在这些问题上,不是像答疑一样的帮助我们去解决问题,而是去引导我们,给我们一个思路,剩下的具体的工作都要自己去进行理解和设计,这让我们学会了自己去进行一定范围内的创作。同样,我

33、们在学科之间交叉上,存在不少的盲点,通过这次设计,我在这些学科都能进行联系,在遇到不懂的问题,也学会了自己去图书馆和网络上找资料,同样我查阅资料的能力也得到了很好的锻炼。借此机会特别向我的指导老师表达我最诚挚的谢意。鉴于我的水平有限,难免在设计中存在一些错误和不当之处,望老师批评指正,在此对大家表示衷心的感谢。参考文献1张友德等.单片微型机原理、应用与实验M. 上海:复旦大学出版社,2006,121802童诗白,华成英.模拟电子技术基础M. 北京:高等教育出版社,2001,200215.3尹建华,张惠群.微型计算机原理与接口技术M. 北京:高等教育出版社,2003,121200.4谭浩强,张基

34、温,唐永炎.C语言程序设计教程M. 北京:高等教育出版社,1992,163198.5赵文博,刘文涛.单片机程序设计M. 北京:人民邮电出版社,2005,25215.6刘文涛,单片机语言典型应用设计M. 北京:人民邮电出版社,2005,18312.7王增福,魏永明.新编线性直流稳压电源M. 北京:电子工业出版社,2004,100421.8Keith H.Billings,C.Eng.,M.I.E.E.,SWITCHMODE POWER SUPPLY HANDBOOKM,Hammond Manufacturing Company,Ltd,2005,36258.9 范立南. 单片微型计算机控制系统设

35、计M . 北京:人民邮电出版社,2004,28142.10蔡明生. 电子设计M . 北京:高等教育教育出版社,2004,57214.附录A 程序#include #include #define uchar unsigned char#define uint unsigned int#define DataPort P2sbit LCM_RS=P15;sbit LCM_RW=P16;sbit LCM_EN=P17;sbit K1=P34;sbit K2=P32;sbit K3=P30;void delay5ms() unsigned int i=5552; while(i-); void de

36、lay400ms() unsigned char jj=5; unsigned int jjj; while(jj-); jjj=7269;while(jjj-);void delay(unsigned int k) unsigned int i,j; for(i=0;ik;i+) for(j=0;j121;j+) ;/LCD display/void WaitForEnable(void)DataPort=0xff;LCM_RS=0;LCM_RW=1;_nop_();LCM_EN=1;_nop_();_nop_();while(DataPort&0x80);LCM_EN=0;void Wri

37、teCommandLCM(uchar CMD,uchar Attribc)if(Attribc)WaitForEnable();LCM_RS=0;LCM_RW=0;_nop_();DataPort=CMD;_nop_();LCM_EN=1;_nop_();_nop_();LCM_EN=0;void WriteDataLCM(uchar dataW)WaitForEnable();LCM_RS=1;LCM_RW=0;_nop_();DataPort=dataW;_nop_();LCM_EN=1;_nop_();_nop_();LCM_EN=0;void InitLcd()P2=0;WriteCo

38、mmandLCM(0x38,0);delay5ms();WriteCommandLCM(0x08,0); delay5ms(); WriteCommandLCM(0x08,0); delay5ms();WriteCommandLCM(0x38,1);WriteCommandLCM(0x08,1);WriteCommandLCM(0x01,1); WriteCommandLCM(0x06,1); WriteCommandLCM(0x0C,1);void DisplayoneChar(unsigned char X,unsigned char Y,unsigned char DData)Y&=1;

39、X&=15;if(Y)X|=0x40;X|=0x80;WriteCommandLCM(X,0);WriteDataLCM(DData);void DisplayListChar(uchar X,uchar Y,uchar code *DData)uchar ListLength=0;Y&=0x1;X&=0xf;while(X=186&AD_value=165&AD_value=122&AD_value=120) Vd=60; while(K1=0);elseif(K2=0) delay5ms(); if(K2=0) Vd=Vd-1;if(Vd=0)Vd=60; while(K2=0);else

40、if(K3=0) delay5ms(); if(K3=0) Vd=60;/if(Vd=0)/Vd=60; while(K3=0);void main(void) InitLcd();while(1) key1(); P0=Vd;tt=(Vd*12.0)/120.0;m=Vd*12/120;tt1=m/10;tt2=m%10; dispbuf8=tt1; dispbuf10=tt2; tt3=(tt-m)*10; dispbuf11=tt3%10; temp8=dispcodedispbuf8; temp10=dispcodedispbuf10; temp11=dispcodedispbuf11

41、; DisplayListChar(0,0,str0);delay5ms();DisplayoneChar(0,1,0x55);delay5ms();DisplayoneChar(1,1,0x3d);delay5ms();DisplayoneChar(2,1,temp8);delay5ms();DisplayoneChar(3,1,temp10);delay5ms();DisplayoneChar(4,1,0x2e);delay5ms();DisplayoneChar(5,1,temp11);delay5ms(); delay(5000); delay5ms(); delay400ms(); 附录B 原理图

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁