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

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)
单片机考试题目及答案

单片机考试题目及答案一、选择题(每题2分,共20分)1. 单片机是一种集成了CPU、存储器、I/O接口等功能的微型计算机,其英文缩写是:A. CPUB. RAMC. ROMD. MCU答案:D2. 下列哪个是51系列单片机的特有寄存器?A. ACCB. PSWC. SPD. PC答案:B3. 在8051单片机中,以下哪个指令是用于将累加器A的内容与外部数据存储器中的数据进行交换?A. MOV A, @DPTRB. MOVX A, @DPTRC. MOV DPTR, #20HD. MOV A, #20H答案:B4. 8051单片机的定时器/计数器0和1,其定时器模式下的工作方式有:A. 1种B. 2种C. 3种D. 4种答案:C5. 下列哪个中断源在8051单片机中具有最高优先级?A. 定时器0中断B. 外部中断0C. 定时器1中断D. 串行中断答案:B二、填空题(每空2分,共20分)1. 单片机的最小系统通常包括________、________和________。
答案:时钟电路、复位电路、电源电路2. 8051单片机的P0口是________位的双向I/O口。
答案:83. 8051单片机的中断向量地址是固定的,其中外部中断0的中断向量地址是________。
答案:03H4. 8051单片机的定时器0和定时器1都可以被配置为________模式,用于计数外部事件。
答案:计数器5. 在8051单片机中,使用MOV指令可以实现寄存器之间的数据传输,例如MOV A, R0,表示将________的数据传送到________。
答案:R0寄存器;累加器A三、简答题(每题10分,共30分)1. 请简述单片机的中断系统的作用及其重要性。
答案:单片机的中断系统允许单片机在执行程序的过程中,对外部事件或内部条件做出快速响应。
中断系统的重要性在于它能够实现多任务处理,提高系统的实时性和效率。
2. 描述8051单片机的串行通信方式及其特点。
单片机考试题目及答案

单片机考试题目及答案考试题目一:1. 请简要解释什么是单片机(MCU)?考试题目二:2. 请列举一些常见的单片机芯片品牌和型号,并阐述它们的特点。
考试题目三:3. 简述单片机的内部架构,并解释其中的核心组成部分。
考试题目四:4. 描述单片机的编程方式,包括编程语言及工具。
考试题目五:5. 请简要介绍单片机的输入/输出(I/O)接口。
考试题目六:6. 什么是中断?请阐述单片机中断的原理以及使用方法。
考试题目七:7. 解释什么是模拟信号与数字信号,并举例说明。
考试题目八:8. 请列举几种常用的单片机应用领域,并简要描述其功能。
考试题目九:9. 单片机在工业自动化中的作用是什么?举例说明其应用场景。
考试题目十:10. 简述单片机系统设计的基本步骤以及注意事项。
考试答案:1. 单片机是一种集成了处理器、存储器和各种输入/输出接口的微型计算机系统。
它具有体积小、功耗低、成本低等优点,广泛应用于嵌入式系统、工业自动化、物联网等领域。
2. 常见的单片机芯片品牌和型号包括:ATmega328P(Arduino Uno使用的芯片)、STM32F103系列(STMicroelectronics的ARM Cortex-M3系列芯片)、PIC16F877A(Microchip的8位微控制器芯片),它们分别具有易用性、强大的性能和丰富的外设等特点。
3. 单片机的内部架构包括运算器、存储器、定时器/计数器、中断系统和输入/输出接口等核心组成部分。
运算器用于执行指令和进行运算,存储器用于存储程序和数据,定时器/计数器用于控制时间和计数,中断系统用于处理外部中断请求,输入/输出接口用于与外部设备进行数据交互。
4. 单片机的编程方式包括汇编语言编程和高级语言编程。
汇编语言编程较为底层,直接操作寄存器和位,效率高但难度较大;高级语言编程如C语言等更加易学易用,可以借助开发工具如Keil、Arduino等进行编程。
5. 单片机的输入/输出接口包括通用输入/输出(GPIO)口、模拟输入/输出(ADC/DAC)口、串行通信接口(UART/SPI/I2C)等。
单片机考试题目及答案

