基于温度采集的单片机和Visual_C++串口通信(带电脑端程序)_课程设计报告_第1页
基于温度采集的单片机和Visual_C++串口通信(带电脑端程序)_课程设计报告_第2页
基于温度采集的单片机和Visual_C++串口通信(带电脑端程序)_课程设计报告_第3页
基于温度采集的单片机和Visual_C++串口通信(带电脑端程序)_课程设计报告_第4页
基于温度采集的单片机和Visual_C++串口通信(带电脑端程序)_课程设计报告_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

1、单片机课程设计报告单片机课程设计报告题目:基于温度采集的单片机和题目:基于温度采集的单片机和 VisualVisual C+C+串口通信串口通信单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。DS18B20 是美国 DALLAS 公司生产的数字温度传感器芯片,具有结构简单、体积小、功耗小、抗干扰能力强、使用方便等优点。本文设计的一种温度控制系统,用 STC89C51 单片机作为温控器,选用 DS18B20 数

2、字温度传感器,可任意设置上下限报警温度,采用数码管实时显示温度,通过串口利用单片机与上位机的通信,对环境温度采集并进行控制。关键词:关键词:STC89C51STC89C51 单片机、串口通信、上下限报警、数码管显示温度单片机、串口通信、上下限报警、数码管显示温度、2.2.引论引论随着时代的进步和开展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比拟成熟的技术。温度是工业生产中主要的被控参数之一,与之相关的跟中温度控制是工业生产过程中经常遇到的过过程控制,有些工艺过程对其温度的控制效果直接影响着产品的质量。用单片机做成的产品外围元件很少,能实现的功能却很广,广泛应用于工业,农

3、业等。兼于此,特用单片机设计此电路。温度控制在实际生产中有着广泛的应用。例如:在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们都需要对各类加热炉、热处理炉、反响炉和锅炉中的温度进行检测和控制。因而设计一种较为理想的温度控制系统是非常有价值的。在国内外温度控制成了一科广泛应用于很多领域的技术。具体如空调、冰箱、茶叶烘烤、粮仓温度控制、等等。粮食温度检测是储藏库中防止粮食霉烂、保质存放的重要环节。对于一个农业大国来讲,粮食生产、需求与储藏量都很大。大量粮食在储藏的过程中常因粮食湿度过大而升温发热,导致粮食大量腐烂变质,给郭建带来巨大损失。本论文正是以此为出发点,对单片

4、机控制的远程温度控制作了较详尽的介绍。单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。DS18B20 是美国 DALLAS公司生产的数字温度传感器芯片,具有结构简单、体积小、功耗小、抗干扰能力强、使用方便等优点。本文设计的一种温度控制系统,用 STC89C52 单片机作为温控器,选用DS18B20 数字温度传感器,可任意设置上下限报警温度,采用数码管实时显示温度,通过串口利用单片机与上位机的通信,对温度进行采

5、集、数据处理和控制。3、目录、目录1、摘要、摘要2、引论、引论3、目录、目录4、正文、正文 4.1、设计目的、设计目的 4.2、具体内容及要求、具体内容及要求 4.3、系统总体方案设计、系统总体方案设计 、设计方案论证、设计方案论证 、系统总体构成图、系统总体构成图 、硬件设计、硬件设计 、软件设计、软件设计 4.4、系统各个模块设计、系统各个模块设计 、单片机最小系统、单片机最小系统 、显示局部、显示局部 、报警电路、报警电路 、测温电路、测温电路 、单片机与上位机串、单片机与上位机串 4.5、系统软件设计、系统软件设计 、单片机软件设计口电路、单片机软件设计口电路 、上位机软件设计、上位机

