简易数字电压表的设计_第1页
简易数字电压表的设计_第2页
简易数字电压表的设计_第3页
简易数字电压表的设计_第4页
简易数字电压表的设计_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、 一、设计题目:简易数字电压表的设计二、设计目的自动化专业的专业实践课程。本课程的任务是使学生通过“简易数字电压表的设计”的设计过程,综合所学课程,掌握目前自动化仪表的一般设计要求,工程设计方法,开发及设计工具的使用方法,通过这一设计实践过程,锻炼学生的动手能力和分析,解决问题的能力;积累经验,培养按部就班,一丝不苟的工作个对所学知识的综合应用能力。三、设计任务及要求设计电压表并实现简单测量。具有以下基本功能:可以测量05V的8路输入电压值;可在四位LED数码管上轮流显示或单路选择显示;测量最小分辨率为0.019V;.测量误差约为0.02V;带有一定的扩展功能;目录第一章摘要第一章智能仪表目前

2、的发展状况4第=章设计目的6第四章设计要求6第五章设计方案与比较论证TOC o 1-5 h z5.1单片机电路设计65.2电源方案85.3显示方案95.4AD釆样方案105.5串口通讯方案125.7高压,短路报警145.8键盘141515第六章方案设计6.1硬件设计TOC o 1-5 h z6.2软件设计16第七章性能测试18电压测试18第八章结果分析19第九章设计体会19参考文献20附录20元器件清单20程序清单20第一章摘要本报告介绍了基于AT89S52单片机为核心的、以AD0809数模转换芯片釆样、以1602液晶屏显示的具有电压测量功能的具有一定精度的数字电压表。在实现基础功能要求之上扩

3、展了串口通讯、时钟功能、高压报警、短路测试、电阻测量、交流电压峰峰值和周期测试等功能,使系统达到了良好的设计效果和要求。关键词:AT89S52单片机模数转换液晶显示扩展功能ABSTRACT:ThereportdescribestheAT89S52basedonthemicrocontrollerasthecore,AD0809digital-to-analogconverterchipsampling,to1602LCDdisplaywithvoltagemeasurementfunctionwithacertainprecisionofdigita丄voltagemeterInachievi

4、ngfunctionalrequirementsbasedupontheexpansionofserialcommunications/high-pressurealarm,shortcircuit,electricalresistivitymeasuremenACvoltageandthepeakofcycletestingandotherfunctions,allowingthesystemtoachievegoodresultsandthedesignrequirementsKeywords:AT89S52SCManalog-to-digitaiconversionfunctionsLC

5、Dexpansion第二章智能仪表目前发展状况在自动化控制系统中,仪器仪表作为其构成元素,它的技术进展是跟随控制系统技术的发展的。常规的自动化仪器仪表适应常规控制系统的要求,它们以经典控制理论和现代控制理论为基础,以控制对象的数学模型为依据。当今,控制理论已发展到智能控制的新阶段,自动化仪器仪表的智能化就成为必然和必须。本文将就自动化仪器仪表的智能化的状况与进展,以及当今对智能仪器仪表研究、开发热点做概要的分析与表述。作者建议人们关注自动化仪器仪表智能化技术的进展,关注仪器仪表装置与控制系统技术的互动发展,这对推进我国自动化技术水平的进一步提高将是大为有益的。智能化的自动化仪器仪表应以智能控制

6、理论为基础,体现人的智能行为。人工智能是智能控制理论的基本组成部分之一,它以知识为基础,它的目标是建造智能化的计算机系统,用來模拟和执行人类的智力功能,如判断、理解、推理、识别、规划、学习和问题求解等等,进而用自动机模仿人类的思维过程和智能行为。基于智能控制理论基础的智能仪器仪表目前大致有几方面的进展:专家控制系统(expertcontrolsystem,ECS)是典型的基于知识控制系统,它是一个具有大量的专门知识与经验的程序系统。它运用人工智能技术和计算机技术,根据某领域一个或多个专家提供的知识和经验,进行推理和判断,模拟人类专家的决策过程,解决那些需要人类专家才能解决好的复杂问题。专家控制

7、器的结构按控制要求的不同而有所不同。典型的结构由知识库、推理机、人机接口等组成。其中,知识的获取、知识库的建立是关键。人们已经总结出的方法是领域专家和知识专家的有机结合,同时收集、归纳有经验的操作员方面的知识。然后把获取的知识变成可用的规则,以期在推理过程中得到更高的命中率。专家控制己在工业控制中得到广泛的应用。模糊控制器(FC-FuzzyController),也称模糊逻辑控制器(FLCFuzzyLogicController)o自然界的事物都具有一定的模糊性,模糊逻辑在控制领域中的应用产生了模糊控制技术。由于模糊控制技术具有处理不确定性、不精确性和模糊信息的能力,对无法建造数学模型的被控过

