ImageVerifierCode 换一换
格式:DOCX , 页数:32 ,大小:299.74KB ,
资源ID:16220835      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16220835.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数字温度计设计报告书Word格式文档下载.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数字温度计设计报告书Word格式文档下载.docx

1、用单片机收集转换后的数字信息进行处理和温度的显示。此设计方案需用A/D转换电路,增加硬件成本而且热敏电阻的感温特性曲线并不是严格线性的,会产生测量误差。1.1.2 方案二采用数字式温度传感器DS18B20,此类传感器为数字式传感器而且仅需要一条数据线进行数据传输,易于与单片机连接,可以去除A/D模块,降低硬件成本,简化系统电路。另外,数字式温度传感器还具有测量精度高、测量范围广等优点。综合以上两种方案分析,采用数字式温度传感器,可以得到较高的测量精度和较广的测量范围,还可以简化系统电路,以提高系统性价比。1.2 显示模块的设计1.2.1 方案一采用LCD液晶显示,由单片机驱动。此方案有美观、显

2、示清晰多样的优点。但同时液晶显示器的驱动程序复杂,价格昂贵,从而使整个系统的性价比下降。1.2.2 方案二采用LED数码管静态显示方法,电路容易理解,驱动程序简单,但需要多片七段译码器驱动显示,增加成本,而且需要占用单片机多个I/O口,浪费系统硬件资源。1.2.3 方案三采用LED数码管动态扫描显示方法,价格低廉,只需要7个I/O口就可以同时驱动八个数码管显示,硬件利用效率高,驱动程序容易理解和编写。综合以上三种方案分析,采用LED数码管动态扫描显示方法。1.3 控制按键的选择1.3.1 方案一采用独立式按键,每个按键实现一个功能,易于控制,程序编写简单,可是需要大量占用单片机的I/O接口资源

3、,当需要多个功能按键时,需要对单片机外扩I/O口,使得线路繁琐,增加硬件成本开支。1.3.2 方案二采用阵列式按键,可以减少对单片机I/O接口的使用,扫描MN个按键只需要占用M+N个I/O接口即可实现,降低对硬件资源的占用,但是需要编写按键扫描程序,会增加软件程序难度。比较此两种方案,采用阵列式按键。通过增加软件程序来降低硬件开支。二、系统模块分析2.1软、硬件系统分析2.1.1硬件系统框图:经过方案论证与比较,选择出最优方案的系统框图如图1所示:图1 总系统框图2.1.2软件程序:软件程序可以分为两大部分,第一部分为主系统,第二部分为温度计,两部分的程序流程图如图2、图3。 键盘功能表 年(

4、1)年(2)月日时分清秒星期闹钟1闹钟2关闹1关闹2显温度显华度显星期显日期123456789101112131415图2 主程序流程图按键按键功能P0.0转换两路温度显示P0.1摄氏、华氏温度显示转换P0.2上限温度设定P0.3下限温度设定P0.4修改温度图3 温度计程序流程图2.2 微控制器模块 温度计的控制器采用AT89C51单片机,AT89C51是标准的40引脚双列直插式集成电路芯片,有4个八位的并行双向I/O端口,分别记作P0、P1、P2、P3。电路如图4。第20引脚为接地端;第40引脚为电源端;第31引脚需要接高电位使单片机选用内部程序存储器;第18、19脚之间接上一个12MHz的

5、晶振为单片机提供时钟信号;第9脚为复位脚,当其接高电位时,单片机停止工作。P0口接两个发光二极管和一个蜂鸣器以实现声光报警功能,P1口连接一片七段译码器和一片3-8译码器以动态扫描方式同时驱动八个数码管,P2口与16个阵列式按键相连以实现对键盘的扫描。图4 AT89C51单片机接线图2.3 温度采集模块温度采集模块选用数字式温度传感器DS18B20,其可以与单片机I/O口直接连接,不需要外接A/D转换模块。DS18B20的性能特点如下:1独特的单线接口仅需要一个端口引脚进行通信; 2可通过数据线供电,电压范围为3.05.5;3温度测量范围为55125;4测温分辨率可达0.0625;5温度以9位