6、软件设计5、结论、结论 6、总结心得、总结心得7、参考文献参考文献附录附录 4、正文、正文 4.1. 设计目的设计目的 (1)了解电子系统的设计方法,稳固和提高学过的根底理论和专业知识; (2)学习 DS18B20 数字温度传感器的测温原理,提高运用所学专业知识进行独立思考和综合分析、解决实际问题的能力; (3) 掌握串口通信协议及其编程方法,掌握正确的思维方法和利用软件和硬件解决实际问题的根本技能; (4)增强对单片机的认识,掌握分析处理问题的方法,进行调试、计算等根本技能的训练,到达具有一定程度的实际工作能力。(5) 学会用 Protel99se 进行电路原理图和 PCB 图的绘制。 (6

7、) 学习用 PSPICE、 Multisim 10.0 等仿真软件进行电路设计和仿真。 (7)通过参与实际工作,能够了解单片机行业的具体工作。 4.2. 具体内容及要求具体内容及要求1. 内容及要求:研究基于单片机的远程温度监控系统,可以在 PC 机端实时监控系统温度,并根据当前的温度值对单片机系统进行控制。利用 VC 编制 PC 例如程序。2.主要技术指标:1 、温度测量范围 20-35;2 、可以设置温度报警的上、下限;3 、提供 PC 机通讯接口;4 、PC 机软件实现对温度数据分析、统计和处理; 4.34.3、系统总体方案设计、系统总体方案设计设计方案论证方案一由于本设计是测温电路,可

8、以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行 A/D 转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到 A/D 转换电路,其中还涉及到电阻与温度的对应值的计算,感温电路比拟麻烦。而且在对采集的信号进行放大时容易受温度的影响出现较大的偏差。方案二 进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器 DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,电路简单,精度高,软硬件都以实现,而且使用单片机的接口便于系统的再扩展,满足设计要求。

9、从以上两种方案,很容易看出,采用方案二,电路比拟简单,费用较低,可靠性高,软件设计也比拟简单,故采用了方案二。、系统总体构成图如下:、硬件设计:现在 PC 机提供的 COM 口是采用 RS-232 接口标准的。而 RS-232 是用正负电压来表示逻辑状态,与 TTL 以上下电平来表示逻辑状态的规定不同。因此,为了能够同计算机借口或终端的 TTL 器件如单片机连接,必须在 RS-232 与 TTL 电路之间进行电平和逻辑关系的变换,变换电路选用芯片 MAX232.该器件包含 2 个驱动器、2 个接收器和一个电压发生器电路提供 TIA/EIA-232-F 电平转换成 5V TTL/CMOS 电平。

10、每一个发送器将 TTL/CMOS 电平转换成 TIA/EIA-232-F 电平。、软件设计单片机软件设计单片机程序由主程序和中断子程序组成的。主程序负责对来自上位机的命令进行解析并执行读温度值、存储温度值、输出控制等等,中断效劳程序只负责单片机和上位机之间的数据发送与接收。上位机程序设计由单片机采集的实时温度,经过处理后通过 MAX232 传输到上位机 PC,利用在 Visual C+ 6.0 的通信控件 Mscomm 属性设置和事件响应的根底上,实现与单片机串行通信,在上位机中,完成报警温度设置、实时温度数据显示、曲线绘制,实时报警等功能。4.44.4、系统各个模块设计:、系统各个模块设计:

11、单片机最小系统1、STC89C51 单片机管脚图如下:2、各引脚功能:(1)XTAL1(19 脚);XTAL2(18 脚)-外接时钟引脚。XTAL1 为片内振荡电路的输入电源和时钟引脚.VCC(40 脚)GND(20 脚)常压为+5V,低压为。(2)端。 XTAL2 为片内振荡电路的输出端,80C51 的时钟有两种方式,一种是片内振荡方式,需要在这两个引脚接石英晶体和振荡电容, 振荡电容的值一般选择为10P30P。另一种外部时钟方式即 XTAL1 接地,外部时钟信号从 XTAL2 脚输入。(3)RST(9 脚)-单片机的复位引脚。P0 口(39 脚32 脚)双向 8 位 I/O 口,每个口可以

12、独立控制。51 单片机 PO 口内部没有上拉电阻,为高阻状态,所以不能正常的输出上下电平,因此该组 I/O 口在使用的时候务必要接上拉电阻,一般我们采用接入 10K 的上拉电阻。P1 口(1 脚8 脚)-准双向 8 位 I/O 口。每个口可以独立操作控制,内带上拉电阻,这种接口输出没有高阻状态,输入也不能锁存,固然不是真正的双向 I/O 口,之所以称它为 准双向是因为该口在作为输入使用前要先向该口进行写一操作,然后单片机内部才可以正确读出外部信号,也就是要使其先要有个准备过程,所以才称准双向口。对 52 单片机的引脚的第二功能为 T2 定时器的外部输入引脚的第二功能为 T2EX 捕捉,重装触发

