单片机原理及接口技术考试必备复习资料(4)

2020-11-28 23:52

TR1已被T0占用,如何控制T1的开启和关闭?答:用T1控制位C/T切换定时器或计数器工作方式就可以使T1运行。定时器T1无工作模式3,将T1设置为工作模式3,就会使T1立即停止计数,关闭。以定时器/计数器1进行外部时间计数,每计数1000个脉冲后,定时器/计数器1转为定时工作方式,定时10ms后又转为计数方式,如此循环不止。假定 为6WHZ,用模式1编程。

解:T1为定时器时初值:

T1为计数器时初值:

所以:

L1:MOV TMOD,#50H ;设置T1为计数方式且工作模式为1

MOV TH1,#0FCH ;置入计数初值

MOV TL1,#18H

SETB TR1 ;启动T1计数器

LOOP1:JBC TF1,L2 ;查询计数溢出?有溢出(计数满1000个)转L2

SJMP LOOP1 ;无溢出转LOOP1,继续查询

L2:CLR TR1 ;关闭T1

MOV TMOD,#10H ;设置T1为定时方式且工作与模式1

MOV TH1,#0ECH ;置入定时10ms初值

MOV TL1,#78H

SETB TR1 ;启动T1定时

LOOP2:JBC TF1,L1;查询10ms时间到?时间到,转L1

SJMP LOOP2 ;时间未到,转LOOP2,继续查询

使用一个定时器,如何通过软硬件结合方法实现较长时间的定时答:设定好定时器的定时时间,采用中断方式用软件设置计数次数,进行溢出次数累计,从而得到较长的时间。已知89C51单片机的fosc=6MHz, 请利用T0和P1.0输出矩形波。矩形波高电平宽50μs,低电平宽300μs。

解:T0采用模式2作为50μs定时时的初值:

所以 作300μs定时时的初值:

MOV TMOD,#02H ;设置定时器T0工作于模式2

L2:CLR P1.0 ;P1.0输出低电平

MOV TH0,#6AH ;置入定时300μs初值

MOV TL0,#6AH

SETB TR0 ;启动T0

LOOP1:JBC TF0,L1;查询300μs时间到?时间到,转L1

SJMP LOOP1 ;时间未到,转LOOP1,继续查询

L1:SETB P1.0 ;P1.0输出高电平

CLR TR0 ;关闭T0

MOV TH0,#0E7H ;置入定时300μs初值

MOV TL0,# 0E7H

SETB TR0 ; 启动T0

LOOP2:JBC TF0,L2 ;查询50μs时间到?时间到,转L2

SJMP LOOP2 ;时间未到,转LOOP2,继续查询

已知89C51单片机的fosc=12MHz, 用T1定时。试编程由P1.0和P1.1引脚分别输出周期为 2ms和500μs的方波。解:采用模式0作 定时初值: MOV R2,#04H ;R2为“250μs”计数器,置入初值4

CLR P1.0 ;P1.0输出低电平

CLR P1.1 ;P1.1输出低电平

MOV TMOD,#00H

L2:MOV TH1,#0F8H ;置入定时250μs初值

MOV TL1,#06H

SETB TR1 ;启动T1

LOOP:JBC TF1,L1 ;查询250μs时间到?时间到,转L1


单片机原理及接口技术考试必备复习资料(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:幼儿园大班或小学一年级拼音

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: