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

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单片机的串行通信方式及其特点。
单片机上机试题

《单片机应用技术》上机试题题目一:用外中断0控制P1口8位LED循环点亮,即按下一次按键,点亮一个灯,再按下按键左移一位点亮,如此循环。
设计并仿真出结果。
题目二:自行设计出一组数据,并让P2口的8位LED按照设计的这组数据顺序进行花样点亮,间隔0.2秒,仿真出结果。
题目三:自行设计一个按键上具有三个功能,即第一次按下按键时,第一个灯点亮;第二次按下按键,第二个灯点亮;第三次按下按键,第三个灯点亮;第四次按下按键,又是第一个灯点亮,如此循环,仿真出结果。
题目四:用P2口作输出口,接一位LED数码管,编写程序,使数码管循环显示0~9这十个数,并用定时器T0实现数码管显示间隔0.5秒,设计并仿真出结果。
题目五:用P2口作输出口,接一个8位的数码管排,采用动态显示的方法,编写程序,是这个数码管排同时显示0~7这八个数,设计并仿真出结果。
题目六:用单片机U1通过串行口TXD端将一段流水灯控制码以串行口工作方式一发送至单片机U2的RXD,U2再利用该段控制码流水点亮其P1口上的8位LED。
设计并编写程序,其中发送程序已知,根据发送程序编写出接收程序,仿真出结果。
数据发送程序:#include<reg51.h> //包含单片机寄存器的头文件Unsigned char codeTab[ ]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F};//流水灯控制码,该数组被定义为全局变量/*****************************************************函数功能:向PC发送一个字节数据***************************************************/void Send(unsigned char dat){SBUF=dat;while(TI==0);TI=0;}/************************************************************** 函数功能:延时约150ms**************************************************************/ void delay(void){unsigned char m,n;for(m=0;m<200;m++)for(n=0;n<250;n++);}/*****************************************************函数功能:主函数***************************************************/void main(void){unsigned char i;TMOD=0x20; //TMOD=0010 0000B,定时器T1工作于方式2SCON=0x40; //SCON=0100 0000B,串口工作方式1PCON=0x00; //PCON=0000 0000B,波特率9600TH1=0xfd; //根据规定给定时器T1赋初值TL1=0xfd; //根据规定给定时器T1赋初值TR1=1; //启动定时器T1while(1){for(i=0;i<8;i++) //模拟检测数据{Send(Tab[i]); //发送数据idelay(); //每150ms发送一次检测数据}}}题目7数码管显示4*4键盘矩阵按键,编程实现数码管显示按键的键值0~F。
单片机考试题目及答案

单片机考试题目及答案考试题目一: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)等。
(完整版)单片机试卷及答案

