51单片机考试内容补充

一、选择题(每题1分,共10分)

1. 对程序计数器 PC 的操作(  )。   

A)是自动进行的           B)是通过传送进行的

C)是通过加1指令进行的    D)是通过减1指令进行的

2. 利用下列(       )关键字可以改变工作寄存器组

Ainterrupt  Bsfr       Cwhile   Dusing

3. 设有int i;则表达式i=1,++i,++i||++i,i的值为(   )

A)1          B) 2    C)  3     D)4

4. 计数器T1工作在方式0下,由TH1的8位和TL1的5位组成,其计数范围是( )。

A)0~8191    B)1~8192     C) 0~8192    D)1~4096

5.串行口控制寄存器(SCON) 中的SM0 、SM1位是串行口工作方式选择位,若二者的状态组合是1、0,则对应的波特率为(    )。

A)fosc/12                 B)可变 

C)fosc/64 或者fosc/32    D)fosc/32

6. 外扩程序存储器的低8位地址来自(   )口。

A)P0     B)P1     C)P2     D)P3

7. 异步串行通信中,一帧数据中必须包含(   )。

   A)起始位、校验位和停止位。      B)始位和停止位。

   C)校验位和停止位。              D)起始位和校验位。

8. 当需要从MCS-51单片机程序存储器取数据时,采用的指令为(    )。

A)MOV  A, @R1      B)MOVC  A, @A + DPTR

C)MOVX  A, @ R0       D)MOVX  A, @ DPTR

9. 执行中断返回指令时,要从堆栈中弹出断点地址,以便去执行被中断了的主程序,从堆栈弹出的断点地址送给(  )。

A)A      B)CY      C)PC      D)DPTR

10. 中断服务程序的最后一条指令是(    )

A)END     B)RET      C)RETI      D)AJMP

二、判断题(每题1分,共10分)

1.特殊功能寄存器的名字,在C51程序中,全部大写。(  )

2. “sfr”后面的地址可以用带有运算的表达式来表示。(  )

3.在MCS-51系列中,程序存储器被用来存放程序、常数或表格等。(   )

4.MCS-51系列单片机有丰富的控制转移指令,这类指令一般不影响标志位。(    )

5.Continue 和break都可用来实现循环体的中止。(    )  

6.直接寻址方式在指令中含有操作数的直接地址,该地址指出了参与操作的数据所在的字节地址或位地址。 (    )

7.串行口控制寄存器(SCON) 中的SM2是多机通信控制位,方式0时,SM2必须置0。(    )

8.所谓译码法就是使用译码器对系统的高位地址进行译码,以其译码输出作为存储芯片的片选信号,译码法存储空间连续,能有效地利用空间,适用于大容量多芯片存储器扩展。(    )

9. 串行口的工作方式中,方式0和方式3的波特率是固定的,而方式1和方式2的波特率是可变的,由T1的溢出率决定。(    )

10. 所有定义在主函数之前的函数无需进行声明。(    )

三、填空题(每空1分,共14分)

1KeiL C51软件中,工程文件的扩展名是__________,编译连接后生成可烧写的文件扩展名是___________

2C51中,没有专门的循环语句,我们可以用函数____________完成一个字节的循环左移,用___ _____完成二个字节的循环左移。

3       C语言的基本单位。

4.若有说明int i,j,k;则表达式i=10,j=20,k=30,k*=i+j的值为________

5 C语言中,把多个不同类型的变量结合在一起形成的一个组合型变量,称为         ,简称结构。

6.数组的一个很重要的用途就是          

7. 比特率的定义为(    )。

8. 定时/计数器有(    )种工作模式,模式2的名称为(    )。

9. 假定计算机字长为8位,试写出122的原码是(    )、反码是(    )、补码是(    )。

 

 

 

 

四、综合题(每小题10分,共30分)

1.设单片机时钟频率为12MHz,分析下面程序实现什么功能?

 #include "reg51.h"

sbit P20=P2^0;

void main()

TMOD=0x00; 

TH0=(8192-1000)/256;

TL0=(8192-1000)%256;

ET0=1;

EA=1;

TR0=1;

while(1);

}

  void T0_srv(void)interrupt 1 using 1

TH0=(8192-1000)/256;

TL0=(8192-1000)%256;

P20=!P20;

}

2.简述在Keil中的编译步骤以及Protues中的仿真过程。

3. 试计算下列延时程序的延时时间(设fosc=12MHz)

START:MOV R0,#84H     ;1个机器周期数,

MOV R1,#96H     ;1个机器周期数,

LOOP1:DJNZ R1,LOOP1   ;2个机器周期数

MOV R1,#64H     ;1个机器周期数

DJNZ R0,LOOP1   ;2个机器周期数

RET             ;2个机器周期数

五、设计应用题(1小题10分,23小题各13分,共36分,答案汇编、C51不限)

1.将R3中的压缩BCD码拆分开来,并分别置于内部RAM 30H、31H低半字节。

2.按图示电路,编程依次从右至左点亮每个LED,每次点亮延时间隔约5ms

3.用定时器T0以工作方式0中断,每计数100,累加器进行加1操作,编写程序。

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

静水流深深深!

谢谢你的鼓励,我感激不尽!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值