文档库 最新最全的文档下载
当前位置:文档库 › 单片机试题库程序及答案

单片机试题库程序及答案

单片机试题库程序及答案
单片机试题库程序及答案

1、

程序功能:通过用DAC0832产生三角波。(DAC0832的数字信号输入端接P0口,/CS 接P2.7,/XFER接地,/WR1、/WR2接单片机的/WR,ILE接电源+5V。)

①DA0832=i; ②for(i=255;i>=0;i--) ③for(i=0;i<=255;i++) ④while(1) ⑤uchar i; ⑥TF1=0; ⑦while(!TF1); ⑧TR1=1;

⑨void delay_1ms() ⑩#include

#include//存放绝对地址宏定义的函数原型

#include﹍﹍﹍﹍﹍

#define uchar unsigne d char

#define uint unsigned int

#define DA0832 XBYTE[0X7FFF]

﹍void delay_1ms() ﹍﹍﹍﹍﹍

{

TH1=0XFC;

TL1=0X18;

TR1=1;

﹍﹍while(!TF1);﹍﹍﹍﹍//等待1ms定时时间到

﹍﹍﹍TF1=0;﹍﹍﹍

}

void main()

{ ﹍

uchar i;﹍﹍﹍﹍﹍

TMOD=0X10;

﹍﹍﹍while(1)﹍﹍﹍

{ ﹍﹍for(i=0;i<=255;i++) ﹍﹍﹍﹍//形成三角波输出值,逐渐增大,最大为255

{ DA0832=i;//D/A转换输出

delay_1ms();

}

﹍﹍for(i=255;i>=0;i--)﹍﹍﹍﹍

{ ﹍DA0832=i;﹍﹍﹍﹍﹍;//D/A转换输出

delay_1ms();

}

}

}

2、程序功能:通过DAC0832产生锯齿波。(DAC0832的数字信号输入端接P0口,/CS 接P2.7,/XFER接地,/WR1、/WR2接单片机的/WR,ILE接电源+5V。)

选择项:①delay_1ms();②DA0832=i;③for(i=0;i<=255;i++)④TMOD=0X10;⑤void main()⑥TF1=0;⑦while(!TF1) ;

⑧TL1=0X18;⑨#define DA0832 XBYTE[0X7FFF]⑩#include

源程序:

﹍#include﹍﹍﹍﹍﹍//存放绝对地址宏定义的函数原型

#include

#define uchar unsigned char

#define uint un signed int

#define DA0832 XBYTE[0X7FFF]﹍﹍﹍﹍﹍﹍

void delay_1ms()

{ TH1=0XFC;

TL1=0X18;﹍﹍﹍﹍

TR1=1;

﹍while(!TF1) ;﹍﹍﹍﹍﹍

﹍TF1=0;﹍﹍﹍﹍﹍

}

void main()﹍﹍﹍﹍﹍﹍

{

uchar i;

﹍TMOD=0X10;﹍﹍﹍﹍﹍

while(1)

{ for(i=0;i<=255;i++)﹍﹍﹍﹍﹍﹍

{ ﹍﹍DA0832=i;﹍﹍﹍﹍//D/A转换输出

﹍delay_1ms();﹍﹍﹍﹍﹍

}

}

}

3、程序功能:用单片机实现简易数字钟,显示小时、分和秒。(单

片机P2口输出取反后控制8个共阴极数码管的位码,P0口控制每个数码管的段码)

选择项:①calc( ); ②display( ); ③if(time[2]>23) ④if(time[1]>59) ⑤if(time[0]>59) ⑥P0=dispcode[time[i]/10]; ⑦P0=dispcode[time[i]%10];

⑧for(i=0;i<4;i++) ⑨void delay(void)⑩uchar time[4]={23,59,58,0};

源程序:

#include "reg51.h " //头文件

#define uchar unsigned char//宏定义

uchar

dispcode[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40}; //定义共阴数码管0~9显示码数组

﹍uchar time[4]={23,59,58,0};

﹍﹍﹍﹍﹍//设置时间初值

void delay(void) //延时函数

{ uchar k;

for(k=250;k>0;k--);

}

void display(void)//显示函数

{ uchar i,k;

k=0x01; //设置位选线初值

﹍for(i=0;i<4;i++)﹍﹍﹍﹍﹍//循环4次

{ P2=0; //关闭显示

﹍P0=dispcode[time[i]%10]; ﹍﹍﹍﹍﹍//输出个位数的段码P2=k; //送位码

k=k<<1;//位码左移一位

delay( );//调用延时函数

P2=0;//关闭显示

﹍P0=dispcode[time[i]/10];﹍﹍﹍﹍﹍//输出十位数的段码P2=k;//送位码

k=k<<1;//位码左移一位

delay( ); //调用延时函数

}

P2=0;//关闭显示

}

void calc(void)//时间值计算函数

{ time[0]++;//秒加1

﹍if(time[0]>59) ﹍﹍﹍﹍﹍//秒是否超过59

{ time[0]=0;//秒清0

time[1]++;//分加1

﹍if(time[1]>59)﹍﹍﹍﹍﹍//分是否超过59

{ time[1]=0;//分清0

time[2]++;//小时加1

﹍if(time[2]>23)﹍﹍﹍﹍﹍//小时是否超过23

time[2]=0;//小时清0

}

}

}

﹍﹍﹍void main()﹍﹍﹍//主函数

{ uchar i;

while(1)//无限循环

{ for(i=0;i<250;i++)//循环250次

﹍﹍display( );﹍﹍﹍﹍//调用显示函数

﹍﹍calc( ); ﹍﹍﹍﹍//调用时间计算函数

}

}

4、程序功能:用单片机控制蜂鸣器播放一首简单的曲子。利用定时器T1实现声音频率的产生(P1.3引脚接蜂鸣器)。

选择项:①unsigned int code table[3]={64260,64400,64524};

②th=(table[n]/256);③unsigned char i,j,k;

