




已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
多功能数据采集控制板的设计与实现毕业论文目录1绪论.11.1问题提出的背景 .11.2本次设计的数据采集控制板的主要功能和特点.12多功能数据采集控制板芯片选型及方案设计.22.1微控制器选型方案.32.2模拟输入结构方案.42.3 通讯模块结构方案.52.4 直流电机驱动模块方案.52.5 液晶显示模块方案.62.6数字量输入输出方案.72.7模拟输出方案.72.8电源方案.82.9按键和蜂鸣器方案.83整板硬件结构设计.93.1模拟量采集电路.93.2串口通信电路.93.3直流电机驱动电路.103.4液晶显示电路.113.5数字量控制电路.123.6模拟量输出控制电路.133.7电源电路.133.8按键和蜂鸣器电路.143.9PCB设计概述.154下位机软件设计.164.1模拟量采集驱动程序设计.164.2串口通信驱动程序设计.174.3直流电机驱动程序设计.184.4液晶显示驱动程序设计.214.5数字量控制驱动程序设计.244.6模拟量输出驱动程序设计.274.7按键和蜂鸣器驱动程序设计 .275上位机软件实现. .275.1Labview界面程序结构设计.275.2VC+6.0界面程序结构设计.326控制板运用实例.376.1 Labview界面应用实例.376.2 VC界面应用实例. 39全文总结.40致谢. 41参考文献.4242 1绪论1.1问题提出的背景数据采集技术是信息科学的一个重要分支,与传感器技术、信号处理技术、计算机技术共同组成了现代检测技术的基础。数据采集技术正是这些技术的前端,也是信息进行可靠传输和正确处理的基础。数据采集是指将温度、压力、流量、位移等模拟量采集、转换成数字量后,再由计算机进行存储、处理、显示或打印的过程。在生产过程中,可对生产现场的工艺参数进行采集、监视和记录,为提高产品的质量、降低成本提供信息和手段。在科学实验中,可对应用数据进行采集,从而获得大量的动态信息。这是研究瞬间物理过程的有力工具,也是获取科学奥秘的重要手段之一。数据采集系统的任务,就是采集传感器输出的模拟信号并转换成计算机能识别的数字信号,送入计算机。它将计算得到的数据进行规定要求的处理,以便实现对某些物理量的监视,其中一部分数据还将被生产过程中的计算机控制系统用来控制某些物理量。数据采集系统性能的好坏,主要取决于它的精度和速度,在保证精度的条件下,应尽可能的提高采样速度,以满足实时采集、实时处理和实时控制的要求。数据采集常用的方式有在PC机或工控机内安装数据采集卡,如A/D卡及RS-422卡、RS-485卡;或专门的采集设备,包括PCI、PXI、PCMCIA、USB,无线以及火线(FireWire)接口等,可用于台式PC机、便携式电脑以及联网的应用系统中。随着现代电子技术的飞速发展,数据采集技术也日新月异,特别是小型化、便携式解决方案在数据采集中开始占据越来越多的比重,并越来越多地倾向于低电压、低功耗、微型化设计,有的小型数据采集器甚至小到可以放进衬衫口袋里。目前,一些市场上出售的小型数据采集器实际上就是全功能的计算机。它们功能强大,具有现场实时数据采集、处理功能的自动化设备,具备实时采集、自动存储、即时显示、即时反馈、自动处理、自动传输功能;为现场数据的真实性、有效性、实时性、可用性提供了保证,并能方便输入计算机,已广泛应用在工业、农业、商业、交通、物流、仓储等行业。因此,根据当前数据采集发展的实际情况,研制开发符合生产需要的多功能智能化的数据采集器具有重大的现实意义。1.2本次设计的数据采集控制板的主要功能和特点本次研发的数据采集系统是基于增强型51内核单片机SST89E516RD2设计的,51内核单片机兼容性好,可以根据需要更换其他品牌的单片机,如STC89系列等。该数据采集系统利用上位机串口进行数据传送和下位机控制,系统的主要特点是,极具实用性,保护电路完备,使用方便,功能多,性价比高。根据实际测控需要设计如下接口:1. USB供电口,5V稳压电路,电机电源2. 11通道的8-12位数据采集接口3. 1通道的10位模拟量控制接口4. 8通道的数字量输出控制接口5. 8通道的TTL输入控制接口6. 一个蜂鸣器报警电路 可扩展为PWM输出7. LCD1602显示,可扩展出PWM输出8. 隔离的L298N电机驱动2路,可以驱动2个30W的直流电机9. 4个分压独立按键10. 3个通用UART串口11. 定时器输入捕获扩展接口2多功能数据采集控制板的整体结构及芯片选型多功能数据采集控制板主要由微控制器、数字量输入输出器件、模拟量输入输出器件、串口通讯模块、直流电机驱动模块、液晶显示及按钮输入模块、电源模块组成。整板实物图如图2-1所示,系统结构图如图2-2所示。 图2-1 数据采集板卡实物图图2-2 系统结构图2.1微控制器选型方案对于中低速数据采集系统,业界普遍采用8位单片机设计,介于51内核单片机已经在中国风行数十年,业界认可率高,增强型51不论在速度还是功能上都已经满足了设计需要,同时考虑到此次数据采集系统对PWM电机控制和大存储容量的需求,我们选用了SST89E516RD2增强型51单片机,它的特点如下:1. 片内用户程序空间可达 72K. ,数据空间1K,主频可达40M,支持6T时钟倍速,内置硬件看门狗。2. 片内 EEPROM数据存储容量可超 64K。 3. 5个通道的硬件 PWM信号输出。4. 1个 SPI串口。 5. 内嵌电压检测电路,节省外部的电源管理及复位芯片。6. 在片仿真功能,SOFTICE功能,让开发工程师省掉仿真器,并弥补了专用仿真器不能仿真扩展功能,接触不良,编程不能运行,价格昂贵的缺陷。 7. 在线编程功能.EASYIAP工具软件,让开发工程师省掉编程器。 8. 程序和数据存储空间互补利用,用户程序剩下的 FLASH空间,均可作为数据存储,使用灵活。 9. 三个 16位定时器 /计数器, 全双工增强型 UART ,9个中断源,四个中断优先级。 SST89E516RD2功能框图如下: 图2-3 SST89E516RD2单片机结构2.2模拟量输入采集接口结构方案 数据采集系统对采样精度和采样稳定性及多通道的需求,我们采用的是TLC2543I专用数据采集芯片,大多数传感器的模拟量输出电压最大为5V,因此在数据采集通道设计上不采用降压调理电路。为了确保芯片工作的稳定性,我们对其参考电压进行了电容稳压滤波,接口电路设计上我们用单片机的IO口控制芯片的通道选择和转换启停。由于TLC2543I模数转换器采用串行接口控制,大大节约了单片机的引脚资源,为其它板载功能的实现提供了硬件基础,以下是TLC2543I的主要性能指标:1. 可调的8-12位采样精度2. 在规定工作温度范围内转换时间10us3. 11个分时采集模拟量输入通道4. 固有的采样和保持特性5. 线性误差 MAX=正负1LSB6. 可编程LSB/MSB输出7. 片内系统时钟8. 可选择的有符号数据输出9. 针接口针脚定义2.3通讯模块结构方案 RS-232是串行数据接口标准,最初都是由电子工业协会(EIA)制订并发布的,命名为EIA-232-E,作为工业标准,以保证不同厂家产品之间的兼容。RS-232标准只对接口的电气特性做出规定,而不涉及接插件、电缆或协议,在此基础上用户可以建立自己的高层通信协议 。目前RS-232是PC机与通信工业中应用最广泛的一种串行接口。RS-232被定义为一种在低速率串行通讯中增加通讯距离的单端标准。RS-232采取不平衡传输方式,即所谓单端通讯。 收、发端的数据信号是相对于信号地,典型的RS-232信号在正负电平之间摆动,在发送数据时,发送端驱动器输出正电平在+5+15V,负电平在-5-15V电平。当无数据传输时,线上为TTL,从开始传送数据到结束,线上电平从TTL电平到RS-232电平再返回TTL电平。接收器典型的工作电平在+3+12V与-3-12V。由于发送电平与接收电平的差仅为2V至3V左右,所以其共模抑制能力差,再加上双绞线上的分布电容,其传送距离最大为约15米,最高速率为20kb/s。RS-232是为点对点(即只用一对收、发设备)通讯而设计的,其驱动器负载为37k,所以RS-232适合本地设备之间的通信。 通常在做测控试验的时候,我们只需要利用单片机原先的串口进行MAX232电平转换后就可以进行与上位机的数据通信,但是在有的时候,需要多台上位机共享一个测控平台,或者利用测控平台的串口与其他测试仪器通讯,因此有必要将原先的一个串口进行扩展。为此系统设计选择了GM8123通用串口扩展芯片,GM8123可以将一个全双工的标准串口扩展成3个标准串口,并能通过外部引脚控制串口扩展模式:单通道工作模式和多通道工作模式,即可以指定一个子串口和母串口以相同的波特率单一的工作,也可以让所有子串口在母串口波特率基础上分频同时工作。该芯片工作在多通道模式下时,子串口能主动响应从机发送的数据,并由母串口发送给主机,同时返回子串口地址。该模式使每个从机的发送要求都能被及时地响应,即使所有从机同时有发送要求,数据也不会丢失,基本实现了主控单元和外设通讯的实时性。该芯片母串口和子串口的工作波特率可由软件调节,而不需要修改外部电路和晶振频率。该芯片的外部控制少,应用灵活,编程使用简单,适用于大多数有串口扩展需求的系统。2.4直流电机驱动模块方案在进行小家电,教育机器人等产品开发的过程中,经常会用到小功率直流电机,进而根据产品需要测试直流电机的最佳运行电压电流参数,速度参数显得及其重要,考虑到测试过程中对调速,正反转,电压电流传感器,速度测试的需要,系统设计采用了L298N功率H桥驱动芯片,配合单片机的IO控制和PWM硬件输出进行电机调速和正反转控制,由于电机是感性负载,为了减小感性负载对单片机系统的影响,我们采用光耦TLP521对IO引脚进行隔离,同时对电机驱动电路加上续流二极管保护。为了节约单片机的IO引脚,系统设计采用总线驱动的方式,驱动端口占用单片机的一个外部数据存储单元,这样软件上只需要对一个地址进行读写就可以控制电机正反转,方便好用。对于电压电流检测,我们利用采样电阻采样电流信号,电流信号经过稳压滤波后进行同相比例放大再送入模拟量采集器实现电流信号采集,电压信号通过精密电位器分压得到,经过稳压滤波后送入模拟量采集器实现信号采集,由于调速采用PWM斩波技术,因此由采样电阻和电阻分压得到的信号也是斩波信号,不能很好的表现信号的变化趋势,但是利用电容稳压滤波后经过示波器观察发现波形趋势变化情况良好,这样就保证了得到的电压电流信号能够被模拟量采集器可靠采集到,并以数字量的形式真实再现信号的变化趋势。测速接口设计,系统采用单片机定时器对测速编码器输出脉冲进行定时计数,并在另一个定时器中断中利用单片机串口定时发送转速数据实现。以下是L298N驱动器的结构框图:图2-4 L298N驱动器结构图2.5液晶显示模块方案人机交互是测控领域中不可缺少的组成部分,为了了解数据采集控制板的工作状态,我们必须通过一些媒介去观察,液晶显示,是最直接的工作状态显示方式,本次设计采用LCD1602液晶显示模块,该模块采用8位并行数据总线,很容易和51单片机的数据总线匹配连接,并且它的驱动程序实现方便,字符显示发生方便,具有很高的性价比,为了简化液晶的驱动程序编写,我们采用单片机IO引脚直接控制液晶,这样也简化了硬件设计,降低了制作成本。液晶接口还扩展了一路串行12864液晶显示,方便以后要求更高的状态显示需要。该1602液晶的主要技术参数如下:1 显示容量:16*2个字符2 芯片工作电压:4.55.5V3 工作电流: 2.0mA(5.0V)4 模块最佳工作电压: 5.0V5 字符尺寸: 2.95*4.35(WXH)mm2.6数字量输入输出方案在产品的研发过程中,经常会遇到需要利用数字量对设备进行测控的需要,因此扩展出数字量接口是十分必要的,为了节约单片机的IO引脚,设计上依然采用总线扩展技术,分配两个外部数据内存单元给数字量控制接口,这样读写内存单元就可以控制接口的数字量输入输出,软件控制上简单易用,接口实现是利用373锁存器进行数据锁存,然后,利用138译码器译码地址,输出数据的锁存由另外一片373实现,数据输入用244芯片缓冲后输入,在输入接口设计上,为了便于编码器编码输入,我们采用上拉电阻上拉输入口,这样输入编码就有256种指令了,同时,利用输入接口还可以进行数字键盘控制,可见输入接口的灵活性,实用性很强。2.7模拟量输出控制电路为了节约单片机IO口,同时为了提高模拟量输出精度,本设计采用10位分辨率单通道0-5V输出串行控制DA芯片TLC5615I,它具有缓冲基准输入,具有输出可调至基准电压两倍的输出电压范围,且DAC是单调变化的,器件使用简单,用单5V电源工作,器件具有上电复位功能以确保可重新启动。在接口实现上芯片用单片机的IO引脚直接控制,这样做简化了驱动程序编写。TLC5615I功能结构如图:图2-5 TLC5615I芯片结构2.8电源方案数据采集系统要稳定工作离不开一个稳定的系统电源,考虑到普通实验室一般配备计算机和可调开关电源,我们的电源设计采用这样的结构:信号电源和电机电源独立供电,信号电源采用USB接口5V取电,为了保护计算机,我们用500mA的自恢复保险丝限流,同时为了电池取电方便还采用7805稳压芯片提供5V电压,稳压电源经过电容平波和滤波后输出稳定可靠的5V电压,为了防止稳压输入端电源反接导致芯片烧毁,电路采用二极管加上自恢复保险丝的结构防止反接损坏,对于5V信号电源使用,设计建议是如果不做数据采集,建议用计算机USB接口取电,这样很方便,但是,如果需要数据采集,就用7805稳压输出,这样采集的参考电压就很精确,使采集数据更准确。电机电源因为是直流电机电源,首先考虑电源输入端要并联大容量的电解电容和小容量瓷片电容退耦滤波,其次做好限流保护和反接保护,电路依旧用自恢复保险丝和二极管实现,电机电源的设计工作电压7-24V,采用开关电源供给。2.9按键和蜂鸣器方案 测控应用中,往往需要在人机交互过程中利用键盘进行工作模式选择,普通的设计思想是利用单片机IO引脚进行输入按键行列扫描,这样设计不仅需要占用不少的单片机引脚,同时在扫描程序编写上也要花费不少时间,给设计带来不方便。为此,本设计提出利用按键和电阻分压,输出4阶电压,然后利用已有的AD转换接口采集电压信号进行按键识别的构想,这样,既不占用剩下不多的IO口,也不用再去编写键盘扫描程序,一举两得。蜂鸣器是测控时作为阀值报警的好器件,我们利用一路硬件PWM输出驱动PNP三极管实现蜂鸣器驱动,这样不仅可以节约CPU处理时间,也可以扩展出一路PWM接口外用,使用更方便。3整板硬件结构设计3.1模拟量采集电路 数据采集器工作在分时采集的状态下,其工作电源可以通过短接帽使能,输入通道分配5V电源作为传感器电源,方便使用,其引脚分配和原理图如图3-2所示。图3-2 模拟量数据采集器原理图数据采集器在PCB设计时,要注意模拟量输入通道的连线要短而整齐,注意退耦电容和滤波电容要离芯片电源尽可能的近。3.2串口通信电路 串口通信采用单串口扩展为3串口的形式,采用GM8123扩展出COM1,COM2,COM3三个串口,COM3为默认的选通串口,可以进行上位机通信和程序下载以及程序在线调试,COM3还配置监控LED,用于对通信是否成功提供依据和通信状态指示,COM1和COM2是没有电平转换芯片的,直接TTL电平UART通信口,采用USB口做接口,方便和其他单片机通信或者经过电平转换后和485通信设备或PC机通信,GM8123有外置12M晶振,因此同样需要在PCB设计时避免信号走线经过外置晶振,同时晶振周围铺铜接地,具体电路实现和PCB如图3-3、3-4所示。图3-3 串口1、2原理图图3-4 串口 3原理图3.3直流电机驱动电路直流电机驱动电路配备电压电流传感器模块,此模块提供电机的单向电压电流测试,不能在测试的时候反转,如果反转,测试的数据是不正确的。由于在一般电机应用中对速度和方向的控制需要比较多,因此,电流传感器和电压传感器是独立的,在使用的时候,需要将传感器输出引线接到模拟量采集通道上,这样设计方便了测控应用中根据需要去改动有限的采集接口,增加了数据采集的灵活性。电机驱动的正反转信号由138译码器选定的外部内存地址输出锁存得到,调速信号由芯片使能端的PWM信号控制,具体原理图如图3.5、3.6、3.7所示:图3-5 电机驱动原理图图3-6 正反转控制原理图图3-7 电流信号放大原理图3.4液晶显示电路液晶显示接口电路如图3-8所示。液晶显示部分分配背光可调的PWM调节,通过PWM调节可以调节液晶的亮度,同时,液晶还有一个对比度调节电位器,在字符数字显示不清晰的情况下,通过调节电位器可以使液晶显示更清晰。图3-8 液晶显示原理图1602液晶显示PCB设计的时候强调8位数据总线的布局,布线整齐,规划线路长短一致,这样可以保证繁忙的数据线信号完整性。3.5数字量控制电路 图3-9 数字量输入原理图 图3-9是经过10K电阻上拉的数字量输入接口,一般情况下用DIP8封装的编码器安装插入后就可以使用。图3-10 数字量输入原理图上图3-10是经过373锁存器锁存后的TTL数字量输出接口。3.6模拟量输出控制电路 模拟量输出电路参考电压为2.5V,因此可控的电压输出为0-5V,10位分辨率,在PCB设计时为了加强信号线的抗干扰能力,布线时绕过了晶振电路,电路原理图如图3-11所示。图3-11 模拟量输出原理图3.7电源电路电源电路设计的时候充分考虑了电源的反接,限流保护和LED电源指示功能,同时在PCB设计的时候,特别加宽了电源地和VCC,VMOTOR2等布线网络的走线,这样电路的过流能力就变大了,同时地线加宽有助于降低系统的公共耦合阻抗,这样系统的抗干扰性能也加强了。具体电路如图3-12、3-13、3-14所示:图3-12 稳压电源原理图图3-13 USB口电源原理图 图3-14 电机电源原理图在PCB设计中,电源是集中布局在一起的,电源的输入输出从左到右布局,这样的设计使得PCB走线放置变得容易实现。3.8按键和蜂鸣器电路按键和蜂鸣器电路实现简单,如图3-15所示:图3-15 按键与蜂鸣器原理图PCB布局的时候将蜂鸣器和按键布局在控制板的外围,这样按键方便,同时减少了蜂鸣器对系统的干扰。3.9PCB设计概述 数据采集系统是否能稳定工作,很大程度上取决于PCB板器件的布局和走线是否合理规范。本多功能数据采集控制板的布局布线设计原则如下:1. 所有接插件都放置在控制板外围,这样做使接插件链接方便2. 相关元件集中放置,可以尽量减少走线长度3. 输入元件和输出元件分开放置,避免信号交叉干扰,影响信号质量4. 大功率器件预留散热片空间,便于安装散热片5. 所有芯片到单片机的引脚控制线最短6. 芯片位置横平竖直,元件排列整齐7. 数据总线输入输出分别集中,信号流向分明8. 双面板布线,没有布线的地方全部铺铜接地,增强板子抗干扰能力,提高EMC9. 所有芯片退耦旁路电容均放置最近10. 标注所有接口标记号,方便接口使用以下图3-16是设计制作的PCB整板。图3-16 采集卡PCB板图4下位机软件设计4.1模拟量采集驱动程序设计 软件编写的晶振为11.0592M,上位机通讯波特率19200。函数输入参数:0x00_0x0a代表0至10通道选择。函数输出参数:#include SST89x5xxRD2.H#include #define Uchar unsigned char#define Uint unsigned int#define Ulong unsigned long/TLC2543接口定义#define csport P4 /定义片选端口sbit CLK = P13; /时钟口线sbit ADR = P12; /地址输入口线sbit OUT = P11; /数据输出口线Uint read2543(Uchar port)/0x20-0x90 2-9通道Uint ad; /ad装的是12位AD数据Uchar i; csport = 0x00; /设置片选为低. CS下降沿开始转换和传送过程 CLK = 0; /清I/O时钟 ad = 0; _nop_(); /为了减小CS输入端的噪声引起的误差而延时 _nop_(); for(i = 0;i 12;i+) /在12个时钟的驱动下,输入通道地址等,输出AD转换结果 ad = 1; /ad左移一位 if(OUT) /OUT:数据输出口线。在第一个输出数据位之后的每个后续位由后续的CLOCK时钟下降沿输出 ad |= 0x01; /在使用CS时钟的传送,第一个输出数据位发生在CS的下降沿 ADR = (bit)(port & 0x80); /ADR:地址输入口线. DATA INPUT在前8个时钟的上升沿被移入器件.在前8个时钟之后,DATA INPUT便无效 _nop_(); CLK = 1; /CLK:时钟口线,以产生时钟上升沿 _nop_(); CLK = 0; /CLK:时钟口线 port = 1; /port左移一位 csport = 0xff; /设置CS片选为高,以便启动下一次的AD转换 return ad;4.2串口通信驱动程序设计 串口程序默认用扩展串口的COM3收发,如果需要更换串口,可以在线更换为COM1、COM2。串口选择函数如下:#include #includeGM8123.H/单通道模式void S_com1(void) /选择串口1 STADD0=1; STADD1=0; SRADD0=1; SRADD1=0; void S_com2(void)/选择串口2 STADD0=0; STADD1=1; SRADD0=0; SRADD1=1;选择好串口以后就可以利用串口收发函数进行数据传送了串口收发函数及其初始化函数如下:#include SST89x5xxRD2.H#include rs485.hvoid initrs485(void) /通讯寄存器初始化 TMOD=0x22; TL1=0xfd; TH1=0xfd; SCON=0x58; PCON=0x80; /默认波特率19200,0x00=9600TR1=1;EA=1; /允许接收中断ES=1;PS=1; void sendbyte(char x) /输入参数待发送数据 SBUF=x;while(!TI);TI=0;char receivebyte() /查询方式接收,返回接收数据 Uchar y;while(!RI);y=SBUF;RI=0; return y;4.3直流电机驱动程序设计 系统在设计的时候利用了0,1两路PWM输出来调速电机,还有两路2,3分配给蜂鸣器和LCD1602背光调节,因此在调节蜂鸣器声音和LCD亮度的时候只需要调用PWM发生器初始化,调用电机函数的2,3编号PWM即可,具体函数实现如下:/*#include SST89x5xxRD2.H#include robot_delay.h#include motor.h/#include/#includechar xdata MotorOutPort _at_ 0x1F; /电机的控制端口static union MOTOR_REG data motordir=0xff;/ motordir=0xff;/*功能:motorinit描述:电机初始化参数:无返回:无*/void motorinit(void)CMOD=0x02;CCAP1L=0x00;CCAP1H=0x00;CCAP2L=0x00;CCAP2H=0x00;CCAP3L=0x00;CCAP3H=0x00;CCAP4L=0x00;CCAP4H=0x00; CCAPM1=0x42;CCAPM2=0x42;CCAPM3=0x42;CCAPM4=0x42;MotorOutPort=motordir.all;/*功能:电机控制描述:电机驱动函数参数:电机号0-3,方向,速度,只用了0,1编号PWM返回:无*/void setmotor(Uchar motor,Uchar dir,Uchar speed)/速度0255if (motor3) motor= 3;switch(motor)/根据电机编号进行设置 case 0: if(dir)/首先设定方向 motordir.bits.motor11=0; motordir.bits.motor12=1; else motordir.bits.motor11=1; motordir.bits.motor12=0; CCAP1L=speed;/然后设定速度 CCAP1H=speed;break; case 1: if(dir) motordir.bits.motor21=0; motordir.bits.motor22=1; else motordir.bits.motor21=1; motordir.bits.motor22=0; CCAP2L=speed; CCAP2H=speed;break; case 2: if(dir) motordir.bits.motor31=0; motordir.bits.motor32=1; else motordir.bits.motor31=1; motordir.bits.motor32=0; CCAP3L=speed; CCAP3H=speed;break; case 3: if(dir) motordir.bits.motor41=0; motordir.bits.motor42=1; else motordir.bits.motor41=1; motordir.bits.motor42=0; CCAP4L=speed; CCAP4H=speed;break;default: break;MotorOutPort=motordir.all;void stopmotor() /停止电机运转MotorOutPort=0x00; 4.4液晶显示驱动程序设计 液晶显示函数比较复杂,在使用的时候要注意延时函数的搭配,具体实现如下:#defineUchar unsigned char#define Uint unsigned int#define DATA_PORT P0sbit LCD_RS = P20;sbit LCD_RW = P21;sbit LCD_EN = P22;sbit P1_5 = P15; sbit BLK = P16; /P16:LCD1602液晶背光控制引脚void lcd_busy(); /液晶忙检测函数void lcd_wcmd(unsigned char cmd, bit Check);/写液晶命令函数void lcd_wdat(unsigned char dat);/写数据函数void lcd_init();/液晶初始化void lcd_pos(unsigned char xpos, unsigned char ypos);/液晶显示定位void wr_string(unsigned char str);/写字符函数void delayNOP() _nop_(); _nop_(); _nop_(); _nop_();/*ms延时子程序*/void delayms(unsigned int ms) unsigned char k; while (ms-) for (k = 0; k 114; k+) ; /*检查LCD忙状态lcd_busy为1时,忙,等待。lcd-busy为0时,闲,可写指令与数据。 */void lcd_busy() bit busy; busy = 1; while (busy) LCD_RS = 0; LCD_RW = 1; LCD_EN = 1; busy = (bit)(DATA_PORT &0x80); d
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 全球协作机器人市场在智能仓储行业的应用现状报告
- 2025合同管理实务:招标投标、合同谈判、造价控制与操作
- 五级电工模拟练习题与答案
- 分式求值五技巧
- 现场急救的试题及答案
- 环保知识竞赛题库(含答案)
- 2020年重庆普法考试及答案
- 2018年ciia卷一考试真题及答案
- 46级考试题分布图及答案
- 2025年锂电池隔膜制造技术革新:湿法工艺技术创新案例分析
- 钢构雨棚施工方案
- 钢结构及旧楼加固工程投标方案(完整技术标)
- 耳尖放血疗法课件
- 交通运输概论高职PPT完整全套教学课件
- 入团积极分子团课共青团课件
- 中国健身秧歌竞赛规则与裁判法
- 2023年浙江省重点高中自主招生数学试卷及答案
- 烤烟生产沿革
- GB/T 3600-2000肥料中氨态氮含量的测定甲醛法
- GB/T 24218.1-2009纺织品非织造布试验方法第1部分:单位面积质量的测定
- 电商客服培训考试
评论
0/150
提交评论