13、,即 T2 的外部控制器。P2 口(21 脚28 脚)-准双向 8 位 I/O 口,每个口都可以独立操作控制,内带上拉电阻,与 P1 口相似。P3 口(10 脚17 脚)-准双向 8 位 I/O 口,每个口可以独立操作控制,内带上拉电阻,作为第一功能使用时就当作普通 I/O 口,与 P1 口相似。作为第二功能使用时,各引脚的定义如表:值得强调的是,P3 口的每一个引脚均可以独立定义为第一功能的输入/输出或第二功能P3 口引脚第二功能定义标号引脚第二功能说明10RXD串行输入口11TXD串行输出口12/INTO外部中断 013/INT1外部中断 114T0定时器/计数器 0外部输入口15T1定时

14、器/计数器 1外部输入口16/WE外部数据存储器写脉冲17/RD外部数据存储器读脉冲3、单片机最小系统其中:a、复位电路单片机上电时,当振荡器正在运行时,只要持续给出 RST 引脚连个机器周期的高电平,便可完成系统复位。外部复位电路是为内部复位电路提供两个机器周期以上的电平而设计的。系统采用上电自动复位,上电瞬间电容器上的电压不能突变,RST 上的电压是 Vcc 上的电压与电容器上的电压之差,因而 RST 上的电压与 Vcc 上的电压相同。随着充电的进行,电容器上的电压不断上升,RST 上的 电压就随着下降,RST 脚上只要保持 10ms 以上高电平,系统就会有效复位。电容 C 可取 1033

15、uF,电阻 R 可取 1.210k。在本系统设计中,C 取10uf,R 取 10k。b、振荡电路XTAL1 脚和 XTAL2 脚分别构成片内振荡器的反相放大器的输入和输出端,外接石英晶振或陶瓷晶振以及补偿电容 C1、C2 选 47uF 构成并联谐振电路。当外接石英晶振时,电容C1、C2 选 30Pf10pF;当外接陶瓷振荡器时,电容 C1、C2 选 47uF10uF。系统中,外接电 C1、C2 的大小会影响振荡器频率的稳定度、起振时间及温度稳定性。在设计电路板时,晶振和电容应靠近单片机芯片,以便减少寄生电容,保证振荡器稳定可靠工作。在本硬件系统设计中,为保证串行通行波特率的误差,选择了 11.

16、0592MHz 的标准石英晶振,电容 C1、C2 为 30pF。c、EA接高电平,选用片内程序存储器。、显示局部:本系统采用三极管驱动四位一体共阳数码管显示温度,数码管有两种显示方式,即静态显示和动态显示。静态显示的特点是每个数码管的段选必须接一个 8 位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。这种方法的优点是占用 CPU 时间少,显示便于监测和控制。缺点是硬件电路比拟复杂,本钱较高;动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位

17、选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好似各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。本设计数码管采用动态显示。如下列图:、报警电路本设计中采用三极管驱动蜂鸣器报警,其中,分别模拟制热器和制冷器。当温度高于上限温度时,蜂鸣器报警,灯亮,模拟启动制冷器;当温度低于下限温度时,蜂鸣器报警,灯亮,模拟启动制热器。当按复位键时,数据去除。其中,与蜂鸣器相连的轻触开关断开时,蜂鸣器停止报警,实现手动解除报警。如图:RST9XTAL218XTAL119GND20P2.0(A8)21P2.1(A9)22P2.2(A10)23P2.3(A

18、11)24P2.4(A12)25P2.5(A13)26P2.6(A14)27P2.7(A15)28PSEN29ALE(PROG)30EA(VPP)31P0.7(AD7)32P0.6(AD6)33P0.5(AD5)34P0.4(AD4)35P0.3(AD3)36P0.2(AD2)37P0.1(AD1)38P0.0(AD0)39VCC40P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0(RXD)10P3.1(TXD)11P3.2(INT0)12P3.3(INT1)13P3.4(T0)14P3.5(T1)15P3.6(WR)16P3.7(RO)17U189C5