8、程能进行有效的控制,能解决一些用常规控制方法不能解决的问题,因而模糊控制在工业控制领域得到了广泛的应用。模糊控制器一般由输入标定、模糊化、模糊决策、清晰化、输出标定等儿个部分组成。其中,模糊化、模糊决策、清晰化是主要和基本的部分,“模糊化”将输入量(精确量)变为模糊量,“模糊决策”进行模糊运算,其过程是由推理机进行预估输出推理,得到模糊量输出。“清晰化”将模糊量输出转化为精确量,提供给系统的驱动器定标后使用。当前,模糊控制技术在工业控制中得到广泛的应用,尤其在不确定性过程、难于建模的场合发挥了模糊控制技术的长处。模糊控制器在家电和其它行业同样得到了广泛的应用。神经网络在工业控制系统中的应用提高

9、了系统的信息处理能力,提高了系统的智能水平。所谓神经网络控制,简称神经控制,它是指采用神经网络这一技术对复杂的非线性对象进行建模,或担当控制器,或优化计算,或进行推理,或故障诊断等工作。由于神经网络具有高度的并行结构和并行实现能力,具有对任意非线性关系的描述能力,具有通过训练学习归纳全部数据能力,使得它在控制系统中被广泛灵活地应用。数字电压表(DigitalVoltmeter)简称DVM,作为智能仪表的一种,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,采用单片机的数字电压表,由

10、精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC进行实时通信。目前,由各种单片A/D转换器构成的数字电压表,己被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。举例:aooVI(图1CAKJ系列数字电流-电压-功率-因数-频率表 如图1是一个CAKJ系列数字电流-电压-功率-因数频率表1、适用范围该系列产品是一种高精度的安装式仪表,它可广泛用于电力系统和自动化控制系统中对单相三相电量参数(交直流电流-电压-功率-因数-频率)的测量和显示。采用大规模集成电路,具有转换精度高、响应速度快、性能稳定等特点,可直接替代指针式仪表。2、通用技术参数*精度等级

11、:数显0.2、0.5级光柱1.5级*数显范围:四位半显示019999*光柱指示:0120%*标称输入:电流1A、5A:电压100V、220V、380V、450V*过量程:持续:1.2倍,瞬时:电流10倍/5秒,电压2倍/I秒第三章设计目的自动化专业的专业实践课程。本课程的任务是使学生通过“简易数字电压表的设计”的设计过程,结合所学课程,掌握目前自动化仪表的一般设计过程,锻炼学生的动手能力和分析,解决问题的能力;积累经验,培养按部就班、一丝不苟的工作和对所学知识的综合应用能力。第四章设计要求1、可以测量0-5V的8路输入电压值;2、可在四位LED数码管上轮流显示或单路选择显示或液晶显示;3、测量

12、最小分辨率为0.019V;4、测量误差约为土0.02V:5、带有一定的扩滾功能;第五章方案比较与论证5.1单片机釆用AT89S52,它是一个低功耗,高性能CMOS8位单片机,片内含8kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件釆用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S52可为许多嵌入式控制应用系统提供高性价比的解决方案。单片机基础电路如下卩1.4小p1.6RSTVZDROTT

13、IO-IQI2AJKCrPFu代ro.M.M.M.M.M.N.M.pg37iofKIiHITiT.1.3fi)P-l4TIWwXTAI2KTaLI38AT89S524JE图2单片机基础电路功能特性概述:40个引脚,8kBytesFlash片内程序存储器,256bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。此外,AT89S52设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系

14、统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。引脚功能:VCC:电源电压GND:地POD:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对断口P0写“1”时,可作为高阻抗输入端使用。在访问外部数据存储器或程序存储器时,这组端口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在FLASH编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻

15、。P1口:P1口是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(In)。与AT89C51不同之处是,P1.0和Pl.1还可分别作为定时/计数器2的外部计数输入(P1.0/T2)和输入(Pl.1/T2EX)。第二功能:P1.0:T2(定时/计数器2外部计数脉冲输入),时钟输出Pl.1:T2EX(定时/计数2捕获/重新载触发和方向控制) P2口:P2是一个带内部上拉电阻的8位双向I/O口,P2的输出缓冲

