基于单片机的超声波测厚仪设计.docx

上传人:李** 文档编号:48535016 上传时间:2022-10-06 格式:DOCX 页数:40 大小:1.25MB
返回 下载 相关 举报
基于单片机的超声波测厚仪设计.docx_第1页
第1页 / 共40页
基于单片机的超声波测厚仪设计.docx_第2页
第2页 / 共40页
亲,该文档总共40页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《基于单片机的超声波测厚仪设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的超声波测厚仪设计.docx(40页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、图2-1 超声波原理示意图2.3 设计思路此次设计包括硬件设计和软件设计两部分,电路结构可以分为超声波传感器电路、液晶显示电路、单片机电路、温度补偿电路、提示电路、按键电路等。系统总体设计框图如图2-2所示。图2-2 系统总设计框图此次设计的内容包括硬件电路连接和软件设计两部分。开始先通过单片机驱动DS18B20温度传感器,由温度传感器进行温度测量后计算得出当前温度下的超声在空气中的传播速度,然后由Trig引脚发出一个高电平信号,发射超声波。超声波经过反射回来后,通过等待超声波接受口Echo引脚有高电平输出,一旦有高电平输出打开定时器进行计时。由定时器计算得出超声波传感器发射超声波与接收到超声

2、波回波之间的时间差。就可以计算得出厚度,再由液晶显示器显示数值。当距离小于某一数值或者超出测量范围时,蜂鸣器发出声音进行报警。2.4 本章小结 本章首先对超声波的一些基础特性惊醒了阐述,及其在现实生活中的主要应用,接着详细介绍了三种超声测厚方法的基本原理,最后介绍本系统所采用的基本原理和总体设计思路,为接下来论述各模块在硬件和软件上的实现奠定基础。 第三章 硬件设计3.1 单片机模块3.1.1 单片机简介AT89C51是美国ATMEL公司生产的低电压、高性能CMOS8位单片机,片内含4k字节的可反复擦写的只读程序存健器(EROME)和128 字节的随机存取数据存储器。兼容标准MCS-51指令系

3、统,片内置通用8位中央处理器(CPU)和Flash存储单元。AT89C51提供以下标准功能:4k字节Flash闪速存储器,128字节内部RAM。32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作权式。拉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件I作直到下一个硬件复位。图3-1为AT89C51单片机的方框图。图3-1 AT89C51单片机的方框图其引脚功能如下:l VCC:电源电压;l GND:地;l P0口:8位漏极开路型双向I/O口;l P

4、1口:带内部上拉电阻的8位双向I/O口;l P2口:带内部上拉电阻的8位双向I/O口;l P3口:带内部上拉电阻的8位双向I/O口,其第二功能如表3-1所示;l RST:复位输入,高电平有效;l ALE/PROG:ALE为地址锁存控制信号端,PROG为编程脉冲输入端;l PSEN:访问片外程序存储器;l EA/VPP:外部访问允许;l XTAL1:反向放大器输入端;l XTAL2:反相器输出端。P3口作为第二功能使用时各个功能引脚如表3-1所示:表3-1 P3口各引脚第二功能端口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0(外中断0)P3.3INT1(外

5、中断1)P3.4T0(定时/计数器0外部输入)P3.5T1(定时/计数器1外部输入)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)3.1.2 单片机最小系统单片机最小系统,也叫单片机最小应用系统,是指用最少的原件组成单片机可以工作的系统。电源、振荡电路、复位电路构成了单片机最小系统的三要素,也就是说,一个单片机具备了这三个条件,就可以运行下载的程序了,其他的比如LED小灯、数码管、液晶等设备都是属于单片机的外部设备,即外设。单片机最小系统电路图如图3-2所示。图3-2 单片机最小系统电路图(1) 电源:主控电路供电5V。(2) 振荡电路:由晶振和电容组成,理论上来说,

6、振荡频率越高表示单片机的运行速度越快,但是同时也对存储器的速度和印刷电路板的要求也就越高。AT89C51单片机的18脚和19脚是品振引脚,此最小系统接的是11.0592MHZ的晶振,外加两个33Pf的电容,这个电容的值没有特别的要求,作用是帮助晶振起振,并维持振荡信号的稳定。晶振电路如图3-3所示。(3) 复位电路:接到了单片机的9脚(RST)复位引脚上,当程序运行过程中突然断电,此时单片机内部有的数据会丢失,有的还没有丢失,为了单片机下次打开时还能正常运行,再次上电后,单片机内部要进行一个初始化,这个过程就可以理解为上电复位;当程序运行时,遭受外界干扰死机,或者程序跑飞的时候,就可以按下复位

