基于单片机的温度检测系统设计_第1页
基于单片机的温度检测系统设计_第2页
基于单片机的温度检测系统设计_第3页
基于单片机的温度检测系统设计_第4页
基于单片机的温度检测系统设计_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、2009级信息系统综合设计信息系统综合设计报告书课题名称基于单片机的温度检测系统设计姓名学号院、系、部电气工程系专业电子信息工程指导教师2013年1月7日图3数码管显示电路3.4LED显示电路图1系统结构框图3.2单片机介绍基于单片机的温度检测系统设计一、设计目的1、了解测温系统中工作元件的工作原理;2、掌握数码管显示程序、键盘扫描及按键处理程序、温度信号处理程序、超温报警程序的编写。二、设计要求1.测量通道:2路可循环显示,并有通道标志2.温度传感器选用DS18B20具有温度等信息的显示,具有温度上下限设置功能,越限时可以进行报警给出电路原理图设计,protel印刷电路图设计三、硬件电路设计

2、3.1系统结构框图PO.OAWPL.0PL.lPl.2Pl.3Pl.4Pl.5Pl.6Pl.7PSENMAINALEP3PJJ.TDP3.3ETT-P3.1TKESP3.QKXDP2.T.-A15P2.6/A14P25.A1、P1.4A1XP2J.A11PliAlOP1.1A9-P.2.O.-AB-=ATS8-PC31图2单片机引脚图P0口作为I/O口使用时为准双向口。P1口是自带上拉电阻的I/O口,是一个准双向口。在输入操作时需要先置1。Pl口特点是输出锁存器,输出时没有条件。输入缓冲,输入时有条件,即需要先将该口设为输入状态,先输出1。P3口为准双向口。可以字节访问,也可以位访问。P3.0

3、-RXD,串行输入口。P3.1-TXD,串行输出口。P3.2-INT0,外部中断0的请求。P3.3-INT1,外部中断1的请求。P3.4-T0,定时器/计数器0外部计数脉冲。P3.5-T1,定时器/计数器,1外部计数脉冲。P3.6-WR,外部数据存储器写选通。P3.7-RD,外部数据存储器读选通。3.3数码管显示电路U27&li1-TT-J4-3-IQQQ0QQnV113JA-IDDDD4DDDs?斗5图4LED显示电路3.5串口显示电路图5通讯接口电路3.6系统电路原理图图6电路原理图1、所需元器件单片机AT89S521芯片(1个)、A/D转换机(1个)、温度传感器DS18B20(l个)、电

4、阻:10KQ(2个)、电容:1000吓(1个)、luF(4个)、25uF(1个)数码管(3个)、按钮(4个)、晶振(6MHZ)2、实现的功能该电路要实现的功能为,实时检测外界温度,将该温度值转换为数字量,然后通过四位的数码管显示。其中外界温度用温度传感器DS18B20感应,然后通过ADC0809转换为数字量后,通过单片机的P1口送到单片机内部存储单元。之后将该温度值转换为十进制后,将个十百位分别通过P1口送出,然后经74HC573的锁存,输出段码,之后通过P1口送出位码,经另一片74HC573锁存后驱动相应的数码管显示。四、程序流程图设计图7程序流程图五、程序设计ORG0000HAJMPMAI

5、NORG0030HMAIN:MOVSP,#60HSETBP2.4MOV30H,#0MOV31H,#0MOV32H,#0MAIN1:LCALLGET_TEMP;采集温度LCALLSEPERATE;对采集后的温度数据进行处理LCALLZHUANHUAN;二进制数转换为BCD的形式LCALLQINGLING;转换为满足输出的类型LCALLJIANTIAO;扫描键盘模块LCALLBAOJING;报警设置模块LCALLSHUCHU;显示数据到数码管SJMPMAIN1.#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*

6、#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*GET_TEMP:CLREA;使用DS18B20一定要禁止任何中断产生LCALLINT;调用初使化子程序MOVA,#0CCH3LCALLWRITE;送入跳过ROM命令MOVA,#44HLCALLWRITE;送入温度转换命令LCALLINT;温度转换完全,再次初使化DS18B20MOVA,#0CCHLCALLWRITE;送入跳过ROM命

7、令MOVA,#0BEHLCALLWRITE;送入读温度暂存器命令LCALLREADMOVR7,A;读出温度值低字节存入R7LCALLREADMOVR6,A;读出温度值咼字节存入R6SETBEARET.#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*IN