6、或12位A/D转换。DS18B20采用3脚PR35封装,电路如图5所示:图5 DS18B20与单片机接口电路图DS18B20的工作是由单片机软件程序控制的,控制方法如下:1.复位操作:首先单片机应向DS18B20输送复位信号,将数据线拉低并保持480-960S再释放,然后由上拉电阻拉高16-60S,最后再由DS18B20发出响应低电平60-240S就完成复位操作。2.写操作:单片机先将数据线拉低1S以上,再写入数据。3.读操作:读数据之前,单片机应先将数据线拉低,再释放。DS18B20在数据线从高电平跳低后15S内将数据送出,单片机在15S后读取数据线。DS18B20控制程序如下:CONFIG

7、12 EQU 7FH ;定义转换精度为12位TEMPH EQU 40H ;温度值高位TEMPL EQU 41H ;温度值低位REG2 EQU 42HREG3 EQU 43HREG4 EQU 44HDAT EQU P2.0 ;数据线ORG 0000HSJMP STARTORG 30HSTART: MOV SP,#09 MOV P1,#0FFH LCALL INIT ;调用初始化程序MAIN: MOV P0,#00H LCALL RDTEMP ;调用读温度值程序INIT: LCALL RESET ;调用复位子程序 MOV A,#0CCHLCALL WRITE ;调用写子程序 MOV A,#4EHL

8、CALL WRITEMOV A,#CONFIG12 LCALL WRITE RETRDTEMP: LCALL RESET MOV A,#44H LCALL DELAYMOV A,#0BEHLCALL READMOV TEMPL,AMOV TEMPH,A MOV REG2,A LCALL READ MOV REG3,A MOV REG4,ARESET:LA:SETB DAT MOV R2,#200LB: CLR DATDJNZ R2,LB MOV R2,#30LC: DJNZ R2,LC CLR C ORL C,DAT JC LB MOV R6,#80LD: JC LP DJNZ R6,LD S

9、JMP LALP: MOV R2,#250LF: DJNZ R2,LFWRITE: MOV R3,#8WR1A: SETB DAT MOV R4,#8 RRC AWR2A: DJNZ R4,WR2A MOV DAT,C MOV R4,#30WR3A: DJNZ R4,WR3A DJNZ R3,WR1AREAD: CLR EA MOV R6,#8RD1A: MOV R4,#6 NOPRD2A: DJNZ R4,RD2A MOV C,DAT MOV R5,#30RD3A: DJNZ R5,RD3A DJNZ R6,RD1A2.4 LED温度显示模块LED温度显示模块采用动态扫描显示方法电路如图6图

10、6 LED动态扫描显示电路从图中可以观察到单片机P1口低4位连接一片七段译码器74LS47,由于74LS47是共阳极数码管的七段译码器所以要选用共阳极的数码管。单片机P1.0-P1.3的输出信号经过74LS47译码后就可以驱动数码管的段码显示相应的数字,另外在74LS47的输出与数码管之间还要接上7个470欧姆的限流电阻,以防止有过大的电流流过时烧坏数码管。P1.4-P1.6口接于3-8译码器74LS138的三个输入端,而74LS138的输出端通过三极管分别接于八个数码管的公共极。通过由P1.4-P1.6口的输出量来控制74LS138选择点亮某一个数码管。由于74LS138是低电位有效,所以应

11、该采用PNP型的三极管来驱动数码管,在此三极管相当于一个开关的作用。依靠这两块芯片就可以控制数码管实现动态扫描显示。例如:使八个数码管显示12345678。在第一时刻输出“0001”给74LS47,让数码管显示“1”,同时输出“000” 给74LS138,选择第一个数码管工作,其余数码管不工作,这样第一时刻就只有第一个数码管显示“1”,其余数码管均不显示。同理第二时刻也只有第二个数码管显示“2”,依次类推第N时刻就只有第N个数码管显示“N”。人的肉眼只能分辨0.1秒内的变化,所以如果以每一时刻0.01秒的频率循环变化,看起来就感觉每一个数码管都被点亮了,显示“12345678”。对应的LED温

