版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/*(测温控制系统)专业机械电子 班级___机电142________ 姓名________ 指导教师__________ * 由于单片机具有集成度高、功能强、体积小、价格低、抗干扰能力等优于一般控系统中,可在很大程度上提升自动化水平,促进控制质量的进一步提高,经济效极具推广价值。在现代生产当中,对于温度的测量与控制是十分必要的,且有着普遍的应用,/*度与设定温度之间对比,若温度比设定温度低,则控制负载(加热器)对水温进ATC单片机引脚电器元件P1.0蜂鸣器P1.1继电器P3.4DS18B20EP2.0按键1P2.1按键2P2.2按键3P2.3按键4/*。/*单片机也被称为微控制器(Microcontroler),是因为它最早被用在工业控制领的而对提及要求严格的控制设备当中。单片机又称单片微控制器,概括的讲:一P1.0T/*P1.1T2EX:定时器/计数器2的捕捉/重载触发及方向控制P1.5MOSI:用于在线编程(ISP)P1.6MOSI:用于在线编程(ISP)P1.7SCK:用于在线编程(ISP)P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7XDTXD感器更因适用于各种微处理器接口组成的自动温度控制系统具有可以克服模拟/*理器与DS18B20的双向通讯。集成在形如一只三极管的集成电路内。温度范围-55℃~+125℃,固有测温分D9为符号位,0表示正,1表示负,高字节的其他位(D10~D15)是以符号位的0.50-551111110010010000FC90H/*有电流流过,电流会产生电磁场,在电磁场的作用下,开关会被吸合。当P1.1单片机工作的时间基准是由时钟电路提供的,单片机的内部时钟电路如图*NNY/*开始开始启动温度转换命令写入子程序写入子程序时YDS18BDS18B20NY温度转换/显示温度值退出/N*NY二进制转换成十进制温度值的百、十、个位及小数位三合一的设计平台,其处理器模型支持8051、HC11、Proteus可提供的仿真仪表资源:示波器、逻辑分析仪、虚拟终端、SPI理论上同一种仪器可以在一个电路中随意的调用。/*Proteus可提供的调试手段Proteus提供了比较丰富的测试信号用于电路(1)查找电器元件S饮水机里的水加热)。仿真图如图3-5所示。/*/*振红.综合电子技术与实践[M].北京:清华大学出版社,2005.2:28-33.4.基于DS18B20的数字式温度采集报警系统设计.汤锴,重庆交通大学机电与汽车工程学院,1000-9787;―――――――――――――――――――――――――――――――;温度值存放单元TEMP_ZHMPLTEMPHTEMP_THTEMPTLTEMPHCTEMPLCEQUEQUEQUEQUEQUEQUEQU24H25H26H27H28H29H2AH;―――――――――――――;按键输入引脚定义K1EQUP1.0KEQUP2.1K3EQUP2.2K4EQUP2.3;―――――――――――――SPKEQUP1.0;蜂鸣器引脚RELAYEQUP;继电器引脚XEQU2FH*;―――――――――――――;LCD控制引脚RSEQUP3.5RWEQUP3.6EEQUP3.7;―――――――――――――FLAGEQU20H.0KEYUDEQU20H.1DQEQUP3.4;----------------------------------------------------------------------------;=============主程序==============MAIN:LCALLSET_LCDACALLWR_THLTJNBFLAG,TOOP1ACALLMEU_OKACALLRE_THLACALLTEMP_BJJMPTOOP2TOOP1:ACALLMEU_ERRORACALLTEMP_BJJMP$;――――――――――――――TOOP2:ACALLACALLACALLACALLRE_TEMPTEMP_COMPP_KEYTOOP2/*RE_TEMP:JNBFLAG,TOOP1MOVA,#0CCHMOVA,#44HMOVA,#0CCHMOVA,#0BEHRET;--------温度数据处理显示子程序----------ACALLCONV_TEMPACALLDISP_BCDACALLCONVRET;-----------按键键扫描子程序----------JBK1,PK1ACALLSPK_BZJNBK1,$MOVDPTR,#M_ALAX1MOVA,#1ACALLLCD_PRINTACALLLOOK_ALARM//JBK3,$ACALLSPK_BZJMPPK2PK1:JBK2,PK3ACALLSPK_BZJNBK2,$MOVDPTR,#TA1MOVA,#1ACALLLCD_PRINTACALLSET_ALARM*ACALLACALLPK2:ACALLACALLPK3:RETWR_THLWRITE_E2MEU_OKTEMP_BJ;显示"OK"信息子程序;显示温度标记子程序;―――――――――――――DB"RESETALERTCODE";―――――――――――――;---------设定报警值TH、TL子程序--------SET_ALARM:ACALLLOOK_ALARMA0:JBK1,A2ACALLSPK_BZJNBK1,$BHA*JMPA8;―――――――――――――;TH值调整(增加)A3:JBK2,A5ACALLSPK_BZINCTEMP_THMOVCJNEMOVA4:ACALLMOVACALLPA,TEMP_THA,#120,A4TEMP_TH,#0LOOK_ALARMR5,#10A3;―――――――――――――;TL值调整(增加)A5:JBK3,A7ACALLSPK_BZINCTEMP_TLMOVA,TEMP_TLCJNEA,#80,A6MOVTEMP_TL,#00HA6:ACALLLOOK_ALARMMOVR5,#10ALLDELAYJMPA5;―――――――――――――;确定调整OKA7:JBK4,A0ACALLSPK_BZJNBK4,$*RET;―――――――――――――;TH值调整(减少)A8:JBK2,A10ACALLSPK_BZDECTEMP_THMOVA,TEMP_THCJNEA,#0FFH,A9JMPA12A9:ACALLLOOK_ALARMMOVR5,#10ALLDELAYJMPA0;――――――――――――――;TL值调整(减少)A10:JBK3,A13ACALLSPK_BZDECTEMP_TLMOVA,TEMP_TLCJNEA,#0FFH,A11JMPA12A11:ACALLLOOK_ALARMMOVR5,#10ALLDELAYJMPA0ACPLH.1JMPA3A13:JMPA7RET;----------显示信息区子程序-----------//*LOOK_ALARM:MOVDPTR,#M_ALAX2MOVA,#2ACALLLCD_PRINTMOVA,#0C6HACALLTEMP_BJ1MOVA,TEMP_THMOVX,#3ACALLSHOW_LINE2HMOVA,#0CEHACALLTEMP_BJ1MOVA,TEMP_TLMOVX,#12ACALLSHOW_LINE2LRETM_ALAX1:DB"LOOKALERTCODE",0M_ALAX2:DB"TH:TL:",0TEMP_BJ1:ACALLWR_COMMMOVDPTR,#BJ2MOVR1,#0MOVR0,#2B0:MOVA,R1MOVCA,@A+DPTRACALLWR_DATAINCR1DJNZR0,B0*RET;―――――――――――――BJ2:DB00H,"C";―――――――――――――SHOW_LINE2H:MOVDIVADDPUSHMOVACALLB,#100ABA,#30HBB,XLCDP2;―――――――――――――OPMOVXCHDIVADDNCBA,#0AHA,BABA,#30HXPUSHBMOVB,XACALLLCDP2POPBNCMOVMOVADDACALLXA,BB,XA,#30HLCDP2RET*SHOW_LINE2L:MOVB,#100DIVABMOVA,#0AHXCHA,BDIVABADDA,#30HPUSHBMOVB,XCALLLCDP2;――――――――――――――POPBINCXMOVA,BMOVB,XADDA,#30HACALLLCDP2RET;-----------温度值比较子程序------------;实际温度值与标记温度值比较TEMP_COMP:MOVA,TEMP_THSUBBA,TEMP_ZHTCLCTCLMOVA,TEMP_ZHSUBBA,TEMP_TLJCTCLC,转TCL2MOVDPTR,#BJ5ACALLTEMP_BJ3*CLRRELAY1RET;―――――――――――――TCL1:;实时温度>高温报警值的处理程序MOVDPTR,#BJ3ACALLTEMP_BJ3BRELAYACALLSPK_BZRETTCL2:;实时温度<低温报警值的处理程序MOVDPTR,#BJ4ACALLTEMP_BJ3CLRRELAY1ZRETTEMP_BJ3:MOVACALLMOVMOVBJJ:MOVMOVCACALLINCDJNZRETA,#0CEHWR_COMMR1,#0R0,#2A,R1A,@A+DPTRRDATAR1R0,BJJ;―――――――――――――BJ3:*DB">H"BJ4:DB"<L"BJDB"!";―――――――――――――;---------报警上下线写入暂存器子程序--------WR_THL:JBFLAG,WR_TRET;―――――――――――――WR_T:MOVA,#0CCH;跳过ROM匹配MOVA,#4EHMOVA,TEMP_THMOVA,TEMP_TLLCALLWRITE_1820MOVA,#7FHRET;---------报警值拷贝到EEROM子程序-----------WRITE_E2:ACALLMOVMOVA,#0CCHA,#48H*RET;----------报警值拷贝回暂存器子程序----------RE_THL:MOVA,#0CCHMOVA,#0B8HRET;----------处理温度BCD码子程序----------CONV_TEMP:MOVA,TEMPH;判温度是否零下ANLA,#80HJZTC1CLRCMOVA,TEMPLPLAADDA,#01HMOVTEMPL,AMOVA,TEMPHPLAADDCA,#00HMOVTEMPH,AJMPTC2;―――――――――――――TC1:MOVTEMPHC,#0AHTC2:MOVA,TEMPHCSWAPAMOVTEMPHC,A*MOVA,TEMPLANLA,#0FHMOVDPTR,#DOTTABMOVCA,@A+DPTRMOVTEMPLC,A;―――――――――――――MOVA,TEMPLANLA,#0F0HSWAPAMOVTEMPL,AMOVA,TEMPHANLA,#0FHSWAPAORLA,TEMPLMOVTEMP_ZH,ALCALLHEX2BCD1MOVTEMPL,AANLA,#0F0HSWAPAORLA,TEMPHCMOVTEMPHC,AMOVA,TEMPLANLA,#0FHSWAPAORLA,TEMPLCMOVTEMPLC,AMOVA,R4JZTC3ANLA,#0FHSWAPA*MOVR4,AMOVA,TEMPHCANLA,#0FHORLA,R4MOVTEMPHC,ATC3:RET;―――――――――――――HEX2BCD1:MOVB,#064HDIVABMOVR4,AMOVA,#0AHXCHA,BDIVABSWAPAORLA,BRET;―――――――――――――;小数部分码表DB00H,00H,01H,01H,02H,03H,03H,04HDB05H,05H,06H,06H,07H,08H,08H,09H;―――――――――――――;--------显示区BCD码温度值刷新子程序--------DISP_BCD:MOVA,TEMPLCANLA,#0FHMOV70H,AMOVA,TEMPLCSWAPA*ANLA,#0FHMOV71H,AMOVA,TEMPHCANLA,#0FHMOV72H,AMOVA,TEMPHCSWAPAANLA,#0FHMOV73H,AMOVA,TEMPHCANLA,#0F0HCJNEA,#010H,DI0JMPDI2;―――――――――――――DI0:MOVA,TEMPHCANLA,#0FHJNZDI2MOVA,TEMPHCSWAPAANLA,#0FHMOV73H,#0AHMOV72H,ADI2:RETSETBDQNOPCLRDQ;―――――――――――――MOVR1,#3/*DJNZR0,$DJNZR1,DLY;―――――――――――――SETBDQNOPNOPNOP;―――――――――――――MOVR0,#25HT2:JNBDQ,T3DJNZR0,T2JMPT4;―――――――――――――T3:SETBFLAGJMPT5;―――――――――――――T4:CLRFLAGJMPT7;―――――――――――――T5:MOVR0,#117T6:DJNZR0,T6;――――――――――――――T7:SETBDQRETMOVR2,#8*CLRCWR1:CLRDQMOVR3,#6DJNZR3,$RRCAMOVDQ,CMOVR3,#23DJNZR3,$SETBDQNOPDJNZR2,WR1SETBDQRET;将温度值从DS18B20中读出(有具体的时序要求)MOVR4,#4MOVR1,#TEMPLRE0:MOVR2,#8RE1:CLRCSETBDQNOPNOPCLRDQNOPNOPNOP*SETBDQ;―――――――――――――MOVR3,#9DJNZR3,$MOVC,DQ;―――――――――――――MOVR3,#23;DJNZR3,$RRCADJNZR2,RE1MOV@R1,AINCR1DJNZR4,RE0RET;===========LCD1602显示程序===========;初始化设置SET_LCD:CLRECALLINIT_LCD;初始化LCDTOREDATARET;-----------LCD初始化子程序-----------INIT_LCD:xACALLWR_COMMACALLDELAYMOVA,#0CHACALLWR_COMMACALLDELAYMOVA,#01H/*ACALLWR_COMMACALLDELAY;RET;----------显示温度标记子程序-----------TEMP_BJ:MOVACALLMOVMOVMOVA,#0CBHWR_COMMDPTR,#BJR1,#0R0,#2TP1:MOVA,R1MOVCA,@A+DPTRACALLWR_DATAINCR1DJNZR0,TP1RET;―――――――――――――BJ:;代码表DB00H,"C";-----------自定义字符子程序-----------MOVACALLMOVMOVMOVS_D:MOVMOVCA,#40HWR_COMMR2,#08HDPTR,#TABR3,#00HA,R3A,@A+DPTR*ACALLWR_DATAINCDJNZRETR3R2,S_D;;―――――――――――――TAB:;代码表DB0CH,12H,12H,0CHDB00H,00H,00H,00H;-----------显示"OK"信息子程序---------MEU_OK:MOVMOVACALLMOVMOVACALLRETDPTR,#M_OK1A,#1LCD_PRINTDPTR,#M_OK2A,#2LCD_PRINT;――――――――――――――M_OK1:DB"DS18B20OK",0M_OK2:DB"TEMP:",0MEU_ERROR:MOVDPTR,#M_ERROR1MOVA,#1ACALLLCD_PRINTMOVDPTR,#M_ERROR2MOVA,#2ACALLLCD_PRINT*RETM_ERROR1:;代码表DB"DS18B20ERROR",0M_ERROR2:DB"TEMP:----",0LCD符LCD_PRINT:CJNEA,#1,LINE2LINE1:ACALLMOVACALLPLINE2:ACALLMOVACALLFILL:CLRMOVCCJNERETCLR_LINEA,#80HWR_COMMLLCLR_LINEA,#0C0HWR_COMMAA,@A+DPTRA,#0,LC1LC1:ACALLWR_DATAINCDPTRJMPFILLRET/*MOVA,73HMOVX,#6CJNEA,#1,CO1JMPCO2CO1:MOVA,#""MOVB,XACALLLCDP2JMPCO3CO2:ACALLSHOW_LINE2CO3:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工作心得体会格式
- 2025机械试用买卖合同书参考式样
- 2025赞助合同常用版范本
- 2025补偿贸易购销合同书范本
- 二零二五年度农村房屋买卖合同协议书(含农村土地整治工程)
- 二零二五年度高效养鸡场饲养员技能提升合同3篇
- 二零二五年度二零二五年度商标转让与全球市场布局合同3篇
- 2025知识产权共享合同范本
- 2025年度子女对父母赡养及家庭财产管理协议3篇
- 2025年度公司汽车销售业务员销售目标责任合同2篇
- 心脑血管疾病预防课件
- 科研伦理与学术规范-期末考试答案
- 数字后端工程师招聘笔试题与参考答案2024年
- 2024南京市商品房买卖合同书
- 数据中心灾难恢复预案
- 《电气检测技术》教学大纲
- 2024年医院全面质量管理方案
- 01685《动漫艺术概论》历年考试真题试题库(含答案)
- 【传统村落的保护与发展探究的文献综述8600字】
- 金属冶炼(铅、锌冶炼)主要负责人安全资格考试题及答案
- 2024-2030年中国船用燃料油市场供需趋势及竞争状况综合分析研究报告
评论
0/150
提交评论