多加热炉炉温检测课程设计报告_第1页
多加热炉炉温检测课程设计报告_第2页
多加热炉炉温检测课程设计报告_第3页
多加热炉炉温检测课程设计报告_第4页
多加热炉炉温检测课程设计报告_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

文件排版存档编号:[UYTR-OUPT28-KBNTL98-UYNN208]文件排版存档编号:[UYTR-OUPT28-KBNTL98-UYNN208]多加热炉炉温检测课程设计报告课题3多加热炉炉温检测系统设计一.任务及要求:1.加热炉的炉温可以在60℃~180℃之间任意调节;2.系统每隔3秒钟检测一遍炉温(三个炉子);3.利用六位七段码显示器实时显示加热炉的炉号和实际温度,显示值为十进制数值。显示器的右三位显示加热炉的炉号,左三位显示实际值。程序启动运行之后即开始循环显示,每次显示时间为3秒钟;4.分别记录各加热炉的实际炉温数据,轮流显示。每检测一次即保存一次,循环刷新;5.对应各加热炉扩展功能按键。功能键按下后不影响检测功能,仅影响显示功能。具体要求如下:⑴在循环显示方式下,按下某一功能键之后,七段码显示器即显示对应加热炉的炉号和实际温度。如果此时按下另外功能键则不起作用,既不会改变当前显示。只有再次按下同一个功能键之后才能使系统回到循环显示方式状态;⑵在循环显示方式下,按下某一功能键之后,七段码显示器即显示对应加热炉的炉号和实际温度,如果此时按下另一个功能键,则会改变当前显示,即应显示与后一次按下的功能键对应的加热炉的炉号和炉温。只有连续按下同一个功能键两次才能回到循环显示方式状态;扩展发光二极管担任报警功能,当温度超过200℃即点亮发光二极管报警,并显示错误号“EF”,当温度低于50℃,点亮发光二极管报警,并显示错误号“E0”。二.基本工作原理及说明1.系统硬件连接参考“多加热炉炉温检测系统硬件参考图”。⑴硬件部分为PD32实验系统或8051单片机实验系统。包括0809、8253、8259、8255、数据存储器62256、七段码显示器及其驱动电路、按键和报警部分。图中虚线为需要连接的连线;⑵加热炉的实际温度用电压表示,由电位器给出。模拟量电压经A/D转换器0809转换成数字量。0809的输入通道选用IN0、IN1、IN2、IN3、…。A/D采样结束后由EOC信号发出中断请求。0809的译码地址为3C0H。通道0~7分别为3C0H,3C4H,3C8H,3CCH,3D0H,3D4H,3D8H,3DCH。A/D采样结束后由EOC信号发出中断请求;⑶PD32实验系统中利用8253提供定时服务。8253的译码地址控制口:30CH,计数器1:300H,计数器2:304H,计数器3:308H;8051单片机实验系统中利用单片机内部定时器提供定时;⑷PD32实验系统中利用8259提供中断服务。偶地址:3A0H,奇地址:3A8H;8051单片机实验系统中利用单片机内部定时中断和外部中断为系统提供中断服务;⑸PD32实验系统中利用74LS273驱动七段码显示器。位地址:360H,段地址:340H;8051单片机实验系统中利用驱动芯片驱动七段码显示器;⑹PD32实验系统中利用74LS245驱动报警发光二极管。地址:340H;8051单片机实验系统中利用P1口驱动报警发光二极管;⑺数据存储器62256不需连接,地址范围08000H~0FFFFH;⑻PD32实验系统中功能键连到8259的中断端;8051单片机实验系统中功能键利用P1口和外部中断1实现中断检测;⑼实际温度由电位器给出,可由外部调节。电压范围0~5V;2.检测系统应用软件主要包括:⑴主程序;⑵A/D转换中断服务子程序;⑶定时器中断服务子程序;⑷代码转换子程序;⑸显示子程序;⑹按键中断服务子程序;3.程序流程图;4.多加热炉炉温检测系统硬件图。三、源程序.486DATASEGMENTAT0USE16;8255各个端口的地址PORTAEQU203HPORTBEQU207HPORTCEQU20BHCONTROLPORTEQU20FH;七段码地址WEIEQU360HDUANEQU340H;8253各个端口地址DS0EQU300HDSIEQU304HDS2EQU308HDSCEQU30CH;8259端口地址OPORTEQU3A0HJPORTEQU3A8H;0809地址ADPORTEQU3C0HADPORTIEQU3C4HADPORI2EQU3C8H;中断向量ZDIROEQU20H;定时器中断ZDLR1EQU24H;AD中断ZDIR2EQU28H;开笑1中断ZDIR3EQU2CH;开关2中断ZDIR4EQU30H;开关3中断;定义数据缓冲区ORG4000HDATA4ADDB3DUP();AD转换后的数据存储处DATA4LEDDB18DUP();十六进制列BCD的显爪数据存储处DATAENDSCODESEGMENTUSE16ORG2000HASSUMECS:CODE,DS:DATA,ES:DATABEG:CLIJMPSTARTTABDB3FH,,4FH,66H,6DH,,7FH,67H,77H,7CI-L39H,,71H;段码表;AD转换中断用ADATANWDWDATA4ADADPTNWDW3C0H;通道口内存保留;显示程序用LEDNWDWDATA4LED;定时中断用TIMEDB150;设置计数值;开关中断用SWH1DB0FFHSWH2DB0FFHSWH3DB0FFHSTART:MOVAX,DATAMOVDS,AXMOVAX,0MOVSS,AXMOVSP,1000HMOVAL,0C0HMOVDX,WEI,OUTDX,ALINITA8259:MOVAL,00010011B;ICWI;写入ICW1MOVDX,OPORTOUTDX,ALMOVAL,00001000B;写入ICW2MOVDX,JPORTOUTDX,ALMOVAL,00000001B;写入ICW4MOVDX,JPORTOUTDX,ALMOVAL,B;写入OCW1屏蔽字MOVDX,JPORTOUTDX,ALMOVAL,20H;清ISRMOVDX,OPORTOUTINITLA8255:MOVAL,B;A、B、C口都工作于方式0,都为输出MOVDX,CONTROLPORTOUTDX,ALMOVAL,0FFHMOVDX,PORTAOUTDX,ALINITIA8253:MOVDX,DSCMOVAL,00110110B;方式3二进制计数OUTDX,ALMOVDX,DS0MOVAL,60H;计数初值设为0EA60H/6000DOUTDX,ALMOVAL,0EAHOUTDX,AL;中断向量初始化MOVDI,ZDIR0MOVAX,OFFSETTIMERSTOSWMOVAX,SEGTIMERSTOSWMOVDI,ZDIRIMOVAX,OFFSETADPROCSTOSWMOVAX,SEGADPROCSTOSWMOVDI,ZDIR2MOVAX,OFFSETSWITCH1STOSWMOVAX,SEGSWITCH1STOSWMOVDI,ZDIR3MOVAX,OFFSETSWITH2STOSWMOVAX,SEGSWITH2STOSWMOVDI,ZDIR4MOVAX,OFFSETswitcb3STOSWMOVAX,SEGSWITCH3STOSWMOVDX,ADPORT;启动ADCOUT;炉号初始化MOVDX,4003HMOVBYTEPTR[DI],0INCDIMOVBYTEPTR[DI],0INCDIMOVBYTEPTR[DI],1ADDDI,4MOVBYTEPTR[DI],0INCDIMOVBYTEPTR[DI],0INCDIMOVBYTEPTR[D1],2ADDDL4MOVBYTEPTR[DI],0INCDIMOVBYTEPTR[DI],0INCDIMOVBYTEPTR[DI],3AGAIN:STICALLCZBCDCALLDISPJMPAGAIN;一一拆字十六进制转BCD码一一CZBCDPROCPUSHBxPUSHCXPUSHAXLEASI,DATA4AD;AD转换后的数据存储处LEADI,DATA4LED;十六进制到BCD的显示数据存储处ADDDI,2CZ0MOVAL,[SI]CMPAL,11H;与60比较JBEST0CMPAL,0DDH;与180比较JAEST1JMPCZ00ST0:MOVBYTEPTR[DI+1],0EHMOVBYTEPTR[DI+2],00HJMPCZ00ST1:MOVBYTEPTR[DI+1],0EHMOVBYTEPTR[DI+2],0FHJMPCZ00CZ00:MOVBX,1EH;转换为实际温度值MULBXMOVDL,51DIVDLADDAX,50MOVAH,00HMOVBL,0AHMOVCX,3CZ1:DIVBLMOV[DI],AHDECDIMOVAH,00HLOOPCZ1ADDDI,9INCSICMPSI,4002H:AD转换后的数据存储处是否到头JBECZ0POPAXPOPCXPOPBXRETCZBCDENDPDISPPROCPUSHDXPUSHCXPUSHBXPUSHAXLEABX,TAB;段码表MOVSI,LEDNWMOVAH,0C1HDISP1:MOVDX,WEIMOVAL,AHOUT;位输山MOVDX,DUANMOVAL,[SI]XLATOUTDX,AL;段输出MOVCX,0200HLOOP$INCSISALORAH,0C0HCMPAH,0C0HJNZDISP1POPAXPOPBXPOPCXPOPDXRETDISPENDP:一一AD采样程序一一ADPROCPROCPUSHAXPUSHSIPUSHDXMOVDX,[ADPTNW];A/D通道0CMPDX,3c8H;到第三号炉rrJBENEXTMOV【ADPTNW],3COH;就置数据区7号炉端口NEXT:MOVSI,[ADATANW]CMPSI,4002HJBENEXT2MOV[ADATANW),4000HJMPCHUNEXI2:INAL,DXMOV[SI],ALADD[ADPTNW],4INC[ADATANW]CMPAL,11H;是否在60和180之间JBEBAOJINCMPAL,0DDHJAEBAOJINJMPOKCMPSI,4000HJZOKCMPSI,4001HJZOK1CMPSI,4002HJZOK2BAOJIN:CMPSI,4000HJZBAOJIN1CMPSI,4001HJZBAOJIN2CMPSI,4002HJZBAOJIN3JMPCHUQUBAOJINl:MOVDX,203H:报警1MOVAX,0FEHOUTDX,ALJMPCHUQUBAOJIN2:MOVDX,207H:报警2MOVAX,0FDHOUTDX,ALJMPCHUQUBAOJIN3:MOVDXT,20BH;报警3MOVAX,OFCHOUTDX,ALJMPCHUQUOK:MOVDX,203H;解除报警MOVAX,0FFHOUTDX,ALOK1:MOVDX,207HOUTDX,ALOK2:MOVDX,20BHOUTDX,ALCHUQU:MOVDX,[ADPTNW];启动ADCOUTDX,ALCHU:MOVAL,20HMOVDX,OPORTOUTDX,ALPOPDXPOPSIPOPAXIRETADPROCENDP:一一定时器中断TIMERPROCPUSHAXPUSHDXMOVAL,[TIME]DECALMOV[TIME],ALCMPAL,0;是否到0JNZEND0CMP[SWH1,0:判断是否有按键按下JZENDDCMP[STWH2],0JZENDDCMP[SWH3],0JZENDDMOVAX,[LEDNW];CMPAX,400FH;JAEDALE;ADDAX,6;MOV[LEDNW],AX;JMPENDD;DALE:MOV[LEDNW],4003H;改变显示参数ENDD:MOVDX,ADPORT;到了开A/DOUTDX,AL;MOV[TIME],150;END0:MOVAL,20HMOVDX,OPORTOUTDX,ALPOPDXPOPAXIRETTIMERENDP:一——开关l的中断———一SWITCH1PROCNOTSWHICMPSWHI,OJNZBACK1MOV[LEDNW],4003H;第1次按T'BACK1:MOVAL,20HMOVDX,OPORTOUTDX,ALSTIIRETSWITCH1ENDP:——一一开关2的中断——SWITH2PROCNOTSTWH2CMPSTWH2,0JNZBACK2MOV[LEDNW],4009H;是第1次按下BACK2:MOVAL,20HMOVDX,OPORTOUTDX,ALSTIIRETSWITH2ENDP:一一·一开关3的中断——一一SWITCH3PROCNOTSWH3CMPSWH3,0JNZBACK3MOV[LEDNW],400FH;是第1次按下BACK3:MOVAL,20HMOVDX,OPORTOUTDX,ALSTIIRETSWITCH3ENDPCODEENDSENDBEG程序流程图NNNNNNNYYYYYYY是否不小于DDH报警3报警2采样通道号加1温度否不大于11H不报警采样通道号是否大于3SI=4000HSI=4001HSI=4002H置1号炉读A/D采样数据中断返回启动A/D显示是否到三号炉拆字开中断预置Tk值预置采样通道号0程序初始化清数据区主程序A/D转换中断服务子程序NNNNNNNYYYYYYY是否不小于DDH报警3报警2采样通道号加1温度否不大于11H不报警采样通道号是否大于3SI=4000HSI=4001HSI=4002H置1号炉读A/D采样数据中断返回启动A/D显示是否到三号炉拆字开中断预置Tk值预置采样通道号0程序初始化清数据区报警报警1定时器中断服务子程序N定时时间到(TKN定时时间到(TK-1=0)LED地址加2LED地址加2YY换炉显示Y温度≤换炉显示Y温度≤11H(60)输出报错号E0NNY≥Y≥DDH(180)输出报错号EF启动A/D输出报错号EF启动A/DNN转换为实际温度(乘转换为实际温度(乘30除51加50)NYYNNY显示子程序结束AH=3C0HAH左移SI加1延时段输出位输出取段码表SI+1≤4002RETCX=0CX-1除以10取余CX=3中断返回重置TK值NYYNNY显示子程序结束AH=3C0HAH左移SI加1延时段输出位输出取段码表SI+1≤4002RETCX=0CX-1除以10取余CX=3中断返回重置TK值硬件连接图0V+5V0V+5VD0~D7A2AA2A3A4IN2IN1IN00~5VIN2IN1IN00~5V0809START0809STARTALEIN0IN1OEIN2CLKEOCADDAADDBADDCD0~D7EOC74LS02EOC74LS02CLOCKCS-4CS-4报警1报警2+5V按键1GND470+5VIORCLOCKCS-4CS-4报警1报警2+5V按键1GND470+5VIOR+5VSP/1RSTA0A1IO

温馨提示

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

最新文档

评论

0/150

提交评论