单片机考试题目及答案一、选择题1. 下列单片机中,不属于8位单片机的是:A. 8051B. AVRC. PICD. STM32答案:D. STM322. 在单片机中,下面哪个不是内部存储器:A. RAMB. ROMC. FlashD. EEPROM答案:A. RAM3. 在单片机内,系统时钟频率越高,单片机运行速度越快,对错?A. 对B. 错答案:A. 对二、填空题1. 单片机是一种集成了______的芯片。
答案:微处理器、存储器、外围设备2. 在单片机系统中,指令寄存器用来存放______。
答案:待执行的指令3. 单片机内部时钟频率通常由______提供。
答案:晶振三、判断题1. 单片机中,外部设备通过I/O口与单片机进行通信,可利用端口输入和输出数据。
答案:正确2. 在单片机内部,EEPROM是一种易擦除可编程只读存储器。
答案:错误四、简答题1. 请简述单片机中的中断概念及中断响应过程。
答:中断是单片机在执行程序时,由于处理器内部或外部事件发生而打断其正常工作顺序,转而去执行相应的中断服务程序。
中断响应过程分为五个步骤:中断请求、中断决策、保存现场、跳转执行、中断返回。
2. 请简要介绍单片机中的I/O口及其作用。
答:单片机中的I/O口用于和外部设备进行数据传输,可以输入或输出数字信号,实现与外界的通信。
通过I/O口可以控制LED灯、数码管、继电器等外部设备,也可以接收来自按键、传感器等的输入信号。
以上是单片机考试题目及答案,希望能对您有所帮助。
如有任何疑问,请随时联系我们。
单片机上机操作测验题部分答案