19、1GND1DQ2VDD3U2DS18B20R1RES2CELECTRO1JT1234567891110JD Connector 9100pFC1CapG19DIR1A12B118A23B217A34B316A45B415A56B514A67B613A78B712A89B811U574LS24512U3A7407100pFC2CapGNDSSW-PBGNDGNDVCCVCCVCCR210kGNDP23P22abcdefgabcdefgdpdpcom2abfcgdedpcom1abfcgdedpabfcgdedpcom3com4abfcgdedpU6SR410561KP00P01P02P03P04

20、P05P06P07P00P01P02P03P04P05P06P0734U3B740756U3C740798U3D7407R3RES2R4RES2R5RES2R6RES2VCCP30P31P32P33P30P31P32P33GNDQ8550VCCR7RES2P23P22C1+1V+2C1-3C2+4C2-5V-6T2OUT7R2IN8R2OUT9T2IN10T1IN11R1OUT12R1IN13T1OUT14GND15VCC16U4M AX232GNDP34P35P34P35GND100pFC3VCC100pFC4Cap100pFC5100pFC6100pFC7VCCR8RES2P36P36b1

21、BELLD1LED_RECBT?BatteryGNDVCC、测温电路本设计采用温度传感器测量温度。DS18B20 简介其两种封装如图:温度传感器的种类众多,在应用与高精度、高可靠性的场合时 DALLAS达拉斯公司生产的 DS18B20 温度传感器当仁不让。超小的体积,超低的硬件开消,抗干扰能力强,精度高,附加功能强,使得 DS18B20 更受欢送。对于我们普通的电子爱好者来说,DS18B20 的优势更是我们学习单片机技术和开发温度相关的小产品的不二选择。了解其工作原理和应用可以拓宽我们对单片机开发的思路。DS18B20 的主要特征:1. 全数字温度转换及输出。2. 先进的单总线数据通信。3.

22、最高 12 位分辨率,精度可达土 0.5 摄氏度。4. 12 位分辨率时的最大工作周期为 750 毫秒。5. 可选择寄生工作方式。6. 检测温度范围为55C +125C (67F +257F)7. 内置 EEPROM,限温报警功能。8. 64 位光刻 ROM,内置产品序列号,方便多机挂接。9. 多样封装形式,适应不同硬件系统。DS18B20 芯片封装结构:DS18B20 引脚功能:GND 电压地 DQ 单数据总线 VDD 电源电压 NC 空引脚DS18B20 工作原理及应用:DS18B20 的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。其一个工作周期可分为两个局部,即温度检测

23、和数据处理。在讲解其工作流程之前我们有必要了解18B20 的内部存储器资源。18B20 共有三种形态的存储器资源,它们分别是:ROM 只读存储器,用于存放 DS18B20ID 编码,其前 8 位是单线系列编码DS18B20 的编码是19H ,后面 48 位是芯片唯一的序列号,最后 8 位是以上 56 的位的 CRC 码冗余校验 。数据在出产时设置不由用户更改。DS18B20 共 64 位 ROM。RAM 数据暂存器,用于内部计算和数据存取,数据在掉电后丧失,DS18B20 共 9 个字节RAM,每个字节为 8 位。第 1、2 个字节是温度转换后的数据值信息,第 3、4 个字节是用户EEPROM

24、常用于温度报警值储存的镜像。在上电复位时其值将被刷新。第 5 个字节那么是用户第 3 个 EEPROM 的镜像。第 6、7、8 个字节为计数存放器,是为了让用户得到更高的温度分辨率而设计的,同样也是内部温度转换、计算的暂存单元。第 9 个字节为前 8 个字节的 CRC 码。EEPROM 非易失性记忆体,用于存放长期需要保存的数据,上下限温度报警值和校验数据,DS18B20 共 3 位 EEPROM,并在 RAM 都存在镜像,以方便用户操作。电路图如下:、单片机与上位机串口电路在现代业控制中,串口通信的应用越来越广泛。单片机和PC机之间的串口通信在进行数据交换时经常被使用。在串行通信时,要求通信

