单片机原理及应用知识点汇总(一)

一、填空题

1 、单片机是将 微处理器 、一定容量的 RAM ROM 以及 I/O 口、定时器等电路集成在一
块芯片上而构成的微型计算机。
2 、单片机 80C51 片内集成了 4 KB FLASH ROM ,共有 5 个中断源。
3 、两位十六进制数最多可以表示 256 个存储单元。
4 、在 80C51 中,只有当 EA 引脚接 电平时, CPU 才访问片内的 Flash ROM
5 、当 CPU 访问片外的存储器时,其低八位地址由 P0 口提供,高八位地址由 P2 口提供,
8 位数据由 P0 口提供。
6 、在 I/O 口中, P0 口在接 LED 时,必须提供上拉电阻, P3 口具有第二功能。
7 80C51 具有 64 KB 的字节寻址能力。
8 、在 80C51 中,片内 RAM 分为地址为 00H~7FH 的真正 RAM 区,和地址为 80H~FFH 的 特
殊功能寄存器 (SFR) 区两个部分。
9 、在 80C51 中,通用寄存器区共分为 4 组,每组 8 个工作寄存器,当 CPU 复位时,
0 组寄存器为当前的工作寄存器。
10 、数据指针 DPTR 是一个 16 位的 特殊功能寄存器 寄存器
11 、在 80C51 中,一个机器周期包括 12 个振荡周期,而每条指令都由一个或几个机器周期
组成,分别有单周期指令、双周期指令和 4 周期 指令。
12 、当系统处于正常工作状态且振荡稳定后,在 RST 引脚上加一个 电平并维
2 个机器周期,可将系统复位。
13 、单片机 80C51 复位后,其 I/O 口锁存器的值为 0FFH ,堆栈指针的值为 07H SBUF
的值为 不定 ,内部 RAM 的值不受复位的影响,而其余寄存器的值全部为 0H
14 、在 809C51 中,有两种方式可使单片机退出空闲模式,其一是 任何的中断请求被响应 ,其
二是 硬件复位 ;而只有 硬件复位 方式才能让进入掉电模式的单片机退出掉电模式。
15 、单片机 80C51 5 个中断源分别为 INT0 INT1 T0 T1 以及 TXD/RXD
16 、单片机 80C51 的中断要用到 4 个特殊功能寄存器,它们是 TCON SCON IE 以及 IP
17 、在 80C51 中,外部中断由 IT0(1) 位来控制其两种触发方式,分别是 电平 触发方式和
沿 触发方式。
18 、中断处理过程分为 4 个阶段,即 中断请求 中断响应 中断服务 以及 中断返回
19 、单片机 80C51 片内有两个 16 位的定时 / 计数器,即 T0 T1 ,它们都有 定时
的功能。
20 、单片机 80C51 的时钟频率为 6MHz ,若要求定时 1ms ,定时 / 计数器工作于模式 1 ,其定时 /
计数器的初值为 FE0CH
21 、单片机 80C51 具有 并行 通信和 串行 通信两种通信方式。
22 、串行通信有 同步 通信和 异步 通信两种通信方式。
23 、在异步通信中,数据的帧格式定义一个字符由 4 部分组成,即: 起始位 数据位
偶校验位 停止位。
24 、串行通信中,为使设备同步工作,需要通信双方有两个共同的要求,一是 通信双方必须
采用统一的编码方式 ,二是 通信双方必须能产生相同的传送速率
25 、单片机 80C51 中的串行通信共有 4 种方式,其中方式 0 是用作同步移位寄存器来扩
I/O 口的。
26 、设 80C51 的晶振频率为 11.0592MHz ,选用定时器 T 工作模式 2 作波特率发生器,波特率为
2400b/s ,且 SMOD 0 ,则定时器的初值为 F4H
27 、键盘可分为 独立连接 式和 矩阵 式两类。键盘可分为 编码 式和 非编
式两类
28 LED 数码管有 静态 显示和 动态 显示两种方式。
29 、在执行下列指令后, A=___60H___ R0=__45H____ ,( 60H =___45H___
MOV A # 45H
MOV R0 # 60H
MOV @R0 A
XCH A, R0
30 、设 RAM (2456H)=66H (2457H)=34H ROM (2456H)=55H (2457H)=64H 。请分析下
面程序执行后各寄存器的内容。 ( A =___64H___ ,( DPTR =__2456H____
MOV A #1
MOV DPTR #2456H
MOVC A @A+DPTR
31 .对单片机而言,连接到数据总线上的输出口应具有 (锁存) 功能。
32 .决定程序执行的顺序是 PC 寄存器,该寄存器复位时的值为 0000h
33. 单片机内包含组成微机的三个主要功能部件是 CPU 、存储器和 I/O 口)
34. 80C51 系列单片机字长是
8 位,有 40 根引脚。
35.ALE 信号的作用是 (锁存允许)
36.80C51 复位后, PC= 0000 H
37.80C51 的堆栈指针是 SP
38 80C51 单片机的 P0 口和 P2 口除了可以作为并行口进行数据的输入/输出外,通常还用来
构建系统的 (地址) (数据)
39 80C51 单片机外部中断请求信号有电平方式和 (边沿触发) ,在电平方式下,当采集到 INT0
INT1 的有效信号为 (低电平) 时,激活外部中断。
40 80C51 单片机指令 ANL A 20H 中源操作数的寻址方式是 (直接)
41 .串行通讯中有 (同步) 和异步两种基本方式。
42.C51 中存储类型 XDATA 定义的是 (外部) 存储空间,其地址范围是 0000h~ffffH
43. 执行下列程序后,( A =__35H____ ,( B =__16H____
MOV A #9FH
MOV B #36H
ANL B A
SETB C
ADDC A B

二、选择题

1 80C51 是以下哪个公司的产品?( C )
A INTEL B AMD C ATMEL D PHILIPS
2 80C51 系列单片机是属于( C )体系结构。
A 、冯诺依曼 B 、普林斯顿 C 、哈佛 D 、图灵
3 、以下哪一条指令的写法是错误的( C )。
A MOV DPTR,#3F98H B MOV R0,#0FEH C MOV 50H,#0FC3DH D INC R0
4 、以下哪一条指令的写法是错误的( D )。
A INC DPTR B MOV R0,#0FEH C DEC A D PUSH A
5 、以下哪一条指令的写法是错误的( B )。
A MOVC A,@A+DPTR B MOV R0,#FEH C CPL A D PUSH ACC
6 、以下哪一条是位操作指令( B )。
A MOV P0 #0FFH B CLR P1.0 C CPL A D POP PSW
7 、以下哪一条是位操作指令( B )。
A MOV P1 #0FFH B MOV C,ACC.1 C CPL A D POP PSW
8 、以下哪一条是位操作指令( B )。
A MOV P0 #0FFH B SETB TR0 C CPL R0 D PUSH PSW
9 、以下哪种方式的接口总线最少?( C )
A SPI B I2C C 、单总线 D 、并行通信
10 、以下哪个是属于单片机系统前向通道的器件?( A )
A A/D 转换 B D/A 转换 C LED 数码管 D 、继电器
11 80C51 单片机的 RS1,RS0=01 时,当前寄存器 R0—R7 占用内部 RAM( B ) 单元。
A 00H—07H B 08H—0FH C 10H—17H D 18H—1FH
12 80C51 单片机有片内 RAM 容量 ( A )
A. 128B B 4KB C 8KB D 256B
13 80C51 单片机的最大时序定时单位是 ( D )
A 、 拍节 B 、状态 C 、机器周期 D 、指令周期
14 80C51 单片机的定时器 / 计数器工作方式 0 是( C )。
A 8 位计数器结构 B 16 位计数器结构 C 13 位计数器结构 D 2 8 位计数器结构
15 80C51 单片机的外部中断 0 中断入口地址为 ( C )
A 000BH
B 001BH
C 0003H D 0013H
16. 在下列 80C5l 单片机各条指令中,错误的是( A )。
A MOVC @A+DPTR A B MOV A, @R0 C MOV 20H, A D MOV B, A
17. 单片机上电复位后,堆栈区的最大允许范围是 B ) 个单元。
A 64 B 120 C 128 D 256
18. 80C51 单片机 ALE 引脚是( C )。
A .输出高电平 B .输出低电平 C .输出矩形脉冲,频率为 fosc 1/6
D .输出矩形脉冲,频率为 fosc 1/2
19 80C51 单片机的 XTAL1 XTAL2 引脚是( D )引脚。
A 、外接定时器 B 、外接串行口 C 、外接中断 D 、外接晶振
20.80C51 的串行数据缓冲器 SBUF 用于( D )。
A .存放运算中间结果 B .暂存数据和地址 C .存放待调试的程序
D .存放待发送或已接收到的数据
21. 假定设置堆栈指针 SP 的值为 37H ,在进行子程序调用时把断点地址进栈保护后, SP 的值为
 D )。
A 6H B 37H C 38H D 39H
22. 单片机中的程序计数器 PC 用来( B )。
A .存放指令 B .存放正在执行的指令地址
C .存放下一条指令地址 D .存放上一条指令地址
23. 80C51 指令中,下列指令中( C )是无条件转移指令。
A LCALL addr16 B DJNZ direct,rel C SJMP rel D ACALL addr11
24 80C51 系列单片机的中断系统具有( A )。
A 5 个中断源 B 6 个中断源 C 2 个中断源 D 3 个中断源
25 .指令和程序是以( C )形式存放在程序存储器中。
A 、源程序 B 、汇编程序 C 、二进制编码 D BCD
26 .当需要从 80C51 单片机程序存储器取数据时,采用的指令为( B
A MOV A, @R1 B MOVC A, @A + DPTR
C MOVX A, @ R0 D MOVX A, @ DPTR

三、判断

1 、在 51 系列单片机的指令系统中,其加法、减法、乘法和除法必须有累加器 A 的参与才能完成。 T
2 、当 80C51 EA 引脚接低电平时, CPU 只能访问片外 ROM ,而不管片内是否有程序存储器。 T
3 、当 80C51 EA 引脚接高电平时, CPU 只能访问片内的 4KB 空间。 F
4 80C51 系列单片机直接读端口和读端口锁存器的结果永远是相同的。 F
5 、是读端口还是读锁存器是用指令来区别的。 T
6 、在 80C51 的片内 RAM 区中,位地址和部分字节地址是冲突的。 F
7 、中断的矢量地址位于 RAM 区中。 F
8 、在 80C51 中,当 CPU 访问片内、外 ROM 区时用 MOVC 指令,访问片外 RAM 区时用 MOVX 指令,
访问片内 RAM 区时用 MOV 指令。 T
9 、工作寄存器区不允许做普通的 RAM 单元来使用。 F
10 、工作寄存器组是通过置位 PSW 中的 RS0 RS1 来切换的。 T
11 、特殊功能寄存器可以当作普通的 RAM 单元来使用。 F
12 、访问 128 个位地址用位寻址方式,访问低 128 字节单元用直接或间接寻址方式。 T
13 、堆栈指针 SP 的内容可指向片内 00H~7FH 的任何 RAM 单元,系统复位后, SP 初始化为 00H F
14 DPTR 只能当作一个 16 位的特殊功能寄存器来使用。 F
15 、程序计数器 PC 是一个可以寻址的特殊功能寄存器。 F
16 、单片机 80C51 复位后,其 PC 指针初始化为 0000H ,使单片机从该地址单元开始执行程序。 T
17 、单片机系统上电后,其内部 RAM 的值是不确定的。 T
18 、在 80C51 中,当产生中断响应时,所有中断请求标志位都由硬件自动清零。 F
19 、在 51 系列单片机中,中断服务程序从矢量地址开始执行,一直到返回指令 RETI 为止。 T
20 、在执行子程序调用或执行中断服务程序时都将产生压栈的动作。 T
21 、定时 / 计数器工作于定时方式时,是通过 80C51 片内振荡器输出经 12 分频后的脉冲进行计数,直至
溢出为止。 T
22 、定时 / 计数器工作于计数方式时,是通过 809C51 P3.4 P3.5 对外部脉冲进行计数,当遇到脉冲
下降沿时计数一次。 T
23 、定时 / 计数器在工作时需要消耗 CPU 的时间。 F
24 、定时 / 计数器的工作模式寄存器 TMOD 可以进行位寻址。 F
25 、定时 / 计数器在使用前和溢出后,必须对其赋初值才能正常工作。 F
26 、在 51 系列单片机的指令中,既有带借位的减法指令,又有不带借位的减法指令。 F
27 、单片机 80C51 的定时 / 计数器是否工作可以通过外部中断进行控制。 T
28 、并行通信的优点是传送速度高,缺点是所需传送线较多,远距离通信不方便。 T
29 、串行通信的优点是只需一对传送线,成本低,适于远距离通信,缺点是传送速度较低。 T
30 、异步通信中,在线路上不传送字符时保持高电平。 T
31 、在异步通信的帧格式中,数据位是低位在前高位在后的排列方式。 T
32 、异步通信中,波特率是指每秒传送二进制代码的位数,单位是 b/s T
33 、在 80C51 的串行通信中,串行口的发送和接收都是对特殊功能寄存器 SBUF 进行读 / 写而实现的。 T
34 、在单片机 809C51 中,串行通信方式 1 和方式 3 的波特率是固定不变的。 F
35 、在单片机 809C51 中,读和写的 SBUF 在物理上是独立的,但地址是相同的。 T
36 、单片机 80C51 一般使用非整数的晶振是为了获得精确的波特率。 T
37 、单片机 809C51 PC 机的通信中,使用芯片 MAX232 是为了进行电平转换。 T
38 、在 A/D 转换器中,逐次逼近型在精度上不及双积分型,但双积分型在速度上较低。 T
39 A/D 转换的精度不仅取决于量化位数,还取决于参考电压。 T

四、简答题

1 、简述 80C51 单片机中断的概念。
答:当 CPU 正在处理某件事情的时候,外部发生的某一事件请求 CPU 迅速去处理,于是, CPU
时中止当前的工作,转去处理所发生的时间。中断服务处理完该事件以后,再回到原来被中止的地
方,继续原来的工作,这样的过程称为中断。
2 、什么是保护现场,什么是恢复现场?
答:保护现场:当 CPU 响应中断程序时,硬件会自动把断点地址( 16 位程序计数器的值)压入
堆栈之外,用户还须注意保护有关工作寄存器、累加器、标志位等信息;
恢复现场:在完成中断服务程序后,恢复原工作寄存器、累加器、标志位等的内容。
3 、单片机 80C51 有哪些中断源,对其中断请求如何进行控制?
答: 80C51 中断系统有 5 个中断源:
●INT0 :外部中断 0 请求,低电平有效。通过 P3.2 引脚输入。
●INT1 :外部中断 1 请求,低电平有效。通过 P3.3 引脚输入。
●T0 :定时器 / 计数器 0 溢出中断请求。
●T1 :定时器 / 计数器 1 溢出中断请求。
●TXD/RXD :串行口中断请求。当串行口完成一帧数据的发送或接收时,便请求中断。
4 、简述单片机 809C51 中断的自然优先级顺序,如何提高某一中断源的优先级别。
答:中断源(控制位) 自然优先级
外部中断 0 PX0 ) 最 高
定时器 / 计数器 0 溢出中断( PT0
外部中断 1 PX1
定时器 / 计数器 1 溢出中断( PT1
串行口中断( PS ) 最 低
若某几个控制位为 1 ,则相应的中断源就规定为高级中断;反之,若某几个控制位为 0 ,则相应
的中断源就规定为低级中断。当同时接收到几个同一优先级的中断请求时,响应哪个中断源则取决
于内部硬件查询顺序(即自然优先级)。
5 、简述 51 系列单片机中断响应的条件。
答: 有中断源发出中断请求;
中断总允许位 EA=1 ,即 CPU 开中断;
申请中断的中断源的中断允许位为 1 ,即中断没有屏蔽;
无同级或更高级中断正在被服务;
当前的指令周期已经结束;
6 、简述定时 / 计数器 4 种工作模式中方式 0 1 2 的特点。
答:方式 0 :是 13 位的定时器 / 计数器,寄存器 TLx 存低 5 位, THx 存高 8 位。
方式 1 :是 16 位的定时器 / 计数器;
方式 2 :把 TL0 (或 TL1 )配置成一个可以自动重装载的 8 位定时器 / 计数器;
7 、简述 80C51 串口通信的四种方式及其特点。
方式 0 :同步移位寄存器输入 / 输出方式,常用于扩展 I/O 口。波特率固定为振荡频率的 1/12
并不受 PCON 寄存器中 SMOD 位的影响。
方式 1 :用于串行发送或接收,为 10 位通用异步接口。 TXD RXD 分别用于发送与接收数据。
收发一帧数据的格式为 1 位起始位、 8 位数据位(低位在前)、 1 位停止位,共 10 位。波特率由定
时器 T1 的溢出率与 SMOD 值同时决定。
方式 2 :用于串行发送或接收,为 11 位通用异步接口。 TXD RXD 分别用于发送与接收数据。
收发一帧数据的格式为 1 位起始位、 8 位数据位(低位在前)、 1 位可编程的第 9 数据位和 1 位停止 位,共 11 位。波特率取决于 PCON SMOD 位的值:当 SMOD 0 时,波特率为 的 1/64 ;当 SMOD =1 时,波特率为 的 1/32
方式 3 :用于串行发送或接收,为 11 位通用异步接口。 TXD RXD 分别用于发送与接收数据。 帧格式与方式 2 相同,波特率与方式 1 相同。
8 、简述在使用普通按键的时候,为什么要进行去抖动处理,如何处理。
键抖动会引起一次按键被误读多次。为了确保 CPU 对键的一次闭合仅做一次处理,必须去除键抖动。
在键闭合稳定时,读取键的状态,并且必须判别;在键释放稳定后,再作处理。按键的抖动,可用
硬件或软件两种方法消除。
9 、简述 LED 数码管动态扫描的原理及其实现方式。
动态扫描的原理是利用人的视觉暂留,让人觉得各位 LED 同时点亮一样。逐位轮流点亮各个 LED
每一位保持 1ms ,在 10 20ms 之内再一次点亮,重复不止,就可以实现动态扫描。

五、编程题

1 、用 P1 口控制 LED 单色灯实现流水灯显示,单色灯 0 1 灭,已知晶振 12MHz
2 、用 P0 口控制 LED 单色灯实现走马灯显示,单色灯 0 1 灭,已知晶振 12MHz
3 、数码管 0~9 的显示。
4 、用一个定时 / 计数器加软件计数器的方式,实现一秒的时钟基准信号,试写出程序并加以说明。
(设晶振频率为 12MHz ,由 P1.0 口输出秒信号。)
#include<reg51.h>
sbit P10 = P1^0;
unsigned char k;
void main()
{
TMOD = 0x01;
TL0 = 0xb0;
TH0 = 0x3c;
TR0 = 1;
ET0 = 1;
EA = 1;
P10 = 1;
while(1);
}
void t0_isr() interrupt 1
{
TL0 = 0xb0;
TH0 = 0x3c;
k++;
if(k==20)
{
k=0;
P10 = ~P10;
}

猜你喜欢

转载自blog.csdn.net/T19900/article/details/129645129
今日推荐