A.00H,00H B.00H,13H C.0FFH,07H D.FFH,07H
18.AT89S51单片机的工作寄存器区的地址范围是 ,可分为 组。( A )
A. 00H~1FH,4 B. 00H~1FH,2 C. 00H~0FH,4 D. 00H~0FH,2 19. 访问外部数据存储器时,不起作用的信号是( C )。 A.RD B.WR C.PSEN D.ALE
20. 若MCS-51单片机使用晶振频率为6MHz时,其复位持续时间应该超过( B )。 A、2μs B、4μs C、8μs D、1ms 21.程序状态字寄存器PSW中的AC=1,表示( D )。 A. 计算结果有进位 B. 计算结果有溢出 C. 累加器A中的数据有奇数个1 D. 计算结果低4位向高位进位 22.AT89S51单片机的4个I/O口中,下列哪个I/O口内部不带上拉电阻,在应用时要求外加上拉电阻的是( A )。
A.P0 B.P1口 C.P2口 D.P3口 23.假设51单片机的晶振为8MHz,则其对应的机器周期为( C )。 A.0.5us B.1us C.1.5us D.2us
24.WDT是看门狗定时器,它包含一个 B 位计数器和定时复位寄存器WDTRST.( )
A.13 B.14 C.15 D.16 25. MCS-5l单片机的堆栈区是设置在( C )中。
A、片内ROM区 B、片外ROM区 C、片内RAM区 D、片外RAM区 26、AT89S51单片机采用的内部程序存储器的类型是( B )。 A. EPROM B. Flash C. SFR D.掩膜ROM
27、单片机复位后,SP、PC、I/O口(P0、P1、P2、P3)的内容为( C ) A. SP = 00H PC = 1000H I/O口= FFH B. SP = 00H PC = 0000H I/O口= 00H C. SP = 07H PC = 0000H I/O口= FFH D. SP = 07H PC = 0000H I/O口= 00H 28、 P0、P1口作输入用途之前必须( A )
A. 相应端口先置1 B. 相应端口先置0 C. 外接高电平 D. 外接上拉电阻 29、MCS—51单片机的CPU主要的组成部分为( A )。 A、运算器、控制器 B、加法器、寄存器 C、运算器、加法器 D、运算器、译码器 30、单片机8031的ALE引脚是( B )。
A、输出高电平 B、输出矩形脉冲,频率为fosc的1/6 C、输出低电平 D、输出矩形脉冲,频率为fosc的1/2 31、MCS-51单片机的复位信号是( A )有效。 A. 高电平 B. 低电平 C. 上升沿 D. 下降沿
31、在访问片外扩展存储器时,低8位地址和数据由( )口分时传送,高8位地址由( )口传送。( C )
A. P0 P1 B. P1 P0 C. P0 P2 D. P2 P0
四、简答题
1、 请说明为什么使用LED需要接限流电阻,当高电平为+5V时,正常点亮一个LED需要多大阻值的限流电阻(设LED的正常工作电流为10mA,导通压降为0.6V),为什么?
2、 MCS-51单片机的存储器从物理结构上可划分几个空间?
3、 MCS-51单片机的P0~P3四个I/O端口在结构上有何异同?使用时应注意的事项?
五、编程题
1、用AT89S51单片机的P2口控制8个LED(共阳接法)依次右移1位点亮(亮200ms)。即P2.7亮→P2.6亮→……→P2.1→P2.0亮,重复循环。
#include
}
void main() { int i;
char table[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe}; }
2、利用AT89C51的P1口控制8个发光二极管LED。相邻的4个LED为一组,使2组每隔0.5S 交替发亮一次,周尔复始。画出电路图(含最小系统及与外设的连接图)并编写程序。 #include
void main() { int i; while(1) }
{ }
P2=0x0f; delay(500); P2=0Xf0; delay(500); while(1) { for(i=0;i<8;i++) }
{P2=tabel[i]; }
delay(200);
4、 编制一个循环闪烁的程序。有8个发光二极管,每次其中某个灯闪烁点亮10次后,转到下一个闪烁10次,循环不止。画出电路图。 #include
void main() { int i,j;
char table[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe}; while(1) { for(i=0;i<8;i++) } }
{ for(j=0;j<10;j++) }
{P2=tabel[i]; delay(200); P2=0XFF; delay(200);}
三、C语言编程基础
一、填空题
1、在C51语言的程序中,注释一般采用 /**/ 和 // 来实现。 2. KeiL C51软件中,工程文件的扩展名是 uvproj ,编译连接后生成可下载至单片机芯片的文件后缀名是 hex 。
二、判断题
( √ )1、特殊功能寄存器的名字,在C51程序中,全部大写。
( × )2、在C语言中,函数的调用是可以根据需要随便调用,前面的函数
可以调用后面的函数,后面的函数也可以调用前面的函数,无需声明。 ( √ )3、若一个函数的返回类型为void,则表示其没有返回值。 (× )4、用C语言编写AT89C51单片机时,必须添加的头文件是“stdio.h”。 ( × )4、采用单片机的C语言开发时,只能利用C51语言书写程序,不能嵌套汇编语言。
( √ )5、#include
( √ )6、在C语言中,所有定义在主函数之前的函数无需进行声明。
三、选择题
1、下列数据类型中,( C )是51单片机特有的类型。
A. char B. int C. bit D. float 2、利用下列( A )关键字可以使用不同的中断源。
A. interrupt B. sfr C. while D. using
3.使用单片机软件调试C语言程序时,首先应新建文件,其扩展名是( A ) A. *.c B. *.asm C. *.bin D. *.hex 4.下列指令判断若定时器T0未计满数就原地等待的是( B )。
A. while(T0==1); B. while(TF0==0); C. while(T0==0); D. while(TF0==1); 5.利用下列( D )关键字可以改变工作寄存器组。
A. interrupt B. sfr C. while D. using 6. C语言中最简单的数据类型包括( B )。
A、整型、实型、逻辑型 B、整型、实型、字符型 C、整型、字符型、逻辑型 D、整型、实型、逻辑型、字符型 7. 以下能正确定义一维数组的选项是( B )。
A、int a[5]={0,1,2,3,4,5}; B、char a[ ]={0,1,2,3,4,5}; C、char a={'A','B','C'}; D、int a[5]=\
四、外部中断
一、填空题
1、MCS-51的外部中断有两种触发方式,分别是电平触发方式和 边沿 触发方