片机温控软件设计温控软课件

上传人:枫** 文档编号:574317672 上传时间:2024-08-16 格式:PPT 页数:62 大小:130KB
返回 下载 相关 举报
片机温控软件设计温控软课件_第1页
第1页 / 共62页
片机温控软件设计温控软课件_第2页
第2页 / 共62页
片机温控软件设计温控软课件_第3页
第3页 / 共62页
片机温控软件设计温控软课件_第4页
第4页 / 共62页
片机温控软件设计温控软课件_第5页
第5页 / 共62页
点击查看更多>>
资源描述

《片机温控软件设计温控软课件》由会员分享,可在线阅读,更多相关《片机温控软件设计温控软课件(62页珍藏版)》请在金锄头文库上搜索。

1、 单片机应用系统的软件设计单片机应用系统的软件设计 通常单片机应用系统的系统软件由主程序、定时中通常单片机应用系统的系统软件由主程序、定时中 断服务程序和若干个子程序构成。根据系统各操作的断服务程序和若干个子程序构成。根据系统各操作的 性质,指定哪些操作由中断服务程序完成,哪些操作性质,指定哪些操作由中断服务程序完成,哪些操作 由主程序完成。由主程序完成。 通常主程序完成显示及键盘处理,实现人机对话功通常主程序完成显示及键盘处理,实现人机对话功 能。其现场参数采样、控制输出等则由定时中断完能。其现场参数采样、控制输出等则由定时中断完 成。成。 下面下面以以微电脑温度控制器为例微电脑温度控制器为

2、例,介绍,介绍单片机应用系单片机应用系 统的软件设计统的软件设计流程。流程。一、温度控制器技术要求:一、温度控制器技术要求: 1 1、控温范围:、控温范围:0c 125c 2 2、控温精度:、控温精度:11c 3 3、控温工艺曲线:、控温工艺曲线:工艺分工艺分4 4步步第第1 1步步: :全速升温全速升温第第2 2步步: :速率升温速率升温第第3 3步步: :保温保温第第4 4步步: :全速降温全速降温二、二、软件设计的有关参数软件设计的有关参数 1、键盘及显示键盘及显示安排安排: 命令命令键:键: 输入输入(0AH)(0AH)、工作、工作(0BH)(0BH)、 确认确认(0CH)(0CH)

3、继续继续(0DH)(0DH) 、显示、显示(0EH)(0EH)、 退出退出(0FH)(0FH) 数字数字键:键: 09 个个 显示管:显示管: 8 个个 显示符:显示符: 开机符:开机符:P G o o d 输入输入符:符: I n 工作工作符:符:BE 输入输入显示:显示: 步号(步号(2)、时间()、时间(3)、温度()、温度(3) 设定值设定值 工作工作显示:显示: 步号(步号(2)、时间()、时间(3)、温度()、温度(3) 显标显标0: 实测值实测值 1: P L(2)、时间()、时间(3)、温度()、温度(3)设定值设定值2、采样周期、采样周期: 考虑到现场温度变化缓慢考虑到现场温

4、度变化缓慢,确定采用确定采用T0定时定时,定时时间定时时间 100ms,温度采样周期为温度采样周期为1秒秒,控温输出周期为控温输出周期为8秒秒.3、P1口的安排口的安排: P1.0: 7279CS P1.4: 加热加热 P1.1: 7279CLK P1.5: 冷却冷却 P1.2: 7279DATA P1.6: 升温灯升温灯 P1.3: 报警报警灯灯 P1.7: 保保温灯温灯 P3.2: 降温灯降温灯 P3.3 结束结束灯灯4、I/O端口地址安排:端口地址安排: 6264RAM: 0000H1FFFH ADC0804: 2000H 5、内存单元安排:、内存单元安排: 标志位:标志位:00H 键标

5、志键标志 09H 显示标志显示标志 01H 输入标志输入标志 0AH 结束标志结束标志 02H 工作标志工作标志 0BH 退出标志退出标志 03H 数入标志数入标志 0CH 04H 修改标志修改标志 0DH 升温标志升温标志 05H 报警标志报警标志 0EH 降温标志降温标志 06H 半秒标志半秒标志 0FH 保温标志保温标志 07H 1秒标志秒标志 08H 8秒标志秒标志 显缓区:显缓区: 40H-47H显示指针:显示指针: 22H 计时计时单元:单元: 24H(100ms) 25H(0.5s) 26H(1s)UU单元单元: 35H 实时时钟实时时钟: 31H (秒秒) 32H(分分)工艺参

6、数:工艺参数: 50H-5FH工艺步号:工艺步号: 23H采样值:采样值: 60H65H实测值:实测值: 38H3AH 误差值:误差值: 3BH3FH (ei-2 , ei-1 , ei )控制输出控制输出: 36H (加热加热) 37H (冷却冷却) 堆栈区:堆栈区: 68H7FH三、微电脑温度控制器三、微电脑温度控制器软件框图软件框图键键 扫扫入口:入口:0000H初始化初始化. P good显缓区显缓区显示显示有键按下否有键按下否键数【显针】键数【显针】修改显针修改显针显针限值显针限值输入符显区输入符显区建立数入标志建立数入标志建立输入标志建立输入标志建立显针建立显针工作符显区工作符显区

7、建立数入标志建立数入标志建立工作标志建立工作标志建立显针建立显针键处理键处理 1 1、开机引导程序、开机引导程序允许数入否允许数入否散转到散转到输输入或工入或工作程序作程序入口入口传送工传送工艺艺数键数键输入输入工作工作YNNY确认确认初始化初始化设置栈底设置栈底(SP)置置P口初值口初值I/O口初始化口初始化关输出关输出置置“0”工作工作单元及标志单元及标志退出退出转转0000H退出退出入口:入口:0200H01H步号单元、步号单元、建立显针、建立显针、参数显缓区参数显缓区显示显示有键按下否有键按下否键数【显针】键数【显针】修改显针修改显针显针限值显针限值保存本步工保存本步工艺参数艺参数建立

8、显针建立显针工艺步号加工艺步号加1参数显缓区参数显缓区建立显针建立显针键处理键处理键键 扫扫 2 2、工艺输入程序、工艺输入程序建立结束建立结束标志标志保存保存工艺工艺返回返回0000H数键数键确认确认继续继续YN退出退出取工艺取工艺.送步号初值送步号初值.设置设置初值初值.初始化初始化T0.开中断开中断显示处理、显示处理、灯处理、灯处理、更新显示更新显示(0.5S)有键按下否有键按下否键处理键处理键键 扫扫 3 3、工作主程序、工作主程序关中断返回关中断返回0000HYN退出退出显示处理显示处理按标志不同,按标志不同,将不同参数送将不同参数送至显缓区至显缓区报警处理报警处理入口:入口:080

9、0H更换更换显示方式显示方式显示显示确认确认建立退出标志建立退出标志 4 4、中断服务程序、中断服务程序入口:入口:000BH保护现场保护现场(A、B、DPH、DPL、PSW等等)选另一工作寄存器区、重新置定时初值选另一工作寄存器区、重新置定时初值步步时钟计数、建立时间标志、时钟计数、建立时间标志、温度采样温度采样 (传送、滤波传送、滤波)计算差值计算差值按控制算法按控制算法计算输出参数计算输出参数控制输出控制输出步号加步号加1、取工艺、取工艺设置初值(步时钟、输出)设置初值(步时钟、输出)工艺结束建立结束标志关输出工艺结束建立结束标志关输出恢复现场恢复现场中断返回中断返回本本工艺步结束否工艺

10、步结束否YN四、微电脑温度控制器四、微电脑温度控制器软件清单软件清单 1 1、开机引导程序:开机引导程序: A A、MAIN-1:MAIN-1: ORG 0000H ORG 000BHORG 0000H ORG 000BH LJMP MAIN-1 LJMP IT-O LJMP MAIN-1 LJMP IT-O MAIN-1MAIN-1:MOV SP, #67HMOV SP, #67H MOV P1,#FDH MOV P1,#FDH ACALL INT-7279 ACALL INT-7279 MOV R7,#48H MOV R7,#48H (清工作单元)(清工作单元)MOV R0,#20HMOV

11、 R0,#20HM-0: CLR A M-0: CLR A MOV R0, AMOV R0, AINC R0INC R0DJNZ R7,M-0DJNZ R7,M-0ACALL MOV-0 ACALL MOV-0 ( (开机符显缓区)开机符显缓区)AJMP MAIN-2AJMP MAIN-2 B B、 MAIN_2: MAIN_2: MAIN-2: ACALL DIR MAIN-2: ACALL DIR ACALL KEY ACALL KEY CJNE A,#FFH,M-1 M-5: CJNE A,#0CH,M-6 CJNE A,#FFH,M-1 M-5: CJNE A,#0CH,M-6 SJM

12、P MAIN-2 ACALL MKEY-3 SJMP MAIN-2 ACALL MKEY-3 确认确认 M-1: CJNE A,#0AH,M-2 SJMP MAIN_2 M-1: CJNE A,#0AH,M-2 SJMP MAIN_2 M-2: JNC M-3 M-6: CJNE A,#0FH,M-7 M-2: JNC M-3 M-6: CJNE A,#0FH,M-7 ACALL SKEY ACALL SKEY 数数键键 AJMP 0000H AJMP 0000H 退出退出 SJMP MAIN-2 M-7: SJMP MAIN-2 SJMP MAIN-2 M-7: SJMP MAIN-2 M-

13、3: CJNE A,#0AH,M-4 M-3: CJNE A,#0AH,M-4 ACALL MKEY-1 ACALL MKEY-1 输入输入 SJMP MAIN_2 SJMP MAIN_2 M-4: CJNE A,#0BH,M-5 M-4: CJNE A,#0BH,M-5 ACALL MKEY-2 ACALL MKEY-2 工作工作 SJMP MAIN-2 SJMP MAIN-2 a.SKEY:(a.SKEY:(数键处理)数键处理) SKEY: JNB 03H,S-2SKEY: JNB 03H,S-2 MOV R0,22H MOV R0,22H MOV R0,A MOV R0,A INC 22

14、H INC 22H MOV A,22H MOV A,22H CJNE A,#48H,S-1 CJNE A,#48H,S-1 S-1: JC S-2 S-1: JC S-2 MOV 22H,#46H MOV 22H,#46H S-2: RET S-2: RET b.MKEY-1(b.MKEY-1(输入键处理)输入键处理) MKEY-1MKEY-1:SETB 01HSETB 01H SETB 03H SETB 03H MOV 22H, #46H MOV 22H, #46H MOV DPTR,#TAB-1 MOV DPTR,#TAB-1 ACALL MOV-1 ACALL MOV-1 RET RET

15、 c.MKEY-2( c.MKEY-2(工作键处理)工作键处理) MKEY-1MKEY-1:SETB 02HSETB 02H SETB 03H SETB 03H MOV 22H, #46H MOV 22H, #46H MOV DPTR,#TAB-2 MOV DPTR,#TAB-2 ACALL MOV-1 ACALL MOV-1 RET RET d.MKEY-3(d.MKEY-3(确认键处理)确认键处理) MKEY-3: JNB 01H,MK-0MKEY-3: JNB 01H,MK-0 LJMP SR-0 LJMP SR-0 MK-0: JNB 02H,MK-1 MK-0: JNB 02H,MK

16、-1 LJMP GZ-0 LJMP GZ-0 MK-1: RET MK-1: RET 2 2、工艺输入程序:、工艺输入程序: A A、SR-0SR-0: SR-0 SR-0:MOV 23H,#01HMOV 23H,#01H MOV A, 23H MOV A, 23H MOV R0,#41H MOV R0,#41H ACALL Z2-10-0 ACALL Z2-10-0 MOV A,52H MOV A,52H MOV R0,#44H MOV R0,#44H ACALL Z2-10-1 ACALL Z2-10-1 MOV A,53H MOV A,53H MOV R0,#47H MOV R0,#47

17、H ACALL Z2-10-1 ACALL Z2-10-1 MOV 22H,#42H MOV 22H,#42H AJMP SR-1 AJMP SR-1 B B、 SR-1 SR-1: SR-1 SR-1:ACALL DIRACALL DIR ACALL KEY ACALL KEY CJNE A,#FFH,S-1 S-5 CJNE A,#FFH,S-1 S-5:CJNE A,#0FH,SR-1 CJNE A,#0FH,SR-1 SJMP SR-1 ACALL SKEY-4 SJMP SR-1 ACALL SKEY-4 退出退出 S-1 S-1:CJNE A,#0AH,S-2 SJMP SR-1

18、CJNE A,#0AH,S-2 SJMP SR-1 S-2 S-2:JNC S-3 JNC S-3 ACALL SKEY-1 ACALL SKEY-1 数数键键 SJMP SR-1 SJMP SR-1 S-3 S-3:CJNE A,#0CH,S-4CJNE A,#0CH,S-4 ACALL SKEY-2 ACALL SKEY-2 确认确认 SJMP SR-1 SJMP SR-1 S-4 S-4:CJNE A,#0DH,S-5CJNE A,#0DH,S-5 ACALL SKEY-3 ACALL SKEY-3 继续继续 SJMP SR-1 SJMP SR-1 a.SKEY-1:(a.SKEY-1:

19、(数键处理)数键处理) SKEY-1: JNB 03H,S-2SKEY-1: JNB 03H,S-2 MOV R0,22H MOV R0,22H MOV R0,A MOV R0,A INC 22H INC 22H MOV A,22H MOV A,22H CJNE A,#48H,S-1 CJNE A,#48H,S-1 S-1: JC S-2 S-1: JC S-2 MOV 22H,#42H MOV 22H,#42H S-2: RET S-2: RET b.SKEY-2(b.SKEY-2(确认键处理)确认键处理) SKEY-2: MOV A, 23HSKEY-2: MOV A, 23H ADD A

20、, 23H ADD A, 23H ADD A,#50H ADD A,#50H MOV R1, A MOV R1, A MOV R0,#42H MOV R0,#42H ACALL Z10-2 ACALL Z10-2 MOV R1,A MOV R1,A INC R1 INC R1 MOV R0,#45H MOV R0,#45H ACALL Z10-2 ACALL Z10-2 MOV R1,A MOV R1,A MOV 22H,#42H MOV 22H,#42H RET RET c.SKEY-3(c.SKEY-3(继续键处理)继续键处理) SKEY-3: INC 23H ACALL Z2-10-1

21、SKEY-3: INC 23H ACALL Z2-10-1 MOV A, 23H MOV 22H,#42H MOV A, 23H MOV 22H,#42H MOV R0,#40H RET MOV R0,#40H RET ACALL Z2-10-0 ACALL Z2-10-0 MOV A, 23H MOV A, 23H ADD A, 23H ADD A, 23H ADD A,#50H ADD A,#50H MOV R1, A MOV R1, A MOV A,R1 MOV A,R1 MOV R0,#42H MOV R0,#42H ACALL Z2-10-1 ACALL Z2-10-1 INC R1

22、 INC R1 MOV A,R1 MOV A,R1 d.SKEY-4(d.SKEY-4(退出退出键处理)键处理) SKEY-4SKEY-4: INC 23H INC 23H MOV A, 23H MOV A, 23H ADD A, 23H ADD A, 23H ADD A,#50H ADD A,#50H MOV R1, A MOV R1, A MOV R1,#FFH MOV R1,#FFH ( (建立结束标志建立结束标志) LCALL MOV-2 LCALL MOV-2 ( (保存工艺)保存工艺) AJMP MAIN-1 AJMP MAIN-1 3 3、工作主程序:、工作主程序: GZ-0 G

23、Z-0:LCALL MOV-3 LCALL MOV-3 ( (取工艺)取工艺) MOV 23H,#01H MOV 23H,#01H LCALL SBZ-0 LCALL SBZ-0 (设置升降保标志)(设置升降保标志)LCALL SCZ-0 LCALL SCZ-0 ( (设置步工艺初值)设置步工艺初值)MOV TMOD,#01H MOV TMOD,#01H MOV TH0,#3CH MOV TH0,#3CH MOV TL0,#B0H MOV TL0,#B0H SETB TR0 SETB TR0 MOV IE,#82H MOV IE,#82H SETB 06H SETB 06H CLR P1.4

24、CLR P1.4 GZ-1GZ-1:JNB 06H,G2 JNB 06H,G2 CLR 06H CLR 06H LCALL DL-0 LCALL DL-0 ( (灯显示灯显示) ) JB 09H,G1 JB 09H,G1 LCALL XS-0 LCALL XS-0 ( (实测值实测值- -显缓区显缓区) ) SJMP G2 SJMP G2 G1 G1:LCALL XS-1 LCALL XS-1 ( (理论值理论值- -显缓区显缓区) ) G2 G2:LCALL DTR LCALL DTR ( ( 显示显示 ) )LCALL KEY LCALL KEY ( ( 键扫键扫 ) )CJNE A,#F

25、FH,G3CJNE A,#FFH,G3SJMP G6SJMP G6 G3 G3:CJNE A,#0EH,G4 CJNE A,#0EH,G4 (显示键)(显示键)CPL 09HCPL 09HSJMP G6SJMP G6 G4 G4:CJNE A,#0FH,G5 CJNE A,#0FH,G5 (退出退出键)键)SETB 0BHSETB 0BHSJMP G6SJMP G6 G5 G5:CJNE A,#0CH,G6 CJNE A,#0CH,G6 (确认确认键)键)JNB 0BH,G6JNB 0BH,G6SETB 0AHSETB 0AH G6 G6:LCALL BJ-0 LCALL BJ-0 (报警处理

26、)(报警处理)SJMP GZ-1SJMP GZ-1 4、中断服务程序、中断服务程序 IT-0IT-0:PUSH APUSH A L3 L3:JNC IT-1JNC IT-1 PUSH B SJMP IT-3 PUSH B SJMP IT-3 PUSH DPH L4 PUSH DPH L4:JNB 0DH,IT-4JNB 0DH,IT-4 PUSH DPL PUSH DPL MOV A,3AH MOV A,3AH MOV PSW,#08H MOV PSW,#08H CJNE A,53H,L5 CJNE A,53H,L5 MOV TH0,#3CH MOV TH0,#3CH L5 L5:SJMP L