ﻩelse
ﻩ{
ﻩﻩﻩP1=0xff;
delay(10);
ﻩ}
ﻩ}
}
3.在一个数码管上循环显示“H”“E” “L”“L”“O”,循环的时间为1s。
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar code tab[]={0xf6,0xf9,0xb8,0xb8,0xbf};
ﻩT_count=0;
ﻩ}
}
//主函数
void main()
{
TMOD=0;
TH0=(8192-5000)/32;//5ms定时
TL0=(8192-5000)%32;
EA=1;
ET0=1;
TR0=1;
ﻩP0=0xfe;
while(1);
}
2.完成下面电路所示的功能,K1,K2对应两个开关按键。P1口对应发光二极管的状态
ﻩTL0=0xb0;
EA=1;
TR0=1;
ET0=1;
P0=tab[0]; //初始化P0口
ﻩwhile(1);
}
4.在6个数码管上分别显示自己学号的后六位数字。
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
delay(1000);
while(1)
ﻩ{
ﻩfor(k=1;k<6;k++)
ﻩﻩ{
ﻩﻩwei=wei<<1;
单片机上机操作考试题部分答案

单片机上机操作考试题部分答案1.使得8个发光二极管循环点亮,采用定时器方式0使得每个发光二极管点亮的时间为。
#include<>#include<>#define uchar unsigned charuchar T_count=0;成下面电路所示的功能,K1,K2对应两个开关按键。
P1口对应发光二极管的状态#include<>#define uint unsigned int#define uchar unsigned charsbit k1=P3^2;sbit k2=P3^3;一个数码管上循环显示“H”“E”“L”“L”“O”,循环的时间为1s。
#include<>#define uchar unsigned char#define uint unsigned intuchar code tab[]={0xf6,0xf9,0xb8,0xb8,0xbf}; uchar T_count=0;uchar i=1;void t0Proc() interrupt 1{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<>#include<>#define uchar unsigned char#define uint unsigned intuchar code tab[]={};一个简易30s的倒计时秒表,秒表的显示通过8个发光二极管显示出来。
#include<>#define uchar unsigned charvoid delay1s(){uchar i;for(i=0;i<10;i++)TH1=0x3c;TL1=0xb0;TR1=1; 用外中断0来控制,去实现下列功能。
单片机考试题及答案

单片机考试题及答案一、选择题(每题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. 单片机的______功能可以防止程序死循环。
单片机考试试题及答案

单片机考试试题及答案一、选择题(每题2分,共20分)1. 单片机中,CPU的主要功能是()。
A. 存储数据B. 处理数据C. 传输数据D. 显示数据答案:B2. 在8051单片机中,下列哪个寄存器是用于存储程序计数器的地址?A. SPB. PCC. DPTRD. ACC答案:B3. 下列哪项不是单片机的I/O接口?A. 定时器/计数器B. 串行通信接口C. 模数转换器D. 键盘答案:C4. 单片机的中断系统通常由哪两部分组成?A. 中断源和中断服务程序B. 中断向量表和中断服务程序C. 中断向量表和中断源D. 中断源和中断向量表答案:B5. 在8051单片机中,下列哪个指令用于将累加器的内容传送到外部数据存储器?A. MOVXB. MOVC. MOVCD. MUL答案:A二、填空题(每题2分,共20分)1. 单片机的______是单片机的核心部件,负责执行程序。
答案:CPU2. 8051单片机的定时器/计数器共有______个。
答案:23. 在8051单片机中,______指令用于将内部RAM的某个单元的内容传送到累加器。
答案:MOV4. 单片机的______接口用于实现单片机与外部设备的通信。
答案:串行通信5. 单片机的______功能允许它在执行当前任务的同时响应外部事件。
答案:中断三、简答题(每题10分,共30分)1. 请简述单片机的中断优先级是如何工作的?答案:单片机的中断优先级是指在多个中断请求同时发生时,单片机根据中断源的重要性来决定先响应哪一个中断请求。
通常,中断优先级由中断向量表中的地址顺序决定,优先级高的中断源对应的中断向量地址在表中靠前。
2. 描述单片机的I/O接口的作用。
答案:单片机的I/O接口是单片机与外部设备进行数据交换的通道。
它允许单片机接收外部设备的数据输入,并将处理后的数据输出到外部设备。
3. 简述单片机的定时器/计数器的作用。
答案:单片机的定时器/计数器用于提供精确的时间控制和事件计数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机上机操作考试题部分答案集团文件发布号:(9816-UATWW-MWUB-WUNN-INNUL-DQQTY-1.使得8个发光二极管循环点亮,采用定时器方式0使得每个发光二极管点亮的时间为0.5s。
#include<reg51.h>#include<intrins.h>#define uchar unsigned charuchar T_count=0;//定时中断void toProc() interrupt 1{TH0=(8192-5000)/32; //恢复初值TL0=(8192-5000)%32;if(++T_count==100) //0.5s移动一位{P0=_crol_(P0,1);T_count=0;}}//主函数void main(){TMOD=0;TH0=(8192-5000)/32; //5ms定时TL0=(8192-5000)%32;EA=1;ET0=1;TR0=1;P0=0xfe;while(1);}2.完成下面电路所示的功能,K1,K2对应两个开关按键。
P1口对应发光二极管的状态#include<reg51.h>#define uint unsigned int#define uchar unsigned charsbit k1=P3^2;sbit k2=P3^3;//延时void delay(uint x){uchar i;while(--x){for(i=0;i<120;i++);}}//主函数void main(){while(1){if((k1==0)&&(k2==0)) //K1、K2同时按下{P1=0x00;delay(10);}else if((k1==0)&&(k2==1)) //K1按下,K2不按{P1=0xcc;delay(10);}else if((k1==1)&&(k2==0)) //K2按下,K1不按{P1=0xf0;delay(10);}else{P1=0xff;delay(10);}}}3.在一个数码管上循环显示“H”“E”“L”“L”“O” ,循环的时间为1s。
#include<reg51.h>#define uchar unsigned char#define uint unsigned intuchar code tab[]={0xf6,0xf9,0xb8,0xb8,0xbf};uchar T_count=0;uchar i=1;void t0Proc() interrupt 1{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]; //初始化P0口while(1);}4.在6个数码管上分别显示自己学号的后六位数字。
#include<reg51.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intuchar code tab[]={};//学号自己设置//延时void delay(uint x){uchar i;while(x--){for(i=0;i<100;i++);}}//主函数void main(){uchar k;uchar wei=0x01;P0=~tab[0];P2=0x01;delay(1000);while(1){for(k=1;k<6;k++){wei=wei<<1;P0=~tab[k]; //发送数字段码P2=wei; //发送位码delay(1000);}}}5.做一个简易30s的倒计时秒表,秒表的显示通过8个发光二极管显示出来。
#include<reg51.h>#define uchar unsigned charvoid delay1s(){uchar i;for(i=0;i<10;i++){TH1=0x3c;TL1=0xb0;TR1=1; //启动T1while(!TF1); //判断T1有无请求TF1=0;}}void main(){uchar i;uchar t;TMOD=0x10; //选择T1计时while(1){for(i=30;i>0;i--){t=(((i/10)<<4)|(i%10)); //高四位显示十位,低四位显示个位P1=~t;delay1s();}}}6.使用外中断0来控制,去实现下列功能。
其中K1为按键,P1口对应8个发光二极管的状态#include<reg51.h>#define uint unsigned int#define uchar unsigned charuchar code tab[]={0xcc,0x30};sbit k1=P3^2;//延时void delay(uint x){uchar i;while(--x){for(i=0;i<120;i++);}}void int0Proc() interrupt 0{P1=0xf0;}//主函数void main(){uchar j;EA=1;EX0=1;IE0=1;while(1){if(k1==1) //未按下{for(j=0;j<2;j++){P1=tab[j];delay(500);}}}}8. 采用定时器方式1使得8个发光二极管按如下方式点亮,循环的时间为2s#include<reg51.h>#define uchar unsigned char#define uint unsigned intuchar code tab[]={0x0f,0xf0,0xcc,0x00};uchar T_count=0;uchar i=1;void t0Proc() interrupt 1{TH0=0x3c;TL0=0xb0;if(++T_count==20){P0=tab[i];i=(i+1)%4;T_count=0;}}void main(){TMOD=1;TH0=0x3c;TL0=0xb0;EA=1;TR0=1;ET0=1;P0=tab[0]; //初始化P0口while(1);}9.在一个数码管上循环显示“0”“1”“5” 3个数字,循环的时间为1s。
#include<reg51.h>#define uchar unsigned char#define uint unsigned intuchar code tab[]={0xbf,0x86,0xed};uchar i=1;void intoProc() interrupt 1{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]; //初始化P0口while(1);10.在4个数码管上稳定显示出“A”“C”“E”“P”四个字符。
#include<reg51.h>#define uchar unsigned char#define uint unsigned intvoid delay(uint x){uchar i;while(x--){for(i=0;i<100;i++);}}void main(){while(1){P0=0xf7; //AP2=0xb9; //CP3=0xf9; //EP1=0xf3; //Pdelay(500);}12.做一个20s的简易秒表,当按键K1按下时,秒表暂停计数,K2按下时,开始计数。
#include<reg51.h>#define uint unsigned int#define uchar unsigned charuchar tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};sbit k1=P3^2;sbit k2=P3^3;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; //恢复定时器0初值TL0=0xb0;{i++;P0=tab[i/10];P2=tab[i%10];if(i==20){i=0;}T_count=0;}}void main(){P0=tab[i];P2=tab[i];TMOD=0x01;TH0=0x3c;TL0=0xb0;while(1){if(k1==0 && k2==1){ET0=0;TR0=0;break;}else if(k1==1 && k2==0){EA=1;ET0=1;TR0=1;break;}}}14.使用外中断1来控制,当无按键按下时8个发光二极管循环点亮,循环点亮的时间为1s,有按键按下时,8个发光二极管全部熄灭。
#include<reg51.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intsbit k1=P3^2;uchar code tab[]={0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff};uchar T_count=0;//T0定时void T0Proc() interrupt 1 {TH0=0x3c;TL0=0xb0;if(++T_count==10){P1=~tab[i];i=(i+1)%8;T_count=0;}}//INT1中断函数void Int1Proc() interrupt 2 {P1=0xff;EA=0;EX1=0;IT1=0;ET0=0;TR0=0;}void main(){TMOD=1;EA=1;ET0=1;TR0=1;TH0=0x3c;TL0=0xb0;EX1=1;IT1=1;P1=0xfe;while(1);}16. 完成下面电路所示的功能,K1,K2对应两个开关按键。
P1口对应发光二极管的状态#include<reg51.h>#define uint unsigned int#define uchar unsigned charsbit k1=P3^2;sbit k2=P3^3;//延时void delay(uint x){uchar i;while(--x){for(i=0;i<120;i++);}}//主函数void main(){while(1){if((k1==1)&&(k2==1)) //都未按下 0:未按下,1:按下{P1=0x00;delay(10);}else if((k1==1)&&(k2==0)) //k2按下,k1未按下P1=0xf0;delay(10);}else if((k1==0)&&(k2==1)) //k1按下,k2未按下{P1=0xcf;delay(10);}else if((k1==0)&&(k2==0)) //都按下{P1=0x55;delay(10);}}}17.完成下面电路的功能,P1口对应发光二极管的状态,状态1显示的时间为1s,状态2显示的时间为2s,状态3显示的时间为3s,如此循环#include<reg51.h>#define uchar unsigned char#define uint unsigned intuchar 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){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:if(++T_count==30){P1=~tab[i];i=(i+1)%3;i=1;T_count=0;State=0;}break;}}void main(){TMOD=1;TH0=0x3c;TL0=0xb0;EA=1;ET0=1;TR0=1;P1=~tab[0];while(1);}18.彩灯系统,实现8个发光二极管从左到右点亮,每个发光二极管点亮的时间为2s,然后从右到左亮,每个发光二极管点亮的时间为1.5s.#include<reg51.h>#include<intrins.h>#define uchar unsigned charuchar code tab[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};uchar code tab1[]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};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){State=1;}T_count=0;}break;case 1:if(++T_count==15){i=(i+1)%8;P2=tab1[i];if(i==7){State=0;i=1;}T_count=0;}break;}}void main(){TMOD=1;TH0=0x3c;TL0=0xb0;EA=1;ET0=1;TR0=1;P2=tab[0];while(1);}19.在4个数码管上显示出当天的日期。