7、键让程序重新开始运行,这个过程叫手动复位;当程序死机或者跑飞的时候,如果程序长时间失去响应,单片机看门狗会自动复位重启单片机这个过程就是程序自动复位15。15本单片机最小系统采用手动复位方式,复位电路如图3-4所示。图3-3 晶振电路 图3-4 复位电路 3.2温度检测模块 3.2.1 数字温度传感器DS18B20简介声波在空气中传播时,空气的温度、大气压力、湿度等都会对超声波的速度有影响,其中空气的温度对于超声波的速度影响最大,所以,为了避免环境温度而带来的偏差,必须对环境温度进行检测,并通过计算消除环境温度引起的偏差。DS18B20具有接线简单、体积小、使用方便的特点,封装后可以用于各种场

8、合的测温,尤其适应于狭小空间的测温。DS18B20可以直接将温度转化成串行数字信号供处理器处理,DSI8B20与单片机的连接十分简单,单片机只需要一个I/O口就可以控制DS18B20进行温度采集16。DS18B20与单片机的连接如图3-5所示。图3-5 DS18B20连接电路3.2.2 DS18B20工作原理DS18B20的ROM中存放了一个64位的序列号,可以看作是该温度传感器的地址序列码。光刻ROM序列号的作用是可以使每一个的温度传感器各不相同17。这样一台主机就可以挂接多个温度传感器,组成多个测温网点。 当进行温度操作时,如果主机对多个DS18B20进行使用,要先将主机逐个与各个DS18

9、B20进行挂接,读出其序列号,然后将所有的DS18B20挂接到总线上,单片机发出匹配ROM指令,如果是只针对一个DS18B20进行操作,则可以不用进行这些步骤,并且不用读取ROM和匹配ROM,直接跳过(CCH);然后开始温度转换、读取。DS18B20 ROM 部分命令和功能命令如表3-2,表3-3所示。表3-2 DS18B20 ROM命令命令代码搜索ROM0xF0读取ROM0x33匹配ROM0x55跳过ROM0xCC表3-3 DS18B20功能命令命令代码转换温度0x44读暂存器0xBE写暂存器0x4EDS18B20测量范围是-55+125,测量分辨率为912位(复位值为12位,最大转换时间为

10、750ms)。在要进行测温或者温度转换时控制器要发出44H命令,此时就会进行测温,温度转换结束之后,会以两个字节的形式保存在高速缓存存储器中。每个字节都是个八位的数据,高字节的前五位是温度符号位,如果前五位就是0,则代表温度大于零,反之为1。如果是正温度就直接乘以0.0625就得到了温度的值,如果小于零,就要减1在取反,再乘以0.0625。DS18B20温度传感器的内部结构图如图3-6所示。图3-6 DS18B20内部结构图3.2.3 温度补偿超声波在固体中传播速度最快,在气体中传播速度最慢,而且声速c与温度有关。如果环境温度变化显着,必须考虑温度补偿问题。为了提高系统的测量精度,本文设计了温

11、度补偿电路。根据实际温度的值,利用式(3-1)可计算补偿声速。表3-4为几种温度下的对应不同声速。空气中声速与温度的关系可以表示为: c=331.41+T/273331.4+0.607T(m/s) 式(3-1)式中,T 为环境摄氏温度。表3-4 声速与温度对应表温度-30-20-100102030100声速米/秒3133193253323383443493863.3 超声波模块HC-SR04超声波模块的电路连接如图3-7所示。HC-SR04超声波传感器可以提供2cm450cm的非接触式测量,测量精度可以达到3mm,该模块包括超声波发射电路,超声波接收电路和超声波控制电路。HC-SR04具有以下