27、1SJMP L1 MOV TL,#B0H MOV TL,#B0H LCALL SZJ-0 LCALL SZJ-0 ( (设时标与时计设时标与时计) ) JNB 0FH,L2 JNB 0FH,L2 MOV A,32H MOV A,32H CJNE A,52H,L1 CJNE A,52H,L1 L1 L1:JC IT-1 JC IT-1 ( (转控制处理转控制处理) ) SJMP IT-3 SJMP IT-3 ( (转步结束处理转步结束处理) ) L2 L2:JNB 0EH,L4JNB 0EH,L4 MOV A,3AH MOV A,3AH CJNE A,53H,L3 CJNE A,53H,L3 I

28、T-1 IT-1:JNB 07H,IT-3 JNB 07H,IT-3 ( (控制处理控制处理) ) CLR 07H CLR 07H LCALL AD-0 LCALL AD-0 采样采样 LCALL LB-0 LCALL LB-0 滤波滤波 LCALL CZ-0 LCALL CZ-0 计差值计差值e(i)e(i) JNB 08H,IT-4 JNB 08H,IT-4 CLR 08H CLR 08H MOV A,52H MOV A,52H JZ IT-2 JZ IT-2 LCALL JSC LCALL JSC 计计UU LCALL SZC-0 LCALL SZC-0 设置输出参数设置输出参数 SJM