④for(i=0;i

⑧TR1=1; ⑨delay(5); ⑩TH1=th;

源程序:

#include "reg51.h"//头文件

sbit P1_3=P1^3; //定义蜂鸣器输出引脚

﹍unsigned int code table[3]={64260,64400,64524}; ﹍﹍﹍//1、2、3三个音的计数值

unsigned char th,tl; //定义全局变量

void sing(unsigned char n) //音频读取函数

{ ﹍﹍th=(table[n]/256);﹍﹍﹍﹍//读取音调计数值高位

tl=(table[n]%256); //读取音调计数值低位

}

void delay(unsigned char m) //延时函数

{ ﹍﹍unsigned char i,j,k; ﹍﹍﹍

﹍﹍﹍for(i=0;i

for(j=0;j<200;j++)

for(k=0;k<100;k++);

}

main()//主函数

{ ﹍﹍﹍﹍﹍﹍

TMOD=0X10; //定时器工作方式设置

﹍﹍﹍ET1=1;﹍﹍﹍//T1中断允许设置

﹍﹍EA=1; ﹍﹍﹍﹍//中断总允许设置

﹍﹍TR1=1;﹍﹍﹍﹍//启动T1

i=0; //设置音频初始值

while(1) //无限循环

{ sing(i); //调用音频输出函数

﹍﹍delay(5);﹍﹍﹍﹍//调用延时函数

i++;//指向下一个音

if(i>=3) {i=0; delay(10);} //一曲结束,重新开始播放

}

}

void time() interrupt 3//T1中断服务程序

{ ﹍﹍TH1=th;﹍﹍﹍﹍//定时器重置初值(高位)

TL1=tl; //定时器重置初值(低位)

P1_3=~P1_3; //输出取反

}

5、程序功能:设置八个电子琴键(从P1口接入),能够通过按键发出相应的声音(弹奏)。利用单片机的定时器T0实现声音频率的产生(P3.3引脚接蜂鸣器)。

选择项:①case 0x7f: ②case 0xfe: ③switch(i) ④while(1) ⑤TCON=0x10; ⑥TMOD=0X01; ⑦main() ⑧P3_3=~P3_3;

⑨void INTTO() interrupt 1 ⑩sbit P3_3=P3^3;

源程序:

#include "reg52.h"//头文件

﹍﹍sbit P3_3=P3^3;﹍﹍﹍﹍//定义蜂鸣器输出引脚

unsigned char idata i,tl0_temp=0,th0_temp=0;//定义全局变量

﹍void INTTO() interrupt 1 ﹍﹍﹍﹍﹍//T0服务程序

{ TH0=th0_temp; //定时器重置初值(高位)

TL0=tl0_temp; //定时器重置初值(低位)

﹍﹍P3_3=~P3_3; ﹍﹍﹍﹍//输出取反

}

main()﹍﹍﹍﹍﹍﹍//主函数

{ P1=0xff;//端口初始化

﹍﹍TMOD=0X01; ﹍﹍﹍﹍//定时器工作方式设置

ET0=1;//T0中断允许设置

EA=1;//中断总允许设置

TH0=0;//定时初值高位设置

TL0=0;//定时初值低位设置

﹍TCON=0x10; ﹍﹍﹍﹍﹍//定时器启动设置

﹍﹍while(1) ﹍﹍﹍﹍//无限循环

{ i=P1;//读端口值

﹍﹍switch(i) ﹍﹍﹍﹍

{ case 0xff:TR0=0;break;//无键按下

﹍﹍case 0xfe:﹍﹍﹍﹍th0_temp=0xfc;tl0_temp=0x43;TR0=1;break;//1键按下

case 0xfd:th0_temp=0xfc;tl0_temp=0xab;TR0=1;break; //2键按下

case 0xfb:th0_temp=0xfd;tl0_temp=0x08;TR0=1;break; //3键按下

case 0xf7:th0_temp=0xfd;tl0_temp=0x32;TR0=1;break; //4键按下

case 0xef:th0_temp=0xfd;tl0_temp=0x81;TR0=1;break; //5键按下

case 0xdf:th0_temp=0xfd;tl0_temp=0xc7;TR0=1;break; //6键按下

case 0xbf:th0_temp=0xfe;tl0_temp=0x05;TR0=1;break; //7键按下

﹍﹍﹍case 0x7f: ﹍﹍﹍th0_temp=0xfe;tl0_temp=0x21;TR0=1;break; //8键按下default:TR0=0;break; //多键按下

}

}

}

6、程序功能:单片机控制两个共阳数码管实现计数显示(P0口接段码,P2.0口接十位数码管的位码,P2.1口接个位数码管的位码)。外中断0每触发一次,计数值加1;外中断1每触发一次,计数值减1。

选择项:①if(a<0) ②void int1(void)interrupt 2 ③if(a>99) ④void int0(void)interrupt 0 ⑤diaplay(); ⑥a/10; ⑦a%10;

⑧P2=0x02; ⑨P2=0x01; ⑩void diaplay(void)

源程序:

#include //头文件

Unsigned char Table[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};

//定义共阳数码管0~9显示码数组

unsigned char data_L,data_H;//定义全局变量:显示个位、十位char a=0; //定义全局变量:计数初值

void delay(unsigned char k)//延时函数

{ unsigned char m,n;

for(m=0;m

{ for(n=0;n<120;n++);

}

}

﹍void diaplay(void﹍﹍﹍﹍﹍//动态显示函数

{ ﹍P2=0x01; ﹍﹍﹍﹍﹍//输出十位数码管位码

P0=Table[data_H];//输出十位段码

delay(1);//调用延时函数

﹍﹍P2=0x02; ﹍﹍﹍﹍//输出个位数码管位码

P0=Table[data_L]; //输出个位段码

delay(1); //调用延时函数

}

void main(void)//主函数

{ IE=0X85;//开中断,外中断0、1允许

TCON=0X05;//外中断1下降沿触发

while(1) //无限循环

{ data_L=﹍﹍a%10; ﹍﹍﹍﹍//读取计数值个位

data_H=﹍a/10;﹍﹍﹍﹍﹍//读取计数值十位

﹍﹍diaplay();﹍﹍﹍﹍//调用显示函数

}

}

﹍﹍void int0(void)interrupt 0﹍﹍﹍﹍//外部中断0函数{ ﹍﹍if(a>99) ﹍﹍﹍﹍a=0;//计数值过大,清零

else a++;//计数值加1

}

﹍void int1(void)interrupt 2 ﹍﹍﹍﹍﹍//外部中断1函数

{ ﹍﹍if(a<0)﹍﹍﹍﹍a=99; //计数值过小,送最大值

else a--; //计数值减1

}

7、程序功能:单片机P0口控制八个条形发光二极管实现键控移位。外中断0每触发一次,LED左移一位;外中断1每触发一次,LED右移一位。

选择项:①#include ②unsigned char a;

③unsigned char m,n;④IE=0X85;⑤TCON=0X05;⑥while(1)⑦P0=~a;⑧void int0(void)interrupt 0⑨void int1(void)interrupt 2⑩a=_cror_(a,1);

源程序:

#include //头文件

﹍#include ﹍﹍﹍﹍﹍//包含循环移位函数的头文件unsigned char a;﹍﹍﹍﹍﹍﹍//定义全局变量

void delay(unsigned char k)//延时函数

{ ﹍unsigned char m,n;﹍﹍﹍﹍﹍

for(m=0;m

{ for(n=0;n<120;n++);

}

}

void main(void)//主函数

{ ﹍IE=0X85;﹍﹍﹍﹍﹍//开中断,外中断0、1允许

﹍﹍TCON=0X05;﹍﹍﹍﹍//外中断0、1下降沿触发

a=0x01;//设置点亮初值

﹍﹍while(1)﹍﹍﹍﹍//无限循环

﹍﹍﹍P0=~a;﹍﹍﹍//端口输出

}

﹍void int0(void)interrupt 0﹍﹍﹍﹍﹍//外部中断0函数

{ delay(100);//调用延时函数

a=_crol_(a,1); //循环左移1位

}

﹍﹍void int1(void)interrupt 2﹍﹍﹍﹍//外部中断1函数

{ delay(100);//调用延时函数

﹍﹍﹍a=_cror_(a,1);﹍﹍﹍循环右移1位

}

8、程序功能:单片机的P2.0~P2.3引脚分别控制电机的A、B、C、D四相。从P3.0接入一个开关,输入为0时,四相步进电机单双相正转;输入为1时,四相步进电机单双相反转。

选择项:①unsigned char pai_num;②void

timer(void)interrupt 1 using 1 ③TH0=(65536-60000)/256;

④pai_num++; ⑤pai_num=0;⑥pai_num=7;⑦pai_num--;

⑧P2=moto_pai[pai_num];⑨void main()

⑩TL0=(65536-60000)%256;

源程序:

#include //头文件

unsigned char moto_pai[8]={0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8,0xf9};//单双相正转

﹍unsigned char pai_num;﹍﹍﹍﹍﹍//状态号

sbit cf=P3^0; //开关设置

﹍void timer(void)interrupt 1 using 1 ﹍﹍﹍﹍﹍// T0中断服务程序

{﹍TH0=(65536-60000)/256;﹍﹍﹍﹍﹍//定时器重置初值(高位)TL0=(65536-60000)%256;//定时器重置初值(低位)

if(cf==0) //开关闭合

{﹍﹍﹍pai_num++;﹍﹍﹍//状态号加1

if(pai_num>=8)﹍﹍﹍pai_num=0;﹍﹍﹍//若状态号过大,回零

}

else//开关断开

{if(pai_num<=0)﹍﹍﹍﹍pai_num=7;﹍﹍//若状态号过小,赋最大值else ﹍﹍﹍pai_num--; ﹍﹍﹍//否则,状态号减1

}

﹍﹍﹍P2=moto_pai[pai_num];﹍﹍﹍//端口输出

}

﹍void main() ﹍﹍﹍﹍﹍//主函数

{ TMOD=0X01;//定时器工作方式设置

TH0=(65536-60000)/256;//定时初值高位设置

﹍﹍﹍TL0=(65536-60000)%256;﹍﹍﹍//定时初值低位设置

EA=1;//中断总允许设置

ET0=1;//T0中断允许设置

P2=moto_pai[0]; //设置初始输出

pai_num=0; //设置状态号初值

TR0=1;//启动定时器0

while(1); //无限循环

}

9、程序功能:单片机的P2.0~P2.3引脚分别控制电机的A、B、C、D四相。P3.0~P3.5每个引脚接入一个按键,分别对应单相正转、单相反转、双相正转、双相反转、单双相正转、单双相反转六种工作方式,同时用共阴数码管显示序号1~6。

选择项:①{0x01,0x02,0x04,0x08}; ②{0x03,0x06,0x0c,0x09};

③k=~P3; ④switch(k) ⑤P0=0x06; ⑥P0=0x5B; ⑦case 0x04: ⑧case 0x08: ⑨for(i=0;i<8;i++)⑩for(i=8;i>0;i--)

源程序:

#include //头文件

#define uchar unsigned char

uchar code tab1[]=﹍{0x01,0x02,0x04,0x08}; ﹍﹍﹍﹍﹍//单相正转加电代码

uchar code tab2[]=﹍{0x03,0x06,0x0c,0x09}; ﹍﹍﹍﹍﹍//双相正转电代码

uchar code tab3[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};//单双相正转

void delay()//延时函数

{ long i;

for(i=0;i<2500;i++);

}

main()//主函数

{ uchar i,k;

P0=0;P2=0; //输出清0

while(1) //无限循环

{ P3=0xff; //为端口输入作准备

﹍k=~P3; ﹍﹍﹍﹍﹍//按键信息读入

﹍﹍switch(k) ﹍﹍﹍﹍//判断按键情况

{case 0x01:﹍﹍﹍P0=0x06; ﹍﹍﹍//只1号键按下时,显示数字1

for(i=0;i<4;i++){P2=tab1[i];delay();}break; //单步4拍正走

case 0x02:﹍﹍P0=0x5B; ﹍﹍﹍﹍//只2号键按下时,显示数字2

for(i=4;i>0;i--){P2=tab1[i];delay();}break; //单步4拍反走﹍﹍﹍case 0x04: ﹍﹍﹍P0=0x4F; //只3号键按下时,显示数字3

for(i=0;i<4;i++){P2=tab2[i];delay();}break; //双步4拍正走﹍﹍case 0x08:﹍﹍﹍﹍P0=0x66; //只4号键按下时,显示数字4

for(i=4;i>0;i--){P2=tab2[i];delay();}break; //双步4拍反走

case 0x10:P0=0x6D; //只5号键按下时,显示数字5

﹍﹍for(i=0;i<8;i++)﹍﹍﹍﹍{P2=tab3[i];delay();}break; //单双步8拍正走

case 0x20:P0=0x7D; //只6号键按下时,显示数字6

﹍﹍for(i=8;i>0;i--)﹍﹍﹍﹍{P2=tab3[i];delay();}break; //单双步8拍反走

default:P0=0x00;P2=0; //没有键按下或多个键同时按下时,输出清0

}

}

}

单片机试题库分章节答案(C语言)

(红色是考试考过的,蓝色是老师给的习题“重点看“) 第1部分单片机概述及数学基础 一、填空题 1、十进制255的二进制是11111111 ,十六进制是FF 。 2、单片机是将CPU、存储器、特殊功能寄存器、定时/计数器和输入/输出接口电路、以及相互连接的总线等集成在一块芯片上。 3、十进制127的二进制是1111111,十六进制是7F。 4、+59的原码是00111011,-59的补码是11000101。 5、十进制数100转换为二进制数是1100100;十六进制数100转换为十进制数是256。 6、十进制数40转换为二进制数是101000;二进制数10.10转换为十进制数是 2. 5。 7、十进制99的二进制是1100 011 ,十六进制是63 。 二、判断题 (×)1、AT89S51是一种高性能的16位单片机。8位机 (×)2、有符号正数的符号位是用1表示的。 三、选择题 ()1、计算机中最常用的字符信息编码是(A) A. ASCII B.BCD码 C. 余3码 D. 循环码 四、简答题 1、何谓单片机?单片机与一般微型计算机相比,具有哪些特点? 第2部分51单片机硬件结构、存储系统及 I/O接口 一、填空题 1、AT89S51单片机共有 4 个8位的并行I/O口,其中既可用作地址/数据口,又可用作一般的I/O口的是P0 。 2、若采用12MHz的晶振,则MCS-51单片机的振荡周期为__ 1/12 μS __ ,

机器周期为____1μS __。 3、AT89S51单片机字长是___8___位,有___40根引脚。 4.89S51单片机是8 位单片机,其PC计数器是16 位。 5.若单片机使用的晶振频率是6MHz,那么一个振荡周期是1/6 μS,一个机器周期是2μS μS。 6.89S51单片机是+5 V供电的。4.0-5.5V 7.堆栈是内部数据RAM区中,数据按先进后出的原则出入栈的。8.MSC-51系列单片机具有 4 个并行输入/输出端口,其中_P0_口是一个两用接口,它可分时输出外部存储器的低八位地址和传送数据,而_P1__口是一个专供用户使用的I/O口,常用于第二功能的是P3 口。 9.当单片机系统进行存储器扩展时,用P2口的作为地址总线的高八位,用P0作为地址总线的低八位。 10.半导体存储器分为___ROM___和__RAM__两大类,其中前者具有非易失性(即掉电后仍能保存信息),因而一般用来存放系统程序,而后者具有易失性,因而一般用来存放经常变动的用户程序.中间结果等。 11.MCS-51系列单片机对外部数据存储器是采用_DPTR___作为指针的,其字长为_16__位,因而可寻址的数据存储器的最大空间为_64K_字节。 12. 51单片机有26个特殊功能寄存器,其中11个具有位寻址功能。 13. 当单片机系统需要外扩展存储器时,P2和P0 作为地址总线。 14.AT89S51单片机上电初始化后,将自动设置一些寄存器的初始值,其中堆栈指针SP的初始值为07H ,P0口复位值是FFH。 15.单片机两种节电模式:空闲模式和掉电模式,节电模式是由特殊功能寄存器PCON中的有关位来控制的。 16. 在单片机硬件设计时,31脚一般要接___高电平___,晶振在PCB设计中应尽量___靠近51芯片___。 17.在AT89S51单片机中,RAM是数据存储器,ROM为程序存储器。 18.单片机的复位方式主要有上电复位和按键复位两种。 19.AT89S51单片机的内部RAM的寻址空间为256B,而内部ROM的寻址空间为4K。

单片机试卷及答案

一选择题 (n )1.MCS—51单片机是高档16位单片机。 (y )2.MCS—51的产品8051与8031的区别是:8031片内无ROM。 (n )3.单片机的CPU从功能上可分为运算器和存贮器。 (y )4.MCS-51的指令寄存器是一个8位寄存器,用于暂存待执行指令,等待译码。 (n )5.MCS—51的指令寄存器是对指令寄存器中的指令进行译码,将指令转变为执行此指令所需要的电信号。 (y )6.8051的累加器ACC是一个8位的寄存器,简称为A,用来存一个操作数或中间结果。 (y )7.8051的程序状态字寄存器PSW是一个8位的专用寄存器,用于存程序运行中的各种状态信息。 (n )8.MCS—51的程序存贮器用于存放运算中间结果。(y )9.MCS—51的数据存贮器在物理上和逻辑上都分为两个地址空间:一个是片内的256字节的RAM,另一个是片外最大可扩充64K字节的RAM。 (y )10.单片机的复位有上电自动复位和按钮手动复位两种,当单片机运行出错或进入死循环时,可按复位键重新启动。 (n )11.CPU的时钟周期为振荡器频率的倒数。 (n )12.单片机的一个机器周期是指完成某一个规定操作所需的时间,一般情况下,一个机器周期等于一个时钟周期组成。(y )13.单片机的指令周期是执行一条指令所需要的时间。一般由若干个机器周期组成。 (n )14.单片机系统扩展时使用的锁存器,是用于锁存高8位地址。 (n )15.MCS—51单片机上电复位后,片内数据存储器的内容均为00H。 (y )16.当8051单片机的晶振频率为12MHZ时,ALE地址锁存信号端的输出频率为2MHZ的方脉冲。 (y )17.8051单片机片内RAM从00H~1FH的32个单元,不仅可以作工作寄存器使用,而且可作为RAM来读写。 (n )18.MCS—51单片机的片内存贮器称为程序存贮器。(n )19.MCS—51单片机的数据存贮器是指外部存贮器。(y )20.MCS—51单片机的特殊功能寄存器集中布置在片内数据存贮器的一个区域中。 (y )21.微机控制系统的抗干扰问题是关系到微机应用成败的大问题. 二、单项选择题 1.MCS—51单片机的CPU主要的组成部分为a 。 A.运算器、控制器B.加法器、寄存器C.运算器、加法器D.运算器、译码器 2.单片机能直接运行的程序叫c 。 源程序B。汇编程序C。目标程序D。编译程序3.单片机中的程序计数器PC用来c 。 A.存放指令B.存放正在执行的指令地址C.存放下一条指令地址 D.存放上一条指令地址 4.单片机上电复位后,PC的内容和SP的内容为b 。A.0000H,00H B。0000H,07H C。0003H,07H D。0800H,08H 5.单片机8031的ALE引脚是b 。 输出高电平B。输出矩形脉冲,频率为fosc的1/6 C.输出低电平D。输出矩形脉冲,频率为fosc的1/2 6.单片机8031的引脚a 。 A.必须接地B。必须接+5V C。可悬空D。以上三种视需要而定7.访问外部存贮器或其它接口芯片时,作数据线和低8位地址线的是A 。 A.P0口B。P1口C。P2口D。P0口和P2口 8.PSW中的RS1和RS0用来a 。 选择工作寄存器区号B。指示复位C。选择定时器D。选择工作方式 9.上电复位后,PSW的值为d 。 A.1 B。07H C。FFH D。0 10.单片机上电复位后,堆栈区的最大允许范围是b 个单元。A.64 B。120 C。128 D。256 11.单片机上电复位后,堆栈区的最大允许范围是内部RAM的d 。 A.00H—FFH B。00H—07H C。07H—7FH D。08H—7FH 12.堆栈指针SP在内部RAM中的直接地址是c 。 A.00H B。07H C。81H D。FFH 的P0口,当使用外部存贮存器时它是一个d 。 A.传输高8位地址口A.传输低8位地址口 C.传输高8位数据口D.传输低8位地址/数据口 14.P0口作数据线和低8位地址线时b 。 A.应外接上拉电阻B.不能作I/O口C.能作I/O口D.应外接高电平 15.对于8031单片机,其内部RAM d 。 A.只能位寻址B.只能字节寻址C.既可位寻址又可字节寻址D.少部分只能位寻址 16.寻址方式就是c 的方式。 A.查找指令操作码B.查找指令C.查找指令操作数 D.查找指令操作码和操作数 17.8031 单片机若晶振频率为fosc=12MHz,则一个机器周期等于c μS。 A.1/12 B.1/2 C.1 D.2 18.MCS—51单片机的数据指针DPTR是一个16位的专用地址指针寄存器,主要用来b 。 A.存放指令B.存放16位地址,作间址寄存器使用C.存放

单片机试题库(有答案)

2012《单片机与接口技术》习题库及答案 一、判断题(判断每小题的对错,对的在小题前的括号中打“√”,错的在小题前的括号中打“×”。) MCS-51单片机原理与结构 (×)1.MCS-51单片机是高档16位单片机。 (√)2.MCS-51的产品8051与8031的区别是:8031片内无ROM。(×)3.单片机的CPU从功能上可分为运算器和存储器。 (√)4.8051的累加器ACC是一个8位的寄存器,简称为A,用来存一个操作数或中间结果。 (√)5.8051的程序状态字寄存器PSW是一个8位的专用寄存器,用于存放程序运行中的各种状态信息。 (×)6.MCS-51的程序存储器用于存放运算中间结果。 (√)7.MCS-51的数据存储器在物理上和逻辑上都分为两个地址空间:一个是片内的256字节的RAM,另一个是片外最 大可扩充64K字节的RAM。 (√)8.单片机的复位有上电自动复位和按钮手动复位两种,当单片机运行出错或进入死循环时,可按复位键重新启动。(√)9.CPU的时钟周期为振荡器频率的倒数。 (×)10.单片机的一个机器周期是指完成某一个规定操作所需的时间,一般情况下,一个机器周期等于一个时钟周期。(√)11.单片机的指令周期是执行一条指令所需要的时间。一般由

若干个机器周期组成。 (×)12.单片机系统扩展时使用的锁存器,是用于锁存高8位地址。(×)13.MCS-51单片机上电复位后,片内数据存储器的内容均为00H。 (√)14.当8051单片机的晶振频率为12MHZ时,ALE地址锁存信号端的输出频率为2MHZ的脉冲。 (√)15.8051单片机片内RAM从00H~1FH的32个单元,不仅可以作工作寄存器使用,而且可作为通用RAM来读写。(×)16.MCS-51单片机的片内存储器称为程序存储器。 (×)17.MCS-51单片机的数据存储器是指外部存储器。 (√)18.MCS-51单片机的特殊功能寄存器集中布置在片内数据存储器的一个区域中。 MCS-51单片机指令系统及程序设计 (×)19.MCS-51单片机的指令格式中操作码与操作数之间必须用“,”分隔。 (√)20.MCS-51指令:MOV A,#40H ;表示将立即数40H传送至A 中。 (√)21.MCS-51指令:MOV A,@R0 ;表示将R0指示的地址单元中的内容传送至A中。 (√)22.MCS-51指令:MOVX A,@DPTR ;表示将DPTR指示的地址单元中的内容传送至A中。 (×)23.MCS-51的数据传送指令是把源操作数传送到目的操作数,

单片机题库 带答案

单片机题库 一、填空题 1、当使用8031单片机时,需要扩展外部程序存储器,此时/EA应接((地)低电平)。 2.8051单片机内部有( 2 )个定时/计数器,门控制信号GATE 设置为1 时,由(TRx )和(INTx)控制定时器的启动。 3. 若由程序设定RS1、RS0=01,则工作寄存器R0~R7的直接地址为(08H~0FH)。 4.若累加器A中的数据为01110011B,则PSW中的P=( 1 )。 5、MCS-51单片机具有4个(8 )位并行I/O口,有( 1)个全双工的串行输入输出口。 6、计算机的元件级总线有(地址总线)、(数据总线)、(控制总线) 7、MOV A,@R1指令中,源操作数的寻址方式是(寄存器间接寻址)。 8、8051单片机堆栈遵循数据先入后出的原则。 9、8051单片机使用电源为5V。 10、在立即寻址方式中,在数前使用#号来表示立即数。 11、在8051单片机中,加法指令可以分为ADD,ADC两种。 12、设8051外接12MHz的石英晶体,则一个机器周期的时间宽度为1us。 13、8051单片机的C语言源程序的扩展名为dac,Dac。 14、在设计汇编语言源程序时,可以使用顺序结构的程序,也可以使用某些指令构成分支结构或者循环结构的程序。15、当8051单片机复位后,程序的入口地址为 0000H 。

16、8051单片机中的定时器/计数器有 2个。 17、8051单片机有5 个中断源,分成 2个优先级。 18、MCS-51单片机具有8位CPU,共有 16根地址线。 19、MCS-51片内有( 128 )个字节的数据存储单元,( 21 )个 特殊功能寄存器。片内数据存储器寻址空间是( 256 )字节。 20、内部RAM低128个字节划分为( 工作寄存器区 )、( 位寻 址 )、( 数据缓冲区 )三个部分。 21、访问特殊功能寄存器和片外数据存储器分别采用( 直接寻 址 )、( 寄存器间接寻址 )寻址方式。 22、清除片内RAM 2FH单元最低位,使用的命令是( CLR 08H )。 23、在MCS-51系列单片机MCS-51单片机有4个( 8 )位的并行 I/O口,其中( P0 )口用做低8位地址线和数据线分时复用, 而 ( P2 )口用作高8位地址线。 24、MCS-51单片机有一个具有( 2 )个中断优先级,( 5 ) 个中断源的中断系统。对于每个中断源,均可通过对特殊功能寄存器 中中断优先级寄存器设置其优先级,置( 1 )为高优先级。 25、8031是( 高 )电平复位,复位后,P0-P3口为( 高 ) 电平,SP的值为( 07H ),PC的值为( 0000H ),工作寄 存器位于第( 0 )组。 26、MCS-51单片机具有( 8 )位CPU,共有( 16 )根地址线,可寻 址外部程序存储器( 64K)字节,可寻址外部数据存储器 ( 64K )字节。

单片机试题及答案

单片机原理与接口技术习题答案 习题与思考题1 1-1 微型计算机通常由哪些部分组成?各有哪些功能? 答:微型计算机通常由控制器、运算器、存储器、输入/输出接口电路、输入设备和输出设备组成。控制器的功能是负责从内部存储器中取出指令并对指令进行分析、判断、并根据指令发出控制信号,使计算机有条不紊的协调工作;运算器主要完成算数运算和逻辑运算;存储器用于存储程序和数据;输入/输出接口电路完成CPU与外设之间相连;输入和输出设备用于和计算机进行信息交流的输入和输出。 1-2 单片微型计算机与一般微型计算机相比较有哪些区别?有哪些特点? 答:与通用微型计算机相比,单片机的硬件上,具有严格分工的存储器ROM和RAM和I/O端口引脚具有复用功能;软件上,采用面向控制的指令系统和硬件功能具有广泛的通用性,以及品种规格的系列化。单片机还具备体积小、价格低、性能强大、速度快、用途广、灵活性强、可靠性高等特点。 1-3 简述计算机的工作过程。 答:计算机的工作是由微处理器以一定的时序来不断的取指令、指令译码和执行指令的过程。 1-4 单片机的几个重要指标的定义。 答:单片机的重要指标包括位数、存储器、I/O口、速度、工作电压、功耗和温度。 1-5 单片微型计算机主要应用在哪些方面? 答:单片机的主要应用领域有智能化产品、智能化仪表、智能化测控系统、智能化接口等方面。 1-6 为什么说单片微型计算机有较高的性能价格比和抗干扰能力? 答:因为单片微型计算机主要面向特定应用而设计,设计者在硬件和软件上都高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能,具备较高的性能、价格比;单片机嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存贮于磁盘等载体中,另外单片机体积小,可以放入屏蔽设备中,从而使其具有较高的抗干扰能力。 1-7 简述单片机嵌入式系统的定义和特点。 答:单片机嵌入式系统是嵌入到对象体系中的专用计算机系统;其特点是面向特定应用、与各个行业的具体应用相结合、硬件和软件高效率、软件固化在存储器芯片或单片机本身和不具备自举开发能力。 习题与思考题2 2-1 MCS-51单片机内部包含哪些主要功能部件?它们的作用是什么? 答:MCS-51单片机在一块芯片中集成了CPU、RAM、ROM、定时/计数器、多功能I/O口和中断控制等基本功能部件。 单片机的核心部分是CPU,CPU是单片机的大脑和心脏。 程序存储器用于存放编好的程序或表格常数。数据存储器用于存放中间运算结果、数据暂存和缓冲、标志位等。 定时/计数器实质上是加法计数器,当它对具有固定时间间隔的内部机器周期进行计数时,它是定时器;当它对外部事件进行计数时,它是计数器。 I/O接口的主要功能包括:缓冲与锁存数据、地址译码、信息格式转换、传递状态(外设状态)和发布命令等。 中断控制可以解决CPU与外设之间速度匹配的问题,使单片机可以及时处理系统中许多随机的参数和信息,同时,它也提高了其处理故障与应变能力的能力。 2-2 MCS-51单片机的核心器件是什么?它由哪些部分组成?各部分的主要功能是什么? 答:单片机的核心部分是CPU,可以说CPU是单片机的大脑和心脏。它由运算器、控制器和布尔(位)处理器组成。 运算器是用于对数据进行算术运算和逻辑操作的执行部件。

51单片机基础知识试题题库(复习资料)

单片机原理与应用复习资料 第二章习题参考答案 一、填空题: 1、当MCS-51引脚ALE有效时〃表示从P0口稳定地送出了低8位地址。(备注:ALE 为地址锁存控制信号,书上P22) 2、MCS-51的堆栈是软件填写堆栈指针临时在片内数据存储器内开辟的区域。(p25 更具体些是在内部存储器的用户RAM区开辟的) 3、当使用8751且EA=1〃程序存储器地址小于1000H 时〃访问的是片内ROM。 4、MCS-51系统中〃当PSEN信号有效(备注:低电平为有效信号)时〃表示CPU要从外部程序存储器读取信息。(p22) 5、MCS-51有4组工作寄存器(p23 备注:称为通用寄存器或者工作寄存器)〃它们的地址范围是00H~1FH 。(延伸:通用寄存器占去32个单元,位寻址区占去16个单元,用户RAM区占去80个单元,三者总共为128个单元,组成内部数据存储器的低128单元区) 6、MCS-51片内20H~2FH(即为位寻址区)范围内的数据存储器〃既可以字节寻址又可 以位寻址。(p24) 7、PSW中RS1 RS0=10时〃R2的地址为12H 。 8、PSW中RS1 RS0=11时〃R2的地址为1AH 。(p27 查表2.3即可) 9、单片机系统复位后〃(PSW)=00H〃因此片内RAM寄存区的当前寄存器是第0 组〃8个寄存器的单元地址为00H ~ 07H 。(p27 参考下一题) 10、PC复位后为0000H 。(p38 查表2.6即可,有各种寄存器的初始化状态) 11、一个机器周期= 12 个振荡周期= 6 个时钟周期。(p37) 12、PC的内容为将要执行的下一条指令地址。(p30)

单片机题库及答案

单片机题库及答案 【篇一:单片机试卷及答案】 填空题(每空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 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、串行通信中,发送和接收寄存器是()

单片机试题及答案1

一、填空题 已知x的补码数10110111B,x的真值是___201D。 进制转换:134D=__10000110B;=______86H。 32K存储容量对应的地址范围从0000H-7FFFH_。 CPU与内存或I/O接口相连的系统总线通常由_控制总线__、数据总线__、地址总线___等三种信号组成。MCS-51单片机上电复位时PC=_0000_H,SP=_07_H;工作寄存器缺省采用第___________组,这组寄存器的地址范围是从______H~_____H。 MCS-51单片机系列有__5__个中断源,可分为___2__个优先级。上电复位时外部中断0__中断源的优先级别最高。 MCS-51单片机内部RAM共分为______2__个功能区,其高端128个字节的地址空间称为特殊功能寄存器_区,其中仅有________个字节有实际意义。 8255可编程芯片通常作为_并行接口_______扩展之用;8253可编程芯片通常作为_定时器_______扩展之用。8155可编程芯片通常作为_并行接口计数器和存储器______扩展之用;8279可编程芯片通常作为_键盘/显示控制器________扩展之用。 MCS-51 的并行I/O口信息有____读引脚________和____读锁存_________两种读取方法,读一改一写操作是针对并行I/O口内的锁存器进行的。 74LS273通常用来作为简单______输出__________接口扩展;而74LS244则常用来作为简单________输入_______接口扩展。 不带输入数据锁存器的D/A转换器,CPU必须通过______锁存或寄存__器件与D/A转换器传送数据;无三态输出功能的A/D转换器,应当通过_____三态___器件与CPU传送数据。 若用并行口来扩展一个有36只按键的行列式键盘,最少需__12_根I/O线。 74LS138是具有3个输入的译码器芯片,其输出作为片选信号时,最多可以选中___八_块芯片。 MCS-51单片机访问外存储器时利用_____ALE_______信号锁存来自_____P0_____口的低八位地址信号。在MCS-51系统中,当晶振频率采用12MHz时,一个机器周期等于_1__微秒。 8051的T0作为计数器用时,其计数频率不能超过晶振频率的___二十四分之一__。 二、选择题 通常所说的主机是指( C )。 (A)硬件和软件(B)CPU和磁盘存储器 (C)CPU和主存(D)运算器和控制器

单片机原理试题库答案

单片机原理及应用复习题及答案 一、选择题(在每个小题四个备选答案中选出一个或几个正确答案,填在题的括号中) 1、80C51基本型单片机内部程序存储器容量为(C)。 (A)16KB (B)8KB (C)4KB (D)2KB 2、在80C51单片机应用系统中,可以作为时钟输出的是(C)引脚。 (A)EA(B)RST (C)ALE (D)PSEN 3、在80C51的4个并行口中,能作为通用I/O口和高8位地址总线的是(C)。 (A)P0 (B)P1 (C)P2 (D)P3 4、当优先级的设置相同时,若以下几个中断同时发生,(D)中断优先响应。 (A)并口(B)T1 (C)串口(D)T0 5、在80C51中,要访问SFR使用的寻址方式为(AB)。 (A)直接寻址(B)寄存器寻址(C)变址寻址(D)寄存器间接寻址 6、以下的4条指令中,不合法的指令为(D)。 (A)INC A (B)DEC A (C)INC DPTR (D)SWAP ACC 7、当需要扩展一片8KB的RAM时,应选用的存储器芯片为(B)。 (A)2764 (B)6264 (C)6116 (D)62128 8、若想扩展键盘和显示,并希望增加256字节的RAM时,应选择(A)芯片。 (A)8155 (B)8255 (C)8253 (D)8251 9、80C51单片机要进行10位帧格式的串行通讯时,串行口应工作在(B )。 (A)方式0 (B)方式1 (C)方式2 (D)方式3 10、80C51复位初始化时未改变SP的内容,第一个入栈的单元地址为(A)。 (A)08H (B)80H (C)00H (D)07H 11、MCS—51单片机的复位信号是( A )有效。 A.高电平 B.低电平 C.脉冲 D.下降沿 12、若MCS-51单片机使用晶振频率为6MHz时,其复位持续时间应该超过( B )。 A.2μs B.4μs C.8μs D.1ms 13、若PSW.4=0,PSW.3=1,要想把寄存器R0的内容入栈,应使用( D )指令。 A.PUSH R0 B.PUSH @R0 C.PUSH 00H D.PUSH 08H 14、能够用紫外光擦除ROM中程序的只读存储器称为( C )。 A.掩膜ROM B.PROM C.EPROM D.EEPROM 15、在片外扩展一片2764程序存储器芯片要( B )地址线。 A.8根 B.13根 C.16根 D.20根 16、定时器/计数器工作方式1是( D )。 A.8位计数器结构 B.2个8位计数器结构 C.13位计数结构 D.16位计数结构 17、设MCS-51单片机晶振频率为12MHz,定时器作计数器使用时,其最高的输入计数频率应为 ( C ) A.2MHz B.1MHz C.500KHz D.250KHz 18、已知1只共阴极LED显示器,其中a笔段为字形代码的最低位,若需显示数字1,它的字形代码应为( A )。 A.06H B.F9H C.30H D.CFH

单片机应用技术考试题库

习题1 1.1单项选择题 (1)MCS-51系列单片机的CPU主要由组成。 A. 运算符、控制器 B.加法器、寄存器 C.运算器、加法器 D.运算器、编码器 (2)单片机中的程序计数器PC用来。 A.存放指令 B.存放正在执行的指令地址 C.存放下一条指令的地址 D.存放上一条指令地址 (3)单片机8031的ˉEA引脚。 A.必须接地 B.必须接+5V电源 C.可悬空 D.以上三种视需要而定 (4)外部扩展存储器时,分时复用做数据线和低8位地址线的是。 A.P0口 B.P1口 C.P2口 D.P3口 (5)PSW中的RS1和RS0用来。 A.选择工具寄存器 B.指示复位 C.选择定时器 D.选择工作方式 (6)单片机上电复位后,PC的内容为。 A.0000H B.003H C.000BH D.0800H (7)Intel 8051单片机的CPU是。 A.16 B. 4 C. 8 D.准16位 (8)程序是以形式存放在程序存储器中的。 A. C语言源程序 B.汇编程序 C.二进制编码 D.BCD码 (9)8050单片机的程序计数器PC为16位计数器,其寻址范围是。 A. 8 KB B.16KB C.32KB D.64KB (10)单片机的ALE引脚是以晶振荡频率的固定频率输出正脉冲,因此它可作为外部时钟或外部定 时脉冲使用。 A.1/2 B.1/4 C.1/6 D.1/12 1.2填空题 (1)单片机系统是由和组成的。 (2)除了单片机和电源外,单片机最小系统包括电路和电路。 (3)在进行单片机应用系统设计时,除了电源和地线引脚外,、、、引脚信号必须 连接相应电路。 (4)MCS-51系列单片机的存储器主要有4个物理存储空间,即、、、。 (5)MCS-51系列单片机的XTALL和XYAL2引脚是引脚。 (6)MCS-51系列单片机的应用程序一般存在中。 (7)片内RAM低128单元,按其用途划分为、和3个区域。 (8)当振荡脉冲频率为12 MHz时,一个机器周期为;当振荡脉冲频率为6 MHz时,一个机器周期 为。 (9)MCS-51系列单片机的复位电路有两种,即和。 (10)输入单片机的复位信号需延续个机器周期以上的电平时即为有效,用于完成单片机的复位 初始化操作。 1.3回答题 (1)什么是单片机?它由哪几部分组成?什么是单片机应用系统? (2)P3口第二功能是什么?

单片机习题集及答案

1.在MCS-51中,有7种寻址方式,它们分别为立即数寻、寄存器寻址、直接寻址、寄存器间接寻址、相对寻址、变址寻址和位寻址。 2.汇编语言的指令格式为标号:操作码操作数注释。 3.数据传送类指令执行完毕,源操作数的内容不会(会/不会)丢失。 4.8051内部RAM从20H至2FH既可位寻址,又可间接寻址,位地址空间从00H到7FH。 5.MCS-51单片机指令系统中,指令长度有一字节、二字节和(三)字节,指令执行时间有一个机器周期、两个机器周期和四机器周期,乘法指令需四机器周期。6.MOV A,20H中,20H的寻址方式称之为_直接___;SETB 20H的寻址方式为位寻址。 7.关于堆栈类操作的两条指令分别是_PUSH(入栈)指令_ 、POP(出栈)指令;堆栈操作只能是寄存器间接寻址寻址。 8.访问8031片外数据存储器MOVX指令采用的是寄存器间接寻址寻址方式。访问片外序存储器MOVC指令采用的是变址寻址方式。 9.设(A)=55H,(R5)=AAH,则执行ANL A,R5指令后的结果是(A)= 00H,(R5)= AAH;则执行ORL A,R5指令后的结果是(A)= FFH ,(R5)= AAF;则执行XRL A,R5指令后的结果是(A)= FFH,(R5)= AAH 。 10.伪指令不产生(产生/不产生)可执行目标代码。汇编语言程序结束的指令为END。11.DA指令跟在ADD,ADDC指令的后面,用与二进制数与BCD码的调整。若 (A)=0AH ,执行DA A指令后,(A)= 15。 单项选择题 1.JMP跳转范围是:(D. -128~127B) 2.MCS—51系列单片机最长的一条指令需 B. 4个机器周期。 3.MOV A,@R0这条指令中@R0的寻址方式称为:(B. 寄存器间接寻址) 4.在CPU内部,反映程序运行状态或反映运算结果的特征寄存器是:B. PSW 5.下列指令中正确的是:B. JBC TF0,L1 6.下列指令中错误的是:A. SETB 50H.0 7.将累加器的值压入堆栈的正确指令是:B. PUSH A 8.下列那条减法指令是错误的:C. SUBBC 9. 指令CJNE A ,#00H ,LOOP 影响PSW的哪一位:C.CY 10. 在MUL AB指令中,若积超过255,则C. OV=1 11.在相对寻址方式中,寻址的结果体现在A.PC中 12.在相对寻址方式中,"相对"两字是指相对于 C.当前指令的末地址 13.在寄存器间接寻址方式中,指定寄存器中存放的是B.操作数地址 14.对程序存储器的读操作,只能使用D.MOVC指令 15.必须进行十进制调整的十进制运算C.只有加法 16.执行返回指令时,返回的断点是C.调用指令下一条指令的首地址 17.下列指令中与进位标志位CY 无关的指令有D.无条件转移指令 18.可以为访问程序存储器提供或构成地址的有D.PC、A、DPTR和SP 19.以下各项中不能用来对内部数据存储器进行访问的是A.数据指针DPTR 20.若原来工作寄存器0组为当前寄存器组,现要改1组为当前寄存器组,不能使用指令C.MOV PSW.3,C 21.不能为程序存储器提供和构成地址的有:D.PSW 22.MCS-51汇编语言指令格式中,唯一不可缺少的部分是:B.操作码 23.MCS—51的立即寻址方式中,立即数前面:D.应加前缀“#”号 24.下列完成8031单片机内部数据传送的指令是:D.MOV direct,direct (25).MCS—51的立即寻址的指令中,立即数就是:A.放在寄存器R0中的内容26.单片机中PUSH和POP指令常用来:C.保护现场,恢复现场 27.MCS—51寻址方式中,操作数Ri加前缀“@”号的寻址方式是:A.寄存器间接寻址 28.MCS—51寻址方式中,位寻址的寻址空间是: D.片内RAM的20H~2FH字节中的所有位和部分专用寄存器SFR的位 29.MCS—51寻址方式中,直接寻址的寻址空间是B.专用寄存器SFR 30.执行指令MOVX A,@DPTR时,WR、RD脚的电平为:C.WR高电平,RD低电平 31.主程序执行完ACALL后返回主程序后,堆栈指针SP的值:A.不变 32.单片机中使用MOVX A,@R1指令寻址数据存贮器1050H单元。B.不能 33.下列指令判断若P1口最低位为高电平就转LP,否则就执行下一句的是:D.JNZ P1.0,LP 34.指令JB OEOH,LP中的OEOH是指:D.一个单元的地址 35.下列指令中比较转移指令是指:B.CJNE Rn,#data,rel

单片机原理与应用试题库___答案

《单片机原理及应用》试题库 一、填空题 1.单片机就是把( CPU)、( 输入/输出 )、和( 存储器 )等部件都集成在一个电路芯片上,并具备一套功能完善的( 指令系统 ),有的型号同时还具备( AD )和( DA )等功能部件,其简称为( 微处理器 )或(微控制器 )。 2.Intel公司典型的单片机有( MCS-51系列 )和( MCS-96系列 )。 3.单片机具有体积( 下 )、重量( 轻 )、价格( 低 )、功耗( 小 )、控制功能强、运算速度快、运用灵活、易于产品化、抗扰能力( 强 )等特点,故在国民经济建设、军事及家用电器等领域均得到了广泛的应用。 4.微处理器本身不是计算机,它是微型计算机的核心部件,又称它为( CPU )。它包括两个主要部分:(运算器)、(控制器)。 5.当扩展外部存储器或I/O口时,P2口用作(地址线的高8位)。 6.MCS-51单片机内部RAM区有( 4 )个工作寄存器区。 7.MCS-51单片机内部RAM区有( 128 )个位地址。 8.89C51单片机片内RAM中位寻址区的地址范围是( 20H—2FH ),工作寄存器区的地址范围是( 00H—1FH ),片内程序存储器中寻址区的地址范围是( 0000H —07FFH )。 9.MCS-51有( 4 )个并行I\O口。 10.MCS-51的堆栈是软件填写堆栈指针临时在( 30H—7FH )内开辟的区域. 11.MCS-51片内( 20H—2FH )范围内的数据存储器,既可以字节寻址又可以位寻址。 12.程序状态标志字寄存器PSW中的PSW.7的含义是(进位和借位标志位);PSW.0的含义是(奇偶校验位)。 13.若不使用89C51片内的程序存储器,引脚( EA’)必须接地。 14.MCS-51中凡字节地址能被( 0和8 )整除的特殊功能寄存器均能寻址。 15.MCS-51有4组工作寄存器,它们的字节地址范围是( 00H—1FH )。 16.当MCS-51引脚( ALE )信号有效时,表示从P0口稳定地送出了低8位地址. 17.在单片机的RESET端出现(两个机器周期以上的高电平时),便可以可靠复位,复位后的程序指针PC指向( 0000H )地址。 18.MCS-51系列单片机有:(外部中断0), (外部中断1 ), (定时/计数器T0溢出中断), (定时/计数器T1溢出中断), (串行口)等5个中断请求源。 39.KeiL C51软件中,工程文件的扩展名是__UV2______,编译连接后生成可烧写的文件扩展名是__hex_______。

单片机考试试题带答案

单片机原理及应用试卷A 一、填空题(每空1分,共20分) 1、单片微型计算机由CPU、存储器和I/O 三部分组成。 2、MCS-51系统中,当PSEN信号有效时,表示从P0口稳定地送出了低8位地址。 3、访问8031片外数据存储器采用的是寄存器间接寻址方式。 4、累加器(A)=80H,执行完指令ADD A,#83H后,进位位CY= 1 。 5、指令LCALL 37B0H,首地址在2000H,所完成的操作是2003H入栈,37B0H送入PC。 6、51有5个中断源,有2个中断优先级,优先级由软件填写特殊功能寄存器IP 加以选择。 7、在变址寻址方式中,以A作为变址寄存器,以PC或DPTR作基址寄存器。 8、中断请求信号有电平触发和脉冲触发两种触发方式 9、用串行口扩展并行口时,串行接口的工作方式应选为方式0。 10、74LS273通常用来作简单输出接口扩展;而74LS244则常用来作简单输入接口扩展。 11、51的并行I/O口信息有读引脚和读锁存器两种读取方法,读—改—写操作是针对 并行I/O口内的锁存器进行的。 12、A/D转换器的三个重要指标是转换速度、分辨率和转换精度。 二、选择题(从备选答案中选择一个正确答案,并将代号写在括号内。每题1.分,共10分) 1、计算机能识别的语言是( C )。

(A )汇编语言 (B )自然语言 (C )机器语言 (C )高级语言 2、MCS-51单片机外扩存储器芯片时,4个I/O 口中用作数据总线的是( B )。 (A )P0和P2口 (B )P0口 (C )P2和P3口 (D )P2口 3、在中断服务程序中,至少应有一条( D )。 (A )传送指令 (B )转移指令 (C )加法指令 (D )中断返回指令 4、访问外部数据存储器时,不起作用的信号是( C )。 (A )RD (B )WR (C )PSEN (D )ALE 5、以下指令中,属于单纯读引脚的指令是( C )。 (A )MOV P1,A (B )ORL P1,#0FH (C )MOVC C ,P1.5 (D )DJNZ P1,LAB 6、使用定时器T1时,有几种工作模式( C )。 (A )1种 (B )2种 (C )3种 (D )4种 7、若MCS-51中断源都编程为同级,当它们同时申请中断时,CPU 首先响应( B )。 (A )1INT (B )0INT (C )T1 (D )T0 8、MCS-51响应中断时,下面哪一个条件不是必须的( C )。 A 、当前指令执行完毕 B 、中断是开放的 C 、没有同级或高级中断服务 D 、必须有RETI 指令 9、如果8255端口A 设置为方式2,则端口B 设置为( A )。 (A )只可以方式0 (B )也可以方式2 (C )除方式2外,其它方式均可 (D )任意方式 10、当MCS-51进行多机通讯时,串行接口的工作方式应选为( C )。 (A )方式0 (B )方式1 (C )方式2 (D )方式0或方式2 三、简答题 (每题5分,共20分) 1、MCS-51单片机内部包括哪些主要逻辑功能部件? 答:MCS-51单片机主要由下列部件组成: 1个8位CPU ; 1个片内振荡器及时钟电路; 4KB ROM 程序存储器,256BRAM ; 21个特殊功能寄存器; 2个16位定时/计数器;

51单片机练习题

一.闪烁灯 1.实验任务 如图4.1.1所示:在端口上接一个发光二极管L1,使L1在不停地一亮一灭,一亮一灭的时间间隔为秒。 2.电路原理图 图4.1.1 3.系统板上硬件连线 把“单片机系统”区域中的端口用导线连接到“八路发光二极管指示模块”区域中的L1端口上。 4.程序设计内容 (1)延时程序的设计方法 作为单片机的指令的执行的时间是很短,数量大微秒级,因此,我们要 求的闪烁时间间隔为秒,相对于微秒来说,相差太大,所以我们在执行 某一指令时,插入延时程序,来达到我们的要求,但这样的延时程序是 如何设计呢下面具体介绍其原理:

如图4.1.1所示的石英晶体为12MHz,因此,1个机器周期为1微秒机器周期微秒 MOV R6,#20 2个 2 D1: MOV R7,#248 2个22+2×248=49820× DJNZ R7,$ 2个2×248(498 DJNZ R6,D1 2个2×20=40 10002 因此,上面的延时程序时间为。 由以上可知,当R6=10、R7=248时,延时5ms,R6=20、R7=248时,延时10ms,以此为基本的计时单位。如本实验要求秒=200ms,10ms×R5 =200ms,则R5=20,延时子程序如下: DELAY: MOV R5,#20 D1: MOV R6,#20 D2: MOV R7,#248 DJNZ R7,$ DJNZ R6,D2 DJNZ R5,D1 RET (2).输出控制 如图1所示,当端口输出高电平,即=1时,根据发光二极管的单向导 电性可知,这时发光二极管L1熄灭;当端口输出低电平,即=0时,发 光二极管L1亮;我们可以使用SETB指令使端口输出高电平,使用CLR 指令使端口输出低电平。 5.程序框图

单片机试题及答案

试题 1 一、填空题(25 分,每空 1 分) 1.AT89S51 单片机为8 位单片机 2.MCS-51 系列单片机的典型芯片分别为8031 、8051 、8751 。 3.AT89S51的异步通信口为全双工(单工/半双工/全双工) 4.AT89S51 有 2 级中断, 5 个中断源 5.AT89S51 内部数据存储器的地址范围是00H~7FH ,位地址空间的字节地址范围是20H~2FH ,对应的位地址范围是00H~7FH ,外部数据存储器的最大可扩展容量是64K 。 6.AT89S51 单片机指令系统的寻址方式有__寄存器寻址__、直接寻址_、寄存器间接寻址__、_立即寻址_、基址寄存器加变址寄存器寻址。 7.如果(A)=34H ,(R7)=0ABH ,执行XCH A, R7;结果(A)= 0ABH ,(R7)= 34H 。 8.82C55 可以扩展 3 个并行口,其中8 条口线具有位操作功能; 9.当单片机复位时PSW=00 H,这时当前的工作寄存器区是0 区,R4 所对应的存储单元地址为04 H。 10.若 A 中的内容为67H,那么,P 标志位为 1 。 11.74LS138是具有 3 个输入的译码器芯片,其输出作为片选信号时,最多可以选中8 片芯片。 二、判断以下指令的正误:(5 分) ) ;√)

(1)MOV 28H,@R4;(× )) ;√)

3) DEC DPTR ;×) (4)CLR R0 ;(× ) (5)MOV T0,#3CF0H;(× ) 三、简答题 1、如果(DPTR)=507BH ,(SP)=32H,(30H)=50H ,(31H)=5FH,(32H)=3CH,则执 行下列指令后: POP DPH; POP DPL; POP SP; 则: __3CH___;(DPL)= ___5FH___;(SP)= 50H (DPH)= _ 2、采用6MHz 的晶振,定时1ms,用定时器方式0 时的初值应为多少?(请给出计算过程)(6分) 解:∵采用6MHZ晶振∴机器周期为2us 13-X)×2×10- 13 -6 -3 (2 6=1×10-3 ∴X=7692(D)=1E0CH=1 1110 0000 1100 (B), 化成方式0 要求格式为1111 0000 1100 B, 即0F00CH 综上可 知:TLX=0CH, THX=0F0H 3.分析下列程序的功能( 5 分) PUSH ACC PUSH B POP ACC POP B 解: 该程序的功能是通过累加器ACC 与寄存器 B 数据交换。 五、简述MCS-51 系列单片机主从结构多机通信原理,设有一台主机

相关文档
相关文档 最新文档