TMOD(89H)
其中低4位定义定时器/计数器0,高4位定义定时器/计数器1,对应功能相同。各位定义功能如下: M1M0为操作方式选择位,其定义方式如下: M1M0 操作方式 功能说明 0 0 方式0 13位计数器 0 1 方式1 16位计数器 1 0 方式2 自动再装入的8位计数器 1 1 方式3 仅将定时器/计数器0分成两个8位计数器。定时器/计数器1无效(停止计数) (1) M1和M0工作方式控制位 M0和M1为工作方式控制位,确定4种工作方式。 (2) C/T定时器/计数器方式选择位 C/T=0,设置为定时方式,对机器周期进行计数; C/T=1,设定为计数方式,对外部信号进行计数,外部信号接至T0(P3.4)或T (P3.5)引脚。 (3) GATE门控位 GATE=0时,只要用软件使TR0(或TR1)置1就能启动定时器T0(或T1); GATE=1时,只有在INT0(或INT1)引脚为高电平的情况下,且由软件使TR0(或TR1)置1时,才能启动定时器T0(或T1)工作。 经过上面寄存器的介绍设置中断控制方式,中断响应是对中断源提出的中断请求的接受,是在中断查询之后进行的,当查询到有效的中断请求时,紧接着就进行中断响应。中断响应的主要是由硬件自动生成一条长调用指令LCALL。生成完LCALL指令后,紧接着就由CPU执行。首先将程序计数器PC的内容压入堆栈以保护断点,再将中断入口地址装入PC,使程序执行转向相应的中断区入口地址。但各中断区只有8个单元。一般情况下难以安排下一个完整的中断服务程序。因此通常总是在各个中断区入口地址放置一条无条件转移指令,使程序执行转向在其他地址存放的中断服务程序。
设计控制程序 状态流程图 根据定时控制要求设计按键检测,秒减1中断,动态显示状态流程图以便下面程序编写,
(按键检测流程图) (动态显示流程图) 主程序 根据状态流程图设计编写程序 ORG 0000H AJMP MAIN ORG 000BH AJMP D0 ORG 001BH AJMP D1 ORG 0030H MAIN:MOV TMOD,#11H MOV TH0,#3CH MOV TL0,#0B0H MOV TH1,#0ECH MOV TL1,#78H MOV IE,#8AH MOV 30H,#70H MOV 31H,#00H MOV R0,#40H MOV R3,#04H MOV R2,#0FEH MOV R7,#14H SETB TR1 CLR 00H W3:MOV A,30H MOV DPTR,#TAB ANL A,#0FH MOVC A,@A+DPTR MOV 40H,A MOV A,30H SWAP A MOV DPTR,#TAB ANL A,#0FH MOVC A,@A+DPTR MOV 41H,A MOV A,31H MOV DPTR,#TAB ANL A,#0FH MOVC A,@A+DPTR MOV 42H,A MOV A,31H SWAP A MOV DPTR,#TAB ANL A,#0FH MOVC A,@A+DPTR M
首页 上一页 1 2 3 4 5 6 下一页 尾页 4/6/6