教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 小学教育 >

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

来源:网络收集 时间:2026-08-03
导读: 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,继续查询 L

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 ;重复循环

89C51内部设有几个定时器/计数器?它们是由哪些特殊功能寄存器组成?答:89C51单片机内有两个16位定时器/计数器,即T0和T1。

T0由两个8位特殊功能寄存器TH0和TL0组成;T1由TH1和TL1组成。当T0用作模式3时,由于

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

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

模式0:

T0低5位01110B=0EH

T0高8位:11111110B=FEH

模式1:

模式2:

(2) 1ms

模式0:

T0低5位01100B=0CH

T0高8位:11110000B=F0H

模式1:

模式2:

在此情况下最长定时为512μs,无法一次实现定时1ms,可用0.1ms循环10次

(3) 10ms

模式0:

T0低5位11000B=18H

T0高8位:01100011B=63H

模式1:

模式2:在此情况下最长定时为512μs,无法一次实现定时10ms,可用0.1ms循环100次

16、89C51单片机的定时器在何种设置下可提供三个8位计数器定时器?这时,定时器1可作为串行口波特率发生器。若波特率按9600b/s,4800b/s,2400b/s,1200b/s,600b/s,100b/s来考虑,则此时可选用的波特率是多少(允许存在一定误差)?设fosc=12MHz。

解:当T0为模式3,T1为模式2时,可提供3个8位定时器。

可选100b/s

、试编制一段程序,功能为:当P1.2引脚的电平上跳时,对P1.1的输入脉冲进行计数;当P1.2引脚的电平下跳时,停止计数,并将计数值写入R6,R7。

解:

MOV TMOD,#05H ;T0为计数方式且工作于模式1

JNB P1.2,$ ;等待P1.2引脚电平上跳

MOV TH0,#00H ; P1.2电平上跳,置入计数初值

MOV TL0,#00H

SETB TR0 ;启动T0

JB P1.2,$ ;等待P1.2引脚电平下跳

CLR TR0 ;电平下跳,关闭T0

MOV R7,TH0 ;计数初值写入R7,R6

MOV R6,TL0

6、89C51中SCON的SM2,TB8,RB8有何作用?答:89c51SCON的SM2是多机通信控制位,主要用于方式2和方式3.若置SM2=1,则允许多机通信。TB8是发送数据的第9位,在方式2或方式3中,根据发送数据的需要由软件置位或复位。它在许多通信协议中可用作奇偶校验位;在多机通信中作为发

送地址帧或数据帧的标志位。RB8是接收数据的第9位,在方式2或方式3中接收到的第9位数据放在RB8位。它或是约定的奇偶校验位,或是约定的地址/数据标示位。设fosc=11.059MHz,试编写一段程序,其功能为对串行口初始化,使之工作与方式1,波特率为1200b/s;并用查询串行口状态的方法,读出接收缓冲器的数据并回送到发送缓冲器。

START:MOV SCON,#40H ;串行接口工作于方式1

MOV TMOD,#20H ;定时器T1工作于模式2

MOV TH1,#0E8H ;赋定时器计数初值

MOV TL1,#0E8H

SETB TR1 ;启动定时器T1

MOV A,SBUF ;读出接收缓冲器数据

MOV SBUF,A ;启动发送过程

JNB TI,$ ;等待发送完

CLR TI ;清TI标志

SJMP $ ;结束

8、若晶振为11.0592MHz,串行口工作与方式1,波特率为4800b/s。写出用T1作为波特率发生器的方式字和计数初值。

MOV TMOD,#20H ;定时器T1工作于模式2

MOV TH1,#0FAH ;赋定时器计数初值

MOV TL1,#0FAH

9、为什么定时器T1用作串行口波特率发生器时,常选用 …… 此处隐藏:3138字,全部文档内容请下载后查看。喜欢就下载吧 ……

单片机原理及接口技术考试必备复习资料(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/41475.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)