8、T:;初始化DS18B20子程序CLREAL0:CLRP2.1;复位MOVR2,#149L1:DJNZR2,L1;596USSETBP2.1;释放DS18B20总线MOVR2,#15;4USL2:DJNZR2,L2;60USCLRC;2US,清DS18B20存在信号MOVC,P2.1;取DS18B20存在信号JCL0;判断DS18B20存在吗?不存在则重新来MOVR2,#125;存在则拉咼SETBP2.1L3:DJNZR2,L3;共500USRET.#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#

9、J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*3;等待52USWRITE:MOVR1,#08H;设置写位个数WLOP:RRCA;把写的位放到cACALLWRBIT;调写1位子程序DJNZR1,WLOP;8位全写完?RETWRBIT:MOVR2,#14;设置时间常数CLRP2.1;写开始NOP;2USMOVP2.1,C;c内容存到总线WDLT:DJNZR2,WDLT;56USSETBP2.1;释

10、放总线RET.#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*9READ:MOVR1,#8H;设置读位数RLOP:ACALLRDBIT;调读1位子程序RRCA;把读到的位在C中的依次送给ADJNZR1,RLOP;8位读完?RETRDBIT:MOV

11、R2,#13;设置时间常数CLRP2.1NOP;2USSETBP2.1;释放总线NOP;2USMOVC,P2.1;把总线上的内容读到CRDDLT:DJNZR2,RDDLTSETBP2.1RET.#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*3;程序名称:S

12、EPERATE;功能:处理采集后的的数据,把小数部分分开,R6放整数R7放小数,F0放符号位;入口参数:R6,R7;出口参数:R6R7F0.#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*3SEPERATE:MOVA,R6MOVC,ACC.7MOVF0,C;

13、符号位JCSEPERATE1SJMPSEPERATE2SEPERATE1:MOVA,R6CPLAMOVR6,AMOVA,R7CPLACLRCINCAMOVR7,AMOVA,R6ADDCA,#00HMOVR6,ASEPERATE2:MOV40H,R7ANL40H,#0FH;小数部分MOVR0,#12;移12次SEPERATE3:MOVA,R6RRCAMOVR6,AMOVA,R7RRCAMOVR7,AMOVA,41HRRCAMOV41H,A;整数部分DJNZR0,SEPERATE3MOVR6,41H;存整数部分MOVR7,40H;存小数部分RET.#J*#J*#J*#J*#J*#J*#J*#J*#

14、J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*3;程序名称:ZHUANHUAN;功能:将R6R7中的二进制数转换为BCD的形式;入口参数:R6R7;出口参数:R4R5R6R7.#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J

15、*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*1ZHUANHUAN:MOVA,R6;开始处理整数部分MOVB,#100DIVABMOVR4,A;存百位MOVA,BMOVB,#10DIVABMOVR5,A;存十位MOVR6,B;存个位MOVA,R7;开始处理小数部分地MOVB,#5MULABMOVB,#10DIVABMOV40H,A;存进位MOVA,R7MOVB,#2MULABADDA

16、,40HMOVB,#10DIVABMOV40H,AMOVA,R7MOVB,#6MULABADDA,40HMOVB,#10DIVABMOVR7,AMOVA,BCLRCSUBBA,#5JCZHUANHUAN1INCR7ZHUANHUAN1:RET;存进位;暂存小数最高位.#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#

17、J*#J*#J*#J*#J*3;程序名称JIANTIAO;功能:扫描键盘;入口参数:R5R6R7;出口参数:30H,31H,32H.#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*3JIANTIAO:JBP1.7,QUITLCALLDELAYJBP1.7,QUITCLR21H.1MOV3

18、0H,R5MOV31H,R6MOV32H,R7LOOP:JB21H.1,QUIT;如果有Enter键入,贝V开始键盘输入;每次进来都赋值输入标志,设置为0;以当前所测温度为基准,进行加减;如果输入完成,20H.1则为1,退出键盘程序JBP1.7,JIALCALLDIFINEJIA:JBP1.5,JIANLCALLJIAYIJIAN:JBP1.6,XIANSHILCALLJIANYIXIANSHI:LCALLQINGLINGLCALLSHUCHUSJMPLOOPQUIT:RET.#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J

19、*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*3;程序名称:DIFINE;功能:确认键盘输入和退出键盘输入;入口参数:ENTER_FLAG;出口参数:ENTER_FLAG.#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J

20、*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*3DIFINE:LCALLDELAYJBP1.7,LOOP;按键抖动处理SETB21H.1LCALLDELAYRET.#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*