29、P IT-4 SJMP IT-4 IT-2IT-2:MOV 36H,#00H MOV 36H,#00H 设全速升降设全速升降 L2L2:JNB 0DH,IT-4JNB 0DH,IT-4 MOV 37H,#00H MOV 37H,#00H 温输出参数温输出参数 MOV36H,#7FHMOV36H,#7FH JNB 0EH,L2 SJMP IT-4 JNB 0EH,L2 SJMP IT-4 MOV 37H,#7FH MOV 37H,#7FH SJMP IT-4 SJMP IT-4 IT-3 IT-3:INC 23H INC 23H ( (步结束处理步结束处理) ) LCALL MOV-4 LCAL

30、L MOV-4 步工艺传送步工艺传送 MOV A,52H MOV A,52H CJNE A,#FFH,L6 CJNE A,#FFH,L6 SETB 0AH SETB 0AH L6 L6:JB 0AH,IT-5 JB 0AH,IT-5 转工艺结束处理转工艺结束处理 LCALL SBZ-0 LCALL SBZ-0 设置升降保标志设置升降保标志 LCALL SCZ-0 LCALL SCZ-0 设置步工艺初值设置步工艺初值IT-4IT-4:JB 0AH,IT-5 JB 0AH,IT-5 退出转结束处理退出转结束处理 LCALL KSC-0 LCALL KSC-0 控制输出控制输出 POP DPL PO

31、P DPL POP DPH POP DPH POP DPB POP DPB POP DPA POP DPA RETI RETI 工艺结束处理工艺结束处理 IT-5 IT-5: POP DPL CLR P3.3 POP DPL CLR P3.3 POP DPH MOV R5,#C8H POP DPH MOV R5,#C8H POP DPB L7 POP DPB L7:MOV R6,#C8HMOV R6,#C8H POP DPA L8 POP DPA L8:MOV R7,#F0HMOV R7,#F0H POP A L9 POP A L9:DJNZ R7,L9DJNZ R7,L9 POP A DJN

32、Z R6,L8 POP A DJNZ R6,L8 MOV A,#00H DJNZ R5,L7 MOV A,#00H DJNZ R5,L7 PUSH A LJMP 0000H PUSH A LJMP 0000H MOV A,#10H MOV A,#10H PUSH A PUSH A RETI RETI ORG 1000H ORG 1000H JSCL JSCL:MOV IE,#00HMOV IE,#00H MOV P1,#FDH MOV P1,#FDH SETB P3.2 SETB P3.2 5 5、子程序、子程序 A A、72797279键盘显示程序:键盘显示程序: a. 7279 a. 72

33、79初始化初始化: :(复位)(复位) INT-7279INT-7279:CLR P1.0 MOV R6, #02HCLR P1.0 MOV R6, #02H MOV R6, #0CH L1 MOV R6, #0CH L1:DJNZ R6, L1DJNZ R6, L1 L0 L0:DJNZ R6, L0 SETB P1.0DJNZ R6, L0 SETB P1.0 MOV A,#A4H RET MOV A,#A4H RET ACALL STFS ACALL STFS b. b. 显示程序显示程序: : DTR:DTR: MOV R5,#08H MOV R5,#08H MOV R0,#40H M

34、OV R0,#40H MOV R1,#97H MOV R1,#97H L1: CLR P1.0 L1: CLR P1.0 MOV R6,#0CH MOV R6,#0CH L2: DJNZ R6,L2 L2: DJNZ R6,L2 MOV A,R1 SETB P1.0 MOV A,R1 SETB P1.0 ACALL STFS INC R0 ACALL STFS INC R0 MOV R6,#04H DEC R1 MOV R6,#04H DEC R1 L3: DJNZ R6,L3 DJNZ R5,L1 L3: DJNZ R6,L3 DJNZ R5,L1 MOV A,R0 RET MOV A,R0

