采用定时器/计数器T0对外部脉冲进行计数,每计数100个脉冲后,T0转为定时工作方式.定时1ms后,又转为计数
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/03 08:28:58
采用定时器/计数器T0对外部脉冲进行计数,每计数100个脉冲后,T0转为定时工作方式.定时1ms后,又转为计数
ORG 0000H
AJMP MAIN
ORG 000BH
AJMP IT0P
MAIN:mov TMOD,#06H; 程序的初始化(TMOD IE TCON特殊功能寄存器的设置初始化)
mov TL0,#156H
mov TH0,#156H
SETB EA
SETB ET0
SETB TR0
CLR F0 ;设置下一轮为定时方式的标志位
WAIT:AJMP WAIT
IT0P:CLR EA ;CPU关闭中断
JB F0,EXTN1 ;F0=1转计数工作模式
mov TMOD,#00H
mov TL0,#ocH
mov TH0#0feH
SETB EA
RETI
EXTN1:mov TMOD,#06H
mov TL0,#156H
mov TH0,#156H
SETB EA
RETI
这是书上给出的答案,但这样并没有实现自动转换,要手动置F0的值才能转吧,怎么自动呢?
ORG 0000H
AJMP MAIN
ORG 000BH
AJMP IT0P
MAIN:mov TMOD,#06H; 程序的初始化(TMOD IE TCON特殊功能寄存器的设置初始化)
mov TL0,#156H
mov TH0,#156H
SETB EA
SETB ET0
SETB TR0
CLR F0 ;设置下一轮为定时方式的标志位
WAIT:AJMP WAIT
IT0P:CLR EA ;CPU关闭中断
JB F0,EXTN1 ;F0=1转计数工作模式
mov TMOD,#00H
mov TL0,#ocH
mov TH0#0feH
SETB EA
RETI
EXTN1:mov TMOD,#06H
mov TL0,#156H
mov TH0,#156H
SETB EA
RETI
这是书上给出的答案,但这样并没有实现自动转换,要手动置F0的值才能转吧,怎么自动呢?
ORG 0000H
AJMP MAIN
ORG 000BH
AJMP IT0P
MAIN:mov TMOD,#06H; 程序的初始化(TMOD IE TCON特殊功能寄存器的设置初始化)
mov TL0,#156H
mov TH0,#156H
SETB EA
SETB ET0
SETB TR0
MOV R1,#00H ;清空计数器
CLR F0 ;设置下一轮为定时方式的标志位
WAIT:AJMP WAIT
IT0P:CLR EA ;CPU关闭中断
JB F0,EXTN1 ;F0=1转计数工作模式
SETB F0
mov TMOD,#00H
mov TL0,#ocH
mov TH0#0feH
SETB EA
RETI
EXTN1:
INC R1 ;计数器加1
MOV A,R1
CJNE A,#64H,EXTN2 ;计数是否到100
CLR F0 ;开启计时标志
MOV R1,#00H
EXTN2:
mov TMOD,#06H
mov TL0,#156H
mov TH0,#156H
SETB EA
RETI
AJMP MAIN
ORG 000BH
AJMP IT0P
MAIN:mov TMOD,#06H; 程序的初始化(TMOD IE TCON特殊功能寄存器的设置初始化)
mov TL0,#156H
mov TH0,#156H
SETB EA
SETB ET0
SETB TR0
MOV R1,#00H ;清空计数器
CLR F0 ;设置下一轮为定时方式的标志位
WAIT:AJMP WAIT
IT0P:CLR EA ;CPU关闭中断
JB F0,EXTN1 ;F0=1转计数工作模式
SETB F0
mov TMOD,#00H
mov TL0,#ocH
mov TH0#0feH
SETB EA
RETI
EXTN1:
INC R1 ;计数器加1
MOV A,R1
CJNE A,#64H,EXTN2 ;计数是否到100
CLR F0 ;开启计时标志
MOV R1,#00H
EXTN2:
mov TMOD,#06H
mov TL0,#156H
mov TH0,#156H
SETB EA
RETI
1、利用8XX51单片机的T0计数,每计10个脉冲,P1.0变反一次,用查询和中断两种方式编程.
MCS-51单片机定时器/计数器作定时和计数作用时,其计算脉冲分别由谁提供?其定时时间与哪些因素有关?
51计数器问题我打算用51的T0计数器计算脉冲数量,在P1口显示脉冲的数目从0开始计数,请教一下这个程序要怎么写.试了好
若8051的晶振频率为12MHZ,定时器/计数器T0工作方式2(8位自动重新装载定时器/计数器),要求产生0.1ms,
p1口接有8个发光二极管,编程使8个管轮流点亮,每个管亮100ms,采用定时器T0方式1,设晶振频率6MHz.用C语言
定时器电路图555多谐振荡器产生脉冲宽度100ms,计数器是74161,定时时间可调(1min,2min);定时时间到,
设计一个计数器,输入计数脉冲和清零信号,输出2位16进制计数值.计数器的计数规律如下:清零信号有效时输
高数计数器器251有一程序 用高数计数器对编码脉冲信号计数 作限位控制正反转 现在我不想用限位控制 我想把ab脉冲 与p
光电计数器工作原理光电计数器计数时是高压计数还是低压计数
51单片机定时计数器工作方式疑点
具有倒计数显示功能的定时开关电路设计
利用定时/计数器T0从P1.0输出周期为1s的方波,让发光二极管以1HZ闪烁,设晶振频率为12MHz.