25、双方都采用一个标准接口,RS232C接口是单片机利PC机进行通信最常用的一种接口。单片机与PC机进行串口通信最简单的二线制法,即接收数据针脚(RxD)与发送数据针脚(TxD)相连,彼此交叉,信号地(GND)对应相接。但是,串口还不能直接和单片机相连,可以选用MAX232和MAX485进行电平转换。MAX232用于RS232C标准;MAX485用于RS485标准。RS232C标准规定在码元畸变小于4的情况下,传输电缆长度最大约为l5米,最高传输速率为20kbits。RS485标准最人传输距离约为1219米,最大传输速率约为l0Mbits。MAX232 芯片简介MAX232 芯片是美信公司专门为电

26、脑的 RS-232 标准串口设计的单电源电平转换芯片,使用+5v 单电源供电。 引脚介绍:第一局部是电荷泵电路。由 1、2、3、4、5、6 脚和 4 只电容构成。功能是产生+12v 和-12v两个电源,提供应 RS-232 串口电平的需要。 第二局部是数据转换通道。由 7、8、9、10、11、12、13、14 脚构成两个数据通道。 其中 13 脚R1IN 、12 脚R1OUT 、11 脚T1IN 、14 脚T1OUT为第一数据通道。 8 脚R2IN 、9 脚R2OUT 、10 脚T2IN 、7 脚T2OUT为第二数据通道。 TTL/CMOS 数据从 T1IN、T2IN 输入转换成 RS-232

27、 数据从 T1OUT、T2OUT 送到电脑 DB9 插头;DB9 插头的 RS-232 数据从 R1IN、R2IN 输入转换成 TTL/CMOS 数据后从 R1OUT、R2OUT 输出。 第三局部是供电。15脚GND、16脚VCC+5v 。由于串口用的是 TTL 电平,和 RS232 电平不同,因此,单片机和 PC 通信时需要进行电平转换,常用的 IC 是 MAX232,连接图如下列图所示,其中 MAX232 供电脚为5V。采用了三线制连接串口,也就是说和计算机的 9 针串口只连接其中的 3 根线:第 5 脚的 GND、第 2 脚的 RXD、第 3 脚的 TXD。这是最简单的连接方法,但是对我

28、们来说已经足够使用了。RS232引脚图串口电路连接图如下:收、发端的数据信号是相对于信号地,如从DTE设备发出的数据在使用DB25连接器时是2脚相对7脚信号地的电平,DB25各引脚定义参见图2-9。典型的RS-232信号在正负电平之间摆动,在发送数据时,发送端驱动器输出正电平在+5+15V,负电平在-5-15V电平。当无数据传输时,线上为TTL,从开始传送数据到结束,线上电平从TTL电平到RS-232电平再返回TTL电平。接收器典型的工作电平在+3+12V与-3-12V。由于发送电平与接收电平的差仅为2V至3V左右,所以其共模抑制能力差,再加上双绞线上的分布电容,其传送距离最大为约15米,最高

29、速率为20kb/s。RS-232是为点对点即只用一对收、发设备通讯而设计的,其驱动器负载为37k。所以RS-232适合本地设备之间的通信。上位机和下位机的接线方法如图上位机和下位机的接线方法MCS-51 内部含有一个可编程全双工串行通信接口,具有 UART 的全部功能。该接口电路不仅能同时进行数据的发送和接收,也可作为一个同步移位存放器使用。 在进行异步通信时,数据的发送和接收分别在各自的时钟TCLK 和 RCLK控制下进行的,但都必须与字符位数的波特率保持一致。MCS-51 串行口的发送和接收时钟可由两种方式产生,一种是由主机频率 fosc 经分频后产生,另一种方式是由内部定时器 T1 或

30、T2 的溢出率经 16 分频后提供。发送和接收的过程如下:串行口的发送过程由指令 MOV SBUF,A 启动,即 CPU 由一条写发送缓冲器的指令把数据字符写入串行口的发送缓冲器 SBUF发中,再由硬件电路自动在字符的始、末加上起始位低电平 、停止位高电平及其它控制位如奇偶位等 ,然后在移位脉冲SHIFT 的控制下,低位在前,高位在后,从 TXD 端方式 0 除外一位位地向外发送。串行口的接收与否受制于允许接收位 REN 的状态,当 REN 被软件置“1后,允许接收器接收。接收端 RXD 一位位地接收数据,直到收到一个完整的字符数据后,控制电路进行最后一次移位,自动去掉启始位,使接收中断标志

