一、 单项选择题(每题1分,共15分) (1)单片机8051的EA引脚( )。
A、必须接地 B、必须接+5V电源 C、可悬空 D、以上三种视需要而定 (4)下面叙述不正确的是( )。
A、一个C源程序可以由一个或多个函数组成。 B、一个C源程序必须包含一个主函数main( )。 C、在C程序中,注释说明只能位于一条语句的后面。 (5)C程序总是从( )开始执行的。
A、主函数 B、主程序 C、子程序 D、主过程 (7)MCS-51系列单片机的定时器T1用做计数方式时,采用工作方式2,则工作方式控制字为( )。
A、60H B、02H C、06H D、20H (8)MCS-51系列单片机的定时器T0用做定时方式时,采用工作方式1,则初始化编程为( ) A、TMOD=0x01 B、TMOD=0x50 C、TMOD=0x10 D、TMOD=0x02 (9)启动T0开始计数是使TCON的( )。
A、TFO位置1 B、TRO位置1 C、TRO位置0 D、TR1位置0
(10)使MCS-51系列单片机的定时器T0停止计数的语句是( )。
A、TRO=0; B、TR1=0; C、TR0=1; D、TR1=1;
(11)LED数码管若采用动态显示方式,下列说法错误的是( )。
A、将各位数码管的段选线并联 B、将段选线用一个8位I/O端口控制
C、将各位数码管的公共端直接连接在+5V或者GND上 D、将各位数码管的位选线用各自独立的I/O端口控制 (12)共阳极LED数码管加反相器驱动时显示字符“6”的段码是( )。
A、06H B、7DH C、82H D、FAH
(13)MCS-51系列单片机串行口发送/接收中断源的工作过程是:当串行口接收或发送完一帧数据时,将SCON中的( ),向CPU申请中断。
A、RI或TI置1 B、RI或TI置0 C、RI置1或TI置0 D、RI置0或TI置1
(14)下面的 while循环执行了( )次空语句。
while (i=3);
A、无限次 B、0次 C、1次 D、2次
三、 判断题(在每小题前面的括号中用“√”和“х”
判断其表述是否正确(“√”表示正确,“х”表述不
- 1 -
正确)。每题1分,共5分)
1、MCS-51单片机只能应用到工业和商业产品中。( ) 2、MCS-51单片机中一个机器周期包含12个振荡周期。( )
3、SFR中凡是能被8整除的地址,都具有位寻址能力。( )
4、不能用“sfr16” 直接访问定时器/计数器0和1。 ( ) 5、MCS-51单片机的程序存储器只能用来存放程序的。( )
四、程序分析与填空题(每题6分,共24分) 1、下面的延时函数delay( )执行了 次空语句。
void delay(void) { int i;
for(i=0; i<10000; i++); }
2、在横线上将空缺的语句补充完整。 //该程序功能为点亮第一个发光二极管 #include
sbit //声明单片机P1口的第一位为led1 void main() //主函数 {
led1=0; /*点亮第一个发光二极管*/
}
3、在横线上将空缺的语句补充完整。
#include
sbit led1=P1^0; //声明单片机P1口的第一位 void delay1s(); //声明子函数 void main() //主函数 {
while(1) //大循环 {
led1=0; /*点亮第一个发光二极管*/ ① //调用延时子函数
led1=1; /*关闭第一个发光二极管*/ ② //调用延时子函数 } }
void delay1s() //子函数体 { uint i,j;
for(i=500;i>0;i--) for(j=110;j>0;j--); }
- 2 -
4、在横线上将空缺的语句补充完整。 //该程序功能为点亮第一个发光二极管 #include
led1=0; /*点亮第一个发光二极管*/ }
五、问答题(每题8分,共40分)
(1)画出MCS-51系列单片机时钟电路,并指出石英晶体和电容的取值范围。
(2)什么是机器周期?机器周期和晶振频率有何关系?当晶振频率为6MHz时,机器周期是多少?
(3)MCS-51单片机的定时/计数器是增1计数器还是减1计数器?增1和减1计数器在计数和计算初值时有什么不同? (4)当定时/计数器在工作方式1下,晶振频率为6MHz,请计算最短定时时间和最长定时时间各是多少?
- 3 -
相关推荐: