单片机技术应用与实践习题-选择.docx

上传人:h**** 文档编号:158644 上传时间:2018-07-12 格式:DOCX 页数:25 大小:692.06KB
下载 相关 举报
单片机技术应用与实践习题-选择.docx_第1页
第1页 / 共25页
单片机技术应用与实践习题-选择.docx_第2页
第2页 / 共25页
单片机技术应用与实践习题-选择.docx_第3页
第3页 / 共25页
单片机技术应用与实践习题-选择.docx_第4页
第4页 / 共25页
单片机技术应用与实践习题-选择.docx_第5页
第5页 / 共25页
点击查看更多>>
资源描述

1、单片机技术应用与实践 习题 1. 单片机基础知识 1.1 单片机学习的意义与方法 1.2 微型计算机的基本结构 ( 1)一台微型计算机 基本 包含了( ABCD)等部件。 (多选) ( A) 主机 ( B)显示器 ( C)键盘鼠标 ( D)软件 ( 2)主机内的主板通常由( ABCD )等部件组成。(多选) ( A)微处理器 ( B)内存 ( C) I/O 接口 ( D)总线 ( 3)软件不属于微型计算机的基本结构。() 1.3 单片机的概念与特点 ( 1)单片机的基本组成包括( B )。 ( A) CPU、存储器、输入输出设备 ( B) CPU、存储器、 I/O 接口 ( C)存储器、输入输

2、出设备、 I/O 接口 ( D) CPU、输入输出设备、 I/O 接口 ( 2)同一型号的单片机,若采用不同封装,则引脚数必须保持一致。() ( 3)国际上对单片机通用的称呼为( C)。 ( A) CPU ( B) SCMC ( C) MCU ( D) IC ( 4)下列属于单片机通用的特点有( ABCD)。 ( A) 小巧灵活,成本低,易产品化; ( B) 集成度高,可靠性高,适应温度范围宽; ( C) 易扩展,控制能力强; ( D) 可方便的实现多机和分布式控制系统; 1.4 单片机的发展 ( 1) MCS-51 是( B )位的单片机。 ( A) 4 ( B) 8 ( C) 16 ( D

3、) 32 ( 2)下列单片机中,不属于 51 内核的是( D)。 ( A) AT89S52 ( B) P89C51 ( C) STC12C5A60S2 ( D) PIC16F1527 ( 3) Microchip 的 PIC 系列单片机特点是(抗干扰能力强), TI 的 MSP430 系列单片机特点是(低功耗)。 ( 4) 51 单片机按指令集分属于( A),按存储结构分属于( C)。 ( A) CISC ( B) RISC ( C)哈佛结构 ( D)冯诺依曼结构 1.5 单片机的应用 ( 1)单片机的 CPU 能处理什么信号?( A ) ( A)数字信号 ( B)模拟信号 ( C)数字和模拟

4、信号 ( D)非数字、非模拟信号 ( 2)模拟信号须经( B)后才能送入单片机。 ( A)模拟信号处理电路 ( B)模数转换器 ( C)数字信号处理电路 ( D)数模转换器 ( 3)下列输入输出设备中,属于数字输入的有( A),属于数 字输出的有( BC),属于模拟输入的有( DE),属于模拟输出的有( F)。(不定项选择) ( A)按键 ( B) Led ( C) LCD ( D)麦克风 ( E)温度传感器 ( F)直流电机 1.6 数制转换 ( 1)十进制数 123 转换为二进制( D )。 ( A) 1011101 ( B) 1011101B ( C) 1111011 ( D) 1111

5、011B ( 2)二进制数 0110 1101B 转换为十进制( C )。 ( A) 69 ( B) 73 ( C) 109 ( D) 137 ( 3)下列二进制与十六进制的等式错误的是( D )。 ( A) 1011 0110B = 0xB6 ( B) 0110 1101B = 0x6D ( C) 1101 1111B = 0xDF ( D) 0111 1011B = 0x7A 1.7 数的运算 ( 1)下列二进制的运算错误的是( A ) ,结果仅保留 8 位二进制 。 ( A) 1010 1110B + 1001 1010B = 1010 0100B ( B) 1011 0001B 011

6、1 1110B = 0011 0011B ( C) 1101 1011B ( F) include ; ( G) #include ; ( H) #include ; 3.2 C51 的数据类型 ( 1) C51 中,一个变量的取值范围是 0 250,其最适合的数据类型是( B ) ; ( A) char ( B) unsigned char ( C) int ( D) unsigned int ( 2) C51 中, 若 一个 变量的取值范围是 -250 250,则最适合的数据类型是( C )。 ( A) char ( B) unsigned char ( C) int ( D) unsig

7、ned int ( 3) C51 中,要对端口 P1.0 重命名成 P10,下列语句正确的是( D )。 ( A) bit P10 = P1.0; ( B) bit P10 = P10; ( C) sbit P10 = P1.0; ( D) sbit P10 = P10; ( 4)下列关于位类型说法正确的是( ABCD)。 (多选) ( A)位类型只能访问可位寻址的单元 ( B) bit 类型的变量位于片内 RAM 的 20H 2FH 中的某一位 ( C) sbit 只能用于已经分配好地址的且可位寻址的变量 ( D) sbit 常用于特殊功能寄存器中可寻找位的重命名 3.3 C51 的运算量

