基于单片机的智能温度计的设计_第1页
基于单片机的智能温度计的设计_第2页
基于单片机的智能温度计的设计_第3页
基于单片机的智能温度计的设计_第4页
基于单片机的智能温度计的设计_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

1、目录1设计背景 11.1 课题背景 11.2 设计内容 12智能温度计系统简介 21.1 方案选择 21.2 系统设计原理 31.3 系统组成 43 .系统硬件设计 63.1 DS18B20温度传感器 63.1.1 DS18B20 介绍 63.1.2 温度传感器工作原理 63.1.3 DS18B20 相关介绍 83.1.4 DS18B20使用中的注意事项 93.2 液晶显木器(1602液晶显小器) 103.2.1 液晶显示器的介绍 103.2.2 1602LCD 的特性 113.2.3 液晶模块简介 113.2.4 液晶显示部分与89C51的接口 133.3 80C51单片机的介绍 143.3

2、.1 80C51单片机的主要特性 153.3.2 80C51单片机管脚 163.3.3 80C51单片机的中断系统 183.3.4 80C51单片机的定时/计数器 183.3.5 80C51单片机的最小系统 193.4 系统总体电路图 204 .软件设计简介 214.1 C语言简介 214.2 程序设计 215 .电路仿真 245.1 Proteus 软件介绍7 245.2 智能温度计Ptoteus仿真 25总结 27参考文献 28附录:源程序代码 291设计背景温度控制广泛应用于人们的生产和生活中,人们使用温度计来采集温度,通过人工 操作加热、通风和降温设备来控制温度,这样不但控制精度低、实

3、时性差,而且操作人 员的劳动强度大。即使有些用户采用半导体二极管作温度传感器,但由于其互换性差, 效果也不理想。在某些行业中对温度的要求较高,由于工作环境温度不合理而引发的事 故时有发生。对工业生产可靠进行造成影响,甚至操作人员的安全。为了避免这些缺点, 需要在某些特定的环境里安装数字温度测量及控制设备。本设计由于采用了新型单片机对温度进行测量,以其测量精度高,操作简单。可运行性强,价格低廉等优点,特别适 用于生活,医疗,工业生产等方面的温度测量。本设计是一个智能温度测量,能测柜内的温度,并能在超限的情况下进行控制、调 整,并报警。1.1 课题背景随着科技的不断进步,在工业生产中温度是常用的被

4、控参数,而采用单片机来对这 些被控参数进行控制已成为当今的主流。采用数字温度传感器DS18B20因其内部集成了 A/D转换器,使得电路结构更加简单,而且减少了温度测量转换时的精度损失,使得 测量温度更加精确。1.2 设计内容本次课程设计模拟工业现场,对温度进行测量,并实时显示出来,并且可以设定温 度的上下限,当温度达到上下限时 系统自动报警。控制系统主控制器采用51单片机,温度测量采用DS18B20设定温度后,当温度达到设定限时,可以通过闪彩灯和响蜂鸣 器报警提示,并且实时显示在1602液晶显示器上。2智能温度计系统简介2.1 方案选择该系统主要由温度测量和数据采集两部分电路组成,实现的方法有

5、很多种,下面将 列出两种在日常生活中和工农业生产中经常用到的实现方案。万案一:采用热电偶温差电路测温,温度检测部分可以使用低温热偶,热电偶由两个焊接在 一起的异金属导线所组成,热电偶产生的热电势由两种金属的接触电势和单一导体的温 差电势组成。通过将参考结点保持在已知温度并测量该电压,便可推断出检测结点的温 度。数据采集部分则使用带有 A/D通道的单片机,在将随被测温度变化的电压或电流采 集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将 被测温度显示出来。热电偶的优点是工作温度范围非常宽,且体积小,但是它们也存在 着输出电压小、容易遭受来自导线环路的噪声影响以及漂移

6、较高的缺点,并且这种设计 需要用到A/D转换电路,感温电路比较麻烦。系统主要包括对A/D0809的数据采集,自动手动工作方式检测,温度的显示等,这 几项功能的信号通过输入输出电路经单片机处理。此外还有复位电路,晶振电路,启动 电路等。故现场输入硬件有手动复位键、A/D转换芯片,处理芯片为51芯片,执行机构有4位数码管、报警器等。系统框图如图 2.1所示。数码管 仁二U :ADC0809单片机报警电路测温电路晶振电路按键防抖动复位电路图2.1热电偶温差电路测温系统框图万案一:采用数字温度芯片DS18B20测量温度,输出信号全数字化。便于单片机处理及控制, 省去传统的测温方法的很多外围电路。且该芯

