单片机试卷及答案(1)

2013A卷

一、 填空题(每空1分,共20分)

1、+1000001的反码是 。十进制数-4的8位二进制补码是 。 2、计算机所能执行的指令的集合称为 。指令的编码规则称为 ,一般由 和操作数两部分组成。

3、CPU一次可以处理的二进制数的位数称为CPU的 。 4、当EA为 电平时,CPU总是从外部存储器中去指令。

5、89C52单片机有6个中断源,其中内部中断源有 个,外部中断源有 个。 6、汇编指令中,对程序存储器的访问用 指令来访问,外部RAM用 指令来访问。

7、C51的数据类型sfr占 个字节,C51中整型变量占 个字节。

8、指令MOV 20H,#20H中,源操作数的寻址方式是 ,目的操作数的寻址方式是 。

9、定时器T1方式2的8位常数重装初值存放于寄存器 中。定时器T0方式0,寄存器 用于存放计数初值的低5位。 10、多机通信中,主机的SM2= 。

11、EPROM存储器27C256内部容量是32K字节,若不考虑片选信号,则对其内部全部存储单元进行寻址共需 根地址线。

12、波特率倍增位位于特殊功能寄存器 中。 13、8155A内部具有1个 位减法定时器/计数器。

二、 单项选择题(共20题,每题1分,共20分)

1、单片机的应用程序一般存放于( )中

A、RAM B、ROM C、寄存器 D、CPU

2、定时器0工作于计数方式,外加计数脉冲信号应接到( )引脚。

A、P3.2 B、P3.3 C、P3.4 D、P3.5

3、MCS51单片机在同一优先级的中断源同时申请中断时,CPU首先响应( )。

A、外部中断0 B、外部中断1 C、定时器0 D、定时器1

1

4、ADC0809是( )AD的转换器件

A、4通道8位 B、8通道8位 C、4通道12位 D、8通道12位

5、执行中断返回指令后,从堆栈弹出地址送给( )

A、A B、Ri C、PC D、DPTR

6、串行通信中,发送和接收寄存器是( )

A、TMOD B、SBUF C、SCON D、DPTR

7、要使MCS-51能响应外部中断1和定时器T0中断,则中断允许寄存器IE的内容应该是(A、98H B、86H C、22H D、A2H

8、要将P1口高4位清0,低4位不变,应使用指令( )

A、ORL P1,#0FH B、ORL P1,#F0H C、ANL P1,#F0H D、ANL P1,#0FH

9、当选中第1工作寄存器区时,工作寄存器R1的地址是 。

A、00H B、01H C、08H D、09H 10、控制串行口工作方式的寄存器是( )

A、TMOD B、PCON C、SCON D、TCON

11、MCS-51 单片机的晶振频率为12MHz,则MUL AB指令的时间为( )μs。

A、1 B、2 C、4 D、8

12、定时器T2的中断服务程序入口地址为( )。

A、000BH B、0000H C、001BH D、002BH 13、MCS51单片机复位后,P1口锁存器的值为( )。

A、00H B、0FFH C、7FH D、80H 14、POP PSW指令是( )

A、将PSW的值压入堆栈顶部 B、堆栈顶部一个单元内容弹入PSW C、将PSW的值压入堆栈底部 D、堆栈底部一个单元内容弹入PSW 15、下列运算符不是关系运算符的是( )

A、> B、< C、= D、!= 16、设a=0x7f,b=a<<2,则b的值为( )

2

A、7FH B、0F7H C、0CFH D、0FCH 17、单片机复位后,SP的内容是( )

A、00H B、07H C、7FH D、80H

18、函数类型说明符如果用void表示,则函数执行结果返回值的数据类型是( )

A、整型 B、字符型 C、无返回值 D、指针型 19、MCS-51单片机,数据线的条数是 。

A、1根 B、4根 C、8根 D、16根 20、定时器T0计数溢出后,置1( )

A、TF1 B、TF0 C、TI D、RI

三、简答题(共4题,每题5分,共20分)

1、51单片机工作寄存器有几组?如何判断CPU当前使用哪一组工作寄存器?

2、在RAM的位寻址区定义无符号字符变量FLAG,并将FLAG的第0、2位分别定义为K_D、K_P。 3、单片机中各中断源对应的中断服务程序的入口地址能否任意设定?CPU响应定时器中断T0时,能否自动清除中断标志TF0?

4、串行口的发送缓冲器和接收缓冲器使用同一个特殊功能寄存器名SBUF,并具有相同的字节地址99H,他们是同一个寄存器吗?串行口的读、写SBUF指令分别操作的是哪个缓冲器?

四、程序分析题(每空2分,共10分)

已知单片机晶振频率为12MHz,要求让定时器T1工作于方式1来实现60ms定时,同时让定时器T0,工作于方式2,完成200μs定时,试完成初始化程序。

(注意:0x表示横线上所填内容要求以十六进制表示,其它数制表示不得分。)

void init_t0_1()

{ TH0=0x ① ;

TL0=0x ② ; TH1=0x ③ ; TL1=0x ④ ; TMOD=0x ⑤ ; TR0=1; TR1=1 }

3

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4