8、( 1)下列对于 C51 中常量的写法正确的是( ABDF)。(多选) ( A) 0.618 ( B) -256 ( C) 45H ( D) 0x63 ( E) 0xefH ( F) -0x12 ( 2)下列对于 C51 中变量的命名正确的是( ADHI)。(多选) ( A) VALUE ( B) 2Sum ( C) A+B ( D) B2C ( E) char ( F) #33 ( G) result2.0 ( H) val_2 ( I) _total ( J) ab ( 3) C51 中,在片内 RAM 定义的变量,其存储器类型是( A ) ; ( A) data ( B) xdata (

9、 C) code ( D) static ( 4) C51 中,变量 若定义在片外 RAM,存储类型是( B ) ; ( A) data ( B) xdata ( C) code ( D) static ( 5) C51 中,变量若定义 在 ROM 中,存储类型为( C )。 ( A) data ( B) xdata ( C) code ( D) static ( 6)下列变量定义中,能实现在片内 RAM 低 128 字节定义一个无符号字节变量 val1 的是( B )。 ( A) char data val1; ( B) unsigned char data val1; ( C) char

10、xdata val1; ( D) unsigned char xdata val1; ( 7)下列变量定义中,能实现在 ROM 定义一个 5 元素的有符号字节数组 LedCode,数组内容分别为: 0x3f, 0x06, 0x5b, 0x4f, 0x66 的是( D )。 ( A) char data LedCode5 = 0x3f, 0x06, 0x5b, 0x4f, 0x66; ( B) char code LedCode5; ( C) char data LedCode = 0x3f, 0x06, 0x5b, 0x4f, 0x66; ( D) char code LedCode = 0x

11、3f, 0x06, 0x5b, 0x4f, 0x66; 3.4 绝对地址访问 ( 1)使用预定义宏方式访问绝对地 址时,必须包含头文件( C)。 ( A) reg51.h ( B) reg52.h ( C) absacc.h ( D) stdio.h ( 2)下列语句中,能将片内 RAM 0x30 单元的内容送到片外 RAM 0x3000 单元中的是( A )。 ( A) XBYTE0x3000 = DBYTE0x30; ( B) XBYTE0x30 = DBYTE0x3000; ( C) DBYTE0x30 = XBYTE0x3000; ( D) DBYTE0x3000 = XBYTE0x3

12、0; ( 3)使用指针方式访问绝对地址时, 定义指针变量需指定其(存储类型),如定义了指针变量 *point,则 point 存放的是(地址),而 *point 则表示(内容)。 ( 4)用预定义宏方式实现下列 无符号字节单元的操作: ( A)把数据 20H 送入 片内 RAM 的 40H 单元; ( DBYTE0x40 = 0x20;) ( B) 片内 RAM 的 56H 单元送到片内 RAM 的 66H 单元; ( DBYTE0x66 = DBYTE0x56;) ( C) 片外 RAM 的 30H 单元送到片外 RAM的 3000H 单元; ( XBYTE0x3000 = XBYTE0x3

13、0;) ( D) ROM 的 365H 单元送到片内 RAM 的 35H 单元; ( DBYTE0x35 = CBYTE0x365;) ( E)将片内 RAM 地址为 Addr 的单元内容送到片外 RAM 地址为 ExAddr 的单元;( XBYTEExAddr = DBYTEAddr;) ( F)将程序中首地址为 Tab 的常数表格的第 4 个字节单元内容取出送到变量 Value 中;( Value = CBYTETab + 3;) 3.5 C51 的运算符与语句 ( 1)已知 unsigned char 类型变量 a = 23, b = 11,试求下列表达式 c 的值。 ( A) c1 =

14、 a * b; c1 = ( 253); ( B) c2 = a / b; c2 = ( 2); ( C) c3 = (a+) - b; c3 = ( 12); ( D) c4 = (+a) - b; c4 = ( 13); ( E) c5 = a % b; c5 = ( 1); ( F) c6 = (-a) % b; c6 = ( 0); ( 2)已知 x = 19, y = 3,则执行完语句 w = (+x) * (y-);后, w 的值为( C )。 ( A) 57 ( B) 38 ( C) 60 ( D) 40 ( 3)试判断下列逻辑表达式的运算结果。 ( A) 2 ( 0); ( B

15、) (2 / 2) ( 0); ( C) (2 / 2) | (2 % 2);( 1); ( D) 3 | 0;( 1); ( E) (10 != 3 + 6)( 0); ( F) !(3 + 2)( 0); ( 4)已知 unsigned char 类型的两个变量 x = 15, y = 7,试求下列复合赋值运算结果。 x += y; ( I) x %= y; ( B) x ( D) x = y; ( E) x = y; ( A ) ( A) 0 ( B) 1 ( C) 0x03 ( D) 0x07 ( E) 0x08 ( F) 0x0f ( G) 0x0a ( H) 0x0e ( I) 0

