云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 单片机每章习题及答案

单片机每章习题及答案

  • 62 次阅读
  • 3 次下载
  • 2025/6/26 16:59:27

频率高于( )MHZ的外部事件是不能正确计数的。

8. 在定时/计数器T0工作方式3下,TH0溢出时,( )标志将被硬件置1去请求中断。

9. T0和T1两引脚也可作为外部中断输入引脚,这时TMOD寄存器中的位应当为( ),若M0、M1两位置成10B,则计数初值应当是:TH=TL=( )。 TC

10. 欲使T1停止工作,应执行一条指令( ),在工作方式3下,欲使TH0开

始工作,应执行一条指令( )。 填空题参考答案:

1、2,4。2、65536,1 。3、13, 5,8。4、TR1,TF1。5、TL0,TH0

6、自动重装载。 7、0.5。8、TF1。9、1,0FFH(或255)。10、CLR TR1,SETB TR1 二、单项选择题

1. 下面哪一种工作方式仅适用于定时器T0( )。 (A)方式0 (B) 方式1 (C) 方式2 (D)方式3

2. 若系统晶振频率是12MHZ,利用定时/计数器1定时1ms,在方式0下的定时初值为( )。

(A) TH1=0E0H, TL1=18H (B) TH1=18H, TL1=E0H (C) TH1=1CH, TL1=18H (D) TH1=18H, TL1=1CH

3. 若MCS-51单片机的晶振频率为24MHz,则其内部的定时/计数器利用计数器对外部输入脉冲的最高计数频率是( )。 (A) 1MHz (B) 6MHz (C) 12MHz (D) 24MHz

4. 设定时/计数器T1的工作于外部控制方式,则只有在( )情况下,T1才开始工作。

(A) TR1=0,INT1=0 (B) TR1=1,INT1=0 (C) TR1=0,INT1=1 (D)TR1=1,INT1=1

5. 设定时/计数器T0工作于方式3,则TH0作为一个独立的8位定时器,它的运行由控制位( )决定。 (A) GATE (B) INT0 (C) TR0 (D) TR1 选择题参考答案: 1. D 2. A 3.A 4.D 5.D 三、简答题

1. 8051定时器做定时和计数时,其计数脉冲分别由谁提供? 答:做定时器时,计数脉冲由8051片内振荡器输出经12分频后的

脉冲提供,做计数器时,计数脉冲由外部信号通过引脚P3.4和P3.5提供。

2. 8051定时器的门控信号GATE设置为1时定时器如何启动? 答:只有外部中断输入引脚(或)引脚为高电平且由软件使TR0(或TR1)置1时,才能启动定时器工作。0INT1INT

3. 当定时器T0用作方式3时,由于TR1位已被T0占用,如何控制定时器T1的运行?

答:定时器T0用作方式3时,由于TR1位已被T0占用,此时通过选定工作

方式及写入计数初值后,T1就开始工作,主要用于产生串行通信的波特率。

4. 请设计读定时/计数器的子程序

答:在定时/计数器工作过程中,经常需要读出定时/计数器的数值,假设读取定时/计数器T0的数值,并要求将读得的TH0和TL0的数值分别送入R0,R1中保存,则设计子程序如下: READ: MOV A, TH0 ;读TH0内容 MOV R1,TL0 ;读TL0内容,送入R1

CJNE A, TH0,READ ;再读TH0内容,与上次读 值相比较,如不相等,转去重读 MOV R0,TH0 ;如果相等,送入R0 RET

说明:该程序对TH0读取了两次,也就是采用了先读TH0,后读TL0,再读TH0的方法,这样做的目的是为了防止错读,因为不能在同一时刻同时读取TH0和TL0,而且在读取的过程中定时/计数器的工作没有停止,计数值是一直在变化的,如果在读取的过程中刚好有TL0溢出向TH0进位,则容易错读,重读TH0就可防止错误。

5. 已知8051单片机的系统振荡频率为6MHz,利用定时器使P1.0每隔500us输出一个50us的正脉冲。

答:(1) 选择定时器及其工作方式:因为要重复输出脉冲,因此选择定时器T0工作于方式2

