基于ADC0832的单片机数据采集系统设计课程设计.doc

上传人:知****量 文档编号:91622398 上传时间:2023-05-27 格式:DOC 页数:43 大小:1.31MB
返回 下载 相关 举报
基于ADC0832的单片机数据采集系统设计课程设计.doc_第1页
第1页 / 共43页
基于ADC0832的单片机数据采集系统设计课程设计.doc_第2页
第2页 / 共43页
点击查看更多>>
资源描述

《基于ADC0832的单片机数据采集系统设计课程设计.doc》由会员分享,可在线阅读,更多相关《基于ADC0832的单片机数据采集系统设计课程设计.doc(43页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、合 肥 学 院创 新 课 程 设 计 报 告题 目:基于ADC0832的单片机数据采集系统设计系 别:_ 电子信息与电气工程系 _专 业:_ 通信工程_ _班 级:_ _10通信(1)(2)班_ _学 号:100507200_1005072032 1005072033_姓 名:_ _ _导 师:_ 张大敏_ _ _ 成 绩:_ _2014年 01月 07日设计题目通信技术创新课程设计任务书基于ADC0832的单片机数据采集系统设计设计类型应用型导师姓名张大敏主要内容及目标基于8位串行模数转换器ADC0832,设计完成一个单片机数据采集系统。要求:1、 设计实现ADC0832模数转换电路,将单片

2、机采集到得05V电压信号用数码管显示。2、 要求绘制系统原理框图、电路原理图、PCB版图和程序流程图。3、 认真进行系统软硬件设计、实施、调试,观察实验结果。4、 详细记录实施过程中所遇到的问题及问题产生的原因并制定解决方案。具有的设计条件器材需要相关电子元器件、实验板。实验仪器需要计算机、示波器、万用表等。计划学生数及任务计划需要3人1人主要进行系统方案设计,组织实施;1人主要进行硬件设计实施调试;1人主要进行软件设计实施调试。计划设计进程1、从接题开始收集资料、准备设计。2、第1周 查阅文献,制定设计方案,绘制系统原理框图、电路原理图等。3、第2周 绘制电路PCB版图,完成系统所有硬件电路

3、和程序编制工作。4、第3周 系统调试和完善,同时编写完成设计报告。参考文献1、余锡存等. 单片机原理及接口技术M. 西安: 西安电子科技大学出版社, 2000.2、赵亮等. 单片机C语言编程与实例M. 北京:人民邮电出版社,2003.3、赵晶. protel 99高级应用M 北京: 人民邮电出版社出版,2000年.4、梁明亮等. 单片机与ADC0832的接口技术J.河南科技,2006,(8):48-49.5、李庭贵等. 基于DAC0832和AT89S52的信号发生器设计J.电子科技,2012,25(6):104-106.摘要随着时代的进步,用指针式万用表测量小幅度直流电压已经显得有些不太方便。

4、因为指针式的测量不够精确,随着长时间的使用可能会造成欧姆调零以及机械调零的磨损,这都会对数据的测量造成很多困难,而采用数字式电压表来测量就可以避免这种情况的发生,而且操作更加方便。下面本文将介绍一种由数字电路以及单片机构成的简易数字电压表的设计方法。 数字电压表(Digital Voltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表 本设计运用89C52和ADC0832进行A/D转换,根据数据采集的工作原理,设计实现数字电压表,最后完成单片机与PC的数据通信,传送所测量的电压值。该数字电压表测量电压类型是直流,测量范围

5、是0-51V(本设计量程为0-5V)。电路包括:数据采集电路的单片机最小化设计、单片机与PC接口电路、单片机钟电路、复位电路等。下位机采用89C52芯片,A/D转换采用ADC0832芯片。通过RS232行口与PC进行通信,传送所测量的直流电压数据。关键词:STC89C52单片机 ADC0832模数转换器 LCD1602 目 录第一章 绪 论11.1系统设计任务分析1第二章 总体方案设计与选择的论证12.1单片机最小系统12.1.1单片机的说明12.1.2单片机的应用12.1.3单片机的结构特点32.1.4单片机引脚配置32.2模数转换模块介绍72.2.1 ADC0832概述72.2.2 引脚功

6、能及描述72.2.3工作模式82.2.4单片机对ADC0832 的控制原理82.2.5 ADC0832应用原理框图92.3 LCD1602显示102.3.1 LCD1602的基本结构102.3.2 LCD1602的指令表11第三章 软件设计报告123.1单片机软件设计123.1.1模数转换软件设计123.1.2 LCD1602显示软件设计123.2流程图设计123.2.1主程序流程图123.2.2液晶模块流程图143.2.3电压显示流程图153.3原理图设计163.4 PROTEUS仿真图173.5 PCB版图183.6实物图19第四章疑难问题及解答20第五章总结与致谢21总结21致谢21参考

7、文献22附 录23课程设计评语37第一章 绪 论1.1系统设计任务分析本设计由A/D转换、数据处理及显示控制等组成,测量05V范围内的输入电压值,由LCD1602扫描显示,最大分辨率0.1V,误差0.02V。数字电压表的核心为ST89C52单片机和ADC0832 A/D转换集成芯片。本系统的核心控制芯片选用的是STC89C52RC。单片机在各个技术领域中的迅猛发展,与单片机所构成的计算机应用系统的特点有关:1 单片机构成的应用系统有较大的可靠性。2 系统构建简洁、易行,能方便的实现系统功能。3 由于构成的系统是一个计算机系统,相当多的功能由软件实现,故具有柔性特点和优异的性能价格比。第二章 总

8、体方案设计与选择的论证2.1单片机最小系统2.1.1单片机的说明单片机的原名叫Microcontroller,即微型控制器。顾名思义,单片机有别于通用微型计算机,它是专门为控制和智能仪器设计的一种集成度很高的微型计算机。其控制功能强,有优异的性能/价格比,有很高的可靠性。因而,单片机的应用范围在不断的扩大,它已经成了人类生活中不可缺少的工具。下面介绍单片机在几个方面的典型应用。2.1.2单片机的应用(1)单片机在智能仪器中的应用单片机广泛的用于各种仪器仪表中,使仪器仪表数字化、微型化和智能化,提高它们的测量速度、测量精度和自动化程度,简化仪器仪表的硬件结构,便于使用、维修和改进,提高其性能/价

9、格比。(2)单片机在机电一体化产品中的应用 机电一体化是机械工业发展的方向。机电一体化产品是指,集机械技术、微电子技术、计算机技术和控制技术于一体,具有智能化特征的机电产品。例如,微机控制的数控机床、机器人等。单片机作为机电产品中的控制器,能充分的发挥它的体积小、可靠性高、功能强等优点,大大提高了机器的自动化、智能化程度。(3)单片机在过程控制中的应用过程控制是微型机应用最多、最有效的方面之一,单片机广泛的应用于过程控制。它既可以作为主机控制,也可以作为分布式控制系统的前端机,对现场的信息进行实时的测量和控制。单片机可用于开关量控制、顺序控制及逻辑控制等。如锅炉控制、电机控制、机器人控制、交通

10、信号灯控制、造纸纸浆浓度控制、纸张定量水分及厚薄控制、雷达与导弹控制以及航天导航系统鱼雷制导系统控制等。(4)单片机在计算机网络及通信中的应用由于高性能单片机中集成有SDLC通信接口,因而使其在计算机网络及通信设备中得到了广泛的应用。例如:Intel公司的8044,由8051单片机及SDLC通信接口组合而成,用高性能的串行接口单元SIU代替传统的UART,采用双绞线、半双工通信形式,特别适合远距离通信。以8044位基础组成的位总线是一种高性能、低价格的分布式控制系统,传送距离可达1200m,传送速度为2.4Mbit/s,网络节点为28个。此外,单片机在自动拨号无线电话网、串行自动呼叫应答设备、

11、程控电话、无线电遥控等方面都有广泛的应用。(5)单片机在家用电器方面的应用单片机广泛的应用于家用电器产品中,例如:洗衣机、电冰箱、微波炉、电饭煲、高级智能玩具、收录机等配上单片机后,大大提高了产品的性能,倍受人们的喜爱。可以说,单片机在人们日常生活中应用所受到的限制主要不是技术问题,而是创造力和技巧上的问题。2.1.3单片机的结构特点控制电路设计是系统的控制和数据处理的核心,而作为控制核心的单片机种类很多,如PIC等等。根据任务书的要求以及系统实际的需要,本次毕业设计采用STC89C52RC作为系统的微控制器芯片。特点是,STC89C52RC的内核和AT51系列单片机一样,故引脚也相同。但是S

12、TC89C52RC可以通过STC_ISP软件下载进行烧录。2.1.4单片机引脚配置图2.1引脚配置图鉴于STC89C52RC与MCS-51单片机类似,现介绍MCS-51单片机如下文。MCS-51单片机采用40引脚双列直插封装(DIP)形式。对于CHMOS单片机除采用DIP形式外,还采用方形封装工艺。由于受到引脚数目的限制,所以有部分引脚具有第二功能。在单片机的40条引脚中,有2条用于主电源的引脚,2条外接晶体的引脚,控制或其他电源复用引脚RST/ Vpd、ALE、和VPP,32条输入/输出引脚。下面就本系统用到的引脚分别说明这些引脚的名称和功能。(1)主电源引脚V CC和GNDVCC:接+5V

13、电源GND:接电源地(2)钟电路引脚XTAL1和XTAL2XTAL1:接外部晶体的一端。在单片机内部,它是反相放大器的输入端,该放大器构成了片内振荡器。在采用外部时钟电路时,对于HMOS单片机,此引脚必须接地;对CHMOS单片机,此引脚作为驱动端。 XTAL2:接外部晶体的另一端。在单片机内部,接至上述振荡器的反相放大器的输出端,振荡器的频率是晶体振荡频率。若采用外部时钟电路时,对于HMOS单片机,该引脚输入外部时钟脉冲;对于CHMOS单片机,此引脚应悬空。(3)信号引脚RST/VpdRST/Vpd:复位/备用电源输入端。单片机上电后,只要在该引脚上输入24个振荡周期(2个机器周期)宽度以上的

14、高电平就会使单片机复位;若在RST与VCC之间接一个10F的电容,而在RST与GND之间接一个8.2K的下拉电阻,则可实现单片机上电自动复位。RST/Vpd具有复用功能,在主电源VCC掉电期间,该引脚可接上+5V备用电源。当VCC下掉到低于规定的电平,而Vpd在其规定的电压范围内时,Vpd就向片内RAM提供备用电源,以保持片内RAM中的信息不丢失,复电后能继续正常运行。(4)输入/输出(I/O)引脚P0、P1、P2和P3MCS-51单片机有4个双向并行的8位I/O口P0P3,P0口为三态双向口,可驱动8个TTL电路,P1、P2、P3口为准双向口(作为输入时,口线被拉成高电平,故称为准双向口),

15、其负载能力为4个TTL电路。P0.0-P0.7:P0口是一个8位双向I/O端口。在访问片外存储器时,它分时提供低8位地址和作8位双向数据总线。在EPROM编程时,从P0口输入指令字节;在验证程序时,则输出指令字节(验证时,要外接上拉电阻)。P0口能以吸收电流的方式驱动8个LSTTL负载。图2.2 P0口1位结构图P1.0-P1.7:P1口是8位准双向I/O端口。在EPROM编程和程序验证时,它输入低8位地址。P1口能驱动4个LSTTL负载。图2.3 P1口1位结构图P2.0-P2.7:P2口是一个8位准双向I/O端口。在CPU访问外部存储器时,它输出高8位地址。在对EPROM编程和程序验证时,

16、它输入高8位地址。P2口可驱动4个LSTTL负载。图2.4 P2口1位结构图P3.0-P3.7:P3口是8位准双向I/O端口。它是一个复用功能口。作为第一功能使用时,为普通I/O口,其功能和操作方法与P1口相同。作为第二功能使用时,各引脚的定义如表3-1所示。P3口的每一条引脚均可独立定义为第一功能的输入输出或第二功能。P3口能驱动4个LSTTL负载。图2.5 P3口1位结构图表2.1:口线 第二功能P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7RXD (串行口输入)TXD (串行口输出)INT0 (外部中断0输入)INT1(外部中断1输入) T0 (定时器0的外部输入)T1

17、 (定时器1的外部输入)WR (外部数据存储器“写”信号输出)RD (外部数据存储器“读”信号输出)2.2模数转换模块介绍2.2.ADC0832概述 ADC0832是美国国家半导体公司生产的一种8 位分辨率、双通道A/D转换芯片。由于它体积小,兼容性,性价比高而深受单片机爱好者及企业欢迎,其目前已经有很高的普及率。学习并使用ADC0832 可是使我们了解A/D转换器的原理,有助于我们单片机技术水平的提高。 ADC0832主要特性如下: 8位分辨率;逐次逼近式A/D转换器;双通道A/D转换;输入输出电平与TTL/CMOS相兼容;5V电源供电时输入电压在05V之间;工作频率为250KHZ,转换时间

18、为32S;一般功耗仅为15mW;8P、14PDIP(双列直插)、PICC 多种封装;商用级芯片温宽为0C to +70C,工业级芯片温宽为40C to +85C; 2.2.2 引脚功能及描述 ADC0832的引脚如图所示。各引脚功能如下: 图2.6 ADC0832的引脚图CS:片选使能,低电平芯片使能。CH0: 模拟输入通道0,或作为IN+/-使用。CH1: 模拟输入通道1,或作为IN+/-使用。GND: 芯片参考0 电位(地)。DI :数据信号输入,选择通道控制。DO: 数据信号输出,转换数据输出。CLK :芯片时钟输入。Vcc/REF :电源输入及参考电压输入(复用)。 2.2.3工作模式

19、 ADC0832 为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在05V之间。芯片转换时间仅为32S,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。通过DI 数据输入端,可以轻易的实现通道功能的选择。图2.7 ADC0832工作模式的选取2.2.4单片机对ADC0832 的控制原理 正常情况下ADC0832 与单片机的接口应为4条数据线,分别是CS、CLK、DO、DI。但由于DO端与DI端在通信时并未同时有效并与单片机的接口

20、是双向的,所以电路设计时可以将DO和DI 并联在一根数据线上使用。当ADC0832未工作时其CS输入端应为高电平,此时芯片禁用,CLK 和DO/DI 的电平可任意。当要进行A/D转换时,须先将CS使能端置于低电平并且保持低电平直到转换完全结束。此时芯片开始转换工作,同时由处理器向芯片时钟输入端CLK 输入时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。在第1 个时钟脉冲的下沉之前DI端必须是高电平,表示启始信号。在第2、3个脉冲下沉之前DI端应输入2 位数据用于选择通道功能,其功能项见官方资料。如资料 所示,当此2 位数据为“1”、“0”时,只对CH0 进行单通道转换。当2位数据

21、为“1”、“1”时,只对CH1进行单通道转换。当2 位数据为“0”、“0”时,将CH0作为正输入端IN+,CH1作为负输入端IN-进行输入。当2 位数据为“0”、“1”时,将CH0作为负输入端IN-,CH1 作为正输入端IN+进行输入。到第3 个脉冲的下沉之后DI端的输入电平就失去输入作用,此后DO/DI端则开始利用数据输出DO进行转换数据的读取。从第4个脉冲下沉开始由DO端输出转换数据最高位DATA7,随后每一个脉冲下沉DO端输出下一位数据。直到第11个脉冲时发出最低位数据DATA0,一个字节的数据输出完成。也正是从此位开始输出下一个相反字节的数据,即从第11个字节的下沉输出DATA0。随后

22、输出8位数据,到第19 个脉冲时数据输出完成,也标志着一次A/D转换的结束。最后将CS置高电平禁用芯片,直接将转换后的数据进行处理就可以了。作为单通道模拟信号输入时ADC0832的输入电压是05V且8位分辨率时的电压精度为19.53mV。如果作为由IN+与IN-输入的输入时,可是将电压值设定在某一个较大范围之内,从而提高转换的宽度。但值得注意的是,在进行IN+与IN-的输入时,如果IN-的电压大于IN+的电压则转换后的数据结果始终为00H。2.2.5 ADC0832应用原理框图 图2.8 ADC0832时序图2.3 LCD1602显示2.3.1 LCD1602的基本结构1602LCD是指显示的

23、内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。图2.9 LCD1602引脚图1602采用标准的16脚接口,其中:第1脚:VSS为电源地第2脚:VCC接5V电源正极第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。第6脚:E(或EN)端为使能(enable)端,高电平(1)时读取信息,负跳变时执行指令。第71

24、4脚:D0D7为8位双向数据端。第1516脚:空脚或背灯电源。15脚背光正极,16脚背光负极。2.3.2 LCD1602的指令表指令1:清显示,光标复位到地址00H位置。指令2:光标复位,光标返回到地址00H。指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移,S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令5:光标或显示移位 S/C:高电平时移动显示的文字,低

25、电平时移动光标。R/L,高向左,低向右。指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。(有些模块是 DL:高电平时为8位总线,低电平时为4位总线)指令7:字符发生器RAM地址设置,地址:字符地址*8+字符行数。(将一个字符分成5*8点阵,一次写入一行,8行就组成一个字符)指令8:置显示地址,第一行为:00H0FH,第二行为:40H4FH。指令9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令10:写数据

26、。指令11:读数据。第三章 软件设计报告3.1单片机软件设计3.1.1模数转换软件设计单片机对ADC0832模数转换模块进行初始化之后,读取电压数据。然后经过处理之后在LCD1602显示。该部分代码见附录。3.1.2 LCD1602显示软件设计该部分代码见附录。3.2流程图设计3.2.1主程序流程图图3.1 主程序流程图 3.2.2液晶模块流程图图3.2液晶模块流程图3.2.3电压显示流程图图3.3电压显示流程图3.3原理图设计图3.4电路原理图3.4 proteus仿真图图3.5仿真图3.5 PCB版图图3.6 PCB版图3.6实物图图3.7 实物图第四章 疑难问题及解答疑问1:怎么用Pro

27、teus添加元器件?答:先用Keil软件对原程序进行了一下调试,如果程序没有错误 再进行原理图的绘制,先点击左侧device栏上的P按钮,就会弹出元器件选择对话框。写上关键字就可以找到相应的元件,双击需要的元件就可以将此元件加到当前的device栏中,在device栏中选中需要放置的元件,这样就可以放置了。疑问2:怎么进行仿真?答:用软件仿真调试工具keil编译程序生成文件“基于ADC0832的数字电压表.hex”,用Proteus打开完整的原理图点芯片,在program file一行选入keil生成“基于的ADC0832的数字电压表.hex” 。疑问3:怎样检测最终结果?答:首先将所有准备工

28、作做好,其次接电源,进行观看结果状况,查看结果同时调节电位器,是否LCD1602显示器电压变化,如果变化则成功,否则进行检测出错原因。疑问4:程序下载后LCD1602为何无显示?答:首先要排除是否是硬件及连接问题;若不是硬件问题,则检查软件代码是否与硬件相匹配,细到各个端口的引脚。最终在同学的协助下,确认了是软件代码的问题,对代码进行了修改,问题得以解决。第五章 总结与致谢总结通过这次对基于ADC0832的单片机数据采集系统设计,让我们了解了设计电路的程序,也让我们了解了关于数据采集系统的原理与设计理念,。通过这次学习,让我们对各种电路都有了大概的了解,所以说,坐而言不如立而行,对于这些电路还

29、是应该自己动手实际操作才会有深刻理解。除了学会了许多专业知识外,在遇到困难时,积极地去请教我的指导老师,我们通过看现有的教材、去图书馆查阅资料、去网上搜索相关信息这些方式,不仅完成了我的毕业论文,而且大大增强了我的自学能力和独立能力。更重要的是,我拓展了思路,开阔了视野,活跃了思想。这次创新课程设计不仅使我们对相关专业知识有了更深的理解,而且还让我们认识到了理论知识对工作实践的重大意义,学会理论联系实际。这次的课程设计让我们发挥主观能动性独立的查阅资料、寻找数据、设计实验方案,并将理论知识应用到实践中去。同时,通过这次设计提高了我们认识问题、分析问题、解决问题的能力。总之,这次设计既是对我们课

30、程知识的考核,又是对我们思考问题、解决问题能力的考核,更是对我们人格品德的考验,设计让我们受益匪浅!致 谢首先,我们组的三个人都是考研大军中一份子,由于忙于复习在课程设计上分配的时间不是很多,感谢张老师对我们的理解和支持;其次,在本次设计中我们遇到了很多问题,感谢在设计中对我们提供帮助的热心老师和同学们。因为有你们,本次设计才得以成功完成,Thank you!参考文献1.单片机原理及接口技术案例教程李春法编著机械工业出版社2.单片机应用系统与接口技术丁向荣编著电子工业出版社3.8051单片机实践与应用吴金戌沈庆阳郭庭青编著清华大学出版社4.单片机应用新技术教程朱宇光编著北京电子工业出版社5.基

31、于C语言编程MCS51单片机原理与应用张陪任编著清华大学出版社6.单片机微型计算机原理与接口技术高峰编著北京科学出版社38附 录程序代码:#include /包含单片机寄存器的头文件#include /包含_nop_()函数定义的头文件sbit CS=P34; /将CS位定义为P3.4引脚sbit CLK=P10; /将CLK位定义为P1.0引脚sbit DIO=P11; /将DIO位定义为P1.1引脚/unsigned char code digit10=0123456789; /定义字符数组显示数字unsigned char code Str1=Volt=; /说明显示的是电压unsign

32、ed char code Str2=Thank.Mr.Zhang; /*以下是对液晶模块的操作程序*/sbit RS = P24; /定义端口 sbit RW = P25;sbit E= P26; /使能信号位,将E位定义为P2.2引脚sbit BF=P07; /忙碌标志位,将BF位定义为P0.7引脚/*函数功能:延时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 del

33、aynms(unsigned char n) unsigned char i;for(i=0;in;i+) delay1ms(); /*函数功能:判断液晶模块的忙碌状态返回值:result。result=1,忙碌;result=0,不忙*/bit BusyTest(void) bit result;RS=0; /根据规定,RS为低电平,RW为高电平时,可以读状态 RW=1; E=1; /E=1,才允许读写 _nop_(); /空操作 _nop_(); _nop_(); _nop_(); /空操作四个机器周期,给硬件反应时间 result=BF; /将忙碌标志电平赋给result E=0; /将

34、E恢复低电平 return 0; /*函数功能:将模式设置指令或显示地址写入液晶模块入口参数:dictate*/void WriteInstruction (unsigned char dictate) while(BusyTest()=1); /如果忙就等待 RS=0; /根据规定,RS和R/W同时为低电平时,可以写入指令 RW=0; E=0; /E置低电平(根据表8-6,写指令时,E为高脉冲, / 就是让E从0到1发生正跳变,所以应先置0 _nop_(); _nop_(); /空操作两个机器周期,给硬件反应时间 P0=dictate; /将数据送入P0口,即写入指令或地址 _nop_();

35、 _nop_(); _nop_(); _nop_(); /空操作四个机器周期,给硬件反应时间 E=1; /E置高电平 _nop_(); _nop_(); _nop_(); _nop_(); /空操作四个机器周期,给硬件反应时间 E=0; /当E由高电平跳变成低电平时,液晶模块开始执行命令 /*函数功能:指定字符显示的实际地址入口参数:x*/ void WriteAddress(unsigned char x) WriteInstruction(x|0x80); /显示位置的确定方法规定为80H+地址码x /*函数功能:将数据(字符的标准ASCII码)写入液晶模块入口参数:y(为字符常量)*/

36、void WriteData(unsigned char y) while(BusyTest()=1); RS=1; /RS为高电平,RW为低电平时,可以写入数据 RW=0; E=0; /E置低电平(根据表8-6,写指令时,E为高脉冲, / 就是让E从0到1发生正跳变,所以应先置0 P0=y; /将数据送入P0口,即将数据写入液晶模块 _nop_(); _nop_(); _nop_(); _nop_(); /空操作四个机器周期,给硬件反应时间 E=1; /E置高电平 _nop_(); _nop_(); _nop_(); _nop_(); /空操作四个机器周期,给硬件反应时间 E=0; /当E由

37、高电平跳变成低电平时,液晶模块开始执行命令 /*函数功能:对LCD的显示模式进行初始化设置*/void LcdInitiate(void) delaynms(15); /延时15ms,首次写指令时应给LCD一段较长的反应时间 WriteInstruction(0x38); /显示模式设置:162显示,57点阵,8位数据接口delaynms(5); /延时5ms,给硬件一点反应时间 WriteInstruction(0x38);delaynms(5); /延时5ms,给硬件一点反应时间WriteInstruction(0x38); /连续三次,确保初始化成功delaynms(5); /延时5ms

38、,给硬件一点反应时间WriteInstruction(0x0c); /显示模式设置:显示开,无光标,光标不闪烁delaynms(5); /延时5ms,给硬件一点反应时间WriteInstruction(0x06); /显示模式设置:光标右移,字符不移delaynms(5); /延时5ms,给硬件一点反应时间WriteInstruction(0x01); /清屏幕指令,将以前的显示内容清除delaynms(5); /延时5ms,给硬件一点反应时间 /*以下是电压显示的说明*/*函数功能:显示电压符号*/ void display_volt(void) unsigned char i; WriteAddress(0x01); /写显示地址,将在第2行第1列开始显示 i = 0; /从第一个字符开始显示 while(Str1i != 0) /只要没有写到结束标志,就继续写 WriteData(Str1i); /将字符常量写入LCD i+; /指向下一个字符void display3(void) unsigned char i; WriteAddress(0x80+0x41); /写显示地址,将在第2行第1列开始显示 i = 0; /从第一个字符开始显示 while(Str2i !=

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

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

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

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