内容发布更新时间 : 2024/11/15 4:32:41星期一 下面是文章的全部内容请认真阅读。
当前温度与预置温度比较当前温度<预置温度YN达到过预置温度YN置允许报警标志当前温度<预置图温度-4-6 2N关电炉
Y开电炉返回图4-5 报警子程序流程图
5 软硬件调试
5.1 硬件调试
硬件的调试主要是把电路各种参数调整到符合设计要求。具体步骤如下: (1)先排除硬件电路故障,包括设计型错误和工艺性故障。一般原则实现静态后动态。利用万用表或逻辑测试仪器,检查电路中的各器件以及引脚连接是否正确,是否有短路故障。首先将单片机AT89S52芯片取下,对电路板进行通电检查,通过观察看是否有异常,然后用万用表测试各电源电压,若这些都没有问题,则接上仿真机进行联机调试观察个接口线路是否正常。 (2)各模块电路的调试。
①温度测量模块电路:放大器先调零(调整电阻22千欧姆),然后调整放大器的输出,是0~60℃的温度变化对应于放大器的输出0~4.9∨,可利用冰箱进行调试。
②控制模块电路:人为地将P1.4端接地(低电平),观察掉烤箱是否通电。
5.2 软件调试
软件调试是利用仿真工具进行在线仿真调试,除发现和解决程序错误外,也可以发现硬件故障。
程序调试一般是一个模块一个模块的进行,一个子程序一个子程序的调试,最后连起来统调。在单片机上把个模块分别进行调试使其正确无误,可以用系统编程器将系统固化到AT89S52的FLASH ROM忠,接上电源脱机运行。为了保证软件运行的稳定可靠,在软件中可以采用加软件陷阱和看门狗的方法,避免程序跑飞。
6 总结
本设计使用AT89S52作为主控芯片进行控制,AT89S52芯片具有集成度高,
通用性好,功能强,特别是体积小,重量轻,耗能低,可靠性高,抗干扰性强和使用方便等独特优点,在数字、智能化方面有广泛的用途。本系统是一个典型的闭环控制系统,采用最简单的通断控制方式,即当电烤箱温度达到设定值时断开加热电炉,当温度降到低于某值时接通电炉开始加热,从而保持恒温控制。
通过我们两个星期的坚持不懈的努力和老师的谆谆教导,我们终于完成了这个设计。进过反复的调试,我们基本上完成了本设计所要求的目标。这次设计激起了我们对这门课程浓厚的兴趣,立志发奋学好单片机。同时,让我们也感到了平时所学知识的不足,在做设计的时候运用知识不够灵活。最后,我要感谢同学们给我的各个方面的帮助和老师给我循序渐进的引导。我将记住你们的帮助,学好单片机这门课程。
7 附录
程序一:
ORG 0000H AJMP MAIN ORG 000BH AJMP TT0 ORG 0100H
MAIN: MOV SP, #50H MOV 40H, #00H MOV 41H, #00H MOV 42H, #00H MOV 43H, #00H MOV 44H, #00H MOV 45H, #00H MOV TMOD, #01H MOV TL0, #B0H MOV TH0, #3CH SETB TR0 MOV IE, #82H MOV R5, #100 LOOP: ACALL KIN SJMP LOOP
程序二: ;中断服务子程序TT0 TT0: PUSH PSW PUSH ACC PUSH R5
MOV TL0, #0BH MOV TH0, #3CH DJNZ R5, LPP MOV R5, #100
ACALL TADC ;调用温度检测子程序
MOV 45H, 40H ;ADC转化后的温度值送显示缓冲区 ACALL DISP ;调用显示当前温度 ACALL CONT ;温度控制 ACALL ALARM ;温度超限报警 POP R5 POP ACC
POP PSW ;恢复现场 LPP: RETI
程序三: ;按键管理子程序 KEY: MOV 45H, 41H LCALL DISP KEY0: ACALL KEY1 JZ KEY0 LCALL DISP LCALL DISP LCALL KEY1 JZ KEY0
JB ACC.0, K10 MOV A, #100 LJMP KEY3
K10: JB ACC.1, K1 MOV A, #10 LJMP KEY2 K1: JB ACC., K0
MOV A, #01 LJMP KEY3 KEY2: ADD A, 41H MOV 41H, A KEY3: LCALL KEY1 JNZ KEY3 LJMP KEY RET
KEY1; MOV A,P1 CPL A
ANL A, #0FH RET
程序四: ;温度检测子程序 TADC: MOV 40H, #00H MOV R2, #04H MOV DPTR,#FEF0H TADC0: MOV @DPTR , A TADC1: JNB IE1,TADC1 MOVX A, @DPTR ADD A, 40H MOV 40H, A
DJNZ R2,TADC0 CLR C
MOV A, 40H RRC A MOV 40H, A RET
程序五: ;温度控制子程序 TCONT: MOV A, 40H CLR C
SUBB A, 41H JNC TCONT1 JNB F0,TCONT0 CLR C
SUBB A, #02H
JNC ACC.7, TCONT1 TCONT0: CLR P1.4
SJMP TCONT2 TCONT1: SETB F0 SETB P1.4 TCONT2: RET
程序六: ;显示子程序 DISP: LCALL BINBCD MOV SCON,#00H MOV R2, #3H MOV R0, 42H DISP0: MOV DPTR, #TAB MOV A, @R0H MOVC A, @A+DPTR MOV SUFF, A DISP1: JBC TI, DISP2 SJMP DISP1 DISP2: INC R0
DJNZ R2, DISP0 RET
TAB: DB 0,1,2,3,4,5,6,7,8,9 ;字码型表
BINBCD: MOV A, 45H ;二进制转化成3个BCD码的转化子程序BINBCD