欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    数字式温度计设计说明书概要.doc

    • 资源ID:4281810       资源大小:620.50KB        全文页数:15页
    • 资源格式: DOC        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数字式温度计设计说明书概要.doc

    学习情境三数字式温度计制作与调试说明书电子1034班组别:第四组 组员:XXXXXX 2012年3月8日目录一、工作任务- 3 -二、总体设计思路- 3 -2.1整体功能说明- 3 -2.2总体框图- 3 -三、硬件设计- 3 -3.1硬件模块组成- 3 -3.2各模块说明- 3 -1)主控制器- 3 -2)显示驱动与显示电路- 4 -3)测温模块- 4 -4)报警电路- 4 -5)复位电路- 5 -四、软件设计- 5 -4.1程序结构- 5 -4.2各模块说明及流程图- 6 -1)主程序流程图- 6 -2)读出温度子程序流程图- 6 -3)显示数据刷新子程序流程图- 7 -4)计算温度子程序流程- 7 -5)温度转换命令子程序流程图- 8 -4.3程序清单- 8 -五、调试过程- 13 -5.1调试方法与步骤- 13 -5.2调试结果- 13 -六、附件- 14 -一、 工作任务开发完成一个简易的数字式温度计。二、 总体设计思路2.1整体功能说明开发完成一个简易的数字式温度计。测温范围在55125,误差在±0.5以内。温度测量间隔时间选择12s。通过键盘扩展(行列式或独立式按键),有温度上下限值及温度报警功能。在数字式温度计的制作中主要以51单片机(AT89C51)来控制,用温度传感器检测外界的温度,软件的显示子程序用四位一体数码管显示出来,精确到1位小数点,在超出测温范围时,进行报警功能。2.2总体框图三、硬件设计3.1硬件模块组成本电路由单片机,测温电路,复位电路,报警电路,显示驱动与显示电路等组成了数字式温度计。3.2各模块说明1) 主控制器:单片机AT89C51具有低电压和小体积等特点,两个端口刚好满足系统的设计需要痕适合便携手持式产品的设计使用。2)显示驱动与显示电路:采用共阳四位LED数码管,用三极管做驱动3)测温模块:DS18B20温度传感器是智能温度传感器,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现912位的数字值读数方式。4)报警电路:运用直流的蜂鸣器,发光二极管组成,用于电路在超限的情况下发出光报警,也可通过取反来实现电路的闪烁报警。5)复位电路:采用按键手动复位电路,外接电容电阻与点动开关。四、软件设计4.1程序结构软件设计分为主程序、读出温度子程序、温度转换命令子程序、计算温度子程序和显示数据刷新子程序 4.2各模块说明及流程图1)主程序流程图说明:主程序的主要 功能是负责温度的实时显示、读出并处理 DS18B20 的测量温度值温度测量每1s进行一次。 这样可以在1s之内测量一次被测温度。2)读出温度子程序流程图读出温度子程序的主要功能是读出 RAM 中的 9 字节。在读出时须进行 CRC 校验,校验有错时不进行温度数据的改写。 发出DS18B20复位命令发出读取温度命令移入温度暂存器发出跳过ROM命令读取操作,CRC校验9字节完?CR3校验正确结束YYNN3)显示数据刷新子程序流程图显示数据刷新子程序主要是对显示缓冲器中的显示数据进行刷新操作,当最高数据显示位为0时,将符号显示位移入下一位。4)计算温度子程序流程计算温度子程序将 RAM 中读取值进行 BCD 码的转换运算,并进行温度值正负的判定。5)温度转换命令子程序流程图温度转换命令子程序主要是发温度转换开始命令。当采用 12 位分辨率时,转换时间约为 750 ms 。在本程序设计中,采用 1s显示程序延时法等待转换的完成。4.3程序清单;*; 常数定义;* TIMEL EQU 0E0H ;20MS,定时器 0 时间常数 TIMEH EQU 0B1H ; TEMPHEAD EQU 36H ;*; 工作内存定义;* BITST DATA 20H TIME1SOK BIT BITST.1 TEMPONEOK BIT BITST.2 TEMPL DATA 26H TEMPH DATA 27H TEMPHC DATA 28H TEMPLC DATA 29H;*; 引脚定义;* TEMPDIN BIT P3.4;* ORG 0000H AJMP MAIN ORG 0003H AJMP INT_0 ORG 000BH DJNZ R6, $ ; MOV R6,#3CHLOOP1820: MOV C, TEMPDIN ; JC INITDS1820OUT ; DJNZ R6,LOOP1820 MOV R6, #064H ; DELAY 200us DJNZ R6, $ ; SJMP INITDS1820 ; RET ;INITDS1820OUT: SETB TEMPDIN ; RET ;读DS18B20的程序, 从DS18B20中读出一个字节的数据READDS1820: MOV R7, #08H ; SETB TEMPDIN ; NOP ; NOP ;READDS1820LOOP: CLR TEMPDIN ; NOP ; NOP ; NOP ; SETB TEMPDIN ; MOV R6, #07H ; DELAY 15us DJNZ R6, $ ; MOV C, TEMPDIN ; MOV R6, #3CH ; DELAY 120us DJNZ R6, $ ; RRC A ; SETB TEMPDIN ; DJNZ R7, READDS1820LOOP MOV R6, #3CH ; DELAY 120us DJNZ R6, $ ; RET ; 写DS18B20的程序, 从DS18B20中写一个字节的数据WRITEDS1820: MOV R7, #08H ; SETB TEMPDIN ; NOP ; NOP ;WRITEDS1820LOP: CLR TEMPDIN ; MOV R6, #07H ; DELAY 15us DJNZ R6, $ ; RRC A AJMP T_B ORG 0013H AJMP INT_1 ORG 0030H MAIN:MOV TMOD,#00H MOV TH0,#63H MOV TL0,#18H MOV R5,#100 SETB 07H SETB IT0 SETB IT1 SETB EX0 SETB EX1 SETB ET0 SETB EA SETB TR0 LCALL READTEMP LOOP:LCALL CF LCALL DIS AJMP LOOP T_B: MOV TH0,#63H MOV TL0,#18H DJNZ R5,LOOP8 MOV R5,#100 LCALL READTEMP LCALL READTEMP1 CALL CONVTEMP LOOP8:RETI INT_0: CLR 05H INT_1: JB 05H,;*; 子程序区;*; RESET DS18B20;*INITDS1820: SETB TEMPDIN ; NOP ; NOP ; CLR TEMPDIN ; MOV R6, #0A0H ; DELAY 480us DJNZ R6, $ MOV R6, #0A0H DJNZ R6, $ ; SETB TEMPDIN ; MOV R6, #32H ; DELAY 70usCRC8CAL: PUSH ACC ; MOV R7, #08H ; Number Bits In ByteCRC8LOOP1: XRL A, B ; Calculate CRC RRC A ; Move To Carry MOV A, B ; Get The Last CRC Value JNC CRC8LOOP2 ; Skip If Data = 0 XRL A, #18H ; Update The CRC ValueCRC8LOOP2: RRC A ; Position The New CRC MOV B, A ; Store The New CRC POP ACC ; Get The Remaining Bits RR A ; Position The Next Bit PUSH ACC ; Save The Remaining Bits DJNZ R7, CRC8LOOP1 ; Repeat For 8 Bits POP ACC RET;处理温度 BCD 码子程序CONVTEMP: MOV A, TEMPH ; ANL A, #80H ; JZ TEMPC1 ; CLR C ; MOV A, TEMPL ; CPL A ; ADD A, #01H ; MOV TEMPL, A ; MOV A, TEMPH ; - CPL A ; ADDC A, #00H ; MOV TEMPH, A ; TEMPHC HI = 符号位 MOV TEMPHC, #0BH ; SJMP TEMPC11 ;TEMPC1: MOV TEMPHC, #0AH ; +TEMPC11: MOV A,TEMPHC SWAP A MOV TEMPHC,A MOV A, TEMPL ; ANL A, #0FH ; 乘 0.0625 MOV DPTR, #TEMPDOTTAB ; MOVC A, A + DPTR ; MOV TEMPLC, A ; TEMPLC LOW = 小数部分 BCD MOV A, TEMPL ; 整数部分 AN A, #0F0H ; SWAP A ; MOV TEMPL, A ; MOV A, TEMPH ; ; MOV TEMPDIN, C ; MOV R6, #34H ; DELAY 104us DJNZ R6, $ ; SETB TEMPDIN ; DJNZ R7, WRITEDS1820LOP RET ;*; READ TEMP;*READTEMP: LCALL INITDS1820 ; MOV A, #0CCH ; LCALL WRITEDS1820 ; SKIP ROM MOV R6, #34H ; DELAY 104us DJNZ R6, $ ; MOV A, #44H ; LCALL WRITEDS1820 ; START CONVERSION MOV R6, #34H ; DELAY 104us DJNZ R6, $ ; RET ;READTEMP1:LCALL INITDS1820 ; MOV A, #0CCH ; LCALL WRITEDS1820 ; SKIP ROM MOV R6, #34H ; DELAY 104us DJNZ R6, $ ; MOV A, #0BEH ; LCALL WRITEDS1820 ; SCRATCHPAD MOV R6, #34H ; DELAY 104us DJNZ R6, $ ; MOV R5, #09H ; MOV R0, #TEMPHEAD ; MOV B,#00HREADTEMP2: LCALL READDS1820 ; MOV R0, A ; INC R0 ;READTEMP21: LCALL CRC8CAL; DJNZ R5, READTEMP2 ; MOV A, B ; JNZ READTEMPOUT ; MOV A, TEMPHEAD + 0 ; MOV TEMPL, A ; MOV A, TEMPHEAD + 1 ; MOV TEMPH, A ;READTEMPOUT: RET ;Calculate CRC-8 Values. Uses The CCITT-8 Polynomial, Expressed As; X8 + X5 + X4 + 1 ANL A, #0FH ; SWAP A ; ORL A, TEMPL ; LCALL HEX2BCD1 ; MOV TEMPL, A ; ANL A, #0F0H ; SWAP A ; ORL A, TEMPHC ; TEMPHC LOW = 十位数 BCD MOV TEMPHC, A ; MOV A, TEMPL ; ANL A, #0FH ; SWAP A ; TEMPLC HI = 个位数 BCD ORL A, TEMPLC ; MOV TEMPLC, A ; MOV A, R7 ; JZ TEMPC12 ; ANL A, #0FH ; SWAP A ; MOV R7, A ; MOV A, TEMPHC ; TEMPHC HI = 百位数 BCD ANL A, #0FH ; ORL A, R7 ; MOV TEMPHC, A ;TEMPC12: RET ;*; 小数部分码表;*TEMPDOTTAB: DB 00H, 01H, 01H, 02H, 03H, 03H,04H, 04H, 05H, 06H DB 06H, 07H, 08H, 08H, 09H, 09H;*; 单字节 16 进制转 BCD;*HEX2BCD1: MOV B, #064H ; 16 进制 -> BCD DIV AB ; B = A % 100 MOV R7, A ; R7 = 百位数 MOV A, #0AH ; XCH A, B ; DIV AB ; B = A % B SWAP A ; ORL A, B ; RET ;DIS:MOV R1,#70H MOV R2,#11111110BLD0:MOV P0,#00H MOV A,R1 MOV DPTR,#TABLE DB 0FFH DB 0BFH ;DB 36H ;DB 0A1H ;DB 86H ;DB 8eH DELAY:MOV R3,#030H LOOP0:MOV R4,#00FH DJNZ R4,$ DJNZ R3,LOOP0 RET CF: MOV A,29H ANL A,#0FH MOV 73H,A MOV A,29H ANL A,#0F0H SWAP A MOV 72H,A MOV A,28H ANL A,#0FH MOV 71H,A MOV A,28H ANL A,#0F0H SWAP A MOV 70H,A RET END MOVC A,A+DPTR MOV P0,A MOV A,R2 JNB ACC.2,NB SETB P0.7 AJMP BN NB:CLR P0.7 BN:MOV P2,A LCALL DELAY INC R1 MOV A,R2 JNB ACC.3,LD1 RL A MOV R2,A AJMP LD0LD1:RET ORG 0A00HTABLE:DB 0c0H DB 0f9H DB 0a4H DB 0b0H DB 99H DB 92H DB 82H DB 0f8H DB 80H DB 90H 五、调试过程5.1调试方法与步骤1、程序调试 数字式温度计的源程序编写完之后,我们使用软件和Protel共同来调试源程序的争取与否。2、仿真硬件设计的内容使用Protel软件,来画出主控模块,采集模块,显示模块和报警模块五个模块来组成完整的仿真图。3、电路板调试 用万用表检查电路板各部分接线,检查是否已焊接正确,检查完成之后,用仿真器与电路板相连,加入+5V电压,下载软件程序并正确编译,在电路板上观察LED的显示变化,记录室温的变化5.2调试结果能准确测量室温,并一秒定时更新一次。LED显示DS18B20的当前温度19.2摄氏度。显示当前室温,显示温度LED可随室温的升高而逐渐升高,温度到达上限时,蜂鸣器会发出报警声音提示,若温度到了所设定的最低温度以下,也会发出警报声。本次设计实现了低功耗高精度便携式数字温度计的设计。DS18B20传感器精度高、互换性好;它直接将温度数据进行编码,可以只是使用一根电缆传输数据,通信方便,传输距离远且抗干扰性好;与用传统温度传感器组成的多点测温系统相比可节省大量电缆。而且系统得以简化,系统扩充维护十分方便。DS18B20可以广泛用于工厂工业过程、大型粮仓、酿酒厂、食品加工厂的温度检测以及宾馆、仪器仪表室等处的温度检测与控制。六、附件序号名称标号数值型号数量1电容C110uf电解电容12电容C2、C322pf瓷片电容23发光二极管DS1DS224电阻R1R4,R6R10,R14510碳膜电阻10R5,R11R13,R151K5R1610K1R174.7K15三极管Q2Q58550PNP56按键S1S3独立式按键37单片机U140管脚18四位LED显示器U212管脚19温度传感器U33管脚18B20110蜂鸣器LS1TMB12A05111晶振Y112HZKCS12.0001元器件清单原理图PCB图

    注意事项

    本文(数字式温度计设计说明书概要.doc)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开