基于单片机控制的多功能计时器系统的设计与实现毕业设计(编辑修改稿)内容摘要:
位,需加以识别。 硬件复位与软件复位的识别 此处硬件复位指开机复位与看门狗复位,硬件复位对寄存器有影响,如复位后 PC=0000H, SP= 07H, PSW= 00H 等。 而软件复位则对 SP、 SPW 无影响。 故对于微机测控系统 ,当程序正常运行时,将 SP 设置地址大于 07H,或者将 PSW 的第 5 位用户标志位在系统正常运行时设为 1。 那么系统复位时只需检测 标志位或 SP值便可判此是否硬件复位。 图 12 是采用 作上电标志位判别硬、软件复位的程序流程图。 基于单片机控制的多功能计时器系统的设计与实现 17 图 12 硬、软件复位识别流程图 此外,由于硬件复位时片内 RAM 状态是随机的,而软件复位片内 RAM 则可保持 复位前状态,因此可选取片内某一个或两个单元作为上电标志。 设 40H 用来做上电标志,上电标志字为 78H,若系统复位后 40H 单元内容不等于 78H,则认为是硬件复位,否则认为是软件复位,转向出错处理。 若用两个单元作上电标志,则这种判别方法的可靠性更高。 开机复位与看门狗故障复位的识别 开机复位与看门狗故障复位因同属硬件复位, 所以要想予以正确识别,一般要借助非易失性 RAM 或者 EEROM。 当系统正常运行时,设置一可掉电保护的观测单元。 当系统正常运行时,在定时喂狗的中断服务程序中使该观测 单元保持正常值(设为 AAH),而在主程中将该单元清零,因观测单元掉电可保护,则开机时通过检测该单元是否为正常值可判断是否看门狗复位。 正常开机复位与非正常开机复位的识别 识别测控 系统中 因意 外情况 如系 统掉电 等情 况引起 的开机复位与正常开机复位,对于过程控制系统尤为重要。 如某以时间为控制标准的测控系统,完成一次测控任务需 1 小时。 在已执行测控50 分钟的情况下,系统电压异常引起复位,此时若系统复位后又从头开始进行测控则会造成不必要的时间消耗。 因此可通过一监测单元对当前系统的运行状态、系 统时间予以监控,将控制过程分解为若干步或若干时间段,每执行完一步或每运行一个时间段则对监测单元置 为关 机允许 值,不 同的 任务或 任务的 不同 阶段有 不同的值,若系统正在进行测控任务或正在执某时间段,则将监测单元置为非正常关机值。 那么系统复位后可据此单元判系统原来的运行状基于单片机控制的多功能计时器系统的设计与实现 18 态,并跳到出错处理程序中恢复系统原运行状态。 非正常复位后系统自恢复运行的程序设计 对顺序要求严格的一些过程控制系统,系统非正常复位否,一般都要求从失控的那一个模块或任务恢复运行。 所以测控系统要作好重要数据单元、参数的备份,如系 统运行状态、系统的进程值、当前输入、输出的值,当前时钟值、观测单元值等,这些数据既要定时备份,同时若有修改也应立即予以备份。 当在已判别出系统非正常复位的情况下,先要恢复一些必要的系统数据,如显示模块的初始化、片外扩展芯片的初始化等。 其次再对测控系包括显示界面等的恢复。 之后再把复位前的任务、参数、运行时间等恢复, 再进入系统运行状态。 应当说明的是,真实地恢复系统的运行状态需 要极为细致地对系统的重要数据予以备份,并加以数据可靠性检查,以保证恢复的数据的可靠性。 其次,对多任务、多 进程测控系统,数据的恢复需考虑恢复的次序问题,笔者实际应用的数据恢复过程流程图如图 13 所示。 统的系统状态、运行参数等予以恢复, 图 13 系统自恢复程序流程图 图中恢复系统基本数据是指取出备份的数据覆盖当前的系统数据。 系统基本初始化是指对芯片、显示、输入输出方式等进行初始化,要注意输入输出的初始化不应造成误动作。 而复位前任务的初始化是指 任务的执行状态、运行时间等。 3 结束语 对于软件抗干扰的一些其它常用方法如数字滤波、 RAM 数据保护与纠错等,限于篇幅,本文未作讨论。 在工程实践中通常都是几种抗干扰方法并用,互相补充完善,才能取得较好的抗干扰效果。 从根本上来说,硬件抗干扰是主动的,而软件是抗干扰是被动的。 基于单片机控制的多功能计时器系统的设计与实现 19 细致周到地分析干扰源,硬件与软件抗干扰相结合,完善系统监控程序,设计一稳定可靠的单片机系统是完全可行的。 4 .4 性能分析 按照设计程序分析,LED显示器动态扫描的频率约为167H z,实际使用观察时完全没有闪烁。 由于计 时中断程序中加了中断延时误差处理,所以实际计时的走时精度非常高,可满足多种场合的应用需要;另外上电时的班级、学号、制作日期滚动显示可以方便学生设计作业的辩认区别。 系统程序清单 中断入口程序 主程序 1s计时程序 T0中断服务程序 秒表计时程序 闪动调时程序 T1中断服务程序,用作时间调整时调整单元闪烁指示 加 1子程序 分减 1子程序 时减 1子程序 清 0程序 时钟调整程序 显示程序 ST子程序,上电时显示年月班级用,采用移动显示 延时程序 控制源程序清单 以下是秒表/时钟计时器的控制源程序 AT89C51 秒表 /时钟程序 定时器T0、T1溢出周期为50 ms(10 ms) ,T0 为调整时闪烁用,P 、 、 为调整按钮,P0口为字符输出口,采用共阳显示管。 中断入口程序 ORG 0000H 程序执行开始地址 LJMP START 跳到标号 START 执行 ORG 0003H 驶 外中断0中断程序入口 RETI 外中断0中断返回 ORG 000BH 定时器 T0 中断程序入口 LJMP INTT0 跳至 INTT0 执 行 基于单片机控制的多功能计时器系统的设计与实现 20 ORG 0013H 外中断1中断程序入口 RETI 外断1中断返回 ORG 001BH 定时器 T1 中断程序入口 LJMP INTT1 跳至 INTT1 执行 ORG 0023H 串行中断程序入口地址 RETI 串行中断程序返回 主程序 START: LCALL ST 上电显示年月日及班级学号 MOV R0, 70H 清 70H~ 7AH 共 11 个内存单元 MOV R7, 0BH Cldisp: MOV @R0, 00h INC R0 DJNZ R7,CLdisp MOV 20H,00H 清 20H(标志用) MOV 7AH,0AH 放入 “ 熄灭 符 ” 数据 MOV TMOD,11H 设 T T1 为 16 时器 MOV TL0,0B0H 50 定时初值(T0计时用 ) MOV TH0,3CH 50 定时初值 MOV TL1,0B0H 50ms 定时初值( T1内烁定时用) MOV TH1,3CH 50ms 定时初值 SETB EA 总中断开放 SETB ET0 允许 T0 中断 SETB TR0 开启 T0 定时器 MOV R4,14H 1s 定时用初值( 50msX20) START1: LCALL DISPLAY 调用 显示 子 程序 JNB ,SETMM1 口为 0 时,转时间调整程序 JNB ,FUNSS 秒表功能, 按键调时时作减 1 操作 JNB ,FUNPT STOP,PUSE,CLR SJMP START1 口为 1 时跳回 START1 SETMM1: LJMP SETMM 转到时间 调整程序 SETMM FUNSS: LCALL DS20MS JB ,start1 基于单片机控制的多功能计时器系统的设计与实现 21 WAIT11: JNB ,WAIT11 CPL 03H MOV 70H,00H MOV 71H,00H MOV 76H,00H MOV 77H,00H MOV 78H,00H MOV 79H,00H AJMP START1 FUNPT: LCALL DS20MS JB ,START1 WAIT22: JNB ,WAIT21 CLR ET0 CLR TR0 WAIT33: JB ,WAIT31 LCALL DS20MS JB ,WAIT33 WAIT66: JNB ,WAIT61 MOV R0,70H 清 70H~ 79H 共10 个内存单元 MOV R7,0AH CLEARP: MOV @R0,00H INC R0 DJNZ R7,CLEARP WAIT44: JB ,WAIT41 LCALL DS20MS JB ,WAIT44 WAIT55: JNB ,WAIT51 SETB ET0 SETB TR0 AjmP START1 WAIT21: LCALL DISPLAY AJMP WAIT22 WAIT31: LCALL DISPLAY AJMP WAIT33 wait41: lcall display ajmp wait44 WAIT51: LCALL DISPLAY AJMP WAIT55 WAIT61: LCALL DISPLAY AJMP WAIT66。 1s 计时程序 T0 中断服务程序 INTT0: PUSH ACC 累加器入栈保护 基于单片机控制的多功能计时器系统的设计与实现 22 PUSH PSW 状态字入栈保护 CLR ET0 关 T0 中断允许 CLR TR0 关闭定器 T0 JB 03H,FSS 标志为 1 转秒表处理程序( 10ms 定时) MOV A,0B7H 中断响应时间同步修正 ADD A,TL0 低 8 位初值修正 MOV TL0,A 重装初值(低 8 位修正值) MOV A,3CH 高 8 位初值修正 ADDC A,TH0 MOV TH0,A 重装初值(高 8 位修正值) SETB TR0 开启定时器 T0 DJNZ R4,OUTT0 20 次中断未到中断退出 ADDSS: MOV R4,14H 20 次中断到( 1s)重赋初值 MOV R0,71H 指 向 秒 计 时 单 元( 71H~79H) ACALL ADD1 调用加 1 程序(加 1s 操作) MOV A,R3 秒数据放入 A( R3 为 2 位十进制数组合) CLR C 清进位标志 CJNE A,60H,ADDMM。基于单片机控制的多功能计时器系统的设计与实现毕业设计(编辑修改稿)
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。