12、几个特点: (1)超微型,体积小,相当于两个发射头面积的大小 (2)盲区小,10mm以内可以当作0来处理:(3)测量速度快,10ms的测量周期不容易丢失目标:(4)发射头和接收头成直线关系。图3-7 超声波电路连接图 HC-SR04的引脚与单片机的接法如下: (1)VCC:接5V电源; (2)GND:接地; (3)Trig(控制器发射信号端):接单片机的I/O口; (4)Echo(接收端):接单片机的I/O口。超声波传感器的Trig端口和Echo端口在连接单片机端口时,要先接个上拉电阻,因为单片机的P2端口自带上拉电阻,所以将Trig端口和Echo端口接在P2.0和P2.1端口上。HC-SR0

13、4的电气参数如表3-5所示。表3-5 HC-SR04电气参数表电气参数HC-SR04工作电压DC 5V工作电流小于2mA工作频率40HZ感应角度不大于15度探测距离2cm450cm精度可达3mm输入触发信号10s的TTL输出回响信号输出TTL脉冲,与距离成正比尺寸大小452015mm3.4 蜂鸣器和指示灯报警电路蜂鸣器是一种一体化结构的电子讯响器,分为无源蜂鸣器和有源蜂鸣器,所谓的“源”是指电子元器件在工作时,如果其内部振荡源存在,则这种器件叫做有源器件。如果元器件在工作时内部没有振荡源则这种期间被称为无源器件。 有源蜂鸣器本身含有驱动,直接给他一定的电压就可以发声,无源蜂鸣器要靠外部驱动才可

14、以响。无源蜂鸣器的理想驱动是一定频率的方波。蜂鸣器的I/O口与单片机的I/O口相连,当测量的距离小于或者超出测距范围时蜂鸣器报警,红色发光二极管亮灯,在安全距离之内时,红色发光二极管就不会会亮起,表示在安全距离以内。蜂鸣器和指示灯报警电路图如图3-8所示。图3-8 报警电路图3.5显示模块3.5.1 LM016L液晶显示模块简介LM016L液晶显示器与单片机的连接电路如图3-9所示,VEE端是液晶显示对比度调节,如果直接接到VCC端会使对比度过高不会显示内容,一般要加一个电位进行对比度调节。E是使能端,又称为允许输入端或禁止端,下降沿使能。RS是数据命令选择端,R/W是读写选择端。D0D7是数

15、据传输端。LM016L液晶显示器共有14个引脚,引脚说明如表3-6所示。表3-6 LM016L液晶显示器引脚说明编号符号引脚说明1VSS一般接地2VDD接电源3VEE液晶显示对比度调节4RS寄存器选择5R/W读写信号线6E使能端714D0D7数据端 图3-9 LM016L连接电路3.6 本章小结本章主要介绍此次设计所用到的硬件设计。首先本章第一节介绍了设计所用单片机AT89C51的基本参数以及引脚功能,接着介绍单片机最小系统,详细介绍了复位电路、振荡电路;第二节介绍了温度检测模块,详细介绍温度传感器DS18B20的特点以及工作原理,并介绍温度与声速的关系式来实现温度补偿;第三节介绍HC-SR0

16、4超声波传感器的特点以及与单片机的连接方式;第四节主要介绍蜂鸣器以及发光二极管,二者组成报警电路;第五节介绍LM016L液晶显示模块,阐述了其基本参数及引脚功能。- 11 -第四章 软件设计4.1 Keil开发环境及开发语言此次开发环境选择Keil Vision 4集成开发环境。Keil提供了包括C编译器、宏编译、链接器、链接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境将这些部分组合在一起。图4-1为此次设计所用的Keil Vision 4集成开发环境。此次设计编程语言采用C语言, 它是目前广泛流行的结构化程序设计语言,既具有高级语言的优点,又具有低级语言的许

17、多特点,适合编写系统软件和应用软件。图4-1 Keil Vision 4开发环境本次设计采用的是模块化的思路来进行设计和编写程序的,程序由主程序模块、温度传感器模块、液晶显示模块、超声波模块、头文件模块、报警模块组成,主程序用来进行函数调用和定时器定时。系统总流程图如图4-2所示。图4-2 超声波测厚仪的总体流程图- 40 -4.2主程序模块主程序首先是调用各个模块的初始化函数,报警电路调整最大值与最小值,启动超声波,当RX为0时等待,开始计时,再次等待RX为1,关闭计时,延时20ms,调用温度转换函数,得出温度值,再调用超声波计算函数,测出厚度,若厚度超过测量范围,则蜂鸣器报警,红灯亮;若厚