31、RI 置“1,并向 CPU 申请中断。CPU 响应中断,用一条指令MOV A,SBUF把接收缓冲器 SBUF收的内容读入累加器。TI 和 RI 是由硬件置位的,但需要用软件复位。.、系统软件设计、单片机软件设计:1主程序:主程序的主要功能是负责温度的实时显示、读出并处理 DS18B20 的测量的当前温度值,温度测量每 1s 进行一次。这样可以在一秒之内测量一次被测温度,其程序流程如下所示: 主程序流程图2读温度子程序:先让 DS18B20 复位,然后发跳过 ROM 匹配命令,再发出温度转换命令,让 DS18B20 进行温度转换,延时等待转换完毕后,再将已转换的温度值一一地从各个 DS18B20

32、 取出,转换成ascall 码后再发送到 PC 机上,如此循环。程序框图如下:读温度程序框图3温度比拟报警子程序此程序是将实际温度与设置的报警上下限比拟,决定是否发出报警信号。由于 T 为实际温度的绝对值,TH、TL 也是温度的绝对值,因此判断大小关系时要通过其正负符号来确定。温度比拟报警子程序.上位机软件设计PC 机程序中包括串口通信模块,绘图模块,命令按钮模块,温度显示模块等。一、串口通信模块在本设计中,采用 MSComm 控件进行串口的通讯,MSComm 控件串口具有完善的串口数据的发送和接收功能。通过此控件,PC 机可以利用串行口与其它设备实现轻松连接,简单高效地实现设备之间的通讯。此

33、控件的事件响应有两种处理方式,事件驱动方式:由 MSComm控件的 OnComm 事件捕获并处理通讯错误及事件;查询方式:通过检查 CommEvent 属性的值来判断事件和错误。 二、绘图模块在 VC 中,绘图可以利用 Line 和 Circle 方法绘制几何图形11,还可以利用 botton控件绘制各种图表。而本设计就采用 botton 控件进形绘制温度变化曲线图。botton 控件在绘制直方图条形图 、折线图、饼图、标记图、填充区域图等各种常用的数据分析图形方面有很大的优势,我们只要将需按图形表示的数据装入数组中,然后将数组数据赋值给botton 控件,再进行一些简单的图形标题、背景、图例

34、、注脚方面的定义,就可以得到所期望的数据分析图形。由于 botton 控件不是 VC 内建的根本控件,因此在使用前必须用工程菜单中的“部件,添加 botton 控件。添加 botton 控件的选项是“Microsoft Chart Control 6.0(OLEDB)。三、命令按钮11模块大多数应用程序中都有命令按钮 CommandButton 控件,用户可以单击按钮执行某项操作。在本设计统中要让下位机执行相应操作,就是通过命令按钮给下位机下发命令实现该功能。命令按钮是 VB 应用程序中经常使用的对象,程序运行中要执行一条或一组命令,通常通过用鼠标单击命令按钮来实现,当然具体产生何种动作要通过

35、执行相应的事件过程中的程序代码来决定。四、温度显示模块在本设计中显示由文本框和标签控件完成。完成后的 VC 界面如下: 本温控系统通过 STC89C51 单片机采集从 DS18B20 温度传感器所测得的温度数据,并通过串口实时传送到上位机。单片机系统完成对温度信号的采集、设定上下限报警等功能,并通过串口通信与 PC 机进行通信,在 PC 机上进行显示及一些操作,从而使系统更加直观,使用更加方便。本设计主要解决了以下几个问题:1.系统的硬件采用以单片机为核心的硬件电路,所用元器件也很少,体积小,重量轻,抗干扰能力强,对环境要求不高,价格低廉。2.实现单片机与 PC 机的通信功能,实现远距离的进行

