单片机上机操作考试题部分答案
单片机考试题及答案

单片机考试题及答案一、选择题(每题2分,共20分)1. 单片机中,用于存储程序的存储器是()。
A. ROMB. RAMC. EPROMD. EEPROM答案:A2. 8051单片机的定时器/计数器中,定时器0和定时器1的计数器都是()位的。
A. 8B. 16C. 12D. 14答案:A3. 单片机中,中断服务程序的入口地址是()。
A. 由用户定义B. 由硬件自动生成C. 由中断向量表决定D. 由程序计数器决定答案:C4. 8051单片机的外部中断0的中断向量地址是()。
A. 0003HB. 000BHC. 0013HD. 001BH答案:B5. 在8051单片机中,串行通信的波特率由()决定。
A. 定时器B. 计数器C. 外部晶振频率D. 内部时钟频率答案:A6. 单片机中,用于存储数据的存储器是()。
A. ROMB. RAMC. EPROMD. EEPROM答案:B7. 8051单片机的定时器/计数器中,定时器2的计数器是()位的。
A. 8B. 16C. 12D. 14答案:B8. 单片机中,用于存储常数的存储器是()。
A. ROMB. RAMC. EPROMD. EEPROM答案:A9. 8051单片机的外部中断1的中断向量地址是()。
A. 0003HB. 0013HC. 001BHD. 0023H答案:C10. 在8051单片机中,串行通信的停止位通常设置为()位。
A. 1B. 2C. 3D. 4答案:A二、填空题(每空1分,共20分)1. 8051单片机的内部时钟频率为12MHz时,机器周期为______μs。
答案:12. 单片机中,用于存储程序的存储器是______存储器。
答案:只读3. 8051单片机的定时器/计数器中,定时器0和定时器1的计数器都是______位的。
答案:84. 单片机中,用于存储数据的存储器是______存储器。
答案:随机访问5. 8051单片机的外部中断0的中断向量地址是______H。
单片机考试题及答案

单片机考试题及答案一、选择题(每题2分,共20分)1. 单片机的英文缩写是:A. CPUB. MCUC. ROMD. RAM答案:B2. 下列哪个不是单片机的组成部分?A. 中央处理器B. 存储器C. 输入/输出接口D. 显示器答案:D3. 8051单片机的内部RAM是:A. 128字节B. 256字节C. 512字节D. 1024字节答案:B4. 单片机的程序存储器通常使用的是:A. RAMB. ROMC. EPROMD. EEPROM答案:C5. 单片机的I/O口可以配置为:A. 只读B. 只写C. 推挽输出D. 开漏输出答案:D6. 下列哪个不是单片机的中断源?A. 定时器溢出B. 外部中断C. 串行通信D. 显示器答案:D7. 8051单片机的定时器/计数器的计数范围是:A. 0到255B. 0到511C. 0到1023D. 0到2047答案:A8. 单片机的看门狗定时器的主要作用是:A. 计时B. 计数C. 监视程序运行D. 控制I/O口答案:C9. 下列哪个不是单片机的常用编程语言?A. C语言B. 汇编语言C. Java语言D. C++语言答案:C10. 单片机的I/O口的模式设置通常包括:A. 推挽输出B. 开漏输出C. 上拉输入D. 以上都是答案:D二、填空题(每题2分,共20分)1. 单片机的CPU主要由______、______和______组成。
答案:算术逻辑单元、控制单元、寄存器组2. 单片机的______存储器用于存储程序代码。
答案:程序3. 8051单片机的定时器/计数器有______个。
答案:24. 单片机的中断优先级可以通过______寄存器来设置。
答案:IP5. 单片机的______模式可以减少功耗。
答案:睡眠6. 单片机的______接口允许单片机与外部设备进行数据交换。
答案:I/O7. 单片机的______寄存器用于存储程序计数器的值。
答案:PC8. 单片机的______功能可以防止程序死循环。
单片机操作题库(28例附答案)

