- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
三、串行接口专用寄存器 1.串行接口控制寄存器SCON。 串行接口控制寄存器控制串行接口的工作方式、数据的接收和发送以及串行接口的状态标志。可以进行位寻址。 SCON(98H) SM0 SM1 SM2 REN TB8 RB8 TI RI GATE:门控位。 :计数器、定时器方式选择位。 M1、M0:定时器/计数器方式选择位。 其选择方式如表5.1所示。 M1 M0 工 作 方 式 功 能 描 述 0 0 0 13位计数器 0 1 1 16位计数器 1 0 2 自动重装入初值的8位计数器 1 1 3 T0:分成两个8位计数器;T1:停止计数 表5.1 定时器/计数器工作方式选择 2.定时器/计数器控制寄存器TCON。 TCON(88H) TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 TF1:前面中断中已提到,TF1是定时器/计数器1的中断溢出标志位。当定时器/计数器1计满溢出时,TF1?=?1。 TR1:定时器/计数器1运行控制位。当TR1?=?1时,启动T1运行。 工作原理参见图5.2。 TF0:前面中断中已提到,TF0是定时器/计数器0的中断溢出标志位。当定时器/计数器0计满溢出时,TF1?=?0。 TR0:定时器/计数器1运行控制位。当TR0?=?1时,启动T0运行。 工作原理参见图5.2。 IE1、IE0:外部中断1和外部中断0的溢出标志位。见前所述。 IT1、IT0:外部中断1和外部中断0的触发方式选择位。见前所述。 四、定时器/计数器的初始化 1.定时器/计数器初值设置方法。 工作方式0: 。 工作方式1: 。 工作方式2: 。 工作方式3:定时器0分成两个8位计数器,所以 。 【例5.1】 单片机系统晶振频率为12MHz,T0工作方式1。需设计一个50ms定时器,请计算定时器初值。 解:T机?=?12?×?Tosc?=?12?×?1/12?=?1μs 所以 化成16进制数为(15?536)D?=?(3CB0)H 2.编写定时器/计数器初始化程序。 设置工作方式寄存器TMOD、赋初值、启动定时器/计数器三个内容,指令如下: MOV TMOD,#××××H ;设置定时器/计数器工作方式 MOV TL×,#××××H ;给计数器赋初值 MOV TH×,#××××H SETB TR× ;启动定时器/计数器 如用中断方式编写程序,除了考虑以上指令外,还要增加开中断指令: MOV TMOD,#××××H ;设置定时器/计数器工作方式 MOV TL×,#××××H ;给计数器赋初值 MOV TH×,#××××H SETB ET× ;开定时器/计数器中断 SETB EA ;开定时器总允许位 SETB TR× ;启动定时器/计数器 5.2.2 定时器/计数器的应用 一、定时器/计数器工作方式0的应用 【例5.2】 用定时器T0工作方式0编程,在P1.1引脚上产生周期为2ms方波输出。系统晶振频率为12MHz。 ORG 0000H AJMP START ORG 000BH AJMP ZDD ORG 0030H START: MOV SP,#60H MOV TMOD,#00H MOV TL0,#18H MOV TH0,#0E0H SETB ET0 SETB EA SETB TR0 SJMP $ ZDD: CLR TR0 CLR ET0 MOV TL0,#18H MOV TH0,#0E0H CPL P1.1 SETB ET0 SETB TR0 RE
原创力文档


文档评论(0)