89c51单片机李朝青版第6章课后习题答案

第6章习题答案
1、定时器模式2有什么特点?适用于什么场合?
答:
(1)  模式2把TL0(或TL1)配置成一个可以自动重装载的8位定时器/计数器。TL0计数溢出时不仅使溢出中断标志位TF0置1,而且还自动把TH0中的内容重新装载到TL0中。TL0用作8位计数器,TH0用以保存初值。
(2)  用于定时工作方式时间(TF0溢出周期)为 ,用于计数工作方式时,最大计数长度(TH0初值=0)为28=256个外部脉冲。
 
这种工作方式可省去用户软件重装初值的语句,并可产生相当精确定时时间,特别适于作串行波特率发生器。
2、单片机内部定时方式产生频率为100KHZ等宽矩形波,假定单片机的晶振频率为12MHZ,
请编程实现。
答:
T0低5位:1BH
T0高8位:FFH
MOV  TMOD,#00H    ;设置定时器T0工作于模式0
MOV  TL0,#1BH      ;设置5ms定时初值
MOV  TH0,#0FFH
SETB    TR0          ;启动T0
LOOP:JBC    TF0,L1        ;查询到定时时间到?时间到转L1
SJMP  LOOP          ;时间未到转LOOP,继续查询
L1:MOV  TL0,#1BH      ;重新置入定时初值
MOV  TH0,#0FFH
CPL  P1.0            ;输出取反,形成等宽矩形波
SJMP  LOOP          ;重复循环
3、89C51定时器有哪几种工作模式?有何区别?
答:有四种工作模式:模式0,模式1,模式2,模式3
(1)  模式0:选择定时器的高8位和低5位组成一个13位定时器/计数器。TL低5位溢出时向TH进位,TH溢出时向中断标志位TF进位,并申请中断。
国民生产总值平减指数
定时时间t=(213-初值)×振荡周期×12;计数长度位213=8192个外部脉冲
绝对式角度编码器(2)  模式1:与模式0的唯一差别是寄存器TH和TL以全部16位参与操作。定时时间t=(216-初值)×振荡周期×12;计数长度位216=65536个外部脉冲
555集成块(3)  模式2:把TL0和TL1配置成一个自动重装载的8位定时器/计数器。TL用作8位计数
器,TH用以保存初值。TL计数溢出时不仅使TF0置1,而且还自动将TH中的内容重新装载到TL中。麦克风门
定时时间t=(28-初值)×振荡周期×12;计数长度位28=256个外部脉冲
(4)  模式3:对T0和T1不大相同
若设T0位模式3,TL0和TH0被分为两个相互独立的8位计数器。TL0为8位计数器,功能与模式0和模式1相同,可定时可计数。
TH0仅用作简单的内部定时功能,它占用了定时器T1的控制位TR1和中断标志位TF1,启动和关闭仅受TR1控制。
定时器T1无工作模式3,但T0在工作模式3时T1仍可设置为0~2。
4、89C51内部设有几个定时器/计数器?它们是由哪些特殊功能寄存器组成?
答:89C51单片机内有两个16位定时器/计数器,即T0和T1。
T0由两个8位特殊功能寄存器TH0和TL0组成;T1由TH1和TL1组成。
5、定时器用作定时器时,其定时时间与哪些因素有关?作计数器时,对外界计数频率有何限制?
答:定时时间与定时器的工作模式,初值及振荡周期有关。
作计数器时对外界计数频率要求最高为机器振荡频率的1/24。
6、简述定时器4种工作模式的特点,如何选择设定?
答:
(1)  模式0:选择定时器的高8位和低5位组成一个13位定时器/计数器。TL低5位溢出时向TH进位,TH溢出时向中断标志位TF进位,并申请中断。
定时时间t=(213-初值)×振荡周期×12;计数长度位213=8192个外部脉冲
置TMOD中的M1M0为00
(2)  模式1:与模式0的唯一差别是寄存器TH和TL以全部16位参与操作。定时时间t=(216-初值)×振荡周期×12;计数长度位216=65536个外部脉冲
置TMOD中的M1M0为01
(3)  模式2:把TL0和TL1配置成一个自动重装载的8位定时器/计数器。TL用作8位计数器,TH用以保存初值。TL计数溢出时不仅使TF0置1,而且还自动将TH中的内容重新装载到TL中。
定时时间t=(28-初值)×振荡周期×12;计数长度位28=256个外部脉冲
置TMOD中的M1M0为10
(4)  模式3:对T0和T1不大相同
若设T0位模式3,TL0和TH0被分为两个相互独立的8位计数器。TL0为8位计数器,功能与模式0和模式1相同,可定时可计数。
TH0仅用作简单的内部定时功能,它占用了定时器T1的控制位TR1和中断标志位TF1,启动和关闭仅受TR1控制。
定时器T1无工作模式3,但T0在工作模式3时T1仍可设置为0~2。
置TMOD中的M1M0为11
7、当T0用作模式3时,由于TR1已被T0占用,如何控制T1的开启和关闭?
答:用T1控制位C/T切换定时器或计数器工作方式就可以使T1运行。定时器T1无工作模式3,将T1设置为工作模式3,就会使T1立即停止计数,关闭。
8、以定时器/计数器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,继续查询
9、一个定时器定时时间有限,如何实现两个定时器的串行定时以满足较长定时时间的要求?
答:当一个定时器溢出时,设置另一个定时器的初值为0开始定时。
10、使用一个定时器,如何通过软硬件结合方法实现较长时间的定时?
答:设定好定时器的定时时间,采用中断方式用软件设置计数次数,进行溢出次数累计,从而得到较长的时间。
11、89C51定时器作定时和计数时其计数脉冲分别由谁提供?
答:作定时器时计数脉冲由89C51片内振荡器输出经12分频后的脉冲提供,作计数时计数脉冲由外部信号通过引脚P3.4和P3.5提供。
12、89C51定时器的门控信号GATE设置为1时定时器如何启动?
答:只有 (或 )引脚为高电平且由软件使TR0(或TR1)置1时,才能启动定时器工作。
13、已知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,继续查询
 
14、已知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
SJMP  LOOP          ;时间未到,转LOOP,继续查询
L1:CPL  P1.1            ;P1.1输出取反,形成周期为500μs
CLR    TR1            ;关闭T1
DJNZ  R2,L2      ;“250μs”计数器减1,到1ms吗?未到转L2
CPL  P1.0            ;P1.0输出取反,形成周期为2ms方波
MOV  R2,#04H    ;重置“250μs”计数器初值4
LJMP  L2          ;重复循环
 
15、单片机8031的时钟频率为6MHz,若要求定时值分别为0.1ms,1ms,10ms,定时器0工作在模式0、模式1和模式2时,其定时器初值各应是多少?
解:
(1)  0.1ms

本文发布于:2024-09-23 16:22:47,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/333838.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:计数   模式   时间   工作   计数器
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议