7、片的物理化学性很稳定,它能用做工业测 温元件,此元件线形较好。在0100摄氏度时,最大线形偏差小于1摄氏度。DS18B20 的最大特点之一采用了单总线的数据传输,由数字温度计DS18B2师微控制器AT89S51构成的温度测量装置,它直接输出温度的数字信号,可直接与计算机连接。这样,测温系 统的结构就比较简单,体积也不大。采用51单片机控制,软件编程的自由度大,可通过 编程实现各种各样的算术算法和逻辑控制,而且体积小,硬件实现简单,安装方便。既 可以单独对多DS18B20空制工作,还可以与PC机通信上传数据,另外 AT89S51在工业 控制上也有着广泛的应用,编程技术及外围功能电路的配合使用都很

8、成熟。该系统利用AT89S51芯片控制温度传感器DS18B20S行实时温度检测并显示,能够 实现快速测量环境温度,并可以根据需要设定上下限报警温度。该系统扩展性非常强, 它可以在设计中加入时钟芯片 DS1302以获取时间数据,在数据处理同时显示时间,并 可以利用AT24C165片作为存储器件,以此来对某些时间点的温度数据进行存储,利用 键盘来进行调时和温度查询,获得的数据可以通过 MAX232E片与计算机的RS2328口 进行串口通信,方便的采集和整理时间温度数据。从以上两种方案,容易看出方案一的测温装置可测温度范围宽、体积小,但是线性 误差较大。方案二的测温装置电路简单、精确度较高、实现方便

9、、软件设计也比较简单, 故本次设计采用了方案二。2.2 系统设计原理利用温度传感器DS18B2可以直接读取被测温度值,进行转换的特性,模拟温度值 经过DS18B2眦理后转换为数字值,然后送到单片机中进行数据处理,并与设置的温度 报警限比较,超过限度后通过扬声器报警并且指示灯闪烁。同时处理后的数据送到LCD中显示。2.3 系统组成本课题以是80C51单片机为核心设计的一种智能温度测试系统, 系统整体硬件电路 包括:传感器数据采集电路,温度显示电路,上下限报警调整电路,单片机主板电路等 组成。系统框图主要由主控制器、单片机复位、报警按键设置、时钟振荡、LED显示、温度传感器组成。单片机复位系统框图

10、如图2.2所示。LED示报警按键设置主控制器时钟振荡图2.2系统基本方框图主控制器单片机AT89C51具有低电压供电和体积小等特点,四个端口只需要两个口就能满足 电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。显示电路液晶显示器是一种将液晶显示器件,连接器件,集成电路,PCB线路板,背光源,结构器 件装配在一起的组件。根据显示内容和方式的不同可以分为,数显LCD点阵字符LCD点阵图形LC匕设计中我们采用点阵字符 LCR这里采用常用的2行16个字的1602液 品模块。温度传感器温度传感器采用美国DALLA芥导体公司生产的DS18B20S度传感器。DS18B20B 出信号全

11、数字化。便于单片机处理及控制,在0100摄氏度时,最大线形偏差小于1摄 氏度,采用单总线的数据传输,可直接与计算机连接。用AT89S51芯片控制温度传感器DS18B20!行实时温度检测并显示,能够实现快速测量环境温度,并可以根据需要设定上下限报警温度。获得的数据可以通过MAX232芯片与计算机的RS232接口进行串口通信,方便的采集和整理时间温度数据。3.系统硬件设计3.1DS18B20温度传感器3.1.1DS18B20 介绍DALLAS 1SBZ01 2. 3显2 F-" ! I,! I -1(. >-92 r 15dti图3.1图3.2VCC DQ GND3S13B2027

12、.0图3.3DALLAS最新单线数字温度传感器 DS18B201一种新型的“一线器件”,其体积更 小、更适用于多种场合、且适用电压更宽、更经济。DALLAS*导体公司的数字化温度传感器DS18B201世界上第一片支持“一线总线”接口的温度传感器。温度测量范围为-55+125摄氏度,可编程为9位12位转换精度,测温分辨率可达 0.0625摄氏度, 分辨率设定参数以及用户设定的报警温度存储在EEPROW,掉电后依然保存。被测温度用符号扩展的16位数字量方式用行输出;其工作电源既可以在远端引入,也可以采 用寄生电源方式产生;多个DS18B2ST以并联到3根或2根线上,CPLR需一根端口线 就能与诸多

13、DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。 因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字 温度计,十分方便。图3.1是DS18B20I勺一种封装形式,图3.2是DS18B20勺一种常用 接法。图3.3是仿真软件的封装形式。3.1.2温度传感器工作原理DS18B20测温原理:低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在-55c所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数

14、,当计数器 1的预置值 减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始 对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器 2计数到0时,停止 温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。DS18B2M能特点:1 .采用单总线技术,与单片机通信只需要一根I/O线,在一根线上可以挂接多个DS18B202 .每只DS18B2CM有一个独有的,不可修改的64位序列号,根据序列号访问地应 的器件。3 .低压供电,电源范围从35V,可以本地供电,也可以直接从数据线上窃取电源 (寄生电源方式)。4 .测温范围为-55C+125C,在-10C85c范围内误差

15、为± 0.5 C。5 .可编辑数据为912位,转换12位温度时间为750ms (最大)。6 .用户可自设定报警上下限温度。7 .报警搜索命令可识别和寻址哪个器件的温度超出预定值。8 . DS18B20的分辩率由用户通过 EEPROM:置为912位。9 . DS18B2W将检测到温度值直接转化为数字量, 并通过串行通信的方式与主控制 器进行数据通信。DS18B20t 4个主要的数据部件:1 .光刻ROMP的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20I勺地 址序列码。64位光刻ROM勺排列是:开始8位(28口 是产品类型标号,接着的48位是 该DS18B201身的序列号

16、,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1 光刻ROM勺作用是使每一个DS18B2(tB各不相同,这样就可以实现一根总线上挂接多个 DS18B20I勺目的。2 . DS18B2叶的温度传感器可完成对温度的测量,以 12位转化为例:用16位符号 扩展的二进制补码读数形式提供,以 0.0625 C/LSB形式表达,其中S为符号位。3 . DS18B20温度传感器的存储器DS18B20温度传感器的内部存储器包括一个高速 暂存RA防口一个非易失性的可电擦除的 EEPRAM!者存放高温度和低温度触发器 TH、TL 和结构寄存器。4 .配置寄存器。DS18B2(rt部结构及功能:

17、DS18B20I勺内部结构如图3.4所示。主要包括:寄生电源,温度传感器, 64位ROM 和单总线接口,存放中间数据的高速暂存器 RAM用于存储用户设定温度上下限值的 TH 和TL触发器,存储与控制逻辑,8位循环冗余校验码(CRC发生器等7部分M64位RO和单线接口图3.4 DS18B20内部结构及功能存储器与控制逻辑3.1.3DS18B20相关介绍温度的读取:DS18B20ft出厂时以配置为12位,读取温度时共读取16位,所以把后11位的2 进制转化为10进制后在乘以0.0625便为所测的温度,还需要判断正负。前 5个数字为 符号位,当前5位为1时,读取的温度为负数;当前 5位为0时,读取的

18、温度为正数。(1) DS18B20勺初始化:1 .先将数据线置高电平“ 1”。2 .延时(该时间要求的不是很严格,但是尽可能的短一点)。3 .数据线拉到低电平“ 0”。4 .延时750微秒(该时间的时间范围可以从 480到960微秒)。5 .数据线拉到高电平“ 1”。6 .延时等待(如果初始化成功则在 15到60毫秒时间之内产生一个由 DS18B205T返回的低电平“0据该状态可以来确定它的存在,但是应注意不能无限的进行等待,不然会使程序进入死循环,所以要进行超时控制7 .若CPU读到了数据线上的低电平 “诟,还要做延时,其延时的时间从发出的高 电平算起(第(5)步的时间算起)最少要480微秒

19、。8 .将数据线再次拉高到高电平 ” 1后结束。(2) DS18B20的写操作:1 .数据线先置低电平“0”2 .延时确定的时间为15微秒。3 .按从低位到高位的顺序发送字节(一次只发送一位)。4 .延时时间为45微秒。5 .将数据线拉到高电平。6 .重复上(1)到(6)的操作直到所有的字节全部发送完为止。7 .最后将数据线拉高。(3) DS18B20的读操作:1 .将数据线拉高“仔2 .延时2微秒。3 .将数据线拉低“0”4 .延时15微秒。5 .将数据线拉高“1。”6 .延时15微秒。7 .读数据线的状态得到1个状态位,并进行数据处理。8 .延时30微秒。3.1.4DS18B20使用中的注

20、意事项DS18B20虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但 在实际应用中也应注意以下几方面的问题:1 . DS18B20从测温结束到将温度值转换成数字量需要一定的转换时间,这是必须保证的,不然会出现转换错误的现象,使温度输出总是显示85。2 .在实际使用中发现,应使电源电压保持在 5V左右,若电源电压过低,会使所测 得的温度精度降低。3 .较小的硬件开销需要相对复杂的软件进行补偿,由于DS1820与微处理器间采用 串行数据传送,因此,在对 DS1820进行读写编程时,必须严格的保证读写时序,否则 将无法读取测温结果。在使用 PL/M、C等高级语言进行系统程序设计时,对

21、 DS1820操 作部分最好采用汇编语言实现。4 .在DS18B20的有关资料中均未提及单总线上所挂 DS18B20数量问题,容易使人 误认为可以挂任意多个 DS18B2Q在实际应用中并非如此,当单总线上所挂DS18B20超 过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。5 .在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序总要等待 DS18B20的返回信号,一旦某个 DS18B20接触不好或断线,当程序读该 DS18B20时, 将没有返回信号,程序进入死循环,这一点在进行DS18B20®件连接和软件设计时也要 给予一定

22、的重视。3.2 液晶显示器(1602液晶显示器)3.2.1 液晶显示器的介绍显示器是人与机器沟通的重要界面,早期以显像管 (CRT/Cathode Ray Tube)示器为 主,但随着科技不断进步,各种显示技术如雨后春笋般诞生,近来由于液晶(LCD显示器具有轻薄短小、耗电量低、无辐射危险,平面直角显示以及影像稳定不闪烁等优势,在 近年来价格不断下跌的吸引下,逐渐取代 CRT之主流地位,显示器明日之星架势十足。液晶是一种既具有液体的流动性又具有光学特性的有机化合物,它的透明程度和呈现的颜色受外加电场的影响,利用这特点便可做成字符显示器。液晶显示器(LCD洪文全称为Liquid Crystal D

23、isplay它一种是采用了液晶控制透光度 技术来实现色彩的显示器。和 CRT显示器相比,LCD的优点是很明显的。由于通过控制 是否透光来控制亮和暗,当色彩不变时,液晶也保持不变,这样就无须考虑刷新率的问 题。显示接口用来显示系统的状态,命令或采集的电压数据。本系统显示部分用的是LCD 液晶模块,采用一个16X2的字符型液晶显示模块。1602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵 型液晶模块它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示 一个字符。每位之间有一个点距的间隔每行之间也有也有间隔起到了字符间距和行间距的作用,正因为如此所以他不能

24、显示图形(用自定义 CGRAM显示效果也不好)1602LCD指显示白内容为16X2即可以显示两行,每行16个字符液晶模块(显示 字符和数字)。目前市面上字符液晶绝大多数是基于 HD44780液晶芯片的,控制原理是完全相同的, 因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。1602液晶接口图3.5 1602液晶显示器一种接法3.2.2 1602LCD 的特性(1) +5V电压,对比度可调(2)内含复位电路(3)提供各种控制命令,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能(4)有80字节显示数据存储器DDRAM(5)内建有160个5X7点阵的字型的字符发生器

25、CGROM(6) 8个可由用户自定义的5X7的字符发生器CGRAM字符型LCD1602!常有14条引脚线或16条引脚线的LCR多出来的2条线是背光 电源线VCC(15却)和地线GND(16脚)(图3.5是1602液晶显示器的一种接法)3.2.3 液晶模块简介LM016L的结构及功能:LM016L液晶模块采用HD44780控制器,hd44780具有简单而功能较强的指令集, 可以实现字符移动,闪烁等功能,LM016L与单片机MCU通讯可采用8位或4位并行传 输两种方式,hd44780控制器由两个8位寄存器,指令寄存器(IR)和数据寄存器(DR)忙标志(BF),显示数RAM (DDRAM),字符发生

26、器ROMA (CGOROM字符发生器RAM (CGRAM,地址计数器RAM(AC) IR用于寄存指令码,只能写入不能读出,DR用于寄存数据,数据由内部操作自动写入 DDRAM和CGRA%者暂存从DDRAM和CGRAM读 出的数据,BF为1时,液晶模块处于内部模式,不响应外部操作指令和接受数据,DDTAM 用来存储显示的字符,能存储 80个字符码,CGROM由8位字符码生成5*7点阵字符160中和5*10点阵字符32种.8位字符编码和字符的对应关系,可以查看参考文献(30) 中的表4. CGRAM是为用户编写特殊字符留用的,它的容量仅 64字节,可以自定义8 个5*7点阵字符或者4个5*10点阵

27、字符,AC可以存储DDRAM和CGRAM的地址,如果 地址码随指令写入IR则IR自动把地址码装入 AC,同时选择DDRAM或CGRAM但愿, LM016L液晶模块的引脚图如图3.7所示。LWO1&L<TEXT,图3.7 1601 引脚图LM016L引脚介绍:Vss (1脚):一般接地。Vdd (2脚):接电源。Vee (3脚):液晶显示器对比度调整端,接电源时对比度最弱,接地时对比度最高(对比度过高时会产生 鬼影”,使用时可以通过一个10K的电位器调整对比度)。RS (4脚):RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令 寄存器。R/W (5脚):R/W为读写信

28、号线,高电平(1)时进行读操作,低电平。时进行写操 作。E (6脚):E域EN避为使能(enable)端,下降沿使能。DB0 (7脚):底4位三态、双向数据总线 0位(最低位)。DB1 (8脚):底4位三态、双向数据总线 1位。DB2 (9脚):底4位三态、双向数据总线 2位。DB3 (10脚):底4位三态、双向数据总线 3位DB4 (11脚):高4位三态、双向数据总线 4位DB5 (12脚):高4位三态、双向数据总线 5位6位。7位(最高位)(也是 busy flang)。DB6 (13脚):高4位三态、双向数据总线DB7 (14脚):高4位三态、双向数据总线寄存器选择控制如表3.8表3.8

29、寄存器选择控制RSR/W操作说明00写入指令寄存器(清除屏等)01读busy flag ( DB7),以及读取位址计数器(DB0DB6 值10写入数据寄存器(显示各字型等)11从数据寄存器读取数据3.2.3液晶显示部分与89C51的接口如图3.9所示。用89C51的P0 口作为数据线,用P22 P2.1、P2.0分别作为LCD 的E、R/W、RS其中E是下降沿触发的片选信号,R/W是读写信号,RS是寄存器选择 信号本模块设计要点如下:显示模块初始化:首先清屏,再设置接口数据位为8位,显示行数为2行,字型为5X7点阵,然后设置为整体显示,取消光标和字体闪烁,最后设置 为正向增量方式且不移位。向L

30、CD的显示缓冲区中送字符,程序中采用2个字符数组,一个显示字符,另一个显示电压数据,要显示的字符或数据被送到相应的数组中,完成 后再统一显示.首先取一个要显示的字符或数据送到 LCD的显示缓冲区,程序延时2.5ms, 判断是否够显示的个数,不够则地址加一取下一个要显示的字符或数据。ALARH TEHP Hl LGHi: S3 LO: -29RP12 do3-d18 d47d5s dedr':,111-oLPCDPO.OJADO BA J JAr-ta dl3S3«r UB1 JrtL* IIP0.2JAD?37DH A时rP0.5/A£>aPO.77AD73。

31、g我口c n在日*F2.1/A9修2?r 2 .2/Al ni iido必0U1图3.9 液晶与89C51的接口3.3 80C51单片机的介绍80C51单片机最初是由Intel公司开发设计的,但后来Intel公司把51核的设计方 案卖给了几家大的电子设计生产商,譬如SST Philip、Atmel等大公司。如是市面上出现了各式各样的但均以51为内核的单片机,倒是Intel公司自己的单片机却显得逊色 了。这些各大电子生产商推出的单片机都兼容 51指令、并在51的基础上扩展一些功 能而内部结构是与51 一致的。80C51有40个弓唧,4个8位并行I/O 口,1个全双工异步用行口,同时内含 5个 中

32、断源,2个优先级,2个16位定时/计数器。80C51的存储器系统由4K的程序存储器(掩 膜ROM),和128B的数据存储器(RAM)组成。80C51单片机的基本组成框图见图3.10。图3.10 80C51 单片机结构图由图3.10可见,8051单片机主要由以下几部分组成:cpu系统:8位cpu,含布尔处理器;时钟电路;总线控制逻辑。存储器系统4K字节的程序存储器(ROM/EPROM/Flash可外扩至64KB); 128字节的数据存 储器(RAM,可再外扩64KB);特殊功能寄存器SFRI/O 口和其他功能单元,4个并行I/O 口; 2个16位定时计数器:1个全双工异步用 行口;中断系统(5个

33、中断源,2个优先级)。3.3.1 80C51单片机的主要特性1 . 一个8位的微处理器(CPU)2 .片内数据存储器RAM(128B),用以存放可以读/写的数据,如运算的中间结果、 最终结果以及欲显示的数据等,SST89系列单片机最多提供1K的RAM。3 .片内程序存储器ROM(4KB)用以存放程序、一些原始数据和表格。但也有一些 单片机内部不带 ROM/EPROM如8031, 8032, 80C31等。目前单片机的发展趋势是将 RAM和ROM都集成在单片机里面,这样既方便了用户进行设计又提高了系统的抗干扰 性。4 .四个8位并行I/O接口 P0P3每个口既可以用作输入,也可以用作输出5 .两

34、个定时器/计数器,每个定时器/计数器都可以设置成计数方式,用以对外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果实现计算机控制。 为方便设计串行通信,目前的52系列单片机都会提供3个16位定时器/计数器。6 .五个中断源的中断控制系统。现在新推出的单片机都不只5个中断源。7 . 一个全双工UART姬用异步接收发送器)的串行I/O 口,用于实现单片机之间或 单机与微机之间的串行通信。8 .片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接。最高允许振荡频 率为12MHz。SST89V58RDt高允许振荡频率达40MHz,因而大大的提高了指令的执行 速度。3.3.2 80C5

35、1单片机管脚pi n r*i. i P1 w pi a Pl .4 PI S pi a R1 .7 HST (RXD) P3.O <TXD) R3. I (INTO) P3.2 (IZTI ) R3.3 (TO) Rn 4 (T1 ) P3.5 WH) 2.6 <RO) RH 7 XTAL£ XTAL1GhlD匚 匚 匚 匚 匚 匚 图3.11 80C51 单片机管脚I vcc I尸口 QI PO. II PO 2 I PO 3I RO 4 I PO.BI RU.tf I FO 7(AOO> (AD1)gum (A 匚14) (ADS)(A75)(A4)CA13)

36、(Aim 1 )(Ae>时钟电路弓I脚XTAL1和XTAL2XTAL2(18脚):接外部晶体和微调电容的一端;在 8051片内它是振荡电路反相放 大器的输出端,振荡电路的频率就是晶体固有频率。若需采用外部时钟电路时,该引脚 输入外部时钟脉冲。XTAL1(19脚):接外部晶体和微调电容的另一端;在片内它是振荡电路反相放大器 的输入端。在采用外部时钟时,该引脚必须接地。控制信号弓I脚RST,ALE,PSE和EA:RST/VPD(9脚):RST是复位信号输入端,高电平有效。当此输入端保持备用电源的 输入端。当主电源Vcc发生故障,降低到低电平规定值时,将+ 5V电源自动两个机器 周期(24个时

37、钟振荡周期)的高电平时,就可以完成复位操作。RST引脚的第二功能是VPD, 即接入RST端,为RAM提供备用电源,以保证存储在 RAM中的信息不丢失,从而合 复位后能继续正常运行。ALE/PROG(30脚):地址锁存允许信号端。当8051上电正常工作后,ALE引脚不断 向外输出正脉冲信号,此频率为振荡器频率 fOSC的1/6。CPU访问片外存储器时,ALE 输出信号作为锁存低8位地址的控制信号。平时不访问片外存储器时,ALE端也以振荡频率的1/6固定输出正脉冲,因而ALE 信号可以用作对外输出时钟或定时信号。此引脚的第二功能PROG在对片内带有4KB EPROM的8751编程写入(固化程序)

38、时,作为编程脉冲输入端。PSEN(29脚):程序存储允许输出信号端。在访问片外程序存储器时,此端定时输出 负脉冲作为读片外存储器的选通信号。此引肢接 EPROM的OE端。PSEN端有效,即 允许读出EPROM/ROM中的指令码。EA/Vpp(31脚):外部程序存储器地址允许输入端/固化编程电压输入端。当EA引 脚接高电平时,CPU只访问片内EPROM/ROM并执行内部程序存储器中的指令,但当 PC程序计数器)的值超过0FFFH(t 8751/8051为4K)时,将自动转去执行片外程序存储 器内的程序。if输入信号EA引脚接低电平(接地)时,CPU只访问外部EPROM/ROM并 执行外部程序存储

39、器中的指令,而不管是否有片内程序存储器。对于无片内ROM的8031或8032,需外扩EPROM此时必须将EA引脚接地。此引脚的第二功能是 Vpp是 对8751片内EPROM固化编程时,作为施加较高编程电压(一般12V21V)的输入端。输入/输出端口 P0/P1/P2/P3:P0 口 (P0.0P0.7, 3932脚):P0 口是一个漏极开路的8位准双向I/O 口。作为漏 极开路的输出端口,每位能驱动 8个LS型TTL负载。当P0 口作为输入口使用时,应 先向口锁存器(地址80H)写入全1,此时P0 口的全部引脚浮空,可作为高阻抗输入。作输 入口使用时要先写1,这就是准双向口的含义。在 CPU访

40、问片外存储器时,P0 口分时提供低8位地址和8位数据的复用总线。在此期间,P0 口内部上拉电阻有效。P1 口(P1.0P1.7, 18脚):P1 口是一个带内部上拉电阻的 8位准双向I/O 口。P1 口每位能驱动4个LS型TTL负载。在P1 口作为输入口使用时,应先向P1 口锁存地址 (90H)写入全1,此时P1 口引脚由内部上拉电阻拉成高电平。P2 口 (P2.0P2.7, 2128脚):P2 口是一个带内部上拉电阻的 8位准双向I/O 口。 P1 口每位能驱动4个LS型TTL负载。在访问片外EPROM/RAM时,它输出高8位地 址。P3 口 (P3.0P3.7, 1017脚):P3 口是一

41、个带内部上拉电阻的 8位准双向I/O 口。 P3 口每位能驱动4个LS型TTL负载。P3 口与其它I/O端口有很大的区别,它的每个引 脚都有第二功能,如下:P3.0: (RXD*行数据接收。P3.1: (RXD*行数据发送。P32 (INT0#K卜部中断0输入。P33 (INT1#K卜部中断1输入。P3.4: (T0)定时/计数器0的外部计数输入。P3.5: (T1)定时/计数器1的外部计数输入。P3.6: (WR#%卜部数据存储器写选通。P3.7: (RD#必部数据存储器读选通。3.3.3 80C51单片机的中断系统80C51系列单片机的中断系统有5个中断源,2个优先级,可以实现二级中断服务

42、 嵌套。由片内特殊功能寄存器中的中断允许寄存器 IE控制CPU是否响应中断请求;由 中断优先级寄存器IP安排各中断源的优先级;同一优先级内各中断同时提出中断请求时, 由内部的查询逻辑确定其响应次序。3.3.4 80C51单片机的定时/计数器在单片机应用系统中,常常会有定时控制需求,如定时输出、定时检测、定时扫描 等;也经常要对外部事件进行计数。80C51单片机内集成有两个可编程的定时/计数器: T0和T1,它们既可以工作于定时模式,也可以工作于外部事件计数模式,止匕外,T1还可以作为用行口的波特率发生器3.3.5 80C51单片机的最小系统单片机最小系统是单片机能工作的最基本电路,接好最小系统

43、对于做实物来说极其重要。如图3.12VCC1011RIY1JU 059券IPLQVCCPL1P0,0P1JPQ.lPL3P0.2PL4P0 3PL5.AIO&IP04P1.6.MSOP1.7.SCKPC.6RSTP0.7P3.QRXDEATPP3,LTXDATEPROGP5.2.INTUFSENMMP331NT1P2.7P3.4-T0P2.6P3.5.T1P2.5P3.6 八VBlP2 4P3+ RliP2.3NT AL 2!P2,2VTALIPZ1GNDP2.0VI ATS9S529巴"Q LPL4 f rni?PL。 丁 pTsPLC L 久L至 EiF 3 PTlT4。

44、3 9 PU.U3S PO 1,1 PC 236 PO 5J? pai54 PU -3 3 加。632 PM7IlTo莎WS PL7京Pl 53.12 单片机及其最小系统单片机最小系统如图所示,主要由以下六部分组成(1) AT89S52Wt机:(2) I/O 口:其中有4个双向的8位并行I/O端口,分别记作P0、P1、P2、P3,都 可以用于数据的输出和输入,其中有些I/O 口具有第二功能。(3)时钟电路:时钟电路用于产生MCS-52单片机工作所必须的时钟控制信号,内部电 路在时钟信号的控制下,严格地按时序指令工作。(4)复位电路:MCS-51的复位是由外部的复位电路来实现。采用最简单的外部按

45、键复位电路。按键自动复位是通过外部复位电路的来实现的(5) EA脚:把EA脚接高电平,单片机访问片内程序存储器。(6)单片机的第20和40引脚为单片机的GND和VCC,为单片机供电,必须接好3.4系统总体电路图总体电路图如仿真图3.13所示。温度传感器连接在P3.3 口。K2为显示报警温度键, 连接P1.4 口。K1为正常显示温度,连接P1.7 口。按下K1则显示器显示当前温度,按 下K2则会显示所设定的温度上下限值。P2.3和P2.6分别为高温和低温闪烁,当所测得 的结果高于或者低于所设置的温度上下限时就会闪烁报警,同时连接于P3.7的蜂鸣器就会报警Current Tifie:TEMP:Tc

46、4FFU2L2sriiH. FR5Q "Sit" INN ,-20.5 C_LC2llu1+椎势4lE 具 SS-.r 耳SKTj心hi .时 1s/ADJro.4AD4RSTO .7rftD ,FSEMFZ 箱!9P2协忖A|_EFZ旦印?至P£小电信F2.C/AI4*1.0TBR版91 1ps.nrrxhF3.2JiNTOp#mFMP1j4PS- 叫U皿7e.h/SF语JIMF区3J. M ii 五 I: 12 1ZI zr 27L'l当 RVJ/ F J图3.13 总体电路图4 .软件设计简介4.1 C语言简介C语言是嵌入式系统中一种通用语言,其数据

47、类型及运算符丰富,代码率高,较好 的移植性及丰富的功能函数,并具有良好的程序结构,适用于各种应用的程序设计,是 目前嵌入式系统中使用较广泛的编程语言。嵌入式系统中的使用的C语言和ANSI标准的C语言比较,其语法规则是相同的,但由于它控制嵌入式应用系统硬件,而不同的嵌 入式系统核心控制部件是不同的,因此,不同的嵌入式系统的C语言采用不同的C编译 器。51单片机的语言采用51编译器。由C51产生的目标代码短并且运行速度快,所需 空间小,符合C语言的ANSI标准,生成的代码遵循INTEL目标文件格式。应用C51编程具有以下优点:C51管理内部寄存器和存储器的分配,编程时,无须考虑不同存储器的寻址和数

48、据 类型等细节问题;程序由若干函数组成,具有良好的模块化结构;有丰富的子程序库可直接引用,从而大大减少用户编程的工作量;C语言和汇编语言可以交叉使用,汇编语言程序代码短,运行速度快,但复杂编程 耗时。如果用汇编语言编写与硬件有关的部分程序,用C语言编写与硬件无关的运算部分程序,就可以充分发挥两种语言的特长,可以提高开发效率。编写好的C语言程序编译成功后,生成HEX文件,通过ISP下载到单片机即可运行4.2 程序设计整个系统的功能是由硬件电路配合软件来实现的,当硬件基本定型后,软件的功能 也就基本定下来了。从软件的功能不同可分为两大类:一是监控软件(主程序),它是 整个控制系统的核心,专门用来协

49、调各执行模块和操作者的关系。二是执行软件(子程 序),它是用来完成各种实质性的功能如测量、计算、显示、通讯等。每一个执行软件 也就是一个小的功能执行模块。这里将各执行模块一一列出,并为每一个执行模块进行 功能定义和接口定义。各执行模块规划好后,就可以规划监控程序了。首先要根据系统的总体功能选择一种最合适的监控程序结构,然后根据实时性的要求,合理地安排监控 软件和各执行模块之间地调度关系。主程序流程:图4.1 主程序流程图DS18B20初始化流程图:(开始<图4.2 DS18B20初始化流程图5 .电路仿真5.1 Proteus 软件介绍7Proteus软件是英国Labcenter ele

50、ctronics公司出版的EDA工具软件(该软件中国总 代理为广州风标电子技术有限公司)。它不仅具有其它EDA工具软件的仿真功能,还能 仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内 推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用 的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代 码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB®计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持 8051、HC1&

51、#171; PIC10/12/16/18/24/30/DsPIC33、AVR ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列J处理器,并持续增加其 他系列处理器模型。在编译方面,它也支持IAR Keil和MPLAB等多种编译器。该软件的特点是:1 .实现了单片机仿真和SPIC西路仿真相结合,具有模拟电路仿真、数字电路仿真、 各种单片机(51系列、AVR PIG等常用的MCU)及其外围电路(如LCD RAM、ROM、键 盘、LED A/D、D/A织成的系统仿真。2 .提供了多种虚拟仪器。如示波器、逻辑分析仪、信号发生器等,调试非常方便。3 .提供软件调试功能,同时支

52、持第三方的软件编译和调试环境,如Keil等软件。4 .具有强大的原理图绘制功能。5 .独特的单片机协同仿真功能(VSM)支持主流的 CPU类型:如 ARM7、8051/52、AVR PIC10/12、PIC16 PIC18 PIC24 dsPIC33 HC11、BasicStamp 8086、MSP430等,CPU类型随着版本升级还在继续增加, 如即将支持CORTEXDSP处理器。6 .编译及调试:支持单片机汇编语言的编辑/编译/源码级仿真,内带8051、AVR PIC的汇编编译器,也可以与第三方集成编译环境(如 IAR Keil和Hitech)结合,进行 高级语言的源码级仿真和调试。7 .绘

53、制原理图:绘制原理图要在原理图编辑窗口中的蓝色方框内完成。原理图编辑 窗口的操作是不同于常用的 WINDOWS应用程序的,正确的操作是:用左键放置元件;右键选择元件;双击右键删除元件;右键拖选多个元件;先右键后左键编辑元件属性; 先右键后左键拖动元件;连线用左键,删除用右键;改连接线:先右击连线,再左键拖 动;中键放缩原理图。5.2 智能温度计Ptoteus仿真当智能温度计的上限设定为70度,下线设定为一20度时,仿真图分别为图5.1和 图 5.2。如图5.1,当设定温度为一22.5度时,超过下限,第二个黄灯闪烁,蜂鸣器报 如图5.2,当设定温度为80.5时,超过温度上限,第一个黄灯闪烁,蜂鸣

54、器报LCD1,-,UO161' pCurrent I;TEHF: -22.5 ”IB图5.1 当下限设定为一20度时RP1 j<q . . . L_l*_, .1冽一 .,一 '1>R1息 r . r «- i -I OE ' 1, 1CMFAKI泡!丸L1PUDTADD PD.1WD1FU*JDWJCTAL2PE3Mlm P 口时由 pgi * PCLSAJD。WSTPO.TC?FZ.1MA FZJTAig陕日建IALfu*母像FZjS'AI * F3J.1S1口PIDILKli iri.iP1ZP3.1EDP32TOTnP1«3PM-1IP1A,35P l与p-q 个T1F-IjSpzjsOTIT"T”MF30 ;图 I311 15Fis LSIIZ1 2RWx Z3riR21LI"1g6GHp 1_TEMP!:忡:;C1 *H S51碧LVMI u.misiiL,此京显乖期 o;二| 沁:.1ZM .1 St -4QIE as- C3Current rshfUT?<T冉 L

温馨提示

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

评论

0/150

提交评论