《基于温度采集的单片机和Visual_C++串口通信(带电脑端程序)_课程设计报告.doc》由会员分享,可在线阅读,更多相关《基于温度采集的单片机和Visual_C++串口通信(带电脑端程序)_课程设计报告.doc(27页珍藏版)》请在金锄头文库上搜索。
1、单片机课程设计报告题目:基于温度采集的单片机和VISUAL C+串口通信1.摘要单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。DS18B20是美国DALLAS公司生产的数字温度传感器芯片,具有结构简单、体积小、功耗小、抗干扰能力强、使用方便等优点。本文设计的一种温度控制系统,用STC89C51单片机作为温控器,选用DS18B20数字温度传感器,可任意设置上下限报警温度,采用数码管实时显示温度,通过串口利用单
2、片机与上位机的通信,对环境温度采集并进行控制。关键词:STC89C51单片机、串口通信、上下限报警、数码管显示温度、2. 引论随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术。温度是工业生产中主要的被控参数之一,与之相关的跟中温度控制是工业生产过程中经常遇到的过过程控制,有些工艺过程对其温度的控制效果直接影响着产品的质量。用单片机做成的产品外围元件很少,能实现的功能却很广,广泛应用于工业,农业等。兼于此,特用单片机设计此电路。温度控制在实际生产中有着广泛的应用。例如:在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人
3、们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。因而设计一种较为理想的温度控制系统是非常有价值的。在国内外温度控制成了一科广泛应用于很多领域的技术。具体如空调、冰箱、茶叶烘烤、粮仓温度控制、等等。粮食温度检测是储备库中防止粮食霉烂、保质存放的重要环节。对于一个农业大国来讲,粮食生产、需求与储备量都很大。大量粮食在储备的过程中常因粮食湿度过大而升温发热,导致粮食大量腐烂变质,给郭建带来巨大损失。本论文正是以此为出发点,对单片机控制的远程温度控制作了较详尽的介绍。单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往
4、是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。DS18B20是美国DALLAS公司生产的数字温度传感器芯片,具有结构简单、体积小、功耗小、抗干扰能力强、使用方便等优点。本文设计的一种温度控制系统,用STC89C52单片机作为温控器,选用DS18B20数字温度传感器,可任意设置上下限报警温度,采用数码管实时显示温度,通过串口利用单片机与上位机的通信,对温度进行采集、数据处理和控制。3、目录1、摘要2、引论3、目录4、正文 4.1、设计目的 4.2、具体内容及要求 4.3、系统总体方案设计 4.3.1、设计方案论证 4.3.
5、2、系统总体构成图 4.3.3、硬件设计 4.3.4、软件设计 4.4、系统各个模块设计 4.4.1、单片机最小系统 4.4.2、显示部分 4.4.3、报警电路 4.4.4、测温电路 4.4.5、单片机与上位机串 4.5、系统软件设计 4.5.1、单片机软件设计口电路 4.5.2、上位机软件设计5、结论 6、总结心得7、 参考文献附录 4、正文 4.1. 设计目的 (1)了解电子系统的设计方法,巩固和提高学过的基础理论和专业知识; (2)学习DS18B20数字温度传感器的测温原理,提高运用所学专业知识进行独立思考和综合分析、解决实际问题的能力; (3) 掌握串口通信协议及其编程方法,掌握正确的
6、思维方法和利用软件和硬件解决实际问题的基本技能; (4)增强对单片机的认识,掌握分析处理问题的方法,进行调试、计算等基本技能的训练,达到具有一定程度的实际工作能力。(5) 学会用PROTEL99SE进行电路原理图和PCB图的绘制。 (6) 学习用PSPICE、 MULTISIM 10.0等仿真软件进行电路设计和仿真。 (7)通过参与实际工作,能够了解单片机行业的具体工作。 4.2. 具体内容及要求1. 内容及要求:研究基于单片机的远程温度监控系统,可以在PC机端实时监控系统温度,并根据当前的温度值对单片机系统进行控制。利用VC编制PC示例程序。2. 主要技术指标:(1)、温度测量范围20-35
7、;(2)、可以设置温度报警的上、下限;(3)、提供PC机通讯接口;(4)、PC机软件实现对温度数据分析、统计和处理; 4.3、系统总体方案设计4.3.1设计方案论证方案一由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,其中还涉及到电阻与温度的对应值的计算,感温电路比较麻烦。而且在对采集的信号进行放大时容易受温度的影响出现较大的偏差。方案二 进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想
8、到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,电路简单,精度高,软硬件都以实现,而且使用单片机的接口便于系统的再扩展,满足设计要求。从以上两种方案,很容易看出,采用方案二,电路比较简单,费用较低,可靠性高,软件设计也比较简单,故采用了方案二。4.3.2、系统总体构成图如下:4.3.3、硬件设计:现在PC机提供的COM口是采用RS-232接口标准的。而RS-232是用正负电压来表示逻辑状态,与TTL以高低电平来表示逻辑状态的规定不同。因此,为了能够同计算机借口或终端的TTL器件(如单片机)连接,必须在RS-232与TTL电路之间进行电平和逻辑关
9、系的变换,变换电路选用芯片MAX232.该器件包含2个驱动器、2个接收器和一个电压发生器电路提供TIA/EIA-232-F电平转换成5V TTL/CMOS电平。每一个发送器将TTL/CMOS电平转换成TIA/EIA-232-F电平。4.3.4、软件设计单片机软件设计单片机程序由主程序和中断子程序组成的。主程序负责对来自上位机的命令进行解析并执行读温度值、存储温度值、输出控制等等,中断服务程序只负责单片机和上位机之间的数据发送与接收。上位机程序设计由单片机采集的实时温度,经过处理后通过MAX232传输到上位机PC,利用在VISUAL C+ 6.0的通信控件MSCOMM 属性设置和事件响应的基础上
10、,实现与单片机串行通信,在上位机中,完成报警温度设置、实时温度数据显示、曲线绘制,实时报警等功能。4.4、系统各个模块设计:4.4.1单片机最小系统1、STC89C51单片机管脚图如下:2、各引脚功能:(1) XTAL1(19脚);XTAL2(18脚)-外接时钟引脚。XTAL1为片内振荡电路的输入电源和时钟引脚.VCC(40脚)GND(20脚)常压为+5V,低压为+3.3V。(2) 端。 XTAL2为片内振荡电路的输出端,80C51的时钟有两种方式,一种是片内振荡方式,需要在这两个引脚接石英晶体和振荡电容, 振荡电容的值一般选择为10P30P。另一种外部时钟方式即XTAL1接地,外部时钟信号从
11、XTAL2脚输入。(3) RST(9脚)-单片机的复位引脚。P0口(39脚32脚)双向8位I/O口,每个口可以独立控制。51单片机PO口内部没有上拉电阻,为高阻状态,所以不能正常的输出高低电平,因此该组I/O口在使用的时候务必要接上拉电阻,一般我们采用接入10K的上拉电阻。P1口(1脚8脚)-准双向8位I/O口。每个口可以独立操作控制,内带上拉电阻,这种接口输出没有高阻状态,输入也不能锁存,固然不是真正的双向I/O口,之所以称它为” 准双向”是因为该口在作为输入使用前要先向该口进行写一操作,然后单片机内部才可以正确读出外部信号,也就是要使其先要有个准备过程,所以才称准双向口。对52单片机的P1
12、.0引脚的第二功能为T2定时器的外部输入,P1.1引脚的第二功能为T2EX捕捉,重装触发,即T2的外部控制器。P2口(21脚28脚)-准双向8位I/O口,每个口都可以独立操作控制,内带上拉电阻,与P1口相似。P3口(10脚17脚)-准双向8位I/O口,每个口可以独立操作控制,内带上拉电阻,作为第一功能使用时就当作普通I/O口,与P1口相似。作为第二功能使用时,各引脚的定义如表:值得强调的是,P3口的每一个引脚均可以独立定义为第一功能的输入/输出或第二功能P3口引脚第二功能定义标号引脚第二功能说明P3.010RXD串行输入口P3.111TXD串行输出口P3.212/INTO外部中断0P3.313
13、/INT1外部中断1P3.414T0定时器/计数器0外部输入口P3.515T1定时器/计数器1外部输入口P3.616/WE外部数据存储器写脉冲P3.717/RD外部数据存储器读脉冲3、单片机最小系统其中:A、复位电路单片机上电时,当振荡器正在运行时,只要持续给出RST引脚连个机器周期的高电平,便可完成系统复位。外部复位电路是为内部复位电路提供两个机器周期以上的电平而设计的。系统采用上电自动复位,上电瞬间电容器上的电压不能突变,RST上的电压是VCC上的电压与电容器上的电压之差,因而RST上的电压与VCC上的电压相同。随着充电的进行,电容器上的电压不断上升,RST上的 电压就随着下降,RST脚上
14、只要保持10MS以上高电平,系统就会有效复位。电容C可取1033UF,电阻R可取1.210K。在本系统设计中,C取10UF,R取10K。B、振荡电路XTAL1脚和XTAL2脚分别构成片内振荡器的反相放大器的输入和输出端,外接石英晶振或陶瓷晶振以及补偿电容C1、C2选47UF构成并联谐振电路。当外接石英晶振时,电容C1、C2选30PF10PF;当外接陶瓷振荡器时,电容C1、C2选47UF10UF。系统中,外接电C1、C2的大小会影响振荡器频率的稳定度、起振时间及温度稳定性。在设计电路板时,晶振和电容应靠近单片机芯片,以便减少寄生电容,保证振荡器稳定可靠工作。在本硬件系统设计中,为保证串行通行波特
15、率的误差,选择了11.0592MHZ的标准石英晶振,电容C1、C2为30PF。C、接高电平,选用片内程序存储器。4.4.2、显示部分:本系统采用三极管驱动四位一体共阳数码管显示温度,数码管有两种显示方式,即静态显示和动态显示。静态显示的特点是每个数码管的段选必须接一个8位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。这种方法的优点是占用CPU时间少,显示便于监测和控制。缺点是硬件电路比较复杂,成本较高;动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。本设计数码管采用动态显示。