(2) 计算初值:机器周期Tm=12×1/(6×106)s=2us,则500us定时的定时初值X=最大计数值-(定时时间t/机器周期Tm)=28-(500/2)=6,所以TH0=TL0=06H,而50us定时的定时初值X=最大计数值-(定时时间t/机器周期Tm)=28-(50/2)=231,所以TH0=TL0=0E7H (3) 确定

GATE

TC

M1

M0

GATE TC

控制字: TMOD 0

0

0

0

0

MOV R0, #14H ;重赋50ms的循环次数 SETB P1.0 ;发秒脉冲 0 NOP 1

0

SETB TR0 ;启动定时器T0开始工作

TM1: JBC TF0, LOOP ;查询定时时间到否? SJMP TM1 ;等待

LOOP: SETB P1.0 ;P1.0输出高电平 MOV TH0, #0E7H ;设置50us定时初值 MOV TL0, #0E7H

TM2: JBC TF0, NEXT ;查询定时时间到否? SJMP TM2 ;等待

6. 8051晶振频率为12MHz,试用中断方法,设计秒、分定时器,分别由P1.0,P1.1发出脉冲信号。

答:(1) 选择定时器及其工作方式:因为晶振频率为12MHz时,方式1最长定时时间是65536us,所以以定时时间为50ms作为单位,由程序循环20次实现1秒定时,再以此为单位,由程序循环60次实现1分钟定时。

(2) 计算初值:机器周期Tm=12×1/(12×106)s=1us,则50ms定时的定时初值X=最大计数值-(定时时间t/机器周期Tm)=216-(50000/1)=15536=3CB0H,所以TH0=3CH,TL0=0B0H (3) GATC

M1

M0

GATC

M1

M0

确TE

TE

定控制字: TMOD 0

0

0

0

0

0

0

1

MOV TL0, #0B0H

MOV IE, #82H ;CPU开中断,T0开中断 SETB TR0 ;启动T0

HERE: SJMP HERE ;循环等待定时时间到 ORG 0200H ;中断服务程序入口地址 AA: MOV TL0, #B0H ;重赋初值 MOV TH0, #3CH

DJNZ R0, LOOP ;不到1s继续循环

CLR P1.0

DJNZ R1, LOOP ;不到1分钟继续循环 MOV R1, #3CH ;重赋1秒的循环次数 SETB P1.1 ;发分脉冲 NOP CLR P1.1

LOOP: RETI ;中断返回

7. 若8051晶振频率为6MHz,用定时器/计数器T1对外部事件进行计数,每计数5000个脉冲后,定时器/计数器T1转为定时方式,定时5ms后,又转为计数方式,如此不断循环,请编写程序。

答:(1) 设定T1分别工作于定时和计数工作方式1

(2) 计算初值:机器周期Tm=12×1/(6×106)s=2us,则50ms定时的定时初值X=最大计数值-(定时时间t/机器周期Tm)=216-(5000/2)=63036=0F63CH,所以定时初值TH0=0F6H,TL0=3CH,而计数5000次的计数初值X=最大计数值-计数值=216-5000=15536=3CB0H,所以计数初值TH0=3CH,TL0=0B0H (3) GATC

M1

M0

GATC

M1

M0

确TE

TE

定控制字: TM

OD 0

0

0

1

0

0

0

0

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

MOV TH1,#3CH ;设置计数初值 MOV TL1,#0B0H SETB TR1 ;启动T1计数器

LOOP1:JBC TF1,LOOP2 ;查询计数溢出?有溢出转去定时 SJMP LOOP1 ;无溢出,继续查询 LOOP2:CLR TR1 ;关闭T1

MOV TMOD,#10H ;设置T1为定时方式且工作于方式1 MOV TH0,#0F6H ;设置初值 MOV TL0,#3CH SETB TR1 ;启动T1定时

LOOP3:JBC TF1,L1 ;查询定时时间到,转去计数 SJMP LOOP3 ;定时时间未到,继续查询

8. 设MCS-51单片机系统的晶振频率为12MHz,编程测试外部脉冲输入引脚(P3.2)上输入的正脉冲宽度(设正脉冲宽度小于65ms),并将测量数值以us为单位存放入R1,R2中。0INT 答:当 GATE=l时,T0的工作不仅由TR0控制,也要受引脚电平控制,只有当TR0为1且输入为高电平时,定时器T0才启动,利用这个功能,可以测试外部脉冲输入引脚上输入的正脉冲宽度。0INT 0INT 0INT