期终考试、单项选择题:(共 15题,每题 2分,共30分)1) AT89C51单片机哪些不是主要功能部件组成 ( ) A. CPU B. RAM C. ROM D.LED 显示 C. 可悬空 D. 以上三种情况视需要而定(5) AT89C51单片机 5 个中断源的优先权从高到低的是( )A. INT0 、T0、INT1、T1、串行口B. T0 、T1、INT0、INT1、串行口C.串行口、 T0、INT1、 T1、 INT0D. INT0 、 INT1、 T0、 T1、串行口(6)定时器工作在工作方式 2, 要定时 200 us, 要装入的初始值为 ( )A .56H B.9CH C.3CB0H D.0FFH(7) ADC0809 的模拟通道选择地址线 ADDC 、 ADDB 、 ADDA 的状态为 011,则选择模拟 的通道为( )A.IN6B.IN5C.IN4D.IN3(8)8255A 的 A 组控制电路是用来控制( )_分得:号 学名级_班:别系单片机原理及接口技术》(A )2) MCS-51系列单片机的 CPU 主要是由( )组成的。
A .运算器、控制器 B.加法器、寄存器C.运算器、加法器D.运算器、译码器 3)单片机中的程序计数器 PC 用来( )。
A. 存放指令B.存放正在执行的指令地址C. 存放下一条指令地址 D.存放上一条指令地址4) 单片机 AT89C51的 EA 引脚()。
A. 必须接地B.必须接 +5V 电源口及 B 口的低 4 位 口及 C 口的高 4 位A.A 口及C口的低 4 位B.AC.A 口及B口的高 4 位D.A(9) 外部扩展存储器时,分时复用做数据总线和低 8 位地址线的是((10)PSW 中的 RS1和 RS0两位用来( )。
A. 选择工作寄存器组B. 指示复位C. 选择定时器D. 选择工作方式 (11)单片机上电复位后, PC 的内容为( )。
A. 0000HB. 0003HC. 000BHD. 0800H (12)AT89C51 单片机的 CPU 是( )。
单片机考试题目和答案

单片机考试题目和答案一、单项选择题(每题2分,共20分)1. 单片机的英文缩写是()。
A. CPUB. PCC. PLCD. MCU答案:D2. 8051单片机的振荡器频率为12MHz,机器周期为()。
A. 1μsB. 0.5μsC. 0.1μsD. 2μs答案:B3. 8051单片机的外部中断有()个。
A. 2B. 3C. 4D. 5答案:A4. 8051单片机的定时器/计数器有()个。
A. 1B. 2C. 3D. 4答案:B5. 8051单片机的堆栈指针SP的初值是()。
A. 0x00B. 0x07C. 0x7FD. 0xFF答案:C6. 8051单片机的程序存储器和数据存储器的地址范围分别是()。
A. 0000H~FFFFH,0000H~07FHB. 0000H~0FFFH,0000H~07FHC. 0000H~FFFFH,0000H~0FFFHD. 0000H~07FH,0000H~FFFFH答案:B7. 8051单片机的P1口作为输入口使用时,需要()。
A. 外部上拉电阻B. 内部上拉电阻C. 外部下拉电阻D. 内部下拉电阻答案:A8. 8051单片机的P0口作为输入口使用时,需要()。
A. 外部上拉电阻B. 内部上拉电阻C. 外部下拉电阻D. 内部下拉电阻答案:A9. 8051单片机的定时器/计数器工作在方式1时,定时器/计数器的计数初值为()。
A. 0x00B. 0x01C. 0xFFD. 0x80答案:D10. 8051单片机的串行通信的波特率可变,其波特率的计算公式为()。
A. 波特率 = 12MHz / 定时器初值B. 波特率 = 12MHz / (定时器初值 × 32)C. 波特率 = 12MHz / (定时器初值 × 64)D. 波特率 = 12MHz / (定时器初值 × 128)答案:B二、填空题(每题2分,共20分)1. 8051单片机的内部RAM共有______字节。
单片机上机操作考试题部分答案

单片机上机操作考试题部分答案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. 单片机的______功能可以防止程序死循环。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机上机考试试题1.使得8个发光二极管循环点亮,采用定时器方式0使得每个发光二极管点亮的时间为0.5s。
#include <reg51.h>int count=0;int minute=0;int temp;char code style[8]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};void desplay(){temp=minute%8;P0= style[temp];}void toProc() interrupt 1{count++;TH0=0x0c;TL0=0x78;}void main(){TMOD=0;TH0=0x0c;TL0=0x78;TR0=1;ET0=1;EA=1;while(1){if(count==100){minute++;count=0;}desplay();}}P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 K1=0,K2=0 ○○○○○○○○K1=0,K2=1 ●●●●○○○○K1=1,K2=0 ●●○○●●○○K1=1,K2=1 ●●●●●●●●#include <reg51.h>char code style[4]={0x0,0xf0,0x33,0xff};sbit P1_0=P1^0;sbit P1_1=P1^1;void main(){P0=0xff;while(1){if(P1_0==0&&P1_1==0){P0=style[0];}if(P1_0==0&&P1_1==1){P0=style[1];}if(P1_0==1&&P1_1==0){P0=style[2];}if(P1_0==1&&P1_1==1){P0=style[3];}}}3.在一个数码管上循环显示“H”“E”“L”“L”“O” ,循环的时间为1s。
#include <reg51.h>char code style[5]={0x89,0x86,0xc7,0xc7,0xc0};int i;int count=0;int second=0;void t0Pro() interrupt 1{count++;TL0=0xB0;TH0=0x3c;}void display(){i=second%5;P0=style[i];}void main(){TMOD=0x01;EA=1;TR0=1;ET0=1;TL0=0xB0;TH0=0x3c;while(1){if(count==20){second++;count=0;}display();}}4.在6个数码管上分别显示自己学号的后六位数字。
#include<reg51.h>char code code1[]={0x4f,0x4f,0x01,0x06,0x06,0x4f}; sbit p1_0=P1^0;char num;void delay(int timer){while(timer){--timer;}}void main(){int i;while(1){num =0xFE;for(i=0;i<6;i++){P1=num;P2=code1[i];delay(1000);num=(num<<1)|1;}}}5.做一个简易30s的倒计时秒表,秒表的显示通过8个发光二极管显示出来。
#include<reg51.h>#include"stdio.h"int count;count=0;void t0Proc() interrupt 1{TH0=0x3c;TL0=0xb0;count++;if(count==10){P0=P0+1;count=0;if(P0==0xff){P0=0xe1;}}}void main(){EA=1;ET0=1;TMOD=1;TH0=0x3c;TL0=0xb0;TR0=1;P0=0xe1;while(1);}6.使用外中断0来控制,去实现下列功能。
P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7无按键按下(循环)●●○○●●○○●●●●○○●●有按键按下●●●●○○○○#include<reg51.h>//sbit k1=P2^0;int count=0;void delay(unsigned char i); void int0Proc() interrupt 0 {count++;P1=0xf0;}void main(){EA=1;EX0=1;IT0=1;P1=0xcc;while(1){ if(count%2==0){if(P1==0xcc){P1=0x30;delay(500);}else{P1=0xcc;delay(500);}}}}void delay(unsigned char i) {unsigned char j,k;for(k=0;k<i;k++)for(j=0;j<255;j++);}7.通过A/D转换电路,将模拟电压值在两个发光二极管上显示出来。
(查询和中断方式均可)#include<reg51.h>#include<absacc.h>#define a XBYTE[0xcfa8]sbit p=P3^2;sbit shi=P3^4;sbit ge=P3^5;void sepr(unsigned char w);void disp();unsigned char i,x,chh,chl;void main(){while(1){adc0809=0;while(p);x=adc0809;sepr(x);disp();}}void sepr(unsigned char w){unsigned char ch;ch=w;chh=ch/51;ch=ch%51;,chl=(ch*10)/51;}void disp(){unsigned char led1[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; unsigned char led2[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef }; shi=0;ge=1;a=led2[chh];for(i=0;i<50;i++);shi=1;ge=0;a=led1[chl];for(i=0;i<50;i++);}#include <reg51.h>char code style[4]={0x0f,0xf0,0xcc,0xff};int i;int count=0;int second=0;void t0Pro() interrupt 1{count++;TL0=0xB0;TH0=0x3c;}void display(){i=second%4;P0=style[i];}void main(){TMOD=0x01;EA=1;TR0=1;ET0=1;TL0=0xB0;TH0=0x3c;while(1){if(count==40){second++;count=0;}display();}}9.在一个数码管上循环显示“0”“1”“5”3个数字,循环的时间为1s。
#include <reg51.h>char code style[3]={0xc0,0xf9,0x92};int i;int count=0;int second=0;void t0Pro() interrupt 1 {count++;TL0=0xB0;TH0=0x3c;}void display(){i=second%3;P0=style[i];}void main(){TMOD=0x01;EA=1;TR0=1;ET0=1;TL0=0xB0;TH0=0x3c;while(1){if(count==20){second++;count=0;}display();}}10.在4个数码管上稳定显示出“A”“C”“E”“P”四个字符。
#include <reg51.h>char code style[4]={0x88,0xc6,0x86,0x8c};void main(){while(1){P0=style[0];P2=style[1];P3=style[2];P1=style[3];}}11.试采用定时方式2,在P1.0引脚上输出频率为1KHz的方波(可能有问题)#include<reg51.h>int count;count=0;sbit p1_0=P1^0;void t0Proc() interrupt 1{p1_0=~p1_0;}void main(){EA=1;ET0=1;TMOD=2;TH0=0x06;TL0=0x06;TR0=1;p1_0=1;while(1);}12.做一个20s的简易秒表,当按键K1按下时,秒表暂停计数,K2按下时,开始计数。
#include "reg51.h"#define uchar unsigned char#define uint unsigned intuint count = 0;uchar i;//0-9段码uchar code time[] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};void Stop() interrupt 2 //INT1中断{ET0 = 1;TR0 = 1;}void Start() interrupt 0 //INT0中断{ET0 = 0;TR0 = 0;}void Timer() interrupt 1 //T0中断{TH0=(65536 - 50000) / 256; //恢复定时器0 初值TL0=(65536 - 50000) % 256;if(++i == 20) //50ms*20=1s 转换状态{i=0;count++;P0=time[count/10];P1=time[count%10];if(count==20) count=0; //满20s后显示00 }}void main(){ //初始显示00P0 = 0xc0;P1 = 0xc0; //T0采用方式1TMOD=0x01;//中断总开关EA = 1;EX0 = 1;EX1 = 1;IT0 = 1;IT1 = 1;//INT0优先PX0 = 1;while(1);}14.使用外中断1来控制,当无按键按下时8个发光二极管循环点亮,循环点亮的时间为1s,有按键按下时,8个发光二极管全部熄灭。