16、级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)o在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVXDPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVXRI指令)时,P2口输出P2锁存器的内容。P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P

17、3口将用上拉电阻输出电流。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能端口引脚第二功能:P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INTO(外中断0)P3.3INT1(外中断1)P3.4T0(定时/计数器0)P3.5T1(定时/计数器1)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲

18、信号,因此它可对外输出时钟或用于定时或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。PSEN:程序存储允许PSEN输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP:外部访问允许。欲使CPU仅访问外部程

19、序存储器(地址为OOOOH-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。XTAL1:振荡器反相放大器的内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。5.2电源方案:由变压器输入7805的1脚,2脚接地,3脚+5V输出,中间加2个104电容和1000u的电解电容分别为了退耦和稳压。使+5V更稳定地输出。下图是电源接线图。780E2*1XVout344vr广乙11VCVJ11C4NC?N20.HC5lOOOiDIfC63finG1DE包源部分图3电源接

20、线图5.3显不方案:方案一:显示部分(采用共阴4位八段数码管显示。如图3所示:)bcdefgdpI8888com1com2com3com4图4数码管电路图显示部分与单片机连接图如图3RXDTXDINTOWTLTO13WKRD图5显示与单片机连接图方案二:采用液晶1602做为显示电路,功能强大,适合做各类扩展。其中7-14脚为数据口脚,3脚为背景灯亮度调节脚,EN、RW、RS命令状态字脚。我们可以通过程序使1602显示各类字符。f;1UuLCDLCD161r-gr寸鬥厂QQQQQCO1con1oUP=5LsG1D7卜=J、7匸.nE1血o寻3QQmH(2Arr-0寸rqVGhDLLnn=oG1D

21、OOA图61602显示电路1602管脚说明Vss电源地:Vdd电源正极4.55.5V通常使用5V;VI对比度调节电源调节范|制05V。接正电源时对比度最弱,接地对比度最高,但是对比度过高时产生“鬼影”,因此通常使用一个10K电位器来调整对比度,或者直接接一个电阻到地;RS数据/命令选择高电平选择数据寄存器,低电平选择指令寄存器;RW读/写选择高电平读取数据,低电平写入数据;E模块使能端写数据需要下降沿触发模块;714.D0D7三态双向数据IIMCUVOII资源紧张可以使用4位数据线D4D7接II传送数据:Blk背光源地Bla背光源正极需要背光串接一个限流电阻接Vdd,blk接地,实测该模块背光

22、电流50mA左右比较:由于用数码管作为显示电路,结构单一,扩展空间太小,显示效果不理想,最终我们放弃了数码管显示。而采用1602作为显示不但实现了用数码管难以显示的功能,而且适合做各类扩展,使得识字电压表功能更完善,使用效果更好。5.4AD釆样方案方案1:釆用TLC1543为美国TI公司生产的多通道低价格数模转换器。我们在程序中通过readl543()发送通道号,芯片开始A/D转换,转换结束时,E0C输出端表示转换完成,在INTO产生中断,通过外部中断0的服务自程序读取转换结果。接线如下图:TLC1543为串行输入芯片,10位的精度,价格适中。方案2:釆用8位AD转换器ADC0809,编程简单

23、方便,价格便宜。采样电路如图6o比较:由于时间紧张,班级釆购只有ADC0809芯片,我们选择了ADC0809作为AD转换器。图9串口通讯接线图5.8键盘部分通过程序的扫描,判断按键,并切换到不同的功能模式中。实现模式切换后可以实现电压表单路和循环显示所测电压值。=3.6P3751rTicJrt艮5113kll)k:C:C图13键盘硬件程序第六章方案设计6.1硬件设计系统整体电路如下:图14系统整体框图硕件框图: 图15系统硬件框图电源部分提供整个系统的电能,单片机部分控制系统,显示部分显示测量结果以及模式状态,模数转换釆集电压以及电阻值发送到单片机,如果电压过高超过量程或者测量短路,单片机控制

24、蜂鸣器报警。通过程序烧录模块可以通过烧录线烧入程序。通过串口通讯可以实现上位机与电压表的通讯,通过上位机选择,可以切换电压表模式,从而实现上位机功能选择的功能。&2软件设计我们釆用C语言编程,通过定时器0计时实现显示时间功能,通过串口中断实现上位机对下位机的模式切换功能。通过键盘扫描和扫描处理函数,实现键盘的模式切换功能。同时我们还设计了浮点数显示处理函数,釆样函数,交流釆集电压峰峰值函数,显示交流周期和峰峰值函数。这些函数的组合,实现了电压表功能的完善。主程序流程图:定时中断流程: 第七章性能测试7.1电压测试被测量电路图:+5V图9、被测电路图1、R1二200欧R2=500欧在测量如图9所

25、示1点的电压的时候,电压表值为1.406V理论值为U=(200/(200+500)*5=1.429V2、Rl=4.20K欧R2=4.28K欧在测量如图所示1点的电压的时候,电压表值为2.089V理论值为U=(4.2/(4.2+4.28)*5=2.476V7.2电阻值测试1、100欧姆的电阻,电压表实测为101欧姆。2、200欧姆的电阻,电压表实测为199欧姆。3、4.73K的电阻,电压表实测为4.6347K。4、6.73K的电阻,电压值实测为6.6578Ko5、10K的电阻,电压表实测为10.1020Ko6、12K的电阻,电压表实测为12.0235Ko7.3短路测试用白色导线接于IN7,另一端

26、黑色导线接地。当两导线短接时1602显示为0,同时鸣蜂器报警,没有短接时蜂鸣器不报警。7.4高压报警测试把单片机接5.5V,鸣蜂器报警。7.5串口功能测试打开串口调试软件,按功能键,观察下位机,按1-8切换到各通道的模式,按9是时间模式,按10-13是特殊功能模式,串口功能正常。7.6时间功能测试观察时间的即使与显示功能,然后切换功能模式,再切换到时间模式,观察变化,发现时间照常计时,时间功能正常。7.7交流峰峰、周期测试由于没有频率信号发生器,此项扩展功能没有展开测试。第八章结果分析电阻值测量我们发现只有0-20k的电阻测量比较准确,而大于20k的电阻就测的很不准了,这可能是因为单片机系统在

27、工作时电阻并不是固定的,而我们电阻测量的原理是基于电阻分压原理,电阻过大就不适合测量了,因为我们的拉地电阻只有500欧姆。在电压测试功能中,一开始我们发现ADC0809的电压在没有测量值时并不稳定,但是我们通过路边下拉一个500欧姆的电阻,可以把起始电压拉为0,但是电阻不能太小,否则电流会太大。根据测量结果,实测值比理论值基本上吻合,只是由于精度问题,不能完全相同,但是基本上符合题目的要求。我们乂测量了一节干电池,所测的电压值在1.56V左右,与现有的电压表所测量的也差不多。在蜂鸣器功能测试中,一开始系统初始化蜂鸣器没有响,这让我们检查了很久,到后來才发现1815的ebc脚弄错了,资料的管脚是

28、从背面看的,检查出错误,我们马上重新焊接,蜂鸣器工作正常了。在液晶显示电路测试中,一开始我们要显示“madebydemon”但是却显示了一大串英文字符,这让我觉得很奇怪,因为如果别的线接错了,应该不会显示,要显示也是乱码,我检查了下液晶数据接口。发现DB6没有接好(板子是我原来的己经有点氧化了,并没有焊上去),接好后测试正常。在调试过程中我们发现了硬件连接的重要性,因为有太多线路要连接而导致容易出现由于粗心而导致的连接错误,这个错误看似简单,但却是在整个系统设计调试过程中最不可忽视的,因此我们在硬件焊接时非常细心,同时其他同学也要密切配合焊接同学的工作,这样一个团结的小组,才能解决所有问题,同

29、时也可以保证系统的稳定和可靠。第九章设计体会我们本來想扩展12个键盘,但是等到把ADC0809焊接上去的时候发现ADC0809占了15个I/O口,蜂鸣器占了一个I/O口,串口通讯占2个I/O口,液晶1602占11个I/O口,这样就只有3个I/O口,我们就只能就扩展了2个键盘做模式切换用。只有事先计划好,要么不用ADC0809用串行输出的TLC1543,这样不但可以节省出很多I/O口,还可以减少错误的发生,使功能更加完善,编程也可以更简单方便。通过“简易数字电压表的设计”的设计过程,我们结合所学过的课程,了解了简易仪表的发展状况,堂握了目前自动化仪表的一般设计要求,工程设计方法,开发及设计工具使

30、用方法,最重要的是通过这一设计实践过程,我们不在是约束在理论上而是锻炼了我们的动手能力和分析,解决问题的能力,积累经验,培养按部就班,一丝不苟的工作和对所学知识的综合应用能力,了解了很多课本上学不到的知识,我想这样的实践环节在我的学生生涯是很难得的,也为我们以后步入社会开始工作打下了一定的基础,最后我也要感谢组里的同学们,只有在他们团结协作下,本次课程设计才可以顺利进行并实现所有功能,同时我也明白了团结协作的重要性。参考文献余文俊.8051C语言实习,中国水利水电出版社,02年10月第2版,p5089万福君,潘松峰.单片微机原理系统设计与应用,中国科学技术大学出版社,01年8月第2版,p281

31、50周责魁.控制仪表与计算机控制装置,化学工业出版社,02年9月第1版,pl17李青.电路与电子技术基础,浙江科学技术出版社,05年2月第1版,pl281陈乐.过程控制与仪表冲国计量学院出版社,07年3月、pl17孙育才.新型AT89S52系列单片机及其应用,清华大学出版社,05年5月第1版,pl63附录1:(1)元件清单:AT89S52片;1602显示屏一块;ADC0809片;MAX232电平转换芯片一片;7805稳压管一片;键盘3个;开关1个;蜂鸣器一个;C1815三极管一个;500欧姆电阻10个;10K电阻4个;串口借口一个;程序烧录接口一个;1000u电容两个;104电容6个;25PF

32、电容2个;11.0592M晶振一个;发光二极管一个;排线插针若干;(2)程序清单:丄丄/includeincludeincludestringh/*预处理”丄”丄丄”丄丄”ttdefineucharunsignedcharftdefineuintunsignedinttfdefineBusy0 x80识defineLCM.DataP0ttdefineLCM_RSttdefineLCM_RWttdefineLCM_EP2_7P2_6P2_5ttdefineALEP2_4ttdefineSTARTP3_2ttdefine0EP2_3ttdefineEOCP3_3ttdefineAP2_0ttdef

33、ineBP21/用于检测LCM状态字中的Busy标/液晶数据口ttdefineCP2_2fitVv*IFg“%lxAz卜A#卜”Az”Az”?x卜丄Az”Az卜卜丄”AzJx卜卜”*Az”“*AzsbitP3_6P36;sbitP3_5P35;sbitP3_4P34;sbitP3_2P32;sbitP3_3P33;sbitP2_5P25;sbitP2_6P26;sbitP2_4P24;sbitP2_0P20;sbitP2_lP21;sbitP2_2P22;sbitP2_3P23;sbitP2_7P27;/*全局变暈b卜”、丄丄丄”丄丄丄Iuchardataad;charch二0;floatvo

34、lt;uchardataNDIG;ucharX,Y;W二”goodluck”;hhuc二thisismichealtongdao二tongdao:danwei二bitkeyl=0,key2=0;codecodecodecodeucharucharucharuchar卜”Az”Az”Az卜“k!”*Az”Az”*?x卜xwIfIA“丄卜”Az”Az”*?卜丄丄Az”Az卜卜丄”Az”delayms(uintn);WriteDataLCM(ucharWDLCM);WriteCommandLCM(ucharWCLCM,uBuysC);CheckBusyLCM(void);LCMInit(void);

35、DisplayOneChar(ucharX,ucharY,ucharDData);DisplayListChar(ucharX,ucharY,uchar*DData);disp(ucharxx,ucharyy,floatcanshu);nextp(void);voidvoidvoidvoidvoidvoidvoidvoidvoid卜”Az”Az”Az卜“k!”Az”Az”*?x卜xwIfIA|“丄卜”Az”Az”*?卜丄丄Az”Az卜卜丄”Az”/写数据函数:E二高脉冲RS=1RW=0voidWriteDataLCM(ucharWDLCM)CheckBusy_LCM();LCM_RS=1;LC

36、M_RW=0;LCM_Data=WDLCM;LCM.E二1;_nop_();_nop_();_nop_();LCM.E二0;/检测忙/若晶振速度太高可以在这后加小的延/写指令函数:E二高脉冲RS二0RW二0voidWriteCommandLCM(ucharWCLCM,bitBuysC)忙检测if(BuysC)CheckBusy_LCM();LCM_RS=0;LCM_RW=0;LCMJata二WCLCM;/BuysC为0时忽略/根据需要检测忙LCM_E二1;时LCM_E=1;_nop_();_nop_();_nop_();LCM_E=0;/若晶振速度太高可以在这后加小的延/正常读写操作之前必须检测LCD控制器状态:E二1RS二0RW二1;DB7:0LCD控制器空闲,1LCD控制器忙。检测忙信号,等待LCD空闲函数voidCheckBusy_LCM(void)LCM_Data二OxOFF;LCM_E=1;LCM_RS=0;LCM_RW=1;_nop_();_nop_()

温馨提示

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

评论

0/150

提交评论