工作。在掉电模式下保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,知道下一个硬件复位为止。
4系统程序的设计
41主程序
本设计中,计时采用定时器TO中断完成,其余状态循环条用显示子程序,当端口开关按下时,转入响应功能程序。其主程序执行流程见图41。在“键按下?”中先去抖动查有没有键按下,有的话是哪个键?再根据不同的键进入不同的功能程序。
9
f图41主程序执行流程图
42显示子程序
从PO口输出,P2口将对应的数码管选中供电,就能显示地址单元的数据值。1S定时有硬件定时和软件定时两种。由于软件定时浪费CPU的资源,在很多的地方都不大用。相比之下,硬件定时他不浪费CPU资源,且定时准确,使用方便,因此得到了广泛的使用。加1子程序
MOVasetuadda,91hdaaa
la,0fhmovset0,aaddca,90h
10
fda
a
a
la,0fhmovset2amovaset3addca90hdaaa
la0fhmovset3amovaset4addca90hdaaa
la0fhmovset4amovaset5addca90hDaaa
la0fhmovset5aRet
43定时器TO中断服务程序
定时器TO用于时间及时。定时溢出周期可分别设为01MS中断进入后,先判断是时钟计时还是秒表计时,时钟计时累计中断1次时,对秒表计数单元进行加1操作,秒表计时没00001S进行加1操作。最大计时值为99秒。在计数单元在计数单元中采用十进制BCD码计数,满60进位,TO中断服务程序流程图如4212M晶振:因为12M晶振的一个机器周期定时为1US,而6M晶振的一个机器周期定时为2US故而用12M晶振来的精确点。工作方式0(十三位计数定时):由THO的高八位和TLO的低五位构成。在方式0下,若为技术工作,则计数值的范围为:18192(213)工作方式1(十六方式计数方式时):由THI的高八位和THL的第八位构成。在方式1下,若为计数工作,则计数值范围为166636(216)两种方式比较起来方式1计数范围比较广
11
f图42TO中断服务程序流程图TO中断入口程序:TOOPUSHACCPUSHPSWCLRTR1lcallk1MOVTH1,0ffhMOVTL1,9ChSETRTR1POPPSWPOPACCRETI
44条形码的定义
由于系统LED显示器使用的是共阴极的显示器,而显示器不能直接识别十
12
f进制和别的进制,他这样根据给定的字行码进行显示,有了十进制的字行码,就能实现十进制通过编译然后再LED显示器上显示,准确无误。字行码程序清单如下:ORG0030HTABDB7Bh,41h,37h,67h,4Dh,6Eh,7Eh,43h,7Fh,6Fh
5调试
根据方案设计的要求,调试过程共分三大部分:硬件调试、软件调试和硬件联调。电路按模块调试,各模块逐个调试通过之后再联调。单片机软件r