(1) 选择定时器及其工作方式:选择定时器T0工作于方式1定时 (2) 计算初值:机器周期Tm=12×1/(12×106)s=1us,将TL0和TH0的初值都定义为00H,则它们的读数就是所要测试的以us为单位的定时时间。 (3) GATC M1 M0 GA

TC M1 M0

确TE

TE

定控制字: TMOD 0

0

0

0

1

0

0

1

HR3:JB P3.2,HR3 ;计数进行中等待引脚再次变低0INT CLR TR0 ;当引脚为低电平时,停止定时器T0 MOV R1, TL0 ;输出定时时间的低8位0INT

MOV R2, TH0 ;输出定时时间的高8位

9. 有一生产流水线,流水线上通过的工件经光电转换电路产生计

数脉冲,脉冲整形后送入T0端,要求每生产100个工件,向P1.0

(3) GATC M1 M0 GATC M1 M0

确TE

TE

定控制字: TMOD 0

0 0 0 0 1 1 0

发出一包装命令正脉冲,包装成一箱,请编写控制程序。 答:(1) 选择定时器及其工作方式:选择定时器T0工作于方式2计数

(2) 计算初值:计数初值X=最大计数值-计数值=28-100=9CH,所以TH0=TL0=9CH

9-1 在单片机系统为什么要进行I/O接口扩展?I/O接

口应具有那些基本功能?

答:MCS-51系列单片机内部有四个8位I/O口,但是外部扩展了RAM、ROM以后,可供外部设备输入、输出信息使用的只有P1口了。当连接外部设备I/O接口不够时,需要进行I/O口线扩展。

I/O接口应具有的功能:地址译码和I/O设备选择功能、输入与输出功能、信息电平转换功能、联络功能和可编程功能。

9-2 8255A有哪几种工作方式?分别是什么?端口A、B、C的特点有哪些?

答:8255A有3种工作方式。它们分别是:方式0(基本输入/输出方式), 方式1(选通输入/输出方式)和方式2(双向数据传送方式,仅适用于A口)。

端口A、B、C的特点:A口:具有一个8位数据输入锁存器和一个8位数据输出锁存/缓冲器,可工作于方式0,方式1或方式2。它总是作为数据输入/输出端口。 B口:具有一个8位数据输入缓冲器和一个8位数据输出锁存/缓冲器,可工作于方式0或方式1。它总是作为数据输入/输出端口。

C口:具有一个8位数据输入缓冲器(不锁存)和一个8位数据输出锁存/缓冲器,C口可作为基本的数据输入/输出端口,有时也作为控制信号和状态信号的输入/输出端口。

9-3 为什么说8255A各端口的输入/输出状态可构成16种组合?

答:在方式0时,C口可以分成上半口和C口下半口单独设定为输入口或输出口,这样A口、B口和C口实际

上可作为4个口使用,故4个端口的输入/输出状态可构成=16种组合。42

9-5 设将8255A置为基本输入/输出方式,A口、C口输出,B口输入,试确定8255A的工作方式控制字寄存器的内容。

答:控制字内容为:82H。

9-6 若将8255A的PC7置为高电平,向按位操作控制字写入的内容是什么?

答:按位操作控制字内容可为:0FH

9-7 原教材图9-8所示为8031与8255A的接口电路,试编写一段程序将8255A初始化为基本输入输出方式,A口、B口输出,C口输入,并从C口读入一个数据,从A口、B口输出一个数据。

解:8255A各I/O口和控制字寄存器的地址为:

A口:7FFCH;B口:7FFDH;C口:7FFEH;控制字寄存器: 7FFFH 程序:

MOV DPTR, #7FFFH ;置控制字的地址 MOV A, #89H ;置控制字的内容 MOVX @DPTR, A ? ?

MOV DPTR, #7FFEH ;置C口的地址

MOVX A, @DPTR ;将C口数据读入累加器A ? ?

MOV DPTR, #7FFCH ;置A口的地址 MOV A, #DATA1

MOVX @DPTR, A ;从A口读出数据DATA1 ? ?

