以定时/计数器1进行外部事件计数。每计数1000个脉冲后,定时/计数器1转为定时工作方式,定时10ms后,又 5

以定时/计数器1进行外部事件计数。每计数1000个脉冲后,定时/计数器1转为定时工作方式,定时10ms后,又转为计数方式,如此循环。设单片机的晶振频率为6MHz。可以的话... 以定时/计数器1进行外部事件计数。每计数1000个脉冲后,定时/计数器1转为定时工作方式,定时10ms后,又转为计数方式,如此循环。设单片机的晶振频率为6MHz。
可以的话画个流程图,这样会明白一点,另外用汇编语言编程序
展开
 我来答
傲京心2
2019-11-08
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
解:
T1方式0作计数器,计数预装值X = 2^13 - 1000 =7192D =1C18H
TH1←1CH, TL1←18H
机器周期 T = 12/Fosc = 12/(6x10^6) = 2x10^-6s =2μ s
10ms周期对应的计数满值 = 10000μ s/2μ s = 5000
T1方式0作10ms定时器,计数初值 = 2^13 -5000 =3192D = 0C78H
TH1←0CH, TL1←78H
ORG 0000H
AJMP MAIN
ORG 0100H
MAIN: MOV SP, #60H ;;堆栈指针初值
LP0: MOV TMOD, #40H ;;T1方式0作计数器
MOV TH1, #1CH ;;T1计数预装值高8位
MOV TL1, #18H ;;T1计数预装值低8位
SETB TR1 ;;启动T1计数
LP1: JBC TF1, DLAY ;;若T计数溢出,转DLAY延时10ms
SJMP LP1 ;;若T1计数未溢出,继续查询
DLAY: CLR TR1 ;;关闭T1
MOV TMOD, #00H ;;T1改作方式0作定时器
MOV TH1, #0CH ;;T1定时计数预装值高8位
MOV TL1, #78H ;;T1定时计数预装值低8位
SETB TR1 ;;启动T1计数延时
LP2: JBC TF1, LP3 ;;若T1计数延时至10ms,转LP3
SJMP LP2 ;;若T1计数延时未达10ms,继续查询
LP3: CLR TR1 ;;关闭T1
AJMP LP0 ;;转LP0,使T1重新作定时器
END
橆奈1031
2011-04-25
知道答主
回答量:8
采纳率:0%
帮助的人:8.7万
展开全部
俞先锋 好样的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
自信积累
2011-04-20 · TA获得超过101个赞
知道小有建树答主
回答量:168
采纳率:0%
帮助的人:53.1万
展开全部
TMOD与TCON两个寄存器看懂了就会了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式