单片机28例1、利用位操作法点亮第三盏灯。
#include <reg52.h>void main(){P2=0xbb;P0=0x99;while(1);}2、利用位操作法点亮第五盏灯。
#include <reg52.h>void main(){P2=0x00;P0=0x80;while(1);}3、利用位操作法点亮第六盏灯。
#include <reg52.h>void main(){P2=0xed;P0=0xb0;while(1);}4、利用位操作法点亮第八盏灯。
#include <reg52.h>void main(){P2=0xb2;P0=0x86;while(1);}5、利用位操作法点亮第一、三、六、八盏灯。
#include <reg52.h>sbit led0=P1^0;sbit led1=P1^1;sbit led2=P1^2;sbit led3=P1^3;sbit led4=P1^4;sbit led5=P1^5;sbit led6=P1^6;sbit led7=P1^7;void main(){led0=0;led1=0;led2=0;led3=0;led4=0;led5=0;led6=0;led7=0;}6、利用位操作法点亮第四、五、六、七盏灯。
#include <reg52.h>sbit led3=P1^3;sbit led4=P1^4;sbit led5=P1^5;sbit led6=P1^6;void main(){led3=0;led4=0;led5=0;led6=0;}7、利用位操作法点亮第一、三、五、八盏灯。
#include<reg52.h>#define uint unsigned intvoid delay1s(){uint i,j;for(i=300;i>0;i--)for(j=110;j>0;j--);}void main(){P2=0xfe;while(1){P0=0xc0;delay1s();P0=0xf9;delay1s();P0=0xa4;delay1s();P0=0xb0;delay1s();P0=0x99;delay1s();P0=0x92;delay1s();P0=0x82;delay1s();P0=0xf8;delay1s();P0=0x80;delay1s();P0=0x90;delay1s();}}8、利用位操作法点亮八盏灯。
单片机考试题目及答案

