资源描述
资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。
一.选择题
1. 89S51的内部程序存储器与数据存储器的容量各为多少? C P10
(A)64KB、 128B (B)4KB、 64KB (C)4KB、 128B (D)8KB、 256B
2. 下列哪个是89S51多出的功能? B
( A) 存储加倍 ( B) 具有WDT功能
( C) 多一个八位输入/输出端口 ( D) 多一个串行口
3. 在DIP40封装的8051芯片里, 复位RESET引脚编号是多少? A
( A) 9 (B)19 (C)29 (D)39
4. 在DIP40封装的8051芯片里, 接地引脚与电源的引脚编号是多少? C
( A) 1、 21 ( B) 11、 31 ( C) 20、 40 ( D) 19、 39
5. 下列那个软件同时提供8051的汇编语言及C语言的编译器? A
(A)Keil u Vision (B)Java C++ (C)Dephi (D)Visual C++
6. 在12MHz时钟脉冲的8051系统里, 一个机器周期有多长? C
(A)1ms (B)12us (C)1us (D)12ms
7. 在8051芯片里, 哪个引脚是控制使用内部程序存储器, 还是外部程序存储器? B
( A) XTAL1 (B) (C) (D)ALE
8. 下列哪个不是8051所提供的寻址模式? D
( A) 寄存器寻址 ( B) 间接寻址 ( C) 直接寻址 ( D) 独立寻址
9. 下列哪个寄存器是8051内的16位寄存器? C
( A) ACC (B)C (C) PC (D)R7
10. 开发微型计算机所使用的在线仿真器的简称是什么? A
( A) ISP (B)USP (C)ICE (D)SPI
11. 在Keil u Vision3里开发8051程序的第一步是什么? D
( A) 打开新的项目文件 ( B) 调试与仿真 ( C) 组建程序 ( D) 产生执行文件
12. 在Keil u Vision3里, 若要打开项目, 应如何操作? D
( A) 运行File / New命令 ( B) 运行File / New Project命令
( C) 运行Project / New命令 ( D) 运行Project / New Project…命令
13. 进行调试/仿真时, 若想要观察输入/输出端口的状态, 能够如何处理? D
( A) 运行Peripherals/I/O-Port命令 ( B) 运行View/Ports命令
( C) 运行Edit/Ports命令 ( D) 单击按钮
14. 下列哪项不是Keil C的预处理命令? C
( A) #include (B)#define (C)#exit (D)#if
15. 下列哪项不是Keil C的数据类型? B
( A) void ( B) string (C)char (D)float
16. 在8051的输入/输出端口里, 哪个输入/输出端口执行在输出功能时没有内部有上拉电阻? A
(A) P0 (B) P1 (C) P2 (D) P3
17. 在Keil C的程序里, 若要指定Port0的bit3, 如何编写程序? C
( A) P0.3 (B) Port0.3 (C) P0^3 ( D) Port0^3
18. 8051的输入/输出端口都是采用哪种电路结构? B
( A) 集电极式输出 ( B) 漏极开路输出 ( C) 射极输出 ( D) 图腾式输出
19. 在8051里, 若要扩展外部存储器, 数据总线连接哪个输入/输出端口?A
(A) P0 (B) P1 (C) P2 (D) P3
20. 点亮一般的LED所消耗的电流约为多少? D
( A) 1~20uA (B)10~20uA (C)1~20mA ( D) 10~20mA
21. 一般蜂鸣器属于哪种负载? B
( A) 电阻性负载 ( B) 电感性负载 ( C) 电容性负载 ( D) 不导电负载
22. 7405/7406的输出采用哪种电路结构? A
( A) 集电极式输出 ( B) 漏极开路输出 ( C) 射极输出 ( D) 图腾式输出
23. 在继电器里, 所谓NO接点是一种什么接点? D
( A) 不使用的接点 (B)不存在的接点
( C) 激磁后即开路的接点 ( D) 常开接点
24. 所谓2P的继电器代表什么意思? D
( A) 只有2个接点 (B) 两相的负载 ( C) 两组电源 ( D) 2组c接点
25. 共阳极7段LED数码管的驱动信号有何特点? A
( A) 低电平点亮 (B) 低电平不亮 ( C) 高电平点亮 ( D) 以上皆非
26. 在8051的程序里, 若要将某个输入/输出端口设计成输入功能, 应如何处理? A
( A) 先输出高电平到该输入/输出口 ( B) 先输出低电平到该输入/输出口
( C) 先读取该输入/输出口的状态 ( D) 先储存该输入/输出口的状态
27. 下列哪种开关具有自动回复功能? D
( A) 指拨开关 ( B) 闸刀开关 ( C) 摇头开关 ( D) 按钮开关
28. 下列哪种开关具有多输出状态? C
( A) 摇头开关 ( B) TACK switch
( C) BCD数字型指拨开关 ( D) 以上皆非
29. 若要产生边缘触发信号, 一般会使用那中开关? C
( A) 指拨开关 ( B) 闸刀开关 ( C) 按钮开关 (D)数字型指拨开关
30. 一般电路板上的厂商设定/调整, 可使用哪种开关? A
( A) 拨码开关 ( B) 闸刀开关 ( C) 按钮开关 (D)数字型指拨开关
31. 根据实验统计, 当操作开关时其不稳定状态大约会持续多久? B
( A) 1~5ms (B)10~20ms (C)100~150ms (D)150~250us
32. 在电路板上的跳线常被哪种开关替代? A
( A) 拨码开关 ( B) 闸刀开关 ( C) 按钮开关 (D)数字型指拨开关
33. 在Keil C里, 判读开关状态使用if-else if语句与使用sweitch语句有何异议? B
( A) if-else if语句较快 ( B) if-else if语句有优先级
( C) sweitch语句可判读较多开关状态 ( D) sweitch语句有优先级
34. 下列何者不是数字型指拨开关? C
( A) 16进制数字型指拨开关 ( B) BCD数字型指拨开关
( C) 12进制数字型指拨开关 ( D) 以上皆是
35. 对于低电平工作的开关而言, 下列何者不是在输入口上连接一个上拉电阻到VCC的目的? A
( A) 提供足够的驱动电流 ( B) 防止不确定状态
( C) 保持输入高电平 ( D) 防止感染噪声
36. 当我们要设计多位数7段LED数码管时, 其扫描的时间间隔大约多少比较合适? D
( A) 0.45s ( B) 0.3s ( C) 0.15s ( D) 0.015s
37. 与多个单位数7段LED数码管比较, 使用多位数的7段LED数码管模块具有何优点? B
( A) 数字显示比较好看 ( B) 成本比较低廉
( C) 比较高级 ( D) 电路比较复杂
38. 若要连接4*4键盘与微处理器, 至少需要多少位的输入/输出端口? D
( A) 16位 ( B) 12位 ( C) 9位 ( D) 8位
39. 对于多个按钮的输入电路而言, 应如何连接比较简洁? A
( A) 采用数组式连接 ( B) 采用串行式连接
( C) 采用并联式连接 ( D) 采用跳线式连接
40. 使用7447驱动7段LED数码管时, 若要测试其所连接的7段LED数码管是否故障, 应如何处理? D
( A) 将test 引脚连接高电平 ( B) 将test引脚连接低电平
( C) 将LT引脚连接高电平 ( D) 将LT引脚连接低电平
41. 使用74138译码时, 应如何连接才能正常译码? C
( A) G1 、 、 引脚连接高电平
( B) G1 、 、 引脚连接低电平
( C) G1引脚连接高电平, 、 引脚连接低电平
( D) G1引脚连接低电平, 、 引脚连接高电平
42. 74C922提供什么功能? B
( A) 7段LED数码管译码器 ( B) 4*4键盘扫描
( C) 4*5键盘扫描 ( D) 16位扫描信号产生器
43. TTL的输入引脚若悬空, 将会如何? A
( A) 看作High ( B) 看作Low ( C) 高阻抗状态 ( D) 不允许
44. CMOS的输入引脚若悬空, 将会如何? D
( A) 看作High ( B) 看作Low ( C) 高阻抗状态 ( D) 不允许
45. 7446与7447都是共阳极7段LED数码管译码驱动器, 两者的差异为何? C
( A) 7446的驱动电流较大 ( B) 7447的驱动电流较大
( C) 7446的负载电压较高 ( D) 7447的负载电压较高
46. 中断功能具有什么好处? C
( A) 让程序更复杂 (B)让程序执行速度更快
( C) 让程序更有效率 ( D) 以上皆是
47. 8051提供几个外部中断? 几个定时器/计数器中断? A
( A) 2, 2 (B)3, 6 (C)2, 3 (D)3, 7
48. 8051的IP寄存器功能是什么? A
( A) 设定中断优先级 ( B) 启动中断功能
( C) 设定中断触发信号( D) 定义CPU的网址
49. 若要让采用低电平触发, 则应如何设定? C
( A) EX0=0 ( B) EX0=1
( C) IT0=0 ( D) IT0=1
50. 在Keil u Vision 3里进行调试/仿真时, 可在那里操作, 才能触动程序中断? A
( A) 在Interrupt System对话框 ( B) 在Control Box对话框里
( C) 直接单击 按钮即可 ( D) 直接按 键
51. 8051所提供的中断功能里, 下列哪个优先级较高? D
( A) T1 ( B) RI/T1 ( C) T0 ( D) INT0
52. 在TCON寄存器里, IE1的功能是什么? B
( A) 触发INT1中断 ( B) 提示INT1中断的标志位
( C) 提高INT1优先级 ( D) 取消INTI中断
53. 在Keil C里, 中断子程序与函数有何不同? A
( A) 中断子程序不必声明 ( B) 函数不必声明
( C) 中断子程序必须有自变量传入 ( D) 中断子程序一定会有自变量传出
54. 若要同时启动INT 0及INT 1中断功能, 则应如何设定? B
( A) TCON=0x81 ( B) IE=0x85 ( C) IP=0x83 ( D) IE=0x03
55. 若要提高INT1的优先级, 则可如何设定? C
( A) IP=0x01 ( B) IE =0x01 ( C) IP=0x04 ( D) IE=0x04
56. 在8051的Timer里, 若使用mode 0, 其最大计数量为多少个机器周期? B
( A) 65 636 ( B ) 8 192 ( C ) 1 024 ( D ) 256
57. 在12MHz的8051系统里, 哪一种模式一次可定时5ms?A
( A) mode 0及 mode 1 ( B ) mode1及 mode2
( C ) mode2及 mode 3 ( D ) mode3及 mode 1
58. 若要让Timer作为外部计数使用, 应如何设定? D
( A) Gate=0 ( B ) Game=1 ( C) =0 ( D ) =1
59. 如何设定8051的Timer才能从外部引脚启动? B
( A) Gate=0 ( B ) Gate=1 ( C) =0 ( D ) =1
60. 下列何者不是8051所提供的省电模式? C
( A) PD模式 ( B ) IDL模式 ( C) LP模式 ( D ) 闲置模式
61. 89S51的看门狗有何作用? C
( A) 重复执行程序 ( B ) 找回遗失数据 ( C) 复位系统 ( D ) 防止中毒
62. 若要启用WDT, 则依次填入WDTRST寄存器那些数据? C
( A) 0xe1 0xe2 ( B ) 0xe1 0x1e ( C) 0x1e 0xe1 ( D ) 0x10 0x01
63. 8051的Timer的哪种模式具有自动加载功能? C
( A) mode 0 ( B) mode 1 ( C) mode 2 ( D) mode 3
64. 若要设定Timer的模式, 可在下列哪个寄存器中设定? A
( A) TMOD ( B) TCON ( C) mode 2 ( D) mode 3
65. 若将Timer0设定为外部启动, 则可由哪只引脚启动? A
( A) P3.2 ( B) P3.3 ( A) P3.4 ( A) P3.5
66. 下列哪种AD转换器的转换速度比较快? B
( A) 双斜率型AD转换器 ( B) 比较型AD转换器
( C) 连续计数式AD转换器 ( D) 连续逼近式AD转换器
67. 下列哪种AD转换器的精密度比较高? A
( A) 双斜率型AD转换器 ( B) 比较型AD转换器
( C) 连续计数式AD转换器 ( D) 连续逼近式AD转换器
68. ADC0804具有什么功能? A
( A) 8位模拟—数字转换器 ( B) 11位模拟—数字转换器
(C) 8位数字—模拟转换器 (D) 11位数字—模拟转换器
69. 若要启动ADC0804, 使它进行转换, 应如何处理? D
( A) 加高电平信号到CS引脚 ( B) 加高电平信号到WR引脚
( C) 加低电平信号到CS引脚 ( D) 加低电平信号到WR引脚
70. 当ADC0804完成转换后, 将会如何? C
( A) CS引脚转为低电平 ( B) CS引脚转为高电平
( C) INTR引脚转为低电平 ( D) INTR引脚转为高电平
71.下列哪个IC具有温度感应功能? B
( A) DAC-08 (B) AD590 (C)uA741 (D)NE555
72.下列哪种数为信号转换模拟信号的方式比较实际? A
( A) R-2R电阻网络 ( B) 加权电阻网络
( C) 双Y形电阻网络 ( D) 三角形电阻网络
73.当温度每上升1℃时, AD590会有什么变化? C
( A) 电压上升1mV (B)电压下降1mV (C)电流上升1uA (D) 电流下降1uA
74.若要让ADC0804进行连续转换, 应如何连续? C
(A) 引脚与引脚连接. 引脚与引脚接地
(B) 引脚与引脚连接. 引脚与引脚接地
(C) 引脚与引脚连接. 引脚与引脚接地
(D) 引脚与引脚连接. 引脚与引脚接地
75.若要ADC0804与8051采用交互式信号传输, 则应怎么做? D
( A) 8051将ADC0804视为外部存储器
( B) 8051经过Port 0连接ADC0804的数据总线
( C) 8051的引脚与ADC0804的引脚相连接.8051的引脚与ADC0804的的引脚相连接
( D) 以上皆是
1. 在12MHz的8051系统里, 一个机器周期包括6个状态周期? 而一个状态周期是由2个时钟脉冲所组成的?
2. 在Keil C程序里, 主程序与函数的最明显的差异是什么?
答: 主程序没有形式参数, 也没有返回的参数: 而函数可随需要有形参及返回参数。
3. 在Keil C程序里, 若要将”my.h”头文件包含到程序, 应如何处理?
答: 加入以下指令: #include”my.h”
4. 试述在说明Keil C程序里如何标注?
答: 有两种标注方式:
① 以”/*”为注释的开始符号, 而以”*/”为注释的结束符号;
② 以”//”为注释的开始符号, 在该行理, ”//”以右皆为注释。
5. 试述Keil C提供哪几种存储器形式? 哪几种存储器模式? P400页
问一: Keil C讲存储器分成6种形式: 程序存储器、 直接寻址的内部数据存储器、 间接寻址的内部数据存储器、 位寻址的内部数据存储器、 以DPTR寻址的外部数据存储器、 以R0和R1寻址的外部数据存储器
问二: Keil C提供SMALL、 COMPACT及LARGE三种存储器方式。
6. 试说明在Keil C提供哪些基本的数据类型? 哪些8051特殊的数据类型? P401
问一: 字符、 无符号数字、 枚举、 短整型、 无符号整型、 整型、 长整型、 无符号长整型、 浮点数、 双精度浮点数、 无。
问二: bit 、 sbit、 sfr、 sfr16
7. 在晶体管驱动继电器的电路里, 继电器的线圈两端并接一个逆向二极管, 其功能是什么
保护晶体管。继电器由激磁变为断磁时, 线圈两端并接一个反向二极管将可提供线圈的放电路径, 才不会感应大电压, 已以致穿晶体管。
8. 试编写一个约1s的延迟函数。
void delay1s(void)
{ int i,j;
for(i=0;i<100i++)
for(j=0;j<1200;j++);
}
9. 在8051里, 若输入/输出执行输入功能之前, 为何要先送”1”到该输入/输出口?
先输出”1”可让输出端的N-MOS不导通, 才不会影响输入值。
10. 试述如何使用BCD数字型指拨开关? 其输出信号为何?
BCD拨码开关的com点连接VCC, 而1、 2、 4、 8连接到单片机的输入端口, 每个引脚都要连接一个电阻到地。
数字 8输出 4输出 2输出 1输出
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 0 1 0 1
……..
11. 常见的开关可分为按钮开关及单刀开关两种, 若要取得脉冲信号, 应使用哪种开关? 若要取得电平信号, 应使用哪一种开关? 而指拨开关属于哪一种开关?
分别是: 按钮开关、 单刀开关、 单刀开关。
12. 若在8051里使用了开关作为输入设备, 试说明如何在开关设备RC电路, 即可防抖动?
13. 在程序里, 如何以简单的方式来防止输入开关的抖动现象?
只有在截获第一个输入信号时, 即调用一个月20ms的延迟函数即可避开不确定信号。
14. 具有中断功能的程序, 必须包含哪些声明或设定?
答: 中断的应用包括中断的设置及中断子程序的编写。而中断的设置包括IE寄存器的设置( 中断开关) 、 IP寄存器的设置( 中断优先级) 、 TCON寄存器的设置( 触发信号选择) 。
15. 试述在12MHz的8051系统里定时器/计数器的四种工作模式, 每种模式最多可定时多少时间?
答: Mode0: 为两个13位定时/计数器, 最大数值为( 即8192) ;
Mode1: 为两个16位定时/计数器, 最大数值为( 即65536) ;
Mode2: 为两个8位可自动加载定时/计数器, 最大数值为( 即256) ;
Mode3: 为一个8位定时/计数器, 最大数值为, 属于少用工作方式;
16. 在8051的指令里, 若要使用定时器/计数器作为外部计数之用, 除了工作模式的选择外, 最关键性的设定是什么?
答: TMOD寄存器里, 设定=1
17. 在12MHz的8051系统里, 若要使用mode 1产生0.05s的延迟, 程序应如何编写?
答: void main()
{
TMOD=0X01;
TH1=(65536-5000)/256;
TL0=(65536-5000)%256;
EA=1;
ET1=1;
TR1=1;
……
}
void timer1() interrupt 3
{ char t;
TH1=(65536-5000)/256;
TL0=(65536-5000)%256;
t++;
if(t= =10) //t+1是5ms,t=10就是50ms, 也就是0.05s
t=0;
}
展开阅读全文