1、单片机总复习1一、选择题1. 存储器的地址范围是 0000H0FFFH,它的容量为( D ) 。A. 1KB B. 2KB C. 3KB D. 4KB2 利用下列( D )关键字可以改变工作寄存器组A. interrupt B. sfrC. while D. using2C51 中一般指针变量占用 ( C )字节存储。A、一个 B、两个 C 、三个 D、四个3使用宏来访问绝对地址时,一般需包含的库文件是( B )A、reg51.h B、absacc.h C、intrins.h D 、startup.h4执行#define PA8255 XBYTE0x3FFC;PA8255=0x7e;后存储单元
2、 0x3FFC 的值是( A )A、Ox7e B 、8255H C 、未定 D 、7e5设有 int i;则表达式 i=1,+i,+i|+i,i 的值为 ( C )A、1 B、2 C、3 D、46设有 int a =10,11,12,*p=*p+=1;后 a0,a1,a2的值依次是( C )A、10,11,12 B、11,12,12 C、10,12,12 D、11,11,127设有 int i;则表达式 i=1,+i,i|+i,i 的值为( B )A、1 B、2 C、3 D、48A/D 转换方法有以下四种, ADC0809 是一种采用( C )进行 A/D 转换的 8 位接口芯片。A. 计数式
3、 B. 双积分式 C. 逐次逼近式 D.并行式98051 单片机内有( B )个 16 位的定时/计数器 ,每个定时/计数器都有( B )种工作方式。A. 4, 5 B. 2, 4 C. 5, 2 D. 2, 3 10. 定时器 1 工作在计数方式时,其外加的计数脉冲信号应连接到( D )引脚。A.P3.2 B.P3.3 C.P3.4 D.P3.511当 MCS-51 复位时,下面说法准确的是( A )A. PC=0000H B. SP=00H C. SBUF=00H D.(30H)=00H12要使 MCS-51 能响应定时器 T1 中断,串行接口中断,它的中断允许寄存器 IE 的内容应是(
4、A )A. 98H B. 84H C. 42H D. 22H12. 若某存储器芯片地址线为 12 根,那么它的存储容量为( C )A. 1KB B. 2KB C.4KB D.8KB14.要想测量 引脚上的一个正脉冲宽度,则 TMOD 的内容应为 ( A )0INTA. 09H B.87H C.00H D.80H15. PSW=18H 时,则当前工作寄存器是 ( D ) A. 0 组 B. 1 组 C. 2 组 D. 3 组16. MCS-51 有中断源 ( A )A. 5 B. 2 C. 3 D. 617. MCS-51 上电复位后 ,SP 的内容应为 ( B )A. 00H B. 07H C
5、.60H D. 70H单片机总复习218. 控制串行口工作方式的寄存器是 ( C )A. TCON B. PCON C. SCON D. TMOD19. P1 口的每一位能驱动 ( B )A.2 个 TTL 低电平负载 B. 4 个 TTL 低电平负载C.8 个 TTL 低电平负载 D. 10 个 TTL 低电平负载20. 下面哪种外设是输出设备 ( A )A.打印机 B.纸带读出机 C.键盘 D. A/D 转换器21. 所谓 CPU 是指( A )A.运算器和控制器 B. 运算器和存储器 C.输入输出设备 D. 控制器和存储器22. 计算机在使用中断方式与外界交换信息时,保护现场的工作应该是
6、 ( C )A.由 CPU 自动完成 B.在中断响应中完成 C.应由中断服务程序完成 D.在主程序中完成23.关于 MCS-51 的堆栈操作,正确的说法是 ( C )A.先入栈,再修改栈指针 B.先修改栈指针,再出栈 C.先修改栈指针,在入栈 D.以上都不对24.某种存储器芯片是 8KB*4/片,那么它的地址线根数是( C )A.11 根 B.12 根 C. 13 根 D. 14 根25.若 MCS-51 中断源都编程为同级,当他们同时申请中断时 CPU 首先响应( B )A. B. C.T1 D.T01INT0IT26. MCS-51 单片机复位操作的主要功能是把 PC 初始化为 ( C )
7、。A. 0100H B. 2080H C. 0000H D. 8000H27.若单片机的振荡频率为 6MHz,设定时器工作在方式 1 需要定时 1ms,则定时器初值应为( C )。A.500 B.1000 C.216-500 D.216-100028.定时器 1 工作在计数方式时,其外加的计数脉冲信号应连接到( D )引脚。A. P3.2 B. P3.3 C. P3.4 D. P3.529.当外部中断请求的信号方式为脉冲方式时,要求中断请求信号的高电平状态 和低电平状态都应至少维持( A )。A. 1 个机器周期 B. 2 个机器周期C. 4 个机器周期 D. 10 个晶振周期30. MCS-
8、51 单片机在同一优先级的中断源同时申请中断时,CPU 首先响应( A )。A. 外部中断 0 B. 外部中断 1C. 定时器 0 中断 D. 定时器 1 中断31.定时器若工作在循环定时或循环计数场合,应选用( C )。A. 工作方式 0 B. 工作方式 1 C. 工作方式 2 D. 工作方式 332. MCS-51 单片机的外部中断 1 的中断请求标志是( D )。A. ET1 B. TF1 C. IT1 D. IE133. 串行口每一次传送 ( A ) 字符。A. 1 个 B. 1 串 C. 1 帧 D. 1 波特34. 要想把数字送入 DAC0832 的输入缓冲器,其控制信号应满足 (
9、 B )。A. ILE=1, CS=1, WR1=0 B. ILE=1, CS=0, WR1=0单片机总复习3C. ILE=0, CS=1, WR1=0 D. ILE=0, CS=0, WR1=035. 8031 单片机的( )口的引脚,还具有外中断、串行通信等第二功能。 ( D )A. P0 B. P1 C. P2 D. P336. 单片机应用程序一般存放在( B ) A. RAM B. ROM C. 寄存器 D. CPU 37. 已知某数的 BCD 码为 0111 0101 0100 0010 则其表示的十进制数值为( B )A. 7542H B. 7542 C. 75.42H D. 75
10、.4238. INTEL 8051 CPU 是( C )位的单片机 A. 16 B. 4 C. 8 D. 准 16 39. 8051 复位后,PC 与 SP 的值为( B ) A. 0000H,00H B. 0000H, 07H C. 0003H,07H D. 0800H,00H 40. 8031 单片机中既可位寻址又可字节寻址的单元是( A ) A. 20H B. 30H C. 00H D. 70H 41. 计算机能识别的语言是( C ) 。A.汇编语言 B.自然语言 C.机器语言 D.高级语言42. MCS-51 单片机外扩存储器芯片时,4 个 I/O 口中用作数据总线的是( B ) 。A
11、. P0 和 P2 口 B. P0 口 C. P2 和 P3 口 D. P2 口43. 访问外部数据存储器时,不起作用的信号是( C ) 。A. B. C. D. ALE RDWRPSEN44. 以下指令中,属于单纯读引脚的指令是( C ) 。A. MOV P1,A B. ORL P1,#0FH C. MOVC C ,P1.5 D. DJNZ P1,LAB45. 使用定时器 T1 时,有几种工作模式( C ) 。A. 1 种 B. 2 种 C. 3 种 D. 4 种46. 若 MCS-51 中断源同级,当它们同时申请中断时,CPU 首先响应( B ) 。A. B. C. T1 D. T0INT
12、0IT47. 如果 8255 端口 A 设置为方式 2,则端口 B 设置为( A ) 。A. 只可以方式 0 B. 也可以方式 2 C. 除方式 2 外,其它方式均可 D. 任意方式48. 当 MCS-51 进行多机通讯时,串行接口的工作方式应选为( C ) 。A. 方式 0 B. 方式 1 C. 方式 2 或方式 3 D. 方式 0 或方式 249.七段共阴极发光两极管显示字符H,段码应为( D )A. 67H B. 6EH C. 91H D. 90H50. 在串行通信中, 8031 中发送和接收的寄存器是( B ) 。A.TMOD B. SBUF C. SCON D. DPTR51.波特的
13、单位是( B ) A. 字符/秒 B. 位/秒 C. 帧/ 秒 D. 字节/秒二、填空题1. 设定 T1 为计数器方式,工作方式 2,则 TMOD 中的值为 _。 60H(高位为 6 即可) 2. 若 IT1=0,当引脚_为低电平的时候,INT0 的中断标志位 _才能复位。 P3.2 IE0 3. 在接口电路中,把已经编址并能进行读写操作的寄存器称为_。端口 4. 在单片机中,为实现数据的 I/O 传送,可使用三种控制方式,即 _方式、_方单片机总复习4式和_方式。无条件传送 查询 中断 5. 单片机内有组成微机的主要功能部件_、_和_。CPU;存储器;I/O 接口6. 堆栈的特性是_,805
14、1 的堆栈一般在_,其堆栈指针是_。后进先出;内部 RAM 30H7FH 的范围内;SP7. MCS-51 内部的 SFR 共有 _个。218. RS232C 是_总线标准。 串行通信9. 8255 是_接口。通用的可编程并行10. MCS-51 有一个全双工的_步串行口,有_种工作方式。异;411. 若寄存器 IP 中的内容为 000101100B,则优先级最高者为 ,最低者为 。12. MCS-51 单片机的 P0-P4 口均是_IO 口,其中的 P0 口和 P2 口除了可以进行数据的输入、输出外,通常还用来构建系统的_和_,在 P0P4 口中,_为真正的双向口,_为准双向口。 并行 数据
15、总线 地址总线 P0 P1P3 13. MCS-5l 单片机的堆栈区只可设置在_,堆栈寄存器 SP 是_位寄存器。片内数据存储区(器) 814. MCS-51 单片机外部中断请求信号有电平方式和_,在电平方式下,当采集到INT0、INT1 的有效信号为_ 时,激活外部中断。 脉冲方式 低电平 15. 定时器计数器的工作方式 3 是指的将_拆成两个独立的 8 位计数器。而另一个定时器计数器此时通常只可作为_使用。定时器计数器 0 串行口的波特率发生器 16. MCS-51 指令共有六种寻址方式,分别是立即数寻址、_、_、寄存器间接寻址、_、相对寻址。直接寻址, 寄存器寻址, 变址寻址17. P2
16、 口通常用作_,也可以作通用的 I/O 口使用。高 8 位地址线18. 若由程序设定 RS1、RS0=01,则工作寄存器 R0R7 的直接地址为_。08H 0FH19. 所谓寻址,其实质就是_。如何确定操作数的单元地址20. 定时器中断请求发生在_。定时时间到21. 中断响应时间是指_。从查询中断请求标志位到转向中断区入口地址所需的机器周期数22. 通过 CPU 对 I/O 状态的测试,只有 I/O 已准备好时才能进行 I/O 传送,这种传送方式称为_。程序查询方式23. 一个完整的微机系统由 和 两大部分组成。硬件 软件24. 单片微型计算机由 CPU、存储器和_三部分组成。I/O25. 8
17、051 的引脚 RST 是_(IN 脚还是 OUT 脚) ,当其端出现_电平时,8051 进入复位状态。8051 一直维持这个值,直到 RST 脚收到_电平, 8051 才脱离复位状态,进入程序运行状态,从 ROM H 单元开始取指令并翻译和执行。IN 脚 高 低 000026. 帧格式为 1 个起始位, 8 个数据位和 1 个停止位的异步串行通信方式是 。方式 127. PC 存放_,具有_特性。在 8051 中决定程序执行顺序的是 PC还是 DPTR? 它是_位? (是,不是)SFG? CPU 将要执行的指令所在的地址 自动加 1 PC 16 位 不是28. 8051 内部有 并行口,P0
18、 口直接作输出口时,必须外接 ;并行口作输入口时,必须先 ,才能读入外设的状态。4 上拉电阻 将口锁存器置 1单片机总复习529. 51 的并行 I/O 口信息有_和_两种读取方法,读改写操作是针对并行 I/O 口内的锁存器进行的。读引脚 读锁存器30. MCS-51 系统中,当 信号有效时,表示从 P0 口稳定地送出了_。低 8 位地址PSEN31. 半导体存储器分成两大类 和 ,其中 具有易失性,常用于存储 。RAM ROM RAM 临时性数据32. MCS-51 的堆栈只可设置在 ,其最大容量为 ,存取数据的原则是 。堆栈寄存器 SP 是 位寄存器,存放 。片内 RAM 低 128B 区
19、 128B 后进先出 8 堆栈栈顶的地址33. 中断处理的全过程分为以下 3 个段: 、 、 。中断请求 、 中断响应 、 中断服务34. 定时和计数都是对_进行计数,定时与计数的区别是_。脉冲 定时是对周期已知的脉冲计数;计数是对周期未知的脉冲计数35. 中断请求信号有_触发和_触发两种触发方式。电平 边沿(脉冲)36. MCS-51 有_中断源,有 2 个中断优先级,优先级由软件填写特殊功能寄存器_加以选择。5 个 IP37. A/D 转换器的三个重要指标是_、_和_。转换速度 分辨率 转换精度38. 用串行口扩展并行口时,串行接口的工作方式应选为_。方式 039. 74LS273 通常用
20、来作简单_接口扩展;而 74LS244 则常用来作简单_接口扩展。输出 输入40. KeiL C51 软件中,工程文件的扩展名是_,编译连接后生成可烧写的文件扩展名是 _。UV2 ,HEX41. C51 支持的指针有 和 。一般指针,存储器指针42. C51 中,没有专门的循环语句,我们可以用函数_完成一个字节的循环左移,用_ _完成二个字节的循环左移。crol,irol43. 是 C 语言的基本单位。函数44. 语言中输入和输出操作是由库函数 和 等函数来完成。scanf ,printf 45. 若有说明 int i,j,k;则表达式 i=10,j=20,k=30,k*=i+j 的值为 。
21、90046. 是一组有固定数目和相同类型成分分量的有序集合。数组47. 变量的指针就是变量的 ;指针变量的值是 。地址,指针48. C51 的基本数据类型有 、 、 、 、 、 。位型、字符型、整形、长整形、浮点型、双精度浮点型49. C51 的存储类型有 data 、 bdata 、 idata 、 pdata 、 xdata 、 code 。50. 8051 存储区可分为 、 以及 。内部数据存储区、外部数据存储区以及程序存储区 51. C51 的存储模式有 、 和 。SMALL、COMPACT 、LARGE52. C51 程序与其他语言程序一样,程序结构也分为 、 、 三种。顺序结构、选
22、择结构(或分支结构) 、循环结构53. 数组的一个很重要的用途就是 。查表54. 8051 内部有 _个并行口, P0 口直接作输出口时,必须外接_;并行口作输入口时,必须先将并口锁存器_(填“置 1”或“置 0”) ,才能读入外设的状态。4,上拉电阻,155. LED 数码显示有_和_两种显示形式。动态、静态单片机总复习6三、判断题1若一个函数的返回类型为 void,则表示其没有返回值。 ( )2特殊功能寄存器的名字,在 C51 程序中,全部大写。 ( )3 “sfr”后面的地址可以用带有运算的表达式来表示。 ( )4#include 与#include “reg51.h”是等价的。 ( )
23、5sbit 不可以用于定义内部 RAM 的可位寻址区,只能用在可位寻址的 SFR 上。 ( )6Continue 和 break 都可用来实现循环体的中止。 ( )7若一个函数的返回类型为 void,则表示其没有返回值。 ( )8所有定义在主函数之前的函数无需进行声明。 ( )9int i,*p=(2)在 idata区定义整型变量val2答:int idata val2;(3)在 xdata区定义无符号字符型数组val34。答:unsigned xdata val34;(4)在 xdata区定义一个指向char类型的指针px。答:char xdata *px;(5)定义可位寻址变量flag。答
24、:bit flag;(6)定义特殊功能寄存器变量P3。答:Sfr P3=0xB0;单片机总复习916在有串行通信时,定时器/计数器 1 的作用是什么,怎样确定串行口的波特率?17MCS-51 外扩的程序存储器和数据存储器可以有相同的地址空间,但不会发生数据冲突,为什么? 答:因为访问外扩的程序存储器和数据存储器执行的指令不同,所发出的控制信号也就不同。读外部数据存储器时,RD 信号有效。写外部数据存储器时,WR*信号有效。而读外部程序存储器时,PSEN*信号有效。由于发出的控制信号不同,且只能有一种信号有效,因此,即使 MCS-51 外扩的程序存储器和数据存储器有相同的地址空间,也不会发生数据
25、冲突。18说明 MCS-51 的外部引脚 EA 的作用? 答: EA 是内外程序存储器选择控制信号。当 EA0 时,只选择外部程序存储器。当 EA1 时,当 PC 指针0FFFH 时,只访问片内程序存储器;当 PC 指针0FFFH时,则访问外部程序存储器19D/A 转换器的主要性能指标都有哪些?设某 DAC 为二进制 12 位,满量程输出电压为5v,试问它的分辨率是多少?五、综合应用题1设单片机时钟频率为 6MHz,利用 T0 在 P1.0 引脚输出 50ms 周期的方波。#include “reg51.h“sbit P10=P10;void main()TMOD=0x01;TH0=(6553
26、6-12500)/256;TL0=(65536-12500)%256;ET0=1;EA=1;TR0=1;while(1); void T0_srv(void)interrupt 1 using 1TH0=(65536-12500)/256;TL0=(65536-12500)%256;P10=!P10;2分析下面程序实现什么功能?#include “reg51.h“#include “stdio.h“void init_ser() SCON = 0x50; /*SCON:工作模式 1,8-bit UART,允许接收*/TMOD |= 0x20; /*TMOD:定时器 T1,工作模式 2, 8 位
27、自动重载方式*/单片机总复习10TH1 = 0xf3; /*当波特率为 2400 时,定时器初值*/TR1 = 1; /*定时器 T1 开始运行*/TI = 1; /*允许发送数据*/long factorial(int n) reentrant long result;if(n=0)result=1;elseresult=n*factorial(n-1);return result;void main() int j;long tmp;long (*p)(int n); /*函数指针变量定义*/init_ser();p=(void*)factorial; /*函数指针变量 p 指向 fact
28、orial()函数*/for(j=0;j11;+j) tmp=(*p)(j); /*用指针变量 p 调用 factorial()函数*/printf(“%d!=%ldn“,j,tmp);for(;);解:输出 010 的阶乘。3. 假设单片机的晶体振荡器的频率是 12MHz,利用定时器 1 采用方式 1 定时 20ms,写出初值的计算过程和整个定时器初始化程序,同时写出在 P1.7 脚上输出 0.2 秒的方波的完整程序。4. 画出下列要求的原理图,假设单片机的 P1 口的连接 8 个 LED,P3 连接 8 的对地的按键,当某个按钮按下时相应的 LED 点亮。根据描述画出原理图,并编写程序控制?