单片机考试题目及答案一、单项选择题(每题2分,共20分)1. 单片机中,以下哪个寄存器用于存储程序计数器(PC)?A. ACCB. BC. SPD. PC答案:D2. 8051单片机的外部中断有哪几个?A. INT0和INT1B. INT0和INT2C. INT1和INT2D. INT0和INT3答案:A3. 单片机中,以下哪个指令用于将累加器A的内容传送到外部数据存储器?A. MOV A, @R0B. MOV A, @R1C. MOVX @DPTR, AD. MOVX A, @DPTR答案:D4. 8051单片机中,以下哪个指令用于将立即数送入累加器A?A. MOV A, #dataB. MOV A, dataC. MOV #data, AD. MOV data, A答案:A5. 单片机中,以下哪个指令用于将累加器A的内容与寄存器B进行异或操作?A. XOR A, BB. XOR B, AC. XOR A, #BD. XOR #B, A答案:A6. 8051单片机中,以下哪个指令用于将累加器A的内容与立即数进行加法操作?A. ADD A, #dataB. ADD #data, AC. ADC A, #dataD. ADC #data, A答案:A7. 单片机中,以下哪个指令用于将累加器A的内容与寄存器R0进行加法操作?A. ADD A, R0B. ADD R0, AC. ADC A, R0D. ADC R0, A答案:A8. 8051单片机中,以下哪个指令用于将累加器A的内容与寄存器R1进行减法操作?A. SUB A, R1B. SUB R1, AC. SBC A, R1D. SBC R1, A答案:A9. 单片机中,以下哪个指令用于将累加器A的内容与外部数据存储器的内容进行比较?A. CP A, @R0B. CP @R0, AC. CMP A, @R0D. CMP @R0, A答案:C10. 8051单片机中,以下哪个指令用于将累加器A的内容与寄存器R2进行逻辑与操作?A. AND A, R2B. AND R2, AC. OR A, R2D. OR R2, A答案:A二、填空题(每题2分,共20分)1. 8051单片机的定时器/计数器有______个。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
TH0=0x3c;
TL0=0xb0;
if(++T_count==10)
{
P0=tab[i];
i=(i+1)%5;
T_count=0;
}
}
void main()
{
TMOD=1;
TH0=0x3c;
TL0=0xb0;
EA=1;
TR0=1;
ET0=1;
P0=tab[0];6个数码管上分别显示自己学号的后六位数字。
#include<>
#define uchar unsigned char
#define uint unsigned int
uchar code tab[]={0xbf,0x86,0xed};
uchar T_count=0;
uchar i=1;
void intoProc() interrupt 1
{
#include<>
#define uchar unsigned char
#define uint unsigned int
uchar code tab[]={0xf6,0xf9,0xb8,0xb8,0xbf};
uchar T_count=0;
uchar i=1;
void t0Proc() interrupt 1
{
case 0:
if(++T_count==10)
{
P1=~tab[i];
i=(i+1)%3;
T_count=0;
State=1;
}
break;
case 1:
if(++T_count==20)
{
P1=~tab[i];
i=(i+1)%3;
T_count=0;
State=2;
}
break;
case 2:
uchar T_count=0;
uchar i=0;
void delay(int x)
{
uchar i;
while(x--)
{
for(i=0;i<100;i++);
}
}
void t0Proc() interrupt 1
{
TH0=0x3c; 用外中断1来控制,当无按键按下时8个发光二极管循环点亮,循环点亮的时间为1s,有按键按下时,8个发光二极管全部熄灭。
#include<>
#define uchar unsigned char
#define uint unsigned int
void delay(uint x)
{
uchar i;
while(x--)
{
for(i=0;i<100;i++);
}
}
void main()
{
while(1)
{
P0=0xf7;一个20s的简易秒表,当按键K1按下时,秒表暂停计数,K2按下时,开始计数。
○
○
○
○
○
○
○
○
K1=0,K2=1
●
●
●
●
○
○
○
○
K1=1,K2=0
●
●
○
○
●
●
○
○
K1=1,K2=1
●
●
●
●
●
●
●
●
#include<>
#define uint unsigned int
#define uchar unsigned char
sbit k1=P3^2;
sbit k2=P3^3;
一个数码管上循环显示“H”“E” “L”“L”“O”,循环的时间为1s。
#define uint unsigned int
uchar code tab[]={0x05,0x06,0x03};
uchar T_count=0;
uchar State=0;
uchar i=1;
void t0Proc() interrupt 1
{
TH0=0x3c;
TL0=0xb0;
switch(State)
uchar i=1;
void t0Proc() interrupt 1
{
TH0=0x3c;
TL0=0xb0;
switch(State)
{
case 0:
if(++T_count==30)
{
P1=~tab[i];
i=(i+1)%4;
T_count=0;
State=1;
}
break;
case 1:
if(++T_count==10)
#include<>
#include<>
#define uchar unsigned char
#define uint unsigned int
uchar code tab[]={};一个简易30s的倒计时秒表,秒表的显示通过8个发光二极管显示出来。
#include<>
#define uchar unsigned char
#define uchar unsigned char
sbit k1=P3^2;
sbit k2=P3^3;
成下面电路的功能,P1口对应发光二极管的状态,状态1显示的时间为1s,状态2显示的时间为2s,状态3显示的时间为3s,如此循环
状态1
●
○
●
状态2
○
●
●
状态3
●
●
○
#include<>
#define uchar unsigned char
○
●
●
●
●
●
●
●
●
#include<>
#define uchar unsigned char
#define uint unsigned int
uchar code tab[]={0x0f,0xf0,0xcc,0x00};
uchar T_count=0;
uchar i=1;
void t0Proc() interrupt 1
void delay(int x)
{
uchar i;
while(x--)
{
for(i=0;i<120;i++);
}
}
void main()
{P0=taຫໍສະໝຸດ [0];P2=tab[1];
P3=tab[2];
P1=tab[3];
delay(500);
}
20. 完成下面电路的功能,P1口对应发光二极管的状态,状态1显示的时间为3s,状态2显示的时间为1s,状态3显示的时间为,状态4显示的时间为,如此循环
void delay1s()
{
uchar i;
for(i=0;i<10;i++)
{
TH1=0x3c;
TL1=0xb0;
TR1=1;用外中断0来控制,去实现下列功能。
其中K1为按键,P1口对应8个发光二极管的状态
无按键按下(循环)
●
●
○
○
●
●
○
○
●
●
●
●
○
○
●
●
有按键按下
●
●
●
●
○
○
○
○
#include<>
uchar State=0;
uchar T_count=0;
uchar i=1;
void t0Proc() interrupt 1
{
TH0=0x3c;
TL0=0xb0;
switch(State)
{
case 0:
if(++T_count==20)
{
P2=tab[i];
i=(i+1)%8;
if(i==7)
{
P1=~tab[i];
i=(i+1)%4;
T_count=0;
State=2;
}
break;
case 2:
if(++T_count==5)
{
P1=~tab[i];
i=(i+1)%4;
T_count=0;
State=3;
}
break;
case 3:
if(++T_count==1)
{
P1=~tab[i];
TH0=0x3c;
TL0=0xb0;
if(++T_count==10)
{
P0=tab[i];
i=(i+1)%3;
T_count=0;
}
}
void main()
{
TMOD=1;
TH0=0x3c;
TL0=0xb0;
EA=1;
TR0=1;
ET0=1;
P0=tab[0];4个数码管上稳定显示出“A” “C”“E” “P”四个字符。
#include<>
#include<>
#define uchar unsigned char
uchar code tab[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
uchar code tab1[]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};