36、监控.当然本设讲也存在着一些缺乏:1电路设计技术还不够成熟2本设计通信采用 RS232,如果采用 RS485 通信距离将会大大增加这个系统本身或通过扩展可应用于智能家居、工业控制、智能农业、环境监测等各个领域的温度采集以及数据分析控制。相信,随着单片机与PC应用的不断推广和不断成熟,基于单片机与PC机的温度控制系统将会得到广泛的应用。 3本设计在绘图的时候,定位范围不是很好,图线会伸出绘图区间。6 6、总结心得、总结心得7 7、参考文献参考文献 单片机应用系统设计技术基于C51的Proteus仿真第2版 张齐 电子工业出版社 C+程序设计第四版 谭浩强 清华大学出版社 C/C+串口通信典型应用

37、实例编程实践 曹卫斌 电子工业出版社 Visual C+数据采集与串口通信测控应用实战 田敏 人民邮电出版社 C语言常见问题集 Steve Summit(原著 翻译:朱群英 孙云 单片机C语言程序设计实训100例基于80C51+Proteus仿真 彭伟 北京航空航天大学出版社附录附录1、总体电路图:电脑端程序:DIM N AS INTEGERDIM T AS INTEGER 定义全局变量PRIVATE SUB COMMAND2_CLICK() 单击按钮执行数据采集或停止采集 IF COMMAND2.CAPTION = 采集数据 THEN COMMAND2.CAPTION = 停止采集 TIME

38、R1.ENABLED = TRUE MSCOMM1.OUTPUT = A ELSE COMMAND2.CAPTION = 采集数据 TIMER1.ENABLED = FALSE MSCOMM1.OUTPUT = B MSCOMM1.OUTPUT = B END IFEND SUBPRIVATE SUB COMMAND4_CLICK() 单击按钮清空数据TEXT1.TEXT = TEXT4.TEXT = END SUBPRIVATE SUB COMMAND5_CLICK() 单击按钮开关通信端口 IF COMMAND5.CAPTION = 开启通信 THEN COMMAND5.CAPTION =

39、 关闭通信 COM.ENABLED = FALSE COMMAND2.ENABLED = TRUE COMMAND1.ENABLED = TRUE TEXT2.ENABLED = TRUE SELECT CASE COM.LISTINDEX 指定端口号COM CASE 0 MSCOMM1 MPORT = 1 CASE 1 MSCOMM1 MPORT = 2 CASE 2 MSCOMM1 MPORT = 3 CASE 3 MSCOMM1 MPORT = 4 END SELECT MSCOMM1.SETTINGS = 9600,N,8,1 9600 波特,无校验,8 位数据位,1 位停止位 MSC

40、OMM1.INPUTMODE = COMINPUTMODETEXT 接收文本数据 MSCOMM1.INPUTLEN = 0 读出接收缓冲区的所有内容 MSCOMM1.INBUFFERSIZE = 1024 MSCOMM1.OUTBUFFERSIZE = 1024 MSCOMM1.RTHRESHOLD = 1 每接收到 1 个字符,发生 1 次事件 MSCOMM1.PORTOPEN = TRUE 翻开串口 ELSE TIMER1.ENABLED = FALSE MSCOMM1.OUTPUT = B MSCOMM1.OUTPUT = B COMMAND5.CAPTION = 开启通信 COM.EN

41、ABLED = TRUE MSCOMM1.PORTOPEN = FALSE COMMAND2.CAPTION = 采集数据 COMMAND2.ENABLED = FALSE COMMAND1.ENABLED = FALSE TEXT2.ENABLED = FALSE END IFEND SUBPRIVATE SUB COMMAND7_CLICK() 单击按钮保存温度数据COMMONDIALOG1.ACTION = 2OPEN COMMONDIALOG1.FILENAME FOR APPEND AS #1 WRITE #1, NOWCLOSE #1END SUBPRIVATE SUB FORM_LOAD() COM.ADDITEM COM1 COM.ADDITEM COM2 COM.ADDITEM COM3 COM.ADDITEM COM4END SUBPRIVATE SUB MSCOMM1_ONCOMM() 串口接收到数据时读出数据 CASE COMEVRECEIVE CASE ELSE END SELECTEND SUBPRIVATE SUB TEXT1_CHANGE() 对读出的数据进行处理IF (LEN(TEXT1.TEXT) MOD 4 = 0) AND (LEN(TEXT1.TEXT) 0) THENTEXT3.TEX

温馨提示

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

评论

0/150

提交评论