35、 RET ADD A,#0DH ADD A,#0DH MOVC A,A+PC MOVC A,A+PC ACALL STFS ACALL STFS MOV R6,#02H MOV R6,#02H L4: DJNZ R6,L4 L4: DJNZ R6,L4 TAB DB 7EH,30H,6DH,79H,33H,5BH,5FH,70H,7FH TAB DB 7EH,30H,6DH,79H,33H,5BH,5FH,70H,7FH DB 7BH,77H,1FH,4EH,3DH,4FH,47H,00H,67H DB 7BH,77H,1FH,4EH,3DH,4FH,47H,00H,67H c. c. 键扫程

36、序键扫程序: : KEY:KEY: ACALL KEY1 L3 ACALL KEY1 L3:INC R2 INC R2 CJNE A,#0FFH,L1 DJNZ R7,L2 CJNE A,#0FFH,L1 DJNZ R7,L2 CLR 00H L4 CLR 00H L4: MOV A,R2 MOV A,R2 RET RET RET RET L1: JB 00H,L5 L5: MOV A, #FFH L1: JB 00H,L5 L5: MOV A, #FFH SETB 00H RET SETB 00H RET MOV B, A TAB DB XXH,XXH, MOV B, A TAB DB XX

37、H,XXH, MOV R2,#00H MOV R2,#00H MOV R7,#0FH MOV R7,#0FH L2 L2:MOV A,R2MOV A,R2 ADD A,#0AH ADD A,#0AH MOVC A,A+PC MOVC A,A+PC CJNE A,B,L3 CJNE A,B,L3 SJMP L4 SJMP L4 d. d. 读键值子程序读键值子程序: :所读的键值保存在A中 KEY1:KEY1: CLR P1.0 CLR P1.0 MOV R6,#0CH MOV R6,#0CH L1: DJNZ R6,L1 L1: DJNZ R6,L1 MOV A,#15H MOV A,#15H

38、 ACALL STFS ACALL STFS MOV R6,#06H MOV R6,#06H L2: DJNZ R6,L2 L2: DJNZ R6,L2 ACALL STJS ACALL STJS SETB P1.0 SETB P1.0 RET RET e. e. 发送一字节子程序发送一字节子程序:(发送数存于A中) STFSSTFS:MOV R7MOV R7,#08H #08H 设设: P1.0 CS: P1.0 CS L1 L1:RLC A P1.1 CLKRLC A P1.1 CLK MOV P1.2 MOV P1.2,C P1.2 DATAC P1.2 DATA SETB P1.1 P

39、1.3 KEY SETB P1.1 P1.3 KEY MOV R6,#02H MOV R6,#02H L2: DJNZ R6, L2 L2: DJNZ R6, L2 CLR P1.1 CLR P1.1 MOV R6, #02H MOV R6, #02H L3: DJNZ R6,L3 L3: DJNZ R6,L3 DJNZ R7,L1 DJNZ R7,L1 RET RET f f接收一字节子程序接收一字节子程序:(接收字符存于(接收字符存于A A中)中) STJS:STJS: MOV R7,#08H MOV R7,#08H L1: SETB P1.1 L1: SETB P1.1 SETB P1.

40、2 SETB P1.2 MOV R6,#02H MOV R6,#02H L2: DJNZ R6,L2 L2: DJNZ R6,L2 MOV C, P1.2 MOV C, P1.2 RLC A RLC A CLR P1.1 CLR P1.1 MOV R6,#01H MOV R6,#01H L3: DJNZ R6,L3 L3: DJNZ R6,L3 DJNZ R7,L1 DJNZ R7,L1 RET RET B B、通用子程序、通用子程序 a. A-R a. A-R与与R-AR-A: A-R A-R:MOV R4,A MOV R4,A R-AR-A: MOV A, R0 MOV A, R0 SAW

41、P A SAWP A SAWP A SAWP A ANL A, #0FH INC R0 ANL A, #0FH INC R0 MOV R0, A ORL A, R0 MOV R0, A ORL A, R0 INC R0 INC R0 RET RET MOV A, R4 MOV A, R4 ANL A, #0FH ANL A, #0FH MOV R0, A MOV R0, A RET RET b. 2-10b. 2-10与与10-210-2子程序:子程序: Z2-10-0Z2-10-0:MOV R7,#02H MOV R7,#02H Z10-2Z10-2:MOV R7,#02HMOV R7,#0

42、2H SJMP Z1 MOV A,R0 SJMP Z1 MOV A,R0 Z2-10-1Z2-10-1:MOV R7MOV R7,#03H Z2#03H Z2:MOV B,#0AHMOV B,#0AH Z1 Z1:MOV BMOV B,#0AH MUL AB#0AH MUL AB DIV A DIV A,B INC R0B INC R0 XCH A XCH A,B ADD A,R0B ADD A,R0 MOV R0 MOV R0,A DJNZ D7,Z2A DJNZ D7,Z2 XCH A XCH A,B RETB RET DEC R0 DEC R0 DJNZ R7 DJNZ R7,Z1Z1

43、RET RET c.16 c.16位取补子程序:(位取补子程序:(R2R3R2R3取补取补) )NEG-0NEG-0:CLR CCLR C CLR A CLR A SUBB A,R3 SUBB A,R3 CLR A CLR A SUBB A,R2 SUBB A,R2 MOV R2,A MOV R2,A RET RET d. 8 d. 8位乘法子程序:位乘法子程序: (R4*R3 R2R3) (R4*R3 R2R3) MUL-0 MUL-0:MOV A,R4 MOV A,R4 (8 8位无符号乘)位无符号乘) MOV B,R3 MOV B,R3 MUL AB MUL AB MOV R3,A MO