18、度在测量范围内,则蜂鸣器不响,红灯不亮;厚度显示在液晶显示屏上。主函数流程图如图4-3所示。图4-3 主函数流程图4.3 温度检测模块DS18B20是单总线技术,有着严格的时序概念。在软件编写的时候要严格按照时序图进行延时,否则会出现初始化失败等错误。温度检测模块包括DS18B20初始化、读操作、写操作、转化操作,还有温度判断操作。由于声速在不同温度下会发生变化,所以考虑到不同温度下超声波的速度来计算厚度,由表3-4可直接得出不同温度对应速度,温度检测模块总流程图如图4-4所示。图4- 4温度检测模块流程图4.4 超声波模块超声波模块包括超声波发射函数和超声波距离计算函数,先启动超声波,发射信

19、号结束后,然后由温度补偿后的超声波速度来计算出测量厚度。超声波模块流程图如图4-5所示。图4-5 超声波模块流程图在超声波发生函数中,单片机给HC-SR04超声波传感器的Trig端口一个高电平信号,用机器周期延时至少10s,延时方法是调用一个空循环函数,这样超声波模块就会发射超声波,10s后给Trig端口一个低电平信号,结束发射信号。对应代码如下。void StartModule() /启动模块TX=1; /启动一次模块_nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_()

20、; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();_nop_(); _nop_(); _nop_(); _nop_();TX=0;再通过不同温度下的速度来计算出厚度。代码如下。void JS_(uchar WD)if(WD=30&flag=1)L_=(time*3.13)/200; /算出来是MM;else if(WD=20&WD=10&WD=0&WD10&flag=1)L_=(time*3.23)/200; else if(WD0&flag=0)L_=(time*3.38)/200; else if(WD10&fl

21、ag=0)L_=(time*3.34)/200; else if(WD20&flag=0)L_=(time*3.49)/200; else if(WD30&flag=0)L_=(time*3.86)/200; 4.5 显示模块此次设计采用LM016L显示温度和测量的距离,在使用LM016L时,要先进行端口的声明,再进行初始化设置,初始化操作包括对显示格式、光标显示、清屏的操作。在读写操作中因为主要是用LM016L进行显示距离和温度,所以LM016L的读写操作只用到了写操作,没有用到读操作。LM016L写操作包括写命令和写数据,这些命令也就是指定操作类型,如滚屏、闪烁、光标的消隐、以及指定要写数

22、据显示的地址等。写数据一般就是写入要显示的字符。在使用LCD时要先进行初始化操作,LM016L初始化流程如图4-6所示。图4-6 LM016L初始化流程图4.6 本章小结本章主要介绍此次设计所用到的软件设计。首先本章第一节介绍了设计所用的开发环境以及开发语言选择;第二节介绍了主程序模块,介绍主程序模块的设计并给出流程图;第三节介绍温度检测模块,介绍了软件模块所包括的内容并给出流程图;第四节主要介绍超声波模块,介绍超声波发射函数以及根据不同温度下的声速来计算距离,并给出具体代码;第五节介绍LM016L液晶显示模块,介绍了初始化操作和写操作,并给出流程图。第五章 调试5.1 构建仿真环境Prote

23、us是一款功能强大的软件,其ISIS用来做仿真非常方便,尤其是单片机系统的仿真。仿真时,首先绘制原理图,根据需要搭建好电路图。绘制原理图环境如图5-1所示。图5-1 绘制原理图环境搭建完电路图后,只需把Proteus与Keil进行联调即可。首先为单片机添加程序,双击单片机在弹出的框中选择Keil Vision 4中生成的程序hex文件,结束后即可开始仿真。二者联调如图5-2所示。图5-2 Proteus与Keil联调图5.2 调试结果在调试时未超过测量范围的仿真图如图5-3所示。由此仿真可以看出,此时未超出测量范围(150-250mm),红灯未亮,蜂鸣器没响。图5-3未超出测量范围仿真图调试时

24、超出测量范围的仿真图如图5-4所示。由此仿真可以看出,超出测量范围时,红灯亮起并且蜂鸣器发出声音。图5-2 超出测量范围仿真图图5-4 超出测量范围仿真图模拟仿真其他情况相同只有不同温度下的厚度结果如表5-1所示。表5-1 超声波测厚仿真结果次数温度()仿真结果(mm)1-30-201882-20-101903-100194401019551020203620302097302325.3 本章小结本章主要介绍超声波测厚仪的仿真过程,对如何让仿真进行了详细说明,并给出不同温度下的仿真结果。结论此次设计研究了一种基于单片机技术的超声波测厚仪,该系统的硬件电路主要包括超声波传感器电路、液晶显示电路、

