采用查询方法 ORG 0100H START: MOV TL0,#0CH;装初值 MOV THO,#0FOH SETB TRO LOOP: JBC TF0,PTF0;用软件清TF0 AJMP LOOP PTFO: MOV TLO,#OCH MOV THO,#OFOH CPL P1.0 AJMP LOOP END
采用查询方法 ORG 0100H START: MOV TL0, #0CH; 装初值 MOV TH0, #0F0H SETB TR0 LOOP: JBC TF0, PTF0 ; 用软件清TF0 AJMP LOOP PTF0: MOV TL0, #0CH MOV TH0, #0F0H CPL P1.0 AJMP LOOP END
采用中断方式 ORG 0000H AJMP MAIN ORG 000BH ;T/C0中断服务程序入口地址 AJMP TOINT ORG 0100H MAIN: MOV SP,#60H MOV TLO,#0CH ;装初值 MOV THO,#0FOH MOV IE,#82H;#1 KXX XX1XB,允许T0溢出中断 SETB TRO 0●0 ORG 0200H;中断服务程序 TOINT: CPL P1.0 MOV TLO,#0CH MOV THO,#0FOH RETI END
采用中断方式 ORG 0000H AJMP MAIN ORG 000BH ;T/C0中断服务程序入口地址 AJMP T0INT ORG 0200 H ;中断服务程序 T0INT: CPL P1.0 MOV TL0, #0CH MOV TH0, #0F0H RETI END ORG 0100H MAIN: MOV SP, #60H MOV TL0, #0CH ;装初值 MOV TH0, #0F0H MOV IE , #82H ; #1XXX XX1XB, 允许T0溢出中断 SETB TR0 …
方式1 MO 振荡器 ÷12 C/T=0 Ml 0 THO 中断 (8位) (8位) TFO C/T T0引脚 G/T=1 TRO GATE 控制 B NT引脚
方式 1
定时器工作方式1 ■应用T/C0方式1产生1s定时 设晶振为12MHz (1)确定T/C0的工作方式 方式1最大定时:216×1us=65.536ms 若要定时1秒,设定时器每隔20ms中断一 次,连续中断50次,可产生1秒定时 (2)计算定时初值 定时器初值:X (216-X)X1us=20ms X=45536 X-0B1 EOH THO-OB1H TLO-OEOH
定时器工作方式 定时器工作方式 1 应用T/C0方式 1产生 1 s定时 设晶振为12MHz ( 2)计算定时初值 )计算定时初值 定时器初值: X ( 216 - X)×1us = 20ms X=45536 X=0B1 E0 H TH0=0B1H TL0=0E0 H 方式 1最大定时: 216 × 1us =65.536ms 65.536ms 若要定时 1秒,设定时器每隔 秒,设定时器每隔20ms中断一 次,连续中断50次,可产生 1秒定时 ( 1)确定T/C0的工作方式
采用中断方式 ORG 0000H AJMP MAIN ORG 000BH AJMP TOPO ORG 0030H MAIN: MOV SP.#60H MOV TMOD,#01H MOV TLO.#OEOH MOV THO,#0B1H SETB EA SETB ETO SETB TRO MOV R2,32H;软件计数器 CLR 20H ;设一标志位20H=01秒未到 9 20H=11秒到
采用中断方式 ORG 0000H AJMP MAIN ORG 000BH AJMP T0P0 ORG 0030H MAIN: MOV SP, #60H MOV TMOD, #01H MOV TL0, #0E0H MOV TH0, #0B1H SETB EA SETB ET0 SETB TR0 MOV R2 , #32H;软件计数器 CLR 20H ;设一标志位20H=0 1秒未到 ; 20H=1 1秒到