




已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 毕业设计(论文)毕业设计(论文) 题目:基于 VB 与 Zigbee 的环境监测与控制系统设计与实现 学生姓名:黄晶指导教师:吴建军 二级学院:电子工程学院专业:微电子技术 班级:微电子 091 班学号:09138139 提交日期:年月日答辩日期:年月日 2 中文摘要中文摘要 本实验是针对室内环境进行温度、湿度及光照等环境因素的采集。基于 ZigBee 无线传感网络技术的多点温度采集,以 STC12C5412AD 为主控芯片,选用 DS18B20 作 为温度采集节点的传感器,通过 Zigbee 无线传输模块将实时测试的数据传送并显示 到上位机界面,并将实时接收到的数据存入 Access 数据库里。 此实验实现了温度的方便查询,便于查看温度的实时变化及变化趋势,实现了数 据的统一管理。 关键词:关键词:DS18B20、Zigbee、无线通信 3 Abstract This experiment is the collection of indoor environment temperature, humidity ,light and so on environmental factors.It is based wireless sensor network technology of multipoint temperature collection,taking STC12C5412AD as main control chip,and using DS18B20 as the temperature sensor.The real-time testing data will transmit and display to the PC interface Through the wireless transmission module. The experimental realization of a temperature to facilitate inquiries, easy to view real-time temperature changes and the change trend, the realization of the data management. KeyKey wordswords:DS18B20Zigbeewireless communication 4 第一章第一章 总体总体 1.11.1 结构框图结构框图 1.21.2 功能功能 本实验设计了一种基于 ZigBee 技术的无线温度采集系统,采用 stc12c5412ad 芯片设计主从节 点,硬件结构精简、体积小, 所组成的无线传感网络具有自组织,自适应的特点。通过实验调试,该 温度采集系统达到了设计要求,效果良好。 1.31.3 意义意义 本实验设计的无线传感网络技术具有数据传输可靠、网络容量大、兼容性好的诸多优点, 可拓 展应用于生产生活的各个领域, 尤其适用于数字家庭、智能大厦温度控制、小区安防监测等, 具有 较好的通用性和应用前景。 5 第二章第二章硬件设计硬件设计 2.12.1DS18B20DS18B20 简介简介 DS18B20 数字温度计是 DALLS 公司生产的 1-Wire 即单总线器件, 具有线路简单, 体积小的特点。 它取代了传统方法中采样、放大、AD 电路,单总线上是数字量传输,在正常工作环境上,系统有足 够的抗干扰能力,无需再增加额外的抗干扰电路或屏蔽措施。 2.1.12.1.1DS18B20DS18B20 的特点的特点 独特的单线接口方式。 可用数据线供电,电压范围为 3.05.5V。 测温范围为-55125,测温分辨率为 0.5。 通过编程可实现 912 位的数字读数方式。 用户可自行设定非易失性报警的上下限值。 支持多点组网功能。 负压特性。 2.1.22.1.2DS18B20DS18B20 的外形和内部结构的外形和内部结构 1.DS18B20 的引脚含义如下: DQ:数字信号输入、输出端。 GND:电源地。 VDD:外接供电电源输入端(DS18B20 外形和引脚图) 图2.1 DS18B20 引 脚图 2.DS18B20 的内部结构 6 DS18B20 内部结构主要由四部分组成:64 位光刻 ROM 、温度传感器、非挥发的温度 报警触发器 TH 和 TL、 配置寄存器。 图 2.2 DS18B20 的内部结构图 2.22.2ZigBeeZigBee 简介简介 2.2.1ZigBee 概述概述 ZigBee 是一种高可靠的无线数传网络,类似于 CDMA 和 GSM 网络。Zigbee 数传模块似于移 动网络基站。通讯距离从标准的 75m 到几百米、几公里,并且支持无限扩展。 ZigBee 网络主要是 为工业现场自动化控制数据传输而建立,因而,它必须具有简单,使用方便,工作可靠,价格低的 特点。 SZ05 系列无线通信模块分为中心协调器、 路由器和终端节点, 这三类设备具备不同的网络功能, 中心协调器是网络的中心节点,负责网络的发起组织、网络维护和管理功能;路由器负责数据的路 由中继转发,终端节点只进行本节点数据的发送和接收。中心协调器、路由器和终端节点这三种类 型的设备在硬件结构上完全一致,只是设备嵌入软件不同,只需通过跳线设置或软件配置即可实现 不同的设备功能。 2.2.22.2.2 zigbeezigbee 功能功能 对于网络中的设备,zigbee 按功能分将其设备定义成:zigbee 协调器、zigbee 路由器、 zigbee 终端设备。它们的功能如下: zigbee 协调器,即 IEEE802.15.4 定义的个域网协调器,是 zigbee 网络的建立者, 7 负责 zigbee 网络的初始化,确定个域网标识符(PAN Identifier)和网络工作的物理信道, 并统筹分配短地址。 Zigbee 协调器必须是全功能设备, 并且一个 zigbee 网络只有一个 zigbee 协调器。 zigbee 路由器,它也是一个全功能设备,功能类似于 IEEE 802.15.4 定义的协调器, 但它不能建立网络;在它进入网络后,它能获得一定的 16 位短地址空间。在其通信范围内, 它能允许其他节点加入或者离开网络,分配及回收短地址,路由和转发数据。 zigbee 终端设备,它可以是全功能设备也可以是简化功能设备,它只能与其父节点 处获得网络标识、短地址等相关信息。 2.2.32.2.3 zigbeezigbee 网络拓扑结构网络拓扑结构 在 zigbee 协议规范中,定义了三种网络拓扑:星型结构(Star),网状结构(Mesh) 和簇树结构(Cluster Tree),如下图所示: 图 2.3 zigbee 网络拓扑结构 在星型网络结构中, zigbee 协调器负责整个网络初始化和维护, 其他节点都作为 zigbee 终端 设备直接与 zigbee 协调器通信,终端设备间的通信则需要通过协调器转发。在网状网络和簇型网 络中,zigbee 协调器负责网络的建立和初始参数设定,网络都可以通过 zigbee 路由器进行扩展。 但在簇树型网络中, 路由器采用分级路由策略传送数据和控制信息, 并且通常是基于信标 (Beacon) 的通信模式。而在网状网中则是完全对等的点对点通信,路由器不会定期发送信标,仅在网内设备 要求时对其单播信标。 8 2.32.3 STC12C5412ADSTC12C5412AD 简介简介 STC12C5412AD 系列单片机是宏晶科技生产的单时钟/机器周期(IT)的单片机。是高速/低功 耗/超强抗干扰的新一代 8051 单片机,指令代码完全兼容传统 8051,但速度快 8-12 倍。内部集成 MAX810 专用复位电路,4 路 PWM,8 路告诉 10 位 A/D 转换,针对电机控制,强干扰场合。 2.3.12.3.1 STC12C5412ADSTC12C5412AD 特点特点 1.增强型 8051CPU,IT,单时钟/机器周期,指令代码完全兼容传统 8051 2.工作电压:5.5-3.5V(5V 单片机) 3.工作频率范围:0-35MHz,相当于普通 8051 的 0-420MHz 4.用户应用程序空间 12K/10K/8K/6K/4K/2K/1K 字节 5.片上集成 512 字节 RAM 6.通用 I/O 口,复位后为:准双向口/弱上拉(普通 8051 传统 I/O 口)可设置成四种模式:准 双向口/弱上拉,强推挽/强上拉,仅为输入/高阻,开漏每个 I/O 口驱动能力均可达到 20mA,但整 个芯片最大不要超过 55mA 7.ISP(在系统可编程)/IAP(在应用可编程) ,无需专用编程器,无需专用仿真器,可通过串 口(P3.0/P3.1)直接下载用户程序,数秒即可完成一片 8.有 EEPROM 功能 9,看门狗 10.内部集成 MAX810 专用复位电路(外部晶体 12M 以下时,可省外部复位电路) 11.时钟源:外部高精度晶体/时钟,内部 R/C 振荡器 用户在下载用户程序时,可选择是使用内部 R/C 振荡器还是外部晶体/时钟 常温下内部 R/C 振荡器频率为:5.2MHz-6.8MHz 精度要求不高时,可选择使用内部时钟,但因为有制造误差和温漂,以实际测试为准 12A/D 转换,10 位精度 ADC,共 8 路 9 2.3.22.3.2 STC12C5412ADSTC12C5412AD 单片机内部结构单片机内部结构 STC12C5412AD 系列单片机的内部结构框图如下图所示。STC12C5412AD 单片机中包含中央处理器 (CPU) 、程序储存器(Flash) 、数据存储器(SARM) 、定时/计数器、UART 串口、I/O 接口、高速 A/D 转换、SPI 接口、PCA、看门狗及片内 R/C 振荡器和外部振荡电路等模块。STC12C5412AD 系列单片 机几乎包含了数据采集和控制中所需的所有单元模块,可称得上是一个片上系统。 图 2.4 STC12C5412AD 内部结构框图 10 第三章第三章 上位机软件设计上位机软件设计 3.13.1 VisualVisual BasicBasic 简介简介 3.1.13.1.1 VisualVisual BasicBasic 的产生的产生 1991 年微软公司推出了 Visual Basic,Visual 的含义是可视的、可见的,指的是开发图形用户界面的方法, 它不需要编写大量代码去描述界面元素的外观和位置,只要把预定建立好的对象拖放到屏幕上相应的位置即可。 Microsoft Windows 为程序员和最终用户提供了一个共同的人机界面。对用户而言,Windows 提供了一个对 所有的应用程序都一样的图形操作环境;对于程序员而言,Windows 提供了一组预定义工具,该工具能使程序员 建立一个与 Windows 界面风格相一致的应用程序。而且,程序员不必关心最终用户的硬件配件情况。在这一开发 环境中,对于程序员而言,唯一的难点是如何掌握 Microsoft Windows SDK 提供的 600 多个函数和与之对应的事 件驱动编程技术。 3.1.23.1.2VisualVisual BasicBasic 的主要特点的主要特点 1. 提供面向对象的可视化设计工具 2. 基于事件驱逐的编制机制 3. 易学易用的集成开发环境 4. 结构化的程序设计语言 5. 强大的数据库操纵功能 6. 网络功能 7. 多种应用程序向导 8.完备的联机帮助功能 3.23.2 上位机界面的设计过程上位机界面的设计过程 3.2.13.2.1 启动启动 VisualVisual BasicBasic 在桌面上双击 Microsoft Visual Basic 快捷图标,就可以启动 Visual Basic 6.0。每次运行 VB 时,在 进入主窗口后,VB 都将启动如图 3.1 所示的“新建工程”窗口。 11 图 3.1 “新建工程”窗口 单击“新建工程”窗口中的“新建”选项卡,会显示可以新建的工程的类型,选择“标准 EXE”图标后再 单击窗口中的“打开”按钮就可以新建一个工程了。这就决定了工程编译后生成的文件类型和格式,编译后将 生成一个能够在 Windows 系统中运行的可执行文件。 12 图 3.1 上位机主界面 该系统上位机部分实现了从用户登录、数据接收、数据处理、数据存储、数据查询、数据动态显示、终端控 制等功能。 图 3.2 系统登录初始化界面 13 图 3.3 用户登录 3.2.1用户登录: 该上位机系统的用户登录是结合 Access 数据库查询验证实现的,同时在登录系统后可以增加用户,及更改用 户密码,从而实现拒绝非法用户的登录。 图 3.4 用户数据库表与终端下位机数据表 14 3.2.2数据接收: 该上位机系统上位机端从无线数据传输模块接收下位机上传的数据,上位机设置八个通讯端口、波特率从 120019200 可选。实现了数据接收有效性、正确性。点击主界面“连接” ,上位机与终端下位机实现通讯。 图 3.5 通讯端口设置 3.2.3数据处理: 上位机接收到下位机数据后要进行终端节点的判断。例如:若在一个时间 M 上位机接收到 A 地址的数据, (通过 串口调试助手可以看到数据模式为 0001A22.35)上位机要对地址数据“0001”进行过滤,然后自主判断地址符号 “A” ,最后把数据显示在界面对应的 A 位置上。 图 3.6 数据处理及显示 15 3.2.4数据存储: 上位机利用 VB 与 ACCESS 数据库的结合,实现了数据存储功能。系统登录后自动连接根目录下数据库 MDB 文 件。当点击“连接” 、 “开始采集”后数据会从终端下位机实时上传。上位机通过数据处理后存储在 MDB 文件中。 图 3.7 数据处理及存储 3.2.5数据查询: 上位机设计了数据查询功能,如图所示: 系统的数据查询部分分为所有存盘数据查询、时间条件查询两种模式。其中按时间条件查询年、月日、时、分、 秒都是可以设置的。同时也可以删除特定时间段的数据。 图 3.8 数据查询 16 图 3.9 数据查询显示 3.2.6数据动态显示 终端下位机的数据会通过无线通讯 Zigbee 模块将数据上传到上位机,在数据 动态显示窗口内设置了对应一组参数。可 以直观观察并比较环境状态。环境数据动 态显示窗口上标注: 时间长度、 标注间隔。 是用来配置动态显示窗口的。其中标注间 隔是将终端下位机数据上传时间进行倍 增或者等分显示的设置; “时间长度”用 17 来设置整个窗口内显示的时间长短。 图 3.10 数据曲线显示 3.2.7终端控制 系统具备了终端下位机自主控制和上位机手动无线控制两种调节环境状态的功能。这里先介绍上位机的无线控制 部分。系统登录确定连接后,点击“控制开启”按钮,监测控制部分的按钮被激活,可以对终端下位机进行无线 控制,使其执行改变环境状态的指令。 图 3.11 图 3.22 3.2.8附加功能: 附加功能中主要用来进行用户的增 加、密码修改、设置通讯延时、 超时设 置、 设置数据存盘周期的。 18 第四章第四章 下位机程序设计下位机程序设计 终端下位机主要有 1602 液晶显示部分、模拟环境状态调整执行部分、ZIGBEE 无线通讯模块组成; 4.14.1 RS232RS232 串口通信串口通信 图 4.1 RS232 通信接口连接图 4.24.2 RS232RS232 的初始化程序的初始化程序 void Int_232(void) TMOD=0 x21; TL1=0 xfd; TH1=0 xfd; TR0=1; TR1=1; IE=0 x91; SCON=0 x50; PCON=0 x00; IP=0 x10; void TX(unsigned char TX_char) SBUF=TX_char; while(!TI); TI=0; SBUF=A; while(TI=0);TI=0; SBUF=:;while(TI=0); TX(j+0 x30); TX(k+0 x30); TX(l+0 x30); TX(0 x2E); TX(b+0 x30); TX(c+0 x30); display() interrupt 4 using 1 while(RI=1) RI=0; cc=SBUF; if(cc J2=0; if(ccJ2=1; 19 DS18B20 图 4.2 DS18B20 连接图 软件初始化代码如下: 4.34.3 DS18B20DS18B20 的初始化程序的初始化程序 uchar Init_DS18B20(void) unsigned char flag=0; DQ=0;/单片机将 DQ 拉低 delayx_us(250); /精确延时 480us960us delayx_us(250); DQ=1;/拉高总线 delayx_us(30);/大于 15US60US flag=DQ; delayx_us(240); DQ=1; return(flag) ; void display_error(void) unsigned char i; WriteAddress(0 x00); i = 0; while(Errori != 0) WriteData(Errori); i+; delaynms(100); while(1) ; 4.44.4 16021602液晶液晶 1602字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,其LCM共有两个显示行,每行 可以显示16个字符,目前为最常用一种液晶显示模块。 1、1602 LCD的基本参数及引脚功能 编号符号引脚说明编号符号引脚说明 1VSS电源地9D2数据 2VDD电源正极10D3数据 3VL液晶显示偏压11D4数据 4RS数据/命令选择12D5数据 5R/W读/写选择13D6数据 6E使能信号14D7数据 20 7D0数据15BLA背光源正极 8D1数据16BLK背光源负极 表4.3 1602LCD引脚接口说明表 2、LCD显示控制器 控制器HD44780的内部资源主要包括指令寄存器(IR) 、数据寄存器(DR) 、忙状态标志BF) 、地址计数器(AC) 、 数据显示存储器(DDRAM)、字符点阵存储器(CGRAM)。 RSRWE操作 00下降沿指令寄存器写入 01高电平忙标记和地址计数器读出 10下降沿数据寄存器写入 10高电平数据寄存器读出 表4.4 1602LCD 的指令说明及时序 CPU对1602液晶模块的控制主要通过RS、 R/W引脚和数据总线D7D0的操作老实现的。在1602液晶模块内部的控 制器共有11条控制指令。 1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。 (说明:1为高电平、0为低电平) 。 LCD软件初始化代码如下: 16021602 液晶显示的初始化程序液晶显示的初始化程序 void LcdInitiate(void) delaynms(15); WriteInstruction(0 x38); delaynms(5); WriteInstruction(0 x38); delaynms(5); WriteInstruction(0 x38); delaynms(5); WriteInstruction(0 x0c); delaynms(5); WriteInstruction(0 x06); delaynms(5); WriteInstruction(0 x01); delaynms(5); 21 第五章第五章 解决的关键技术问题及改进方案解决的关键技术问题及改进方案 22 参考文献参考文献 董卫军,邢卫民,索琦.Visual Basic 程序设计基础. 北京:电子工业出版社,2011. 23 致谢致谢 本实验和论文是在我的几位组员的积极配合和指导老师吴建军博士的悉心指导下完成的。在此,我要特别感 谢我们这组的各位组员和吴建军老师,老师的严肃的科学态度,严谨的治学精神,精益求精的工作作风,深深地 感染和激励着我们。从课题的选择到项目的最终完成老师都始终给予我细心的指导和不懈的支持。他的循循善诱 的教导和不拘一格的思路给予我无尽的启迪。两年多来,老师不仅在学业上给我以精心指导,同时还在思想、生 活上给予了无微不至的关怀,在此谨向老师致以诚挚的谢意和崇高的敬意。 在此,我还要感谢在一起愉快的度过 3 年大学生活的同学们,正是由于你们的帮助和支持,我才能克服一个 一个的困难和疑惑,直至本文的顺利完成。 24 附件附件 程序清单程序清单 #include #include #define uchar unsigned char sbit DQ=P14;/定义通信端口 int m,n ; unsigned char j,k,l, b,c;/j,k,l 分别储存温度的百位、十位和个位 unsigned char code digit18=0123456789ABCDEFG:;/定义字符数组显示数字 unsigned char code Str=Test by DS18B20;/说明显示的是温度 unsigned char code Error=Error!Check!;/说明没有检测到 DS18B20 unsigned char code Temp=Temp:;/说明显示的是温度 unsigned char code Cent=Cent;/温度单位 uchar idata T8=0,0,0,0,14,0,0,0; unsigned char FLAG=0; /* 以下是对液晶模块的操作程序 */ sbit RS=P11;/寄存器选择位,将 RS 位定义为 P2.0 引脚 sbit RW=P12;/读写选择位,将 RW 位定义为 P2.1 引脚 sbit E=P13;/使能信号位, 将 E 位定义为 P2.2 引脚 sbit BF=P27;/忙碌标志位, ,将 BF 位定义为 P0.7 引脚 void delay(unsigned int x) unsigned int y=1000; while(x-) do; while(y-); y=1000; /* 函数功能:延时 1ms (3j+2)*i=(333+2)10=1010(微秒),可以认为是 1 毫秒 25 */ void delay1ms() unsigned char i,j; for(i=0;i10;i+) for(j=0;j33;j+); /* 函数功能:延时若干毫秒 入口参数:n */ void delaynms(unsigned char n) unsigned char i; for(i=0;in;i+) delay1ms(); /* 函数功能:判断液晶模块的忙碌状态 返回值:result。result=1,忙碌;result=0,不忙 */ bit BusyTest(void) bit result; RS=0; RW=1; E=1; delay1ms(); result=BF; E=0; return result; /* 函数功能:将模式设置指令或显示地址写入液晶模块 26 入口参数:dictate */ void WriteInstruction (unsigned char dictate) while(BusyTest()=1); RS=0; RW=0; E=0; delay1ms(); P2=dictate; E=1; delay1ms(); E=0; /* 函数功能:指定字符显示的实际地址 入口参数:x */ void WriteAddress(unsigned char x) WriteInstruction(x|0 x80); /显示位置的确定方法规定为80H+地址码 x /* 函数功能:将数据(字符的标准 ASCII 码)写入液晶模块 入口参数:y(为字符常量) */ void WriteData(unsigned char y) while(BusyTest()=1); RS=1; RW=0; E=0; P2=y; delay1ms(); 27 E=1; delay1ms(); E=0; /* 函数功能:对 LCD 的显示模式进行初始化设置 */ void LcdInitiate(void) delaynms(15); WriteInstruction(0 x38); delaynms(5); WriteInstruction(0 x38); delaynms(5); WriteInstruction(0 x38); delaynms(5); WriteInstruction(0 x0c); delaynms(5); WriteInstruction(0 x06); delaynms(5); WriteInstruction(0 x01); delaynms(5); void delayx_us(unsigned char i)/11*x+12 while(i-); / void delay1_us()/1.45us _nop_();_nop_();_nop_(); _nop_();_nop_();_nop_(); /./ uchar Init_DS18B20(void) 28 unsigned char flag=0; DQ=0;/单片机将 DQ 拉低 delayx_us(250); /精确延时 480us960us delayx_us(250); DQ=1;/拉高总线 delayx_us(30);/大于 15US60US flag=DQ;/稍做延时后 如果 x=0 则初始化成功 x=1 则初始化失败 delayx_us(240); DQ=1; return(flag) ; void display_error(void) unsigned char i; WriteAddress(0 x00);/写显示地址,将在第 1 行第 1 列开始显示 i = 0;/从第一个字符开始显示 while(Errori != 0)/只要没有写到结束标志,就继续写 WriteData(Errori);/将字符常量写入 LCD i+;/指向下一个字符 delaynms(100);/延时 100ms 较长时间,以看清关于显示的说明 while(1) ;/进入死循环,等待查明原因 /* 函数功能:显示说明信息 */ void display_explain(void) unsigned char i; WriteAddress(0 x00);/写显示地址,将在第 1 行第 1 列开始显示 i = 0;/从第一个字符开始显示 while(Stri != 0)/只要没有写到结束标志,就继续写 29 WriteData(Stri);/将字符常量写入 LCD i+;/指向下一个字符 delaynms(100);/延时 100ms 较长时间,以看清关于显示的说明 /* 函数功能:显示温度符号 */ void display_symbol(void) unsigned char i; WriteAddress(0 x40);/写显示地址,将在第 2 行第 1 列开始显示 i = 0;/从第一个字符开始显示 while(Tempi != 0)/只要没有写到结束标志,就继续写 WriteData(Tempi);/将字符常量写入 LCD i+;/指向下一个字符 delaynms(50);/延时 1ms 给硬件一点反应时间 /* 函数功能:显示温度的单位(Cent) */ voiddisplay_cent(void) unsigned char i; WriteAddress(0 x4c);/写显示地址,将在第 2 行第 13 列开始显示 i = 0;/从第一个字符开始显示 while(Centi != 0)/只要没有写到结束标志,就继续写 WriteData(Centi);/将字符常量写入 LCD i+;/指向下一个字符 delaynms(50);/延时 1ms 给硬件一点反应时间 30 /* 函数功能:显示温度的小数点 */ voiddisplay_dot(void) WriteAddress(0 x49);/写显示地址,将在第 2 行第 10 列开始显示 WriteData(.);/将小数点的字符常量写入 LCD delaynms(50);/延时 1ms 给硬件一点反应时间 uchar ReadBit(void) bit s; DQ=1;/拉高电平,准备启动读时序 delay1_us(); DQ=0; delay1_us(); delay1_us(); DQ=1;/在 15US 内停止低电平 delay1_us(); delay1_us(); delay1_us(); delay1_us(); delay1_us(); delay1_us(); delay1_us(); s=DQ;/读取 1 位数据 delayx_us(60);/ 读时序不能少于 60us return(s); / uchar ReadOneChar(void) 31 unsigned char i,dat=0; unsigned charj; for (i=0;i8;i+) j=ReadBit(); dat=(j1); return(dat); / void WriteOneChar(unsigned char dat) unsigned char i=0; bit n; for (i=0;i=1;/取下一位,由低到高 if(n)/写 1 DQ=0;/拉低电平15US 内释放总线 delay1_us(); delay1_us(); DQ=1;/写 1 delayx_us(60);/整个时序不能低于 60US else/写 0 DQ=0; delayx_us(60);/保持低电平 60us120us DQ=1; delay1_us(); 32 void display_temp1(unsigned char x) j=x/100;/取百位 k=(x%100)/10;/取十位 l=x%10;/取个位 WriteAddress(0 x46);/写显示地址,将在第 2 行第 7 列开始显示 WriteData(digitj);/将百位数字的字符常量写入 LCD WriteAddress(0 x47); WriteData(digitk);/将十位数字的字符常量写入 LCD WriteAddress(0 x48); WriteData(digitl);/将个位数字的字符常量写入 LCD delaynms(50);/延时 1ms 给硬件一点反应时间 /* 函数功能:显示温度的小数数部分 入口参数:x */ void display_temp2(unsigned char x) b=(x%100)/10;/取十位
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 离婚协议书子女抚养及财产分割便捷版示范文本
- 农业机械设备购销合同终止及技术培训协议
- 个人仓库租赁合同模板(含仓储管理责任)
- 住宅小区物业管理合同当事人安全保障责任规定
- 互联网金融服务公司股权转让与市场拓展合同
- 离婚协议书起草及执行中的法律问题解析
- 班组长安全培训要求课件
- 《钢铁是怎样炼成的》考点精析
- 滑轮裁判培训课件
- 幼儿美术门环课件
- 浪浪山小妖怪-2025~2026学年美术开学第一课《浪浪山小妖怪》
- TSZUAVIA 009.7-2019 多旋翼无人机系统实验室环境试验方法 第7部分:温度变化试验
- 不对称高压脉冲轨道电路讲义课件
- 国家自然科学基金申请讲座培训课件
- 一年级上册数学10以内分成作业
- 第二单元 劳动最光荣 课件32张 统编版高中语文必修上册
- 教师资格证(高中英语)学科知识点归纳总结
- 1978年全国高考语文试卷
- 2022注册安全工程师考试题库(含答案)
- 面瘫(面神经炎)课件
- 媒体发稿推广合作协议模版
评论
0/150
提交评论