25、单片机电路、提示电路、温度补偿电路、按键电路等,采用11.0592MHZ高精度的晶振,以获得稳定的时钟频率,减小测量误差。此次设计的超声波测厚系统具有测量精度高、速度快、控制简单等优点,测距范围从150mm到250mm。该设计考虑到温度变化引起的错误,加上超声波测量的温度补偿,使用液晶显示画面显示距离,发出警告超过规定距离。由于时间问题,没有做出实体,只进行了仿真。同时由于经验不足,电路的硬件设计和软件设计都有不够完善的地方,会在今后的学习中进步改进。总体来说,在本设计的设计过程中我学到了很多的知识,从中受益匪浅。了解了超声波传感器的原理,掌握了单片机开发过程中利用单片机设计的方法,掌握了Ke

26、il软件的使用方法,锻炼了自己的编程能力。这些对于我今后的学习和工作都有很大的帮助。但是由于自身能力不够,本设计仍然可以在实用性、稳定性这两个方面进行改进,使本设计更加完善。参考文献1 国防科技工业无损检测人员资格鉴定与认证培训教材编审委员会.超声检测M.北京:机械工业出版社,2005.7.2 DONGFEI,DAVIDK.HSU,MARKWARCHOL.Simultaneousvelocit,thicknessandprofile imagingby ultrasonicscanJJoumalof NondestructiveEvaluation,2001,20(3):95-110.3 张庆

27、喜.超声波测厚仪及其发展趋势J.无损检测,1989,11(07):187-189+193.4 王占元. 基于单片机的便携式超声波测厚仪的研制D.北京化工大学,2011.5 段伟亮,康磊,张晓辉,王淑娟,翟国富.基于FPGA的电磁超声测厚仪J.仪表技术与传感器,2010(04):14-16+19.6 胡子俭, 经改进的超声波测厚仪传感器. 上海市,中国科学院上海硅酸盐研究所,2001-09-207 中国机械工程学会无损检测分学会编.超声波检测M北京:机械工业出版社,2000:58-61.8 赵广涛,程荫杭.基于超声波传感器的测距系统设计J.微计算机信息,2006(01):129-130+149.

28、9 宁铎,杨杰,邓力凯,王旭,王康乐.便携式超声波厚度测量仪系统的设计J.电子产品世界,2017,24(05):54-5710 雷建龙.基于单片机的超声波液位测量仪J.仪表技术与传感器,2004(06):8-9+14.11 郭德涛,王腾飞.基于MSP430单片机的超声波厚度检测系统设计J.内蒙古石油化工,2013,39(15):49-52.12 潘荣宝.超声测厚仪及测厚J.压力容器,1996(01):58-63+3.13 PaulShuttleworth,JulieMaupin,AlbertTeitsma.GasCoupledUltrasonicMeasurementof PipelineWa

