片机温控软件设计温控软.ppt

上传人:wuy****n92 文档编号:54721994 上传时间:2022-10-29 格式:PPT 页数:62 大小:116.50KB
返回 下载 相关 举报
片机温控软件设计温控软.ppt_第1页
第1页 / 共62页
片机温控软件设计温控软.ppt_第2页
第2页 / 共62页
点击查看更多>>
资源描述

《片机温控软件设计温控软.ppt》由会员分享,可在线阅读,更多相关《片机温控软件设计温控软.ppt(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)继续继续(0DH)(0DH)、

3、显示、显示(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、采样周期、采样周期:考虑到现场温度变化缓慢考虑到现场温度变化缓慢,确定采用确定采用T0定时定时,定时时间定时时间

4、 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 键标志键标志 09H 显示标志显示标志 01H 输入标志输入标志 0AH 结束标志结束标志

5、 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(分分)工艺参数:工艺参数:50H-5FH工艺步号:工艺步号:23H采样值:采样值:60H65H实测值:实测值:38

6、H3AH 误差值:误差值:3BH3FH (ei-2,ei-1,ei )控制输出控制输出:36H(加热加热)37H(冷却冷却)堆栈区:堆栈区:68H7FH三、微电脑温度控制器三、微电脑温度控制器软件框图软件框图键键 扫扫入口:入口:0000H初始化初始化.P good显缓区显缓区显示显示有键按下否有键按下否键数【显针】键数【显针】修改显针修改显针显针限值显针限值输入符显区输入符显区建立数入标志建立数入标志建立输入标志建立输入标志建立显针建立显针工作符显区工作符显区建立数入标志建立数入标志建立工作标志建立工作标志建立显针建立显针键处理键处理 1 1、开机引导程序、开机引导程序允许数入否允许数入否散

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

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

9、保护现场(A、B、DPH、DPL、PSW等等)选另一工作寄存器区、重新置定时初值选另一工作寄存器区、重新置定时初值步步时钟计数、建立时间标志、时钟计数、建立时间标志、温度采样温度采样(传送、滤波传送、滤波)计算差值计算差值按控制算法按控制算法计算输出参数计算输出参数控制输出控制输出步号加步号加1、取工艺、取工艺设置初值(步时钟、输出)设置初值(步时钟、输出)工艺结束建立结束标志关输出工艺结束建立结束标志关输出恢复现场恢复现场中断返回中断返回本本工艺步结束否工艺步结束否YN四、微电脑温度控制器四、微电脑温度控制器软件清单软件清单 1 1、开机引导程序:开机引导程序:A A、MAIN-1:MAIN

10、-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 R0,#20HM-0:CLR A M-0:CLR A MOV R0,AMOV R0,AINC R0INC R0DJNZ R7,M-0DJNZ

11、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 SJMP MAIN-2 ACALL MKEY-3 SJMP MAIN-2 ACALL MKEY-3 确认确认 M-1:CJNE A,#0AH,M-2 SJMP MAIN_2 M

12、-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-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

13、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 :(:(数键处理)数键处理)SKEY:JNB 03H,S-2SKEY: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,#46H MOV 22H,#46H S-

14、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 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-

15、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-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

16、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,#47H 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

17、 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 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,

18、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:(数键处理)数键处理)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,

19、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,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 M

20、OV 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 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

21、 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 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,

22、A MOV R1,#FFH MOV R1,#FFH (建立结束标志建立结束标志)LCALL MOV-2 LCALL MOV-2 (保存工艺)保存工艺)AJMP MAIN-1 AJMP MAIN-1 3 3、工作主程序:、工作主程序:GZ-0 GZ-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

23、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 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 X

24、S-1 (理论值理论值-显缓区显缓区)G2 G2:LCALL DTR LCALL DTR (显示显示)LCALL KEY LCALL KEY (键扫键扫)CJNE A,#FFH,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,#

25、0CH,G6 (确认确认键)键)JNB 0BH,G6JNB 0BH,G6SETB 0AHSETB 0AH G6 G6:LCALL BJ-0 LCALL BJ-0 (报警处理)(报警处理)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 PS

26、W,#08H MOV PSW,#08H CJNE A,53H,L5 CJNE A,53H,L5 MOV TH0,#3CH MOV TH0,#3CH L5 L5:SJMP L1SJMP 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

27、:JNB 0EH,L4JNB 0EH,L4 MOV A,3AH MOV A,3AH CJNE A,53H,L3 CJNE A,53H,L3 IT-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 L

28、CALL JSC LCALL JSC 计计UU LCALL SZC-0 LCALL SZC-0 设置输出参数设置输出参数 SJMP 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

29、IT-4 IT-3 IT-3:INC 23H INC 23H (步结束处理步结束处理)LCALL MOV-4 LCALL 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

30、 退出转结束处理退出转结束处理 LCALL KSC-0 LCALL KSC-0 控制输出控制输出 POP DPL POP 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,#F0HMO

31、V R7,#F0H POP A L9 POP A L9:DJNZ R7,L9DJNZ R7,L9 POP A DJNZ 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 5 5、子程序、子程序 A

32、A、72797279键盘显示程序:键盘显示程序:a.7279 a.7279初始化初始化:(复位)(复位)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: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 MOV R0,#40H MOV R1,#97H

33、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 RET ADD A,#0DH ADD A,#0DH MO

34、VC 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.键扫程序键扫程序:KEY:KEY:ACALL KEY1 L3 ACALL

35、 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 XXH,XXH,MOV R2,#00H MOV R2,#00H MOV R7,#0FH MOV R

36、7,#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 ACALL STFS ACALL STFS MOV R6,#06H MOV R6,#06H L2:DJNZ

37、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:,:,C P1.2 DATAC P1.2 DATA SETB P1.1 P1.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,#02

38、H 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.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

39、 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 SAWP 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

40、 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,#02H 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

41、 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 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 R

42、2,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 MOV 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 I

43、NC 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 位除法子程序:位除法子程序:(R2R3R4 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

44、 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 DIV-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

45、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.传送显示符子程序:传送显示符子程序: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 I

46、NC 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 _ _ 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,

47、#0400HMOV DPTR,#0400H L1 L1:MOV A,R0MOV A,R0MOVX DPTR,AMOVX DPTR,AINC R0INC R0INC DPTR INC DPTR DJNZ R7,L1DJNZ R7,L1RETRET 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

48、 R7,L2DJNZ R7,L2 MOV 51H,#00H MOV 51H,#00HRETRET MOV-4MOV-4:MOV R7,#0EH MOV R7,#0EH (步工艺传送)步工艺传送)MOV R0,#52H MOV 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

49、 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 MOV 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 CAL

50、L 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 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

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 初中资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com