- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 6 章
1.8051单片机内设有几个可编程的定时器/计数器?它们有几种工作方式,如何选择和设定?(作为定时器或计数器应用时,它们的波特率各为多少 ???提法错)
答:
① 两个可编程的定时器/计数器T1、T0。
② 4种工作方式(方式0-方式3);
特殊功能寄存器TMOD中的M1、M0 — 工作方式选择位
M1 M0 工 作 方 式
0 0 方式0,13位定时器/计数器。
0 1 方式1,16位定时器/计数器。
1 0 方式2,8位常数自动重新装载
1 1 方式3,仅适用于T0,T0分成两个8 位计数器,T1停止计数。
2. 定时器/计数器作为定时器用时?其定时时间与哪些因素有关?作计数器用时,对外界计数频率有何限制?
答:作为定时器用时,定时时间与计数初值和工作方式有关;
作为计数器用时,要求外部计数脉冲的最高频率为系统振荡器频率的1/24(两个振荡周期),例如选用12MHz频率的晶体,则可输入500KHz的外部脉冲。
(或解释为:输入信号的高、低电平至少要保持一个机器周期。)
3.单片机的晶振频率为6MHz,若使用T0产生500μs定时,可以采用哪几种定时方式?分别写出定时器的方式控制字和计数初值。
答:晶振频率为6MHz,机器周期则为2μs。 计数个数为:500μs/2μs = 250
方式0~3都可以;
方式控制字寄存器TMOD设置如下:
方式0: MOV TMOD,#00H ;
MOV TH0,#0F8H
MOV TL0,#06H ;初值=8192-250=7942 = 00110B
方式1: MOV TMOD,#01H ;
MOV TH0,# 0FFH
MOV TL0,#06H ;初值=65536-250=65286= 0FF 06H
方式2: MOV TMOD,#02H ;
MOV TH0,#00H
MOV TL0,#06H ;初值=256-250=6= 00 06H
方式3: MOV TMOD,#03H ;
MOV TL0,#06H ;初值=256-250=6= 00 06H
4. 某一8051单片机系统,晶振频率为6MHz,现要从单片机的P1.7引脚输出一个连续的5Hz方波信号,请编写程序。
答:
频率5Hz,周期为0.2s。相当于使P1.7引脚0.1s输出状态改变一次。晶振频率为6MHz,一个机器周期为2μs。对机器周期计数个数250×200 =50000,相当50000×2μs = 0.1s 。
LEDBUF BIT 20H
ORG 00H
LJMP START
ORG 0BH ;T0中断的入口地址
T0INT : PUSH PSW
DJNZ R7, EXIT
MOV R7,#250
CPL LEDBUF ;T0溢出中断250次,取反LEDBUF一次
EXIT : POP PSW
RETI
START: MOV TMOD,#02H ;T0 方式2
MOV TH0,#56
MOV TL0,#56 ;8位,初值自动装入,计数200次
MOV IE, ; EA=1 ,IT0=1
SETB TR0 ; 启动计数
CLR LEDBUF
CLR P1.7
MOV R7,#250 ;250*200=50000
LOOP : MOV C,LEDBUF
MOV P1.7,C
LJMP LOOP
END
5. 某单片机系统,时钟频率为12MHz,定时器/计数器T0用于20ms定时,T1用于100次计数,两者均要求重复工作,问:
(1) 外部计数脉冲应从何引脚输入?
(2) 试编写达到上述要求的程序。
(3) 利用定时器/计数器T0、T1编写延时2s的程序。( 100×20ms = 2s )
答:
(1) 外部计数脉冲应从P3.5(T1)引脚输入;
(2) 时钟频率为12MHz,机器周期为
文档评论(0)