12、度显示模块的程序如下:MOV P1,#00000001B CALL DELAY MOV P1,#00010010B MOV P1,#00100011B MOV P1,#00110100B MOV P1,#01000101B MOV P1,#01010110B MOV P1,#01100111B MOV P1,#01111000B AJMP STARTDELAY: MOV R0,#250 DJNZ R0,$2.5 声光报警模块为了使温度计具备高、低温度上、下限报警的能力,增加了声光报警模块。该模块工作原理如下:首先用按键设定温度上、下限数值,然后用当前显示温度数值分别与上、下限温度进行比较,一旦

13、当前温度值高于上限温度或低于下限温度就会启动蜂鸣器和发光二极管报警。声光报警模块电路图如图7。图7 声光报警模块电路声光报警模块程序如下:DUIBI: ;上、下限对比子程序 MOV A,62H CLR C SUBB A,72H ;对比十位温度值 JC SHANGBAO JZ ZAIBI1 LJMP CHU1ZAIBI1:对比个位温度值 MOV A,61H SUBB A,71H JZ SHANGBAOSHANGBAO:上限报警 SETB P0.6 ;启动上限报警灯(红) SETB P0.5 ;启动蜂鸣器 CALL DELAY10CHU1: MOV A,72H SUBB A,64H ; JC XI

14、ABAO JZ ZAIBI2 LJMP CHU2ZAIBI2: MOV A,71H SUBB A,63H LJMP CHU2XIABAO:下限报警 SETB P0.7 ;启动下限报警灯(绿) SETB P0.5 ; MOV R7,#100 DJNZ R7,$ CALL DELAY10CHU2:2.6 电子日历、时钟模块为了实现实时播报温度、日期、时间功能就必须设计日历、时钟模块。该模块全部由软件程序来实现,步骤如下:1由定时器T0产生秒时钟,产生方法为:单片机系统由12MHz晶振提供时钟,则定时器T0的计数周期为1(12MHz/12)=1S,让计数器每次计数4000次后就产生计数益出中断,则计

15、数器初值应设为65536-4000=61536=F060H,所以分别给TH0和TL0赋值F0、60。2开启定时器0中断,使得计数益出后产生中断,再设定产生250次中断之后就产生一个秒信号。产生秒信号的程序如下:START1: MOV TMOD,#00000001B ;设置定时器0工作方式为1 MOV TH0,#0F0H ;设定定时器初值计数每次计数4000次 MOV TL0,#60H MOV IE,#10000010B ;开启总中断和定时器0中断允许位 MOV R4,#250 ;定时250次,250X4000=1S SETB TR0AJMP START1 ;启动定时器TIM0: MOV TH0

16、,#0F0H MOV TL0,#60H DJNZ R4,X2 MOV R4,#250 CALL CLOCK ;时钟调整子程序 CALL DISP ;时钟显示子程序X2: RETI3由秒信号来计数,当达到60后向“分”进位;分计数,当达到60后向“时”进位;时计数,当达到24后向“日”进位;日计数,日超出当月上限后进位到“月”;月计数,当月计数到达12后向“年”进位,依次实现电子日历、时钟功能。日历、时钟系统程序流程如图8图8 日历、时钟系统程序流程图2.7电子闹钟模块为了提高使用价值和丰富功能,本温度计扩展了两个独立的电子闹钟作为其它功能。通过按键设定某一时间,用当前时间与该设定时间进行对比,