21、#J*#J*;程序名称:JIAYI;功能:数值上调处理;入口参数:30H,31H,32H;出口参数:R5R6R7.#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*3JIAYI:LCALLDELAY;小数位加1;小数位增加到10,回0;个位进1;十位进1;十位

22、超过99.9,溢出了;出错,显示8888;退回99.9JBP1.5,LOOPINC32HMOVA,32HCJNEA,#0AH,JIANEXTMOV32H,#00HINC31HMOVA,31HCJNEA,#0AH,JIANEXTMOV31H,#00HINC30HMOVA,30HCJNEA,#0AH,JIANEXTMOVR0,#200CUOWU1:LCALLCUOWUDJNZR0,CUOWU1DEC30HMOV31H,#09HMOV32H,#09HJIANEXT:MOVR5,30HMOVR6,31HMOVR7,32HLCALLDELAYRET.#J*#J*#J*#J*#J*#J*#J*#J*#J*

23、#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*3;程序名称:JIANYI;功能:数值下调处理;入口参数:30H,31H,32H;出口参数:R5R6R7.#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#

24、J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*3JIANYI:LCALLDELAYJBP1.6,LOOPDEC32HMOVA,32HCJNEA,#0FFH,JIANNEXTMOV32H,#09HDEC31HMOVA,31HCJNEA,#0FFH,JIANNEXTMOV31H,#09HDEC30HMOVA,30HCJNEA,#0FFH,JIANNEXTMOVR0,#200CUOWU2:LCALLCUOWUDJNZ

25、R0,CUOWU2INC30HMOV31H,#00HMOV32H,#00HJIANNEXT:MOVR5,30HMOVR6,31HMOVR7,32HLCALLDELAY按键抖动处理;小数位减一;小数位减到0,回到9;个位减一;个位减到0,回到9;十位减一;十位低于0,溢出了;出错,显示8888;退回00.0RETDELAY:MOVR0,#250LOOP1:MOVR1,#100DJNZR1,$DJNZR0,LOOP1RET;延时程序.#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J

26、*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*3;程序名称:BAOJING;功能:报警控制;入口参数:;出口参数:.#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*

27、#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*3BAOJING:MOVA,30H;三个Buffer都是0的话,说明还没有输入数值,直接退出JNZBIJIAOMOVA,31HJNZBIJIAOMOVA,32HJZSQUITBIJIAO:MOVA,30HCLRC;置。为0SUBBA,R5JNZGUODUMOVA,31HSUBBA,R6JNZGUODUMOVA,32HSUBBA,R7JNZGUODURETGUODU:CLRP2.4JCMINGJIAORET;十位不等转移;个位不等转移;小数位不等转移;当前所测温度大于设置的温度,则鸣叫MINGJIAO:LCALL

28、CUOWULJMPJIANTIAOSQUIT:RET.#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*3;程序名称:cuowu;功能:程序出错处理,显示四个8,即8888;入口参数:无;出口参数:R4R5R6R7.#J*#J*#J*#J*#J*#J*#J*#

29、J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*3cuOwu:SETBP2.4MOVR4,#08HMOVR5,#08HMOVR6,#08HMOVR7,#08HLcALLQINGLINGLcALLSHucHuRET.#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J

30、*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*3;程序名称:QINGLING;功能:将R4R5R6R7转换为满足输出的类型;输入参数:R4R5R6R7;输出参数:R4R5R6R7.#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#

31、J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*3QINGLING:MOVDPTR,#TABLE;指向表首MOVA,R4;转换为表格中的数据MOVcA,A+DPTRMOV35H,AMOVA,R5MOVcA,A+DPTRMOV36H,AMOVA,R6MOVcA,A+DPTRMOV37H,AMOVA,R7MOVcA,A+DPTRMOV38H,AINC37HMOVA,35HCJNEA,#0FCH,ANDY2MOV35H,#0

32、0HMOVA,36HCJNEA,#0FCH,ANDY2MOV36H,#00HANDY2:JBF0,ANDY3SJMPANDYANDY3:MOVA,35HCJNEA,#00H,ANDYMOVA,36HCJNEA,#00H,IVERSONMOV36H,#02HSJMPANDYIVERSON:MOV35H,#02HANDY:RET;小数点;高位清零;判断是否为负数加符号;如果为正数则不加符号;最高位是否为零;中位是否为零;R5用来显示符号;R4用来显示符号TABLE:DB0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H,0FEH,0F6H.#J*#J*#J*#J*#J*#J*#J*

温馨提示

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

评论

0/150

提交评论