16、x16 ( J) 0x3c ( K) 0xf8 3.6 C51 的输入输出函数 ( 1) C51 中要用 scanf、 printf 这样的输入输出函数,则必须加上头文件( stdio.h),同时程序中必须加上(串口初始化)程序段。 ( 2)已知 int 类型的两个变量 x = 15, y = 7,求运行下列程序段后各自输出的结果。 z = !y; printf(“%d”, z); ( A) z = y; printf(“%d”, z); ( E) z = x printf(“%d”, z); ( B) z = x | y; printf(“%d”, z); ( B) z = x | y; p

17、rintf(“%d”, z); ( D) ( A) 0 ( B) 1 ( C) 0x03 ( D) 0x0f ( E) 0xf8 ( 3)写出下列程序段的输出结果 ,注意空格 。 #include externserial_initial(); main() int x, y, z; serial_initial(); x = y = 8; z = +x; printf(“n%d%d%d”, y, z, x); x = y = 8; z = x+; printf(“n%2d%2d%2d”, y, z, x); x = y = 8; z = -x; printf(“n%3d%3d%3d”, y,

18、 z, x); x = y = 8; z = x-; printf(“n%4d%4d%4d”, y, z, x); printf(”n”); while (1); 答案: 899 8 8 9 8 7 7 9 8 7 3.7 C51 的基本结构 ( 1)下列程序段中,语句 P10 = !P10;执行的次数是( A )。 unsignedint x = 99, i; while (x-) for (i=1; i y ? y : x); ( A) 求 x 与 y 的和作为返回值 ( B) 求 x 与 y 差的绝对值作为返回值 ( C) 求 x 与 y 的较小值作为返回值 ( D) 求 x 与 y 的

19、较大值作为返回值 ( 3)为表示一个函数是中断函数,其关键词是( interrupt),后面加上表示中断类型的(中断号)。 ( 4)下列关于中断函数的说法错误的是( D)。 ( A)中断函数 没有入口参数,也没有返回值 ( B) 中断函数不能被调用,但是可以调用其他函数 ( C) 为提高实时性,中断函数应尽量简短 ( D) 中断函数通常放在 C 程序文件开头 3.9 数组与指针 ( 1)下面关于数组的定义中正确的是( C )。 ( A) int x; ( B) int Array5; int Arrayx; Array5 = 1, 2, 3, 4, 5; ( C) int x5; ( D) i

20、nt Array = 1, 2, 3, 4, 5; x5 = 5; ( 2)下列程序段的功能是( A)。 unsigned char i, index = 0, temp, Value10; for (i=0; i9; i+) if (Valuei Valuei + 1) index = i + 1; temp = Value0; Value0 = Valueindex; Valueindex = temp; ( A)找出数组 Value 中的最大值 放在第一个单元 ( B)找出数组 Value 中的最小值 放在第一个单元 ( C)给数组 Value 从大到小排序 ( D)给数组 Value

21、从小到大排序 ( 3)下面语句中,能正确定义一个指向片外 RAM 地址为 0x1000 单元的是( B )。 ( A) int x; ( B) int *x; ( C) int x; ( D) int *x; x = 0x1000; x = 0x1000; *x = 0x1000; *x = 0x1000; 3.10 C51 程序的版式 3.11 实验环境与调试步骤 3.12 实验一 C51 程序调试基础 3.13 实验二 绝对地址访问 3.14 实验三函数的使用 3.15 实验四数组排序 4. 51 单片机内部资源 4.1 并行输入输出接口 ( 1)控制 P1 口高 4 位输出高电平,低 4

22、 位输出低电平,只需写入指令( P1 = 0xF0;)。 ( 2)将 P2 口的 8 位状态读入变量 KeyVal 的指令为( KeyVal = P2;)。 ( 3) sbit Control = P12; 则控制 P1.2 输出高电平的指令为( Control = 1;),控制 P1.2 输出低电平的指令为( Control = 0;),控制 P1.2 取反输出的指令为( Control = !Control;)。 ( 4) sbitEOC = P33; 则读入 P3.3 的状态到位变量 eoc 的指令为( eoc = EOC;),等待 P3.3 由低电平变成高电平的指令为( while(!

23、EOC);)。 4.1.1 开关控制发光二极管 ( 1)针对下面原理图,若要让 8 位发光二极管从上至下的状态为:亮灭亮灭亮亮灭灭,则P1 口应送出的值为( D )。 8051P 1 .0P 1 .1P 1 .2P 1 .3P 1 .4P 1 .5P 1 .6P 1 .7+ 5 V( A) 0xAC ( B) 0x3A ( C) 0x53 ( D) 0xCA ( 2)利用上个原理图实现跑马灯(流水灯),发光二极管从上至下依次循环点亮,同一时刻仅点亮一个发光二极管,则 控制程序为(第一空);若改为从下而上依次循环点亮一个,则控制程序又为(第二空)。 第一空: while (1) value = 0x01; for (i = 0; i 8; i+) P1 = value; value= 1; Delay(); 第二空: while (1) value = 0x80; for (i = 0; i 8; i+)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 复习参考

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。