基于单片机的水温控制系统设计 第7页
4.4、PWM 电压输出电路
编一小程序,实现PWM 电压自动可调宽度脉冲波输出电路
图4-2 自动可调宽度脉冲波输出电路OUTBIT EQU 7FH
ORG 0000H
AJMP MAIN
ORG 000BH
AJMP CTC_INT
ORG 0030H
MAIN: MOV TMOD,#01H
MOV TH0,#3CH
MOV TL0,#0B0H
SETB TR0
SETB EA
SETB ET0
WAIT: SJMP WAIT
CTC_INT: PUSH ACC
PUSH PSW
CLR TR0
SETB POUT
CLR C
SUBB A,0FFH
MOV TL0,A
MOV A,#0FFH
SUBB A,#0FH
MOV TH0,A
CLR OUTBIT
SJMP CTC_OUT
OUT0: CLR POUT
CLR C
MOV A,#0FFH
SUBB A,#0FFH
MOV TL0,A
MOV A,#0FFH
SUBB A,#1FH
MOV TH0,A
MOV A,TL0
ADD A,#0FFH
MOV TL0,A
MOV A,TH0
ADDC A,#0FH
MOV TH0,A
SETB OUTBIT
CTC_OUT: SETB TR0
POP PSW
POP ACC
RETI
第5节 课程设计总结
5.1、此次水温控制系统设计过程中遇到的问题及其解决方法
在实现温度—电压转换电路过程中,出现当温度为90度时,电压输出为1.5V却无论如何也不能调到5V的状况,后经检验发现是由于小板原理图中滑动变阻器R17、R22调动幅度太小所至,我们将其5K滑变改为20K,此时可以实现调到5V。
5.2、对该设计的建议
本次《基于单片机的水温控制系统设计》是以AT89C51为核心,采用软件编程,实现用PID算法来控制PWM波的产生,进而控制电炉的加热来实现温度控制。在系统的软硬件调试过程中,不断地有问题出现,如OP-07、ADC0804会发烫,串行通信…,但是在老师和同学的指导和帮助下,通过电路检查、原理分析、程序修改等工作,这些问题都一一得到了解决,所以在这次调试过程中,我们学到了很多知识,同时也大大地提高了我们的实际动手能力,这对我们以后的系统设计会有很大的帮助。同时,该系统还存在着一些问题,如温度显示精度不高,没有采用小数部分;PID算法的参数不够精确,这影响水温达到稳定的时间。
上一页 [1] [2] [3] [4] [5] [6] [7] [8] 下一页