资源预览内容
第1页 / 共62页
第2页 / 共62页
第3页 / 共62页
第4页 / 共62页
第5页 / 共62页
第6页 / 共62页
第7页 / 共62页
第8页 / 共62页
第9页 / 共62页
第10页 / 共62页
亲,该文档总共62页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
单片机应用系统的软件设计通常单片机应用系统的系统软件由主程序、定时中 断服务程序和若干个子程序构成。根据系统各操作的 性质,指定哪些操作由中断服务程序完成,哪些操作由主程序完成。通常主程序完成显示及键盘处理,实现人机对话功 能。其现场参数采样、控制输出等则由定时中断完 成。下面以微电脑温度控制器为例,介绍单片机应用系统的软件设计流程。一、温度控制器技术要求:1、控温范围:0c 125c2、控温精度:1c3、控温工艺曲线: 工艺分4步 第1步:全速升温 第2步:速率升温 第3步:保温 第4步:全速降温二、软件设计的有关参数1、键盘及显示安排:命令键: 输入(0AH)、工作(0BH)、 确认(0CH)继续(0DH) 、显示(0EH)、 退出(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定时,定时时间 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: 0000H1FFFHADC0804: 2000H5、内存单元安排:标志位:00H 键标志 09H 显示标志01H 输入标志 0AH 结束标志02H 工作标志 0BH 退出标志03H 数入标志 0CH04H 修改标志 0DH 升温标志05H 报警标志 0EH 降温标志06H 半秒标志 0FH 保温标志07H 1秒标志08H 8秒标志显缓区: 40H-47H 显示指针: 22H 计时单元: 24H(100ms) 25H(0.5s) 26H(1s) U单元: 35H实时时钟: 31H (秒) 32H(分) 工艺参数: 50H-5FH 工艺步号: 23H 采样值: 60H65H 实测值: 38H3AH 误差值: 3BH3FH (ei-2 , ei-1 , ei ) 控制输出: 36H (加热) 37H (冷却) 堆栈区: 68H7FH三、微电脑温度控制器软件框图键 扫入口:0000H初始化. P good显缓区显示有键按下否键数【显针】 修改显针 显针限值输入符显区 建立数入标志 建立输入标志 建立显针工作符显区 建立数入标志 建立工作标志 建立显针键处理1、开机引导程序允许数入否散转到 输 入或工 作程序 入口 传送工 艺数键输入工作YNNY确认初始化设置栈底(SP) 置P口初值 I/O口初始化 关输出 置“0”工作单 元及标志退出转0000H 退出入口:0200H01H步号单元、建立显针、参数显缓区显示有键按下否键数【显针】 修改显针 显针限值保存本步工 艺参数 建立显针工艺步号加1 参数显缓区 建立显针键处理键 扫2、工艺输入程序建立结束 标志保存 工艺返回 0000H数键确认继续YN退出取工艺.送步号初值.设置初值.初始化T0.开中断显示处理、灯处理、更新显示(0.5S)有键按下否键处理键 扫3、工作主程序关中断返回0000HYN退出显示处理按标志不同, 将不同参数送 至显缓区报警处理入口:0800H更换显示方式显示确认 建立退出标志4、中断服务程序入口:000BH保护现场(A、B、DPH、DPL、PSW等) 选另一工作寄存器区、重新置定时初值步时钟计数、建立时间标志、温度采样 (传送、滤波)计算差值 按控制算法计算输出参数 控制输出步号加1、取工艺 设置初值(步时钟、输出) 工艺结束建立结束标志关输出恢复现场中断返回本工艺步结束否YN四、微电脑温度控制器软件清单1、开机引导程序:A、MAIN-1:ORG 0000H ORG 000BHLJMP MAIN-1 LJMP IT-OMAIN-1:MOV SP, #67HMOV P1,#FDH ACALL INT-7279 MOV R7,#48H (清工作单元) MOV R0,#20H M-0: CLR A MOV R0, A INC R0 DJNZ R7,M-0 ACALL MOV-0 (开机符显缓区) AJMP MAIN-2B、 MAIN_2: MAIN-2: ACALL DIRACALL KEYCJNE A,#FFH,M-1 M-5: CJNE A,#0CH,M-6SJMP MAIN-2 ACALL MKEY-3 确认M-1: CJNE A,#0AH,M-2 SJMP MAIN_2M-2: JNC M-3 M-6: CJNE A,#0FH,M-7ACALL SKEY 数键 AJMP 0000H 退出SJMP MAIN-2 M-7: SJMP MAIN-2 M-3: CJNE A,#0AH,M-4 ACALL MKEY-1 输入 SJMP MAIN_2M-4: CJNE A,#0BH,M-5ACALL MKEY-2 工作 SJMP MAIN-2a.SKEY:(数键处理)SKEY: JNB 03H,S-2MOV R0,22HMOV R0,AINC 22HMOV A,22HCJNE A,#48H,S-1S-1: JC S-2MOV 22H,#46HS-2: RET b.MKEY-1(输入键处理)MKEY-1:SETB 01HSETB 03HMOV 22H, #46HMOV DPTR,#TAB-1ACALL MOV-1RETc.MKEY-2(工作键处理)MKEY-1:SETB 02HSETB 03HMOV 22H, #46HMOV DPTR,#TAB-2ACALL MOV-1RETd.MKEY-3(确认键处理)MKEY-3: JNB 01H,MK-0LJMP SR-0MK-0: JNB 02H,MK-1LJMP GZ-0MK-1: RET2、工艺输入程序:A、SR-0:SR-0:MOV 23H,#01HMOV A, 23HMOV R0,#41HACALL Z2-10-0 MOV A,52H MOV R0,#44HACALL Z2-10-1 MOV A,53H MOV R0,#47HACALL Z2-10-1 MOV 22H,#42HAJMP SR-1B、 SR-1: SR-1:ACALL DIRACALL KEYCJNE A,#FFH,S-1 S-5:CJNE A,#0FH,SR-1 SJMP SR-1 ACALL SKEY-4 退出S-1:CJNE A,#0AH,S-2 SJMP SR-1 S-2:JNC S-3 ACALL SKEY-1 数键 SJMP SR-1 S-3:CJNE A,#0CH,S-4ACALL SKEY-2 确认SJMP SR-1 S-4:CJNE A,#0DH,S-5ACALL SKEY-3 继续SJMP SR-1 a.SKEY-1:(数键处理)SKEY-1: JNB 03H,S-2MOV R0,22HMOV R0,AINC 22HMOV A,22HCJNE A,#48H,S-1S-1: JC S-2MOV 22H,#42HS-2: RET b.SKEY-2(确认键处理)SKEY-2: MOV A, 23HADD A, 23HADD A,#50HMOV R1, AMOV R0,#42H ACALL Z10-2 MOV R1,AINC R1MOV R0,#45HACALL Z10-2 MOV R1,A MOV 22H,#42H RET c.SKEY-3(继续键处理)SKEY-3: INC 23H ACALL Z2-10-1 MOV A, 23H MOV 22H,#42HMOV R0,#40H RETACALL Z2-10-0 MOV A, 23HADD A, 23HADD A,#50HMOV R1, A MOV A,R1MOV R0,#42HACALL Z2-10-1 INC R1MOV A,R1d.SKEY-4(退出键处理)SKEY-4: INC 23H MOV A, 23HADD A, 23HADD A,#50HMOV R1, A MOV R1,#FFH (建立结束标志)LCALL MOV-2 (保存工艺)AJMP MAIN-1 3、工作主程序:GZ-0:LCALL MOV-3 (取工艺)MOV 23H,#01H LCALL SBZ-0 (设置升降保标志) LCALL SCZ-0 (设置步工艺初值) MOV TMOD,#01H MOV TH0,#3CH MOV TL0,#B0H SETB TR0 MOV IE,#82H SETB 06H CLR P1.4 GZ-1:JNB 06H,G2 CLR 06H LCALL DL-0 (灯显示)JB 09H,G1LCALL XS-0 (实测值-显缓区)SJMP G2G1:LCALL XS-1 (理论值-显缓区)G2:LCALL DTR ( 显示 ) LCALL KEY ( 键扫 ) CJNE A,#FFH,G3 SJMP G6G3:CJNE A,#0EH,G4 (显示键) CPL 09H SJMP G6G4:CJNE A,#0FH,G5 (退出键) SETB 0BH SJMP G6G5:CJNE A,#0CH,G6 (确认键) JNB 0BH,G6 SETB 0AHG6:LCALL BJ-0 (报警处理) SJMP GZ-14、中断服务程序IT-0:PUSH A L3:JNC IT-1PUSH B SJMP IT-3 PUSH DPH L4:JNB 0DH,IT-4PUSH DPL MOV A,3AHMOV PSW,#08H CJNE A,53H,L5MOV TH0,#3C
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号