最新工信部单片机考试题A带答案Word格式.docx
- 文档编号:20904445
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:8
- 大小:20.19KB
最新工信部单片机考试题A带答案Word格式.docx
《最新工信部单片机考试题A带答案Word格式.docx》由会员分享,可在线阅读,更多相关《最新工信部单片机考试题A带答案Word格式.docx(8页珍藏版)》请在冰豆网上搜索。
07MOVR2,#05H;
寄存器R2赋值
08XCHA,R2;
寄存器寻址整字节交换指令
09MOV21H,A;
保存数据05H到RAM的21H单元
10MOV10H,#06H;
RAM单元赋值
11MOVR0,#10H;
寄存器R0赋值
12XCHA,@R0;
寄存器间接寻址整字节交换指令
13MOV22H,A;
保存数据06H到RAM的22H单元
14MOVA,#00H;
15MOV11H,#0FH;
16MOVR1,#11H;
寄存器R1赋值
17XCHDA,@R1;
半字节交换指令
18MOV23H,A;
保存数据到RAM的23H单元,数据应该为0FH
19MOVA,#0FH;
20SWAPA;
累加器高低字节交换指令
21MOV24H,A;
保存数据到RAM的23H单元,数据应该为F0H
22RET
23END
A.0x04H、0x05H、0x06H、0x0FH和0xF0H
B.0x01H、0x05H、0x01H、0x0FH和0xF0H
C.0x04H、0x05H、0x02H、0x0FH和0xF0H
D.0x04H、0x05H、0x06H、0x0FH和0xFFH
5.以下哪个不是C51的关键字(D)。
A.ifB.case
C.returnD.ch
6.以下哪个运算符的优先级最高(A)。
A.()B.+
C.&
&
D.%
7.下面这段程序的运行结果为(A)。
01#include<
stdio.h>
//头文件
02voidmain()//主函数
03{
04inta,b,c,d,e;
//声明变量
05floatf1,f2;
06a=7;
//变量赋值
07b=9;
08c=!
a;
//计算逻辑表达式
09d=a||b;
10f1=2.3;
11f2=5.7;
12e=(f1!
=f2);
13printf("
c=%d,d=%d,e=%d\n"
c,d,e);
//输出结果
14}
A.c=0,d=1,e=1B.c=1,d=1,e=1
C.c=0,d=1,e=0D.c=1,d=0,e=0
8.break语句不能应用于那个语句内部(A)。
A.ifB.for
C.whileD.do-while
9.下列哪个不可以用于声明数组(D)。
A.charB.int
C.floatD.void
10.如果p是指向数组ch的指针变量,设n为一个正整数,则下述运算那个不符合C51语言的规则(D)。
A.p+nB.p++
C.p--D.p*n
11.位结构中的数据类型可以为(A)。
A.unsignedB.float
C.voidD.struct
12.结构指针变量成员的引用方法可以为(多选)(ABCD)。
A.(*结构指针变量).成员名B.*结构指针变量.成员名
C.结构指针变量->
成员名D.以上三种都可以
13.struct关键字可以用于定义(多选)(AB)。
A.结构B.位域
C.枚举D.联合
14.联合变量、枚举变量和位域变量的声明方法为(多选)(ABCD)。
A.先定义后声明B.定义同时声明
C.直接声明D.以上都可以
15.使用指针作为函数参数,在函数执行后,实参变量(A)。
A.变了B.不变
C.有可能变D.有可能不变
16.整型变量的循环左移函数为(A)。
A._irol_B._lrol_
C._iror_D._cror_
17.双分支条件编译指令不包括(B)。
A.#if指令B.#error指令
C.#else指令D.#endif命令
18.#line指令用于改变(A)。
A.当前行的行号B.当前列的列号
C.函数名称D.以上都不对
19.下述那个不是C51的存储类型(A)。
A.intB.sfr
C.bdataD.code
20.T1不可以工作如下那个模式(D)。
A.工作模式0B.工作模式1
C.工作模式2D.工作模式3
21.以下哪个工作模式为16位计数器方式(B)。
22.单片机的外部中断源
由(C)来实现。
A.P3.0B.P3.1
C.P3.2D.P3.3
23.外部中断0的入口地址为(C)。
A.0081HB.0082H
C.0083HD.0084H
24.波特率倍增位对那个模式无效()。
A.模式0B.模式1
C.模式2D.模式3
25.如下那个寄存器可位寻址(A)。
A.SCONB.PCON
C.SBUFD.以上都可以
26.如下哪些方法可以实现按键去抖(多选)(ABD)。
A.软件延时B.电容式硬件消抖
C.电阻式硬件消抖D.双稳态电路消抖
27.键盘程序设计需要注意的问题为(多选)(ABCD)。
A.按键消抖B.读取键值
C.多按键处理D.避免重复响应
28.7段共阴极LED数码管显示字符“0”的段码为(B)。
A.C0HB.3FH
C.00HD.AAH
29.静态驱动多个LED数码管有哪些(多选)(ABD)。
A.直接驱动B.串行接口扩展I/O接口驱动
C.动态扫描D.使用外部扩展RAM地址来驱动
30.当方向位R/
为(A)时,表示主器件读取从器件中的数据。
A.1B.0
C.2D.3
编程题(每题10分,共40分)
1、编写一个单片机硬件加法的程序,从计算机串口输入两个整型数据,在单片机中相加,然后向计算机返回计算结果。
#include<
string.h>
//头文件
#include<
reg51.h>
voidmain(void)//主函数
{
inta;
intb;
longc;
SCON=0x50;
//串口模式1,允许接收
TMOD|=0x20;
//初始化T1为定时功能,模式2
PCON|=0x80;
//设置SMOD=1
TL1=0xF4;
//波特率4800bit/s,初值
TH1=0xF4;
IE|=0x90;
//中断
TR1=1;
//启动定时器
printf("
Entertwonumber\n"
);
scanf("
%d%d"
&
a,&
b);
//输入整型数据
c=a+b;
a=%d,b=%d,c=%ld\n"
a,b,c);
}
2、使用嵌套汇编的方法编写一个可以精确控制P2端口引脚电平延时的程序。
REG51.h>
//头文件
02voidmain()//主函数
04while
(1)
05{
06P2=0x00;
//P2端口输出
07#pragmaasm//嵌入汇编语句
08NOP
09NOP
10SETBP2.0//置P2.0为高电平
11NOP
12NOP
13#pragmaendasm//结束汇编语句嵌入
14P2=0x00;
15}
16}
3、编写一个成绩等级的程序。
要求输入学生的成绩范围为0~100,当为90~100时,输出字符A;
当为80~90时,输出字符B;
当为60~80时,输出字符C。
当小于60时,输出字符D。
答:
//头文件
voidmain()//主函数
floatscore=92;
if(score>
=90)
{
printf(“A”);
}
elseif(score<
90&
score>
=80)
printf(“B”);
80&
60)
printf(“C”);
else
printf(“D”);
4、开发一个单片机程序,接收计算机通过串口发送的数据流,将其中的小写字符转换为大写字符,并回送给计算机。
{
chara;
charc;
while
(1)
Enterachar\n"
%c"
a);
//输入数据
c=toupper(a);
a=%c,c=%c\n"
a,c);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 工信部 单片机 考试题 答案