44、V R3,A MOV R2,B MOV R2,B RET RET MUL-1MUL-1:MOV A,R4 MOV A,R4 (带符号(带符号R4*R3 R2R3R4*R3 R2R3) MOV R5,A MOV R5,A JNB ACC.7,L1 JNB ACC.7,L1 CPL A CPL A INC A INC A L1 L1:ACALL MUL-0ACALL MUL-0 MOV A,R5 MOV A,R5 JNB ACC.7,L2 JNB ACC.7,L2 ACALL NEG-0 ACALL NEG-0 L2 L2:RETRET e.8 e.8位除法子程序:位除法子程序: (R2R3R4

45、R3 , (R2R3R4 R3 ,余数余数R2)R2)DIV-0DIV-0:MOV R7,#08H MOV R7,#08H (无符号除)(无符号除) L0 L0:CLR CCLR C MOV A,R3 MOV A,R3 RLC A RLC A MOV R3,A MOV R3,A MOV A,R2 MOV A,R2 RLC A RLC A MOV R2,A MOV R2,A CLR C CLR C SUBB A,R4 SUBB A,R4 JC L1 JC L1 MOV R2,A MOV R2,A INC R3 INC R3 L1 L1:DJNZ R7,L0DJNZ R7,L0 RET RET D

46、IV-1DIV-1:MOV A,R2 MOV A,R2 (带符号(带符号R2R3R4R3 ,R2R3R4R3 ,余数余数R2R2) MOV R5,A MOV R5,AJNB ACC.7,L1JNB ACC.7,L1ACALL NEG-0ACALL NEG-0 L1 L1:ACALL DIV-0ACALL DIV-0MOV A,R5MOV A,R5JNB ACC.7,L2JNB ACC.7,L2MOV A,R3MOV A,R3CPL ACPL AINC AINC A MOV R3,A MOV R3,A L2 L2:RETRET C C、传送子程序、传送子程序 a. a.传送显示符子程序:传送显示

47、符子程序: MOV-0:MOV-0: MOV DPTR,#TAB_0 MOV DPTR,#TAB_0 MOV-1:MOV-1: MOV R7, #08H MOV R7, #08H MOV R0,#40H MOV R0,#40H MK_0: MOVX A,DPTR MK_0: MOVX A,DPTR MOV R0,A MOV R0,A INC DPTR INC DPTR INC R0 INC R0 DJNZ R7,MK_0 DJNZ R7,MK_0 RET RET ORG 07E0H ORG 07E0H TAB_0 DB P GOOd TAB_0 DB P GOOd TAB_1 DB IN _

48、_ TAB_1 DB IN _ _ TAB_2 DB BE _ TAB_2 DB BE _ _ _ TAB_3 DB PL _ TAB_3 DB PL _ _ _ b.b.传送工艺子程序:传送工艺子程序: MOV-2MOV-2:MOV R7,#0EH MOV R7,#0EH ( (存工艺)存工艺) MOV R0,#52H MOV R0,#52HMOV DPTR,#0400HMOV DPTR,#0400H L1 L1:MOV A,R0MOV A,R0MOVX DPTR,AMOVX DPTR,AINC R0INC R0INC DPTR INC DPTR DJNZ R7,L1DJNZ R7,L1RE

49、TRET MOV-3MOV-3:MOV R7,#0EH MOV R7,#0EH ( (取工艺)取工艺) MOV R0,#52H MOV R0,#52H MOV DPTR,#0400H MOV DPTR,#0400H L2 L2:MOVX A,DPTR MOVX A,DPTR MOV R0,AMOV R0,AINC R0INC R0INC DPTRINC DPTRDJNZ R7,L2DJNZ R7,L2 MOV 51H,#00H MOV 51H,#00HRETRET MOV-4MOV-4:MOV R7,#0EH MOV R7,#0EH ( (步工艺传送)步工艺传送) MOV R0,#52H MO

50、V R0,#52HMOV R1,#50HMOV R1,#50H L1 L1:MOV A,R0MOV A,R0MOVX R1,AMOVX R1,AINC R0INC R0INC R1 INC R1 DJNZ R7,L1DJNZ R7,L1RETRET D D、温度采样滤波子程序、温度采样滤波子程序 a. a.采样子程序:采样子程序: AD-0:AD-0: MOV DPTR,2000H MOV DPTR,2000H MOV R6,#06H MOV R6,#06H MOV R0,#60H MOV R0,#60H L0 L0:MOVX DPTR, AMOVX DPTR, A MOV R7,#1EH M

51、OV R7,#1EH L1 L1:DJNZ R7,L1DJNZ R7,L1 MOVX A,DPTR MOVX A,DPTR MOV R0,A MOV R0,A INC R0 INC R0 DJNZ R6,L0 DJNZ R6,L0 RET RET b. b.滤波子程序:滤波子程序: FMAX FMAX:MOV R7MOV R7,#05H #05H LB-0LB-0:CALL FMAX CALL FMAX MOV R0 MOV R0,#60H #60H CALL FMIN L1 CALL FMIN L1: MOV A MOV A,R0H R0H CALL AVE INC R0 CALL AVE

52、INC R0 RET RET CLR C CLR C SUBB A, R0 SUBB A, R0 JC l2 JC l2 MOV A, R0 MOV A, R0 DEC R0 DEC R0 XCH A, R0 XCH A, R0 INC R0 INC R0 MOV R0, A MOV R0, A l2l2:DJNZ R7, L1DJNZ R7, L1 RET RET FMINFMIN:MOV R7, #04H MOV R7, #04H MOV R0, #60H MOV R0, #60H L1 L1:MOV A, R0MOV A, R0 INC R0 INC R0 CLR C CLR C SUB

53、B A, R0 SUBB A, R0 JNC l2 JNC l2 MOV A, R0 MOV A, R0 DEC R0 DEC R0 XCH A, R0 XCH A, R0 INC R0 INC R0 MOV R0, A MOV R0, A l2 l2:DJNZ R7, L1DJNZ R7, L1 RET RET AVEAVE:MOV R7, #04H MOV R7, #04H MOV R0, #60 MOV R0, #60 MOV R3, #00 MOV R3, #00 MOV R4, #00 MOV R4, #00 L1 L1:MOV A, R0 MOV A, R0 ADD A, R4 A

54、DD A, R4 MOV R4, A MOV R4, A MOV A, R3 MOV A, R3 ADDC A, #00 ADDC A, #00 MOV R3, A MOV R3, A INC R0 INC R0 DJNZ R7, L1 MOV A, R4 DJNZ R7, L1 MOV A, R4 MOV R7, #03H RRC A MOV R7, #03H RRC A L2 L2:CLR C MOV R4, A CLR C MOV R4, A MOV A, R3 DJNZ R7, L2 MOV A, R3 DJNZ R7, L2 RRC A MOV 67H, R4 RRC A MOV 6

55、7H, R4 MOV R3, A RET MOV R3, A RET E E、计算输出参数子程序、计算输出参数子程序 a. a.计算公式:计算公式: 采用数字采用数字PIDPID增量式控制算法计算输出参数增量式控制算法计算输出参数U.U. U=A*e(i)-B*e(i-1)+C*e(i-2)U=A*e(i)-B*e(i-1)+C*e(i-2) 设:设: A=18, B=3, C=1 A=18, B=3, C=1 b. b.计算程序:计算程序: JSC JSC:MOV R4,3FH ACALL ADD-0 MOV R4,3FH ACALL ADD-0 MOV R3,#12H ACALL XZ-0

56、 MOV R3,#12H ACALL XZ-0 (限值限值) )ACALL MUL-1 RET ACALL MUL-1 RET MOV 28H,R2 MOV 28H,R2 MOV 29H,R3MOV 29H,R3 MOV R4,3DHMOV R4,3DHMOV R3,#03HMOV R3,#03HACALL MUL-1ACALL MUL-1ACALL SUB-0ACALL SUB-0MOV R4,3BHMOV R4,3BHMOV R3,#01HMOV R3,#01HACALL MUL-1ACALL MUL-1 c.16 c.16位加减子程序:位加减子程序: SUB-0 SUB-0:CLR C

57、CLR C (28H,29H-R2,R3 28H,29H)(28H,29H-R2,R3 28H,29H) MOV A,29H MOV A,29H SUBB A,R3 SUBB A,R3 MOV 29H,A MOV 29H,A MOV A,28H MOV A,28H SUBB A,R2 SUBB A,R2 MOV 28H,A MOV 28H,A RET RET ADD-0 ADD-0:MOV A, 29H MOV A, 29H (28H,29H+R2,R3 28H,29H)(28H,29H+R2,R3 28H,29H) ADD A, R3 ADD A, R3 MOV 29H,A MOV 29H,

58、A MOV A, 28H MOV A, 28H ADD A, R2 ADD A, R2 MOV 28H,A MOV 28H,A RET RET d. d.限值子程序:限值子程序: XZ-0 XZ-0:MOV A,28H MOV A,28H (限值为(限值为60H-A0H)60H-A0H) JB ACC.7,L4 JB ACC.7,L4 JNZ L2 JNZ L2 MOV A,29H MOV A,29H CJNE A,#60H,L1 CJNE A,#60H,L1 L1 L1:JC L3JC L3 L2 L2:MOV A,#60HMOV A,#60H L3 L3:MOV 35H,AMOV 35H,

59、A RET RET L4 L4:CJNE A,#FFH,L6CJNE A,#FFH,L6 MOV A,29H MOV A,29H CJNE A,#A0H,L5 CJNE A,#A0H,L5 L5 L5:JNC L7JNC L7 L6 L6:MOV A,#A0HMOV A,#A0H L7 L7:MOV 35H,AMOV 35H,A RET RET F F、控制输出子程序、控制输出子程序 a. a.设置输出参数:设置输出参数:SZC-0SZC-0:MOV A,35HMOV A,35H JB ACC.7,L1 JB ACC.7,L1 MOV 36H,A MOV 36H,A MOV 37H,#00H

60、MOV 37H,#00H RET RET L1 L1:CPL ACPL A INC A INC A MOV 37H,A MOV 37H,A MOV 36H #00H MOV 36H #00H RET RET b. b.控制输出:控制输出: KSC-0 KSC-0:MOV A,36HMOV A,36H JZ L1 JZ L1 DEC 36H DEC 36H CLR P1.4 CLR P1.4 SETB P1.5 SETB P1.5 RET RET L1 L1:SETB P1.4SETB P1.4 MOV A,37H MOV A,37H JZ L2 JZ L2 DEC 37H DEC 37H CL

61、R P1.5 CLR P1.5 RET RET L2 L2:SETB P1.5SETB P1.5 RET RET G G、计算差值子程序、计算差值子程序 a. a.计算差值:计算差值: CZ-0 CZ-0:ACALL MOV-5ACALL MOV-5 ( (传送差值)传送差值)MOV A,53HMOV A,53HCJNE A,51H,L1CJNE A,51H,L1MOV A,3AH MOV A,3AH (保温)(保温)CLR CCLR CSUBB A,53HSUBB A,53HACALL XZ-1 ACALL XZ-1 (限值为(限值为10H-F0H)10H-F0H)MOV 3FH,AMOV

62、3FH,ARETRET L1 L1:ACALL JTL-0 ACALL JTL-0 ( (计算计算T T理)理)MOV A,3AH MOV A,3AH (升降温)(升降温)CLR CCLR CSUBB A,R3SUBB A,R3ACALL XZ-1 ACALL XZ-1 (限值为(限值为10H-F0H)10H-F0H)MOV 3FH,AMOV 3FH,ARETRET b. b.传送差值:传送差值:MOV-5MOV-5:MOV R7,#04HMOV R7,#04H MOV R0,#3CH MOV R0,#3CH L1 L1:MOV A,R0MOV A,R0 DEC R0 DEC R0 MOV R

63、0,A MOV R0,A INC R0 INC R0 INC R0 INC R0 DJNZ R7,L1 DJNZ R7,L1 RET RET c. c.计算升降温计算升降温T T理:理: T T理理 T T初【(初【(T T终终T T初)初)*C*C实】实】CC总总 JTL-0JTL-0:MOV A,53HMOV A,53H CLR C CLR C SUBB A,51H SUBB A,51H MOV R4,A MOV R4,A MOV R3,32H MOV R3,32H INC R3 INC R3 ACALL MUL-1 ACALL MUL-1 MOV R4,52H MOV R4,52H AC

64、ALL DIV-1 ACALL DIV-1 MOV A,51H MOV A,51H ADD A,R3 ADD A,R3 MOV R3,A MOV R3,A RET RET d. d.限值:限值: XZ-1XZ-1:JB ACC.7,L3JB ACC.7,L3 CJNE A,#10H,L1 CJNE A,#10H,L1 L1 L1:JC L2JC L2 MOV A,#10H MOV A,#10H L2 L2:RETRET L3 L3:CJNE A,#F0H,L4CJNE A,#F0H,L4 L4 L4:JNC L5JNC L5 MOV A,#F0H MOV A,#F0H L5 L5:RETRET

65、 H H、设置工艺参数初值子程序、设置工艺参数初值子程序 a. a.设置升降保标志设置升降保标志SBZ-0SBZ-0:MOV A,21HMOV A,21H ANL A,#1FH ANL A,#1FH MOV 21H,A MOV 21H,A MOV A,53H MOV A,53H CLR C CLR C SUBB A,51H SUBB A,51H JNZ L1 JNZ L1 SETB 0FH SETB 0FH RET RET L1 L1 :JC L2JC L2 SETB 0DH SETB 0DH RET RET L2 L2 :SETB 0EHSETB 0EH RET RET b. b.设置步工艺

66、初值设置步工艺初值 SCZ-0 SCZ-0:MOV 31H,#00HMOV 31H,#00H MOV 32H,#00H MOV 32H,#00H SETB P1.4 SETB P1.4 SETB P1.5 SETB P1.5 SETB 07H SETB 07H SETB 08H SETB 08H MOV 25H,#00H MOV 25H,#00H MOV 26H,#00H MOV 26H,#00H JNB 0FH,L1 JNB 0FH,L1 ( (保温)保温) RET RET L1 L1:JNB 0EH,L2 JNB 0EH,L2 (降温(降温) ) CLR P1.5 CLR P1.5 RET

67、 RET L2 L2:JNB 0DH,L3 JNB 0DH,L3 ( (升温升温) ) CLR P1.4 CLR P1.4 L3 L3:RETRET I I、设置时间标志与步时钟计时子程序、设置时间标志与步时钟计时子程序 SZJ-0 SZJ-0:INC 24HINC 24HMOV A,24HMOV A,24HCJNE A,#05H,L1 CJNE A,#05H,L1 L1 L1:JC L6 JC L6 MOV 24H,#00H INC 32H MOV 24H,#00H INC 32H SETB 06H L4SETB 06H L4:INC 26HINC 26H INC 25H MOV A,26H

68、 INC 25H MOV A,26H MOV A,25H CJNE A,#08H,L5 MOV A,25H CJNE A,#08H,L5 CJNE A,#02H,L2 L5CJNE A,#02H,L2 L5:JC L6JC L6 L2 L2:JC L6 SETB 08H JC L6 SETB 08H MOV 25H,#00H MOV 26H,#00HMOV 25H,#00H MOV 26H,#00HSETB 07H L6SETB 07H L6:RET RET INC 31HINC 31HMOV A,31HMOV A,31H CJNE A,#3CH,L3 CJNE A,#3CH,L3 L3 L3

69、:JC L4 JC L4 MOV 31H,#00H MOV 31H,#00H J J、显示处理子程序、显示处理子程序a.a.显示实测值:显示实测值: b. b.显示理论值:显示理论值: XS-0 XS-0:MOV A,23H MOV A,23H XS-1XS-1:MOV 40H,#11HMOV 40H,#11H MOV R0,#41H MOV 41H,#12H MOV R0,#41H MOV 41H,#12H LCALL Z2-10-0 MOV A,52H LCALL Z2-10-0 MOV A,52H MOV A,32H MOV R0,#44H MOV A,32H MOV R0,#44H M

70、OV R0,#44H LCALL Z2-10-1 MOV R0,#44H LCALL Z2-10-1 LCALL Z2-10-1 MOV A,53H LCALL Z2-10-1 MOV A,53H MOV A,3AH MOV R0,#47H MOV A,3AH MOV R0,#47H ADD A,39H LCALL Z2-10-1 ADD A,39H LCALL Z2-10-1 RRC A RRC A RET RET MOV R0,#47H MOV R0,#47H LCALL Z2-10-1 LCALL Z2-10-1 RET RET C. C.灯显示灯显示DL-0DL-0:SETB P1.3

71、SETB P1.3 SETB P1.6 SETB P1.6 SETB P1.7 SETB P1.7 SETB P3.2 SETB P3.2 SETB P3.3 SETB P3.3 JNB 0FH,L1 JNB 0FH,L1 CLR P1.7 CLR P1.7 SJMP L3 SJMP L3 L1 L1:JNB 0EH,L2JNB 0EH,L2 CLR P3.2 CLR P3.2 SJMP L3 SJMP L3 L2 L2:JNB 0DH,L3JNB 0DH,L3 CLR P1.6 CLR P1.6 L3 L3:JNB 05H,L4JNB 05H,L4 CLR P1.3 CLR P1.3 L4 L4:RETRET K K、报警处理子程序、报警处理子程序BJ-0BJ-0:JNB 0FH,L3JNB 0FH,L3 MOV A,3FH MOV A,3FH (差值)(差值) JNB ACC.7,L1 JNB ACC.7,L1 CPL A CPL A INC A INC A L1 L1:CJNE A,#06H,L2CJNE A,#06H,L2 L2 L2:JC L4JC L4 SETB 05H SETB 05H L3 L3:RETRET L4 L4:CLR 05HCLR 05H RET RET

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 国内外标准规范

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号