29、ll ThicknessJ.PressureVesselTechnol.August2005Volume127,Issue3,290.14 JOHNHAYNESS,HOUSTON,TEX.Ultrasonicthicknessgageforpipe:US,5,313,837(P.1991-09-261994-05-24.15 王德彪.MCS-51单片机原理及接口技术M.北京.电子工业出版社.2009.6.16 单体良.基于AT89C51单片机的数字温度计设计J.数码世界,2016(09):24-26.17 侯宝玉等.基于Proteus的51系列单片机设计与仿真M.北京.电子工业出版社,2008

30、.9.致谢论文行笔致辞,不禁有些感伤,时光荏苒,四年一晃而过。随着本科毕业论文的完成,大学生活的最后一笔浓墨也挥洒完毕。感谢我的指导老师沈浩老师,在我毕业设计的过程中,由于经验的不足,难免有许多考虑不周的地方,沈浩对我的毕业设计提出了许多宝贵意见,也给予了很多包容,这些都帮助我能够更好的完成论文。感谢所有教授过我课程的老师,特别是焦俊生老师,不知道为什么,就是很想感谢他。感谢我的室友四年以来的陪伴与包容,涓涓同学是我在这所学校里认识的第一个人,给刚到陌生环境的我一些安全感;孙玉梅同学,虽然第一次见你时觉得你很凶,但后面果然我还是最喜欢你,虽然我们也闹了很多次别扭,但也正是你,让我迈出了很多的第

31、一次,帮我改掉了许多坏习惯;蔡锐鸿同学,记得我们一起去上舞蹈课的日子,舞蹈老师真的漂亮。感谢我们班其他的所有同学,点名表扬追剧口味相同的杨心悦同学、喜欢各色指甲油的张清晨同学、说话永远慢悠悠的石桢彦同学。感谢我的幼稚老爸和耶啵妈妈,还有我从小带到大的不省心妹妹。最后感谢我的祖国。异乡的求学之路是我第一次独自远行,远行当中,有过欢乐,有过迷茫,也有过对自己的怀疑,但也收获了宝贵的知识以及真挚的友谊。今后,路途依旧遥远,希望大家都能向阳而生,向梦想前行。 王继承2021年5月23日附录附录一:原理图附录二:程序Main 函数:#define uchar unsigned char #define

32、uint unsigned int#define ULint unsigned long int /温度零上与零下的标志位char flag=0;/超声波char flags=0;/超声波距离char flag1s=0;uint time=0;/计算距离ULint L_=0;/温度uint t_=0;/显示模式 0正常 1最大值调整 2最小值调整uchar mode=0;uint Max=250;uint Min=150;/按键标志uchar k=0;/数值有误uchar FW=0;/头函数#include #include #include BJ_Key.h #include display

33、.h #include ultrasonic_wave.h#include DS18B20.h void delayms(uint ms);void main()Init_ultrasonic_wave();/超声波初始化 读出时间/屏幕初始化Init1602();/温度初始化tmpchange(); /温度转换t_=tmp();tmpchange();t_=tmp();tmpchange();t_=tmp();while(1)Key();/屏幕显示/正常显示首界面if(mode=0)StartModule();/启动超声波while(!RX); /当RX为零时等待TR0=1; /开启计数wh

34、ile(RX); /当RX为1计数并等待TR0=0; /关闭计数 判断高电平时间长度折射出距离delayms(20); /20MStmpchange(); /温度转换t_=tmp(); /度温度Conut(t_/10); /计算距离 调用定时器计算出时间折算距离if(L_Max|L_=30&flag=1)L_=(time*3.13)/200; /算出来是MM;/大于-20=20&WD30&flag=1)L_=(time*3.19)/200; /大于-10=10&WD20&flag=1)L_=(time*3.25)/200; /大于0=0&WD10&flag=1)L_=(time*3.23)/2

35、00; /大于010else if(WD0&flag=0)L_=(time*3.38)/200; /大于1020else if(WD10&flag=0)L_=(time*3.34)/200; /大于2030else if(WD20&flag=0)L_=(time*3.49)/200; /大于30else if(WD30&flag=0)L_=(time*3.86)/200; /距离计算 SD为当时的超声速度void Conut(uchar WD) time=TH0*256+TL0;/定时器数值得到时间 TH0=0; TL0=0; JS_(WD);显示函数:sbit LCDRS = P27;sbi

36、t LCDEN= P26;/初始化时显示的内容uchar code Init1=Thickness gauge;uchar code Init2=TN Value: MM;/初始化时显示的内容uchar code Init3=Max- MM;uchar code Init4=Min- MM;/LCD延时void LCDdelay(uint z) uint x,y; for(x=z;x0;x-) for(y=10;y0;y-);/写命令void write_com(uchar com) LCDRS=0; P0=com; LCDdelay(5); LCDEN=1; LCDdelay(5); LCD

37、EN=0;/写数据void write_data(uchar date) LCDRS=1; P0=date; LCDdelay(5); LCDEN=1; LCDdelay(5); LCDEN=0;/1602初始化void Init1602() uchar i=0; write_com(0x38);/屏幕初始化 write_com(0x0C);/打开显示 无光标 无光标闪烁 write_com(0x06);/当读或写一个字符是指针后一一位 write_com(0x01);/清屏 write_com(0x80);/设置位置 for(i=0;i14;i+) write_data(Init1i); /write_

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

当前位置:首页 > 教育专区 > 大学资料

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

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