MOV DPTR, #7FFDH ;置B口的地址 MOV A, #DATA2

MOVX @DPTR, A ;从B口读出数据DATA2

9-8 8031与8255A接口电路如原教材图9-8,试编写程序将8255A的PC7清0。

解:8255A的各I/O口和控制字寄存器的地址为: A口:7FFCH;B口:7FFDH;C口:7FFEH;控制字寄存器: 7FFFH

由题意知,C口应置为输出口,故程序如下: MOV DPTR, #7FFFH ;置控制字的地址 MOV A, #0EH ;置控制字的内容,PC7清0 MOVX @DPTR, A

9-9 8155内部有那些功能部件?如何寻址这些部件? 答:8155内部有两个8位并行I/O端口(A口和B口),一个6位并行输入/输出端口(C口),一个256字节的静态RAM以及一个14位“减1”计数器。 在片选信号为0(有效)的情况下,当控制信号=0时8155的地址信息CPU寻址内部数据存储器,而当=1时8155地址信息CPU寻址I/O口、命令/状态寄存器以及计数器单元。CEMIO/MIO/

9-11 设将8155置为基本输入/输出方式,A口、B口输出,C口输入,试确定8155的工作方式控制字寄存器的内容。

答:工作方式控制字的内容为C3H。 9-12 在单片机系统中,非编码键盘有哪几种形式?各有什么特点?

答:非编码键盘可以分为两种结构形式:独立式按键和行列式按键。

独立式按键是各按键相互独立地接通一条输入数据线,电路结构和处理程序简单,缺点是当按键数较多时,要占用较多的I/O口线。

行列式按键将I/O口线分作行线与列线两部分,行线与列线交叉处通过按键来连通,这种结构只需要N条行线和M条列线即可组成具有N×M个按键的键盘,适应于键数较多的场合。

9-13 8031与键盘、数码管显示电路接口电路如原教材图9-25所示,试编写程序,将键入的数字(0~F)显示在6位数码管显示器上(左进右出,逐位右移)。 解:新键入数字在数码管最左位显示,已键入数字则在数码管上顺序右移。 主程序:

MAIN: MOV R0, #79H ;键入键码缓冲区79H~7E置初值00H

MOV R7, #06H ;79H内容显示在最右边LED上 LOOP1: MOV @R0,#00H INC R0

DJNZ R7, LOOP1

MOV DPTR, #7F00H ;8155命令/状态寄存器地址 MOV A, #03H ;基本I/O方式,A、B出,C入, MOVX @DPTR, A

LK1: ACALL KEYCLOSE ;调用:有无按键判别子程序

JZ LK1 ;无键闭合,继续等待

ACALL TIM ;调用延时子程序,消除键盘抖动 ACALL TIM

ACALL KEYCLOSE ;调用:有无按键判别子程序 JZ LK1 ;无键闭合,(A)=0,返回LK1

LK: ACALL KEYCODE ;调用按键识别子程序,结果存A

MOV R0, #7EH ;新键入的键号存入缓冲区 MOV R7, #06H ;原有数据右移 LOOP2: XCH A, @R0 DEC R0

DJNZ R7, LOOP2

ACALL DIR ;调用显示子程序 AJMP LK1 显示子程序:

DIR: MOV R0, #79H ;置显示缓冲区首地址

搜索更多关于: 单片机每章习题及答案 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

频率高于( )MHZ的外部事件是不能正确计数的。 8. 在定时/计数器T0工作方式3下,TH0溢出时,( )标志将被硬件置1去请求中断。 9. T0和T1两引脚也可作为外部中断输入引脚,这时TMOD寄存器中的位应当为( ),若M0、M1两位置成10B,则计数初值应当是:TH=TL=( )。 TC 10. 欲使T1停止工作,应执行一条指令( ),在工作方式3下,欲使TH0开 始工作,应执行一条指令( )。 填空题参考答案: 1、2,4。2、65536,1 。3、13, 5,8。4、TR1,TF1。5、TL0,TH0 6、自动重装载。 7、0.5。8、TF1。9、1,0FFH(或255)。10、CLR TR1,SETB TR1 二、单项选择题 1. 下面哪一种工作方式仅适用于定时

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com