17、每秒钟对比一次,一旦发现当前时间与设定时间一致则驱动蜂鸣器发出闹钟声。 实现闹钟功能的程序如下:(注:以下仅是闹钟1的程序,闹钟2的程序与此类似)ZHONG1: MOV 4AH,#00H ;存放闹钟1所设定的时间 MOV 4BH,#00H ;NAOZHONG1:扫描与闹钟1有关的4键盘 MOV R3,#0FEH MOV R1,#00H MOV A,R3 MOV P2,A MOV A,P2 SETB C MOV R5,#04HLLL1: RLC A JNC KEYIN1 INC R1 DJNZ R5,LLL1 LCALL DISP1 LJMP NAOZHONG1KEYIN1: MOV A,R1

18、XRL A,#00H JZ XXX0 XRL A,#01H JZ XXX1 XRL A,#02H JZ XXX2XXX0: MOV A,4AH ADD A,#1 DA A MOV 4AH,A CJNE A,#24H,HUI0 MOV 4AH,#00HUI0:XXX1: MOV A,4BH MOV 4BH,A CJNE A,#60H,HUI1 MOV 4BH,#00HUI1:XXX2: LJMP SAOMIAODISP1:显示闹钟设定值 ANL A,#11110000B SWAP A ADD A,#00H MOV P1,A CALL DELAY1 ANL A,#00001111B ADD A,#

19、10H ADD A,#20H ADD A,#30H MOV P1,#01000000B MOV P1,#01010000BNAO1:用设定闹钟时间值与当前时间值比较 MOV A,2AH CJNE A,4AH,FANHUI MOV A,2BH CJNE A,4BH,FANHUI MOV R2,#2SHENG:产生闹铃声 MOV P0,#0FFH MOV P0,#00H DJNZ R2,SHENGFANHUI:2.8语音播报模块语音播报模块采用语音芯片ISD1420构成,该芯片能够高质量地完成声音录制与还原,最大录音时间为20秒,具备分段录音功能,便于与单片机连接。语音播报模块电路如图9。图9 语

20、音播报模块电路其中S3键为录音键,S1、S2键为播放键,A0-A7为地址选择端,将ISP1420的A0-A7直接与单片机的P1口相连,就可以实现录音地址选择功能,再将播放键接于P3.0口以实现单片机控制的实时播放功能。2.9直流稳压电源模块整个温度计系统需要+5V电源供电,采用直流稳压电源提供,但这样不便于携带,所以还设计一个自制的简易可调直流稳压电源。该电源采用三端可调稳压管LM317以及外围电路构成,可以提供+3V、+5V、+6V、+12V四种档位的电压。电源电路如图10。电源电路原理:1220V交流电经过变压器变为15V交流电,然后通过桥式整流电路和滤波电容后得到近似为直流的电信号送入L

21、M317,电压约为18V。图10 自制直流稳压电源 2在进入LM317之前分出一条支路,并经过一个稳压管7812得到一个稳定的12V电压提供给继电器工作。 3由一片十进制计数器4017控制四个模拟开关芯片4066。只选取4017中的“0”输出、“1”输出、“2”输出、“3”输出分别控制开关1、2、3、4,即任一时刻只能有一个开关接通,当记数到“4”时二极管D7导通复位。不同的开关接通就可以将不同的电阻接入LM317的控制脚1,从而改变控制脚1的电位,而改变LM317的输出电压,再经过大功率集成开关TWH8778输出。4开关S2为复位开关,按下后4017复位脚15脚为高电位有效,所以复位;开关S1为调压开关,接于4017的第14脚CLOCK,每按下一次使4017计数一次;S3为电压输出按钮,按下继电器吸合;S4为停止供电按钮,按下继电器不工作。2.10键盘扫描模块由于此数字温度计功能丰富,需要很多控制开关,为了减少开关对单片机I/O口的占用,所以采用阵列式按键。键盘扫描模块电路如图11。图11 键盘扫描模块电路 键盘扫描程序流程图如图12。图12 键盘扫描程序流程图键盘扫描程序说明:给键盘所连接的P2口赋扫描码,例如:MOV P2,#0FEH,则扫描最后一行按键。写入这个扫描码后P2口的高4位写入“1”,被设为输入状态,低4位中只有P2.0为“0”。 而P2口的高4位通过

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1