单片机试题库程序及答案
单片机c语言试题和答案
单片机c语言试题和答案一、选择题1. 以下哪项不是51单片机的特点?A. 内部集成定时器/计数器B. 内部集成中断系统C. 内部集成TCP/IP协议栈D. 具有丰富的外设接口答案:C2. 在51单片机中,下列哪个寄存器用于存储程序计数器(PC)的值?A. AB. BC. DPTRD. PC答案:D3. 在51单片机中,下列哪个特殊功能寄存器用于控制定时器/计数器?A. TMODB. TCONC. TH0/TH1D. TL0/TL1答案:A4. 以下哪个函数用于初始化51单片机的串行通信接口?A. void Serial_Init(void)B. void Uart_Init(void)C. void SSI_Init(void)D. void SCI_Init(void)答案:B二、填空题5. 在51单片机中,外部中断0的入口地址是________。
答案:0x00036. 在51单片机的I/O端口中,P0口既可以作为________,也可以作为________使用。
答案:数据总线,地址总线7. 51单片机中的定时器/计数器共有________个。
答案:2个三、判断题8. 51单片机的时钟频率越高,程序执行速度越快。
(对/错)答案:对9. 在51单片机中,外部中断0和外部中断1都可以设置为边沿触发或电平触发。
(对/错)答案:对10. 51单片机的串行通信接口可以设置为8位数据位、1位停止位和可变的波特率。
(对/错)答案:对四、编程题11. 编写一个程序,使用51单片机的定时器/计数器实现一个简单的秒表功能。
要求:秒表计时到60秒时自动停止,并显示“Time Out!”。
```c#include <reg51.h>sbit LED = P1^0; // 将P1.0口定义为LEDvoid Timer0_Init(void) {TMOD = 0x01; // 设置定时器模式为模式1TH0 = 0xFC; // 设置定时器初值TL0 = 0x18;ET0 = 1; // 开启定时器0中断EA = 1; // 开启总中断TR0 = 1; // 启动定时器0}unsigned int count = 0; // 计数器变量void Timer0_ISR(void) interrupt 1 {TH0 = 0xFC; // 重新加载定时器初值TL0 = 0x18;count++; // 计数器加1if (count >= 60) { // 判断是否达到60秒 TR0 = 0; // 关闭定时器0LED = 1; // 点亮LED// 显示“Time Out!”}}void main() {Timer0_Init(); // 初始化定时器0LED = 0; // 熄灭LEDwhile (1) {// 主循环,等待定时器中断}}```五、问答题12. 请简述51单片机的串行通信接口的工作原理。
51单片机考试试题带答案
51单片机考试试题带答案一、选择题1. 以下哪项是51单片机的定时器模式?A. 仅工作在工作模式0B. 工作在工作模式0和工作模式1之间切换C. 工作在工作模式0和工作模式1之间循环切换D. 工作在工作模式0、工作模式1和工作模式2之间循环切换答案:D2. 下列哪种类型的引脚在51单片机中不可作为普通IO口使用?A. 内部RAM地址线引脚B. 外部中断引脚C. IAP/IAP引脚D. 全双工串行口引脚答案:A3. 51单片机的中断向量表是存放在内存的哪个区域?A. 0x0000~0x007FB. 0x0080~0x00FFC. 0x0100~0x017FD. 0x0180~0x01FF答案:C二、填空题1. 请列举51单片机的三种工作模式:____________, ____________, ____________。
答案:工作模式0、工作模式1、工作模式22. 51单片机的系统时钟频率为_________。
答案:12MHz三、解答题1. 请简要描述51单片机的位寻址方式。
答案:51单片机的位寻址方式即按位进行寻址,可以直接对单片机的寄存器或存储器中的某个位进行操作。
通过指定位寻址方式,我们可以将某个特定的位设置为1或者设置为0,或者进行一些位运算操作。
2. 请写出51单片机中TIMER 0的工作模式0的特点和优缺点。
答案:51单片机中TIMER 0的工作模式0特点如下:- 工作模式0是基本的定时/计数功能,仅作为一个16位定时器来使用。
- 它可以产生一个定时器中断。
- 定时器0的计数值可以从TH0和TL0中读取。
优点:- 简单易用,适用于基本的定时功能。
- 可以通过改变定时器的初值来实现不同的定时周期。
缺点:- 功能相对有限,不适用于复杂的定时及计数需求。
- 不能通过使用外部输入源来启动或停止定时器。
四、编程题请使用C语言编写一个程序,实现以下功能:当INT0引脚产生上升沿中断时,将P1口的高4位清0,低4位保持不变。
c语言单片机期末试题及答案
c语言单片机期末试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 在C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strcatC. strncpyD. strcmp答案:A3. 下列关于单片机的描述,哪一项是不正确的?A. 单片机是一种集成了CPU、存储器和I/O接口的微控制器。
B. 单片机通常用于嵌入式系统。
C. 单片机的编程语言只能是汇编语言。
D. 单片机的运行速度通常高于个人计算机。
答案:C4. 在C语言中,下列哪个运算符用于计算两个数的和?A. +B. -C. *D. /答案:A5. 在单片机编程中,下列哪种方式用于控制单片机的I/O端口?A. 直接操作内存地址B. 使用中断C. 通过操作系统调用D. 通过串口通信答案:A二、填空题(每题2分,共20分)1. C语言中,表示逻辑与的运算符是____。
答案:&&2. 在单片机中,用于定义变量存储类型的关键字是____。
答案:volatile3. C语言中,用于定义数组的关键字是____。
答案:数组4. 在单片机编程中,用于控制定时器的函数是____。
答案:定时器函数5. C语言中,用于定义函数的关键字是____。
答案:函数三、简答题(每题5分,共30分)1. 请简述C语言中指针的概念。
答案:指针是一种变量,其值是另一个变量的内存地址。
2. 描述单片机的中断系统是如何工作的。
答案:单片机的中断系统允许外部或内部事件打断CPU当前的执行流程,以处理紧急任务。
3. 解释C语言中函数的原型声明和定义的区别。
答案:函数原型声明只包含函数的返回类型、名称和参数列表,而定义则包括函数原型和函数体。
4. 在单片机编程中,如何使用循环结构?答案:循环结构用于重复执行一段代码,直到满足特定条件。
单片机试题库(编程题)
编程题:2.编一个子程序,将寄存器R0中的内容*10(积<256)3.编程将片内RAM 30H单元开始的15B的数据送到片外RAM 3000H开始的单元中去.4.用查表法编一子程序,将40H单元中的BCD码转换成ASCII码.4.片内RAM50H、51H单元中有一个10B的二进制数,高位在前,低位在后,请编程将其求补,存回原单元中去。
5.片内RAM30H开始的单元中有10B的二进制数,请编程求它们的和。
6.R1中存有一BCD码,请编程将它转换成ASKII码,存入外RAM1000H单元中去。
7.编一个程序,将累加器中的一个字符从串行接口发送出去。
8.片外RAM2000H开始的单元中有5B的数据,编程将它们传送到片内RAM20H开始的单元中去。
9 用查表法编一子程序,将R3中的BCD码转换成ASKII码。
10.片内RAM40H开始的单元内有10B二进制数,编程找出其中最大值并存于50H单元中。
11.编程将片外RAM3000H开始的20B的数据传送到片内RAM30H开始的单元中。
12.编程将R1、R2中的16位二进制数增1后送回原单元。
13.编程将片内RAM40H开始的单元存放的10B的二进制数传送到片外RAM4000H开始的单元中去。
14.编一子程序,从串行接口接受一个数据。
15.编写将30H和31H单元中2B二进制数乘2的子程序。
16.片外RAM2000H单元中有一BCD码,编程将其转换成ASKII码。
17.试编制单字节BCD码数的减法程序。
18.利用调子程序的方法,进行两个4B无符号数相加。
请编主程序及子程序。
19.若图11-2中数据为无符号数,求数据中最大值送A 。
编程并注释。
图11-2 片外 RAM中的数据块片外 RAM0001H┆20. 若图11-2中数据块是有符号数,求正数个数。
编程并注释。
21. 若图11-2中数据块为无符号数,求其累加和。
编程并注释。
22.已知20H单元有一位十进制数,通过查表找出与其对应的共阴极七段码,并存于30H单元。
(完整版)单片机试题及答案
(完整版)单⽚机试题及答案单⽚机原理与接⼝技术习题答案习题与思考题11-1 微型计算机通常由哪些部分组成?各有哪些功能?答:微型计算机通常由控制器、运算器、存储器、输⼊/输出接⼝电路、输⼊设备和输出设备组成。
控制器的功能是负责从内部存储器中取出指令并对指令进⾏分析、判断、并根据指令发出控制信号,使计算机有条不紊的协调⼯作;运算器主要完成算数运算和逻辑运算;存储器⽤于存储程序和数据;输⼊/输出接⼝电路完成CPU与外设之间相连;输⼊和输出设备⽤于和计算机进⾏信息交流的输⼊和输出。
1-2 单⽚微型计算机与⼀般微型计算机相⽐较有哪些区别?有哪些特点?答:与通⽤微型计算机相⽐,单⽚机的硬件上,具有严格分⼯的存储器ROM和RAM和I/O端⼝引脚具有复⽤功能;软件上,采⽤⾯向控制的指令系统和硬件功能具有⼴泛的通⽤性,以及品种规格的系列化。
单⽚机还具备体积⼩、价格低、性能强⼤、速度快、⽤途⼴、灵活性强、可靠性⾼等特点。
1-3 简述计算机的⼯作过程。
答:计算机的⼯作是由微处理器以⼀定的时序来不断的取指令、指令译码和执⾏指令的过程。
1-4 单⽚机的⼏个重要指标的定义。
答:单⽚机的重要指标包括位数、存储器、I/O⼝、速度、⼯作电压、功耗和温度。
1-5 单⽚微型计算机主要应⽤在哪些⽅⾯?答:单⽚机的主要应⽤领域有智能化产品、智能化仪表、智能化测控系统、智能化接⼝等⽅⾯。
1-6 为什么说单⽚微型计算机有较⾼的性能价格⽐和抗⼲扰能⼒?答:因为单⽚微型计算机主要⾯向特定应⽤⽽设计,设计者在硬件和软件上都⾼效率地设计,量体裁⾐、去除冗余,⼒争在同样的硅⽚⾯积上实现更⾼的性能,具备较⾼的性能、价格⽐;单⽚机嵌⼊式系统中的软件⼀般都固化在存储器芯⽚或单⽚机本⾝中,⽽不是存贮于磁盘等载体中,另外单⽚机体积⼩,可以放⼊屏蔽设备中,从⽽使其具有较⾼的抗⼲扰能⼒。
1-7 简述单⽚机嵌⼊式系统的定义和特点。
答:单⽚机嵌⼊式系统是嵌⼊到对象体系中的专⽤计算机系统;其特点是⾯向特定应⽤、与各个⾏业的具体应⽤相结合、硬件和软件⾼效率、软件固化在存储器芯⽚或单⽚机本⾝和不具备⾃举开发能⼒。
单片机程序设计试题.docx
一、填空题1.执行程序:MOVA, #OAOHADDA, #60H后,A的内容是_______ o2.执行程序:MOV SP, #62HMOV 62H, #50HMOV 61H,#40HPOP DPHPOP DPL后,DPTR的内容是_______ , SP的内容是________ o3.如果打开89S51的两个外部中断(其余中断关闭),应给以下语句赋值为:IE= __________ ;4.89S51共有______ 个定时计数器。
5.当P1 口做输入口输入数据时,必须先向该端口的锁存器写入______ ,否则输入数据可能出错。
6.89S51单片机的电源引脚标号是________ 和_________ =7.在外扩ROM、RAM或I/O设备时,8051单片机的 _________ 口接8位数据总线,______ 口为低8位地址线,_______ 口为高8位地址线。
&执行程序:MOV A, #02HMOV DPTR, #1000HMOVX A, @A+DPTRAJMP$ORG 1000HDB 12H 34H 56H 78H 9AH OBCH ODEH 0F0H 后,A的内容是。
9.若89S51单片机使用的频率为12MHz,那么指令:NOP的执行时间是____ 微秒,它占用_______ 个字节。
10.如果同时打开89S51的0#中断和1#中断(其余中断关闭),应给以下C51语句赋值为:IE= __________ ;11.将单片机的内部定时/计数器1设为工作方式2的计数器,其C51语句为:TMOD = ____________ ;12.启动定时器1的C51语句为:TR1 = ____________13.89S51的P1 口每个引脚最大可吸收约________ mA电流,8个引脚共可吸收约______ mA电流。
14.74LS244为_______ 口扩展芯片。
15.89C51单片机的电源引脚标号是 ______ o16.在外扩ROM、RAM或I/O设备时,8051单片机的_________ 口接8位数据总线。
c语言51单片机试题及答案
c语言51单片机试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,正确的是()。
A. C语言是一种汇编语言B. C语言是一种高级语言C. C语言是一种面向对象的编程语言D. C语言是一种面向过程的编程语言答案:D2. 在C语言中,用于定义一个结构体的关键字是()。
A. structB. unionC. enumD. typedef答案:A3. 51单片机中,下列哪个寄存器用于存储程序计数器的值()。
A. SPB. PCC. PSWD. ACC答案:B4. 在C语言中,用于定义一个函数的关键字是()。
A. structB. unionC. functionD. int5. 51单片机中,下列哪个寄存器用于存储累加器的值()。
A. SPB. PCC. PSWD. ACC答案:D6. 在C语言中,用于定义一个全局变量的关键字是()。
A. staticB. externC. registerD. auto答案:B7. 51单片机中,下列哪个寄存器用于存储程序状态字的值()。
A. SPB. PCC. PSWD. ACC答案:C8. 在C语言中,用于定义一个静态变量的关键字是()。
A. staticB. externC. registerD. auto答案:A9. 51单片机中,下列哪个寄存器用于存储堆栈指针的值()。
B. PCC. PSWD. ACC答案:A10. 在C语言中,用于定义一个寄存器变量的关键字是()。
A. staticB. externC. registerD. auto答案:C二、填空题(每题2分,共20分)1. C语言中,定义一个整型变量的关键字是______。
答案:int2. 在C语言中,用于声明一个函数的关键字是______。
答案:extern3. 51单片机中,用于存储当前工作寄存器的寄存器是______。
答案:R0-R74. C语言中,用于声明一个静态变量的关键字是______。
单片机原理及应用试题库---答案
单片机原理及应用试题库---答案一、选择题1、单片机能够直接运行的程序是()A 汇编语言程序BC 语言程序 C 机器语言程序D 高级语言程序答案:C解释:单片机只能直接运行机器语言程序,其他语言编写的程序都需要经过编译或解释转换成机器语言才能被单片机执行。
2、 8051 单片机的堆栈区一般开辟在()A 片内数据存储区低 128 字节B 片内数据存储区高 128 字节C 片外数据存储区D 程序存储区答案:A解释:8051 单片机的堆栈区一般开辟在片内数据存储区低 128 字节,并且遵循“先进后出”的原则。
3、当 8051 单片机的 RST 引脚出现()个机器周期以上的高电平时,系统复位。
A 1B 2C 3D 4答案:B解释:RST 引脚保持 2 个机器周期以上的高电平,单片机就会进行复位操作,复位后程序计数器 PC 指向 0000H 地址。
4、 8051 单片机的定时器/计数器工作方式 1 是()A 8 位计数器结构B 13 位计数器结构C 16 位计数器结构D 32 位计数器结构答案:C解释:工作方式 1 是 16 位的计数器结构,由 THx 和 TLx 两个 8 位寄存器组成。
5、要使 8051 单片机能够响应外部中断 0,中断允许寄存器 IE 的值应设置为()A 80HB 81HC 82HD 83H答案:B解释:IE 寄存器中,EA 位为总中断允许位,EX0 位为外部中断 0允许位,要响应外部中断 0,IE 的值应设为 81H,即 10000001B。
二、填空题1、 8051 单片机内部有 4 个 8 位的并行 I/O 口,分别是 P0 、P1 、P2 、P3 。
解释:这 4 个并行 I/O 口在单片机的输入输出操作中起着重要作用。
2、单片机的最小系统包括电源、时钟电路、复位电路。
解释:电源为单片机提供工作电压,时钟电路为单片机提供时钟信号,复位电路用于单片机的初始化。
3、 8051 单片机的指令系统共有 111 条指令,按指令的长度可分为单字节指令、双字节指令、三字节指令。
单片机考试试题及答案
单片机考试试题及答案一、选择题(每题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. 简述单片机的定时器/计数器的作用。
答案:单片机的定时器/计数器用于提供精确的时间控制和事件计数。
(完整版)单片机试卷及答案
期终考试《单片机原理及接口技术》(A )适用班级:一、单项选择题:(共15题,每题2分,共30分)(1)AT89C51单片机哪些不是主要功能部件组成( ) A. CPU B. RAM C. ROM D.LED 显示 (2)MCS-51系列单片机的CPU 主要是由( )组成的。
A .运算器、控制器 B.加法器、寄存器 C .运算器、加法器 D.运算器、译码器 (3)单片机中的程序计数器PC 用来( )。
A.存放指令B.存放正在执行的指令地址C.存放下一条指令地址D.存放上一条指令地址 (4)单片机AT89C51的EA 引脚( )。
A.必须接地 B.必须接+5V 电源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.A 口及C 口的低4位B.A 口及B 口的低4位C.A 口及B 口的高4位D.A 口及C 口的高4位(9)外部扩展存储器时,分时复用做数据总线和低8位地址线的是( )。
A. P0口 B. P1口 C. P2口 D.P3口 (10)PSW 中的RS1和RS0两位用来( )。
A.选择工作寄存器组 B.指示复位 C.选择定时器 D.选择工作方式 (11)单片机上电复位后,PC 的内容为( )。
A. 0000HB. 0003HC. 000BHD. 0800H (12)AT89C51单片机的CPU 是( )。
(完整版)单片机考试试题(带答案)
一、选择题访问片外数据存储器的寻址方式是( C )A、立即寻址B、寄存器寻址C、寄存器间接寻址D、直接寻址堆栈数据的进出原则是( B )A、先进先出B、先进后出C、后进后出D、进入不出若某存储器芯片地址线为12根,那么它的存储容量为( C )A、1KBB、2KBC、4KBD、8KB控制串行接口工作方式的寄存器是( C )A、TCONB、PCONC、SCOND、TMOD判断是否溢出时用PSW的(B )标志位,判断是否有进位时用PSW的( A )标志位。
A.CY B.OV C.P D.RS0 E.RS1当串行口向单片机的CPU发出中断请求时,若CPU 允许并接受中断请求时,程序计数器PC的内容将被自动修改为( E )。
A.0003H B.000B C.0013H D.001BH E.0023H子程序的返回和中断响应过程中的中断返回都是通过改变PC的内容实现的,而PC内容的改变是(D )完成的。
A.通过POP命令B.通过MOV 指令C.通过RET或RETI指令D.自动单片机复位后,SP、PC、I/O口的内容为(C )A.SP = 07H PC = 00H P0 = P1 = P2 = P3 = FFHB.SP = 00H PC = 0000H P0 = P1 = P2 = P3 = 00HC.SP = 07H PC = 0000H P0 = P1 = P2 = P3 = FFHD.SP = 00H PC = 00H P0 = P1 = P2 = P3 = 00H 堆栈指针SP的作用是( B )。
A 指示堆栈的栈底B 指示堆栈的栈顶C 指示下一条将要执行指令的地址D 指示中断返回的地址下列指令中,不影响堆栈指针的指令是( B)。
A RETB JB bit,relC LCALL addr16D RETI定时器T1的中断入口地址是( C ),从该地址开始一般可(F )。
A 0003HB 000BHC 001BHD 0013HE 连续存放中断服务程序F 存放转移指令定时器T0的溢出标志TF0,在CPU响应中断后( B )。
51单片机基础知识试题题库(含答案)
第二章习题参考答案一、填空题:1、当MCS-51引脚ALE有效时,表示从P0口稳定地送出了低8位地址。
2、MCS-51的堆栈是软件填写堆栈指针临时在片内数据存储器内开辟的区域。
3、当使用8751且EA=1,程序存储器地址小于 1000H 时,访问的是片内ROM。
4、MCS-51系统中,当PSEN信号有效时,表示CPU要从外部程序存储器读取信息。
5、MCS-51有4组工作寄存器,它们的地址范围是 00H~1FH 。
6、MCS-51片内20H~2FH范围内的数据存储器,既可以字节寻址又可以位寻址。
7、PSW中RS1 RS0=10时,R2的地址为 12H 。
8、PSW中RS1 RS0=11时,R2的地址为 1AH 。
9、单片机系统复位后,(PSW)=00H,因此片内RAM寄存区的当前寄存器是第 0 组,8个寄存器的单元地址为 00H ~ 07H 。
10、PC复位后为 0000H 。
11、一个机器周期= 12 个振荡周期= 6 个时钟周期。
12、PC的内容为将要执行的的指令地址。
13、在MCS-51单片机中,如果采用6MHz晶振,1个机器周期为 2us 。
14、内部RAM中,位地址为30H的位,该位所在字节的字节地址为 26H 。
15、若A中的内容为63H,那么,P标志位的值为 0 。
16、8051单片机复位后,R4所对应的存储单元的地址为 04H ,因上电时PSW=00H 。
这时当前的工作寄存器区是第 0 工作寄存器区。
17、使用8031芯片时,需将/EA引脚接低电平,因为其片内无程序存储器。
18、片内RAM低128个单元划分为哪3个主要部分:工作寄存器区、位寻址区和用户RAM区。
19、通过堆栈操作实现子程序调用,首先就要把 PC 的内容入栈,以进行断点保护。
调用返回时,再进行出栈保护,把保护的断点送回到 PC 。
20、MCS-51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的,因为MCS-51的PC是16位的,因此其寻址的范围为 64 KB。
mcs-51单片机考试试题及答案
mcs-51单片机考试试题及答案一、选择题(每题2分,共20分)1. MCS-51单片机的内部结构中,CPU可以访问的存储器是()。
A. ROMB. RAMC. EPROMD. A和B答案:D2. 下列哪个寄存器是MCS-51单片机中用于堆栈指针的寄存器?()A. PCB. SPC. PSWD. DPTR答案:B3. MCS-51单片机的定时器/计数器中,定时器0和定时器1都是()。
A. 8位定时器B. 16位定时器C. 8位计数器D. 16位计数器答案:B4. 下列哪个指令是MCS-51单片机中用于将累加器A的内容与寄存器R0的内容相加的指令?()A. ADD A, #dataB. ADD A, R0C. MOV A, R0D. INC A答案:B5. 在MCS-51单片机中,下列哪个中断源的优先级最高?()A. INT0B. TF0C. TF1D. IE0答案:B6. MCS-51单片机的I/O口具有()功能。
A. 推挽输出B. 开漏输出C. 推挽输出和开漏输出D. 仅推挽输出答案:B7. MCS-51单片机的定时器/计数器工作在定时模式时,定时时间的计算公式是()。
A. 定时时间 = (65536 - THx)×12 / foscB. 定时时间 = (256 - THx)×12 / foscC. 定时时间 = (65536 - THx)×1 / foscD. 定时时间 = (256 - THx)×1 / fosc答案:B8. 在MCS-51单片机的中断系统中,下列哪个寄存器用于存储中断向量地址?()A. IPB. IEC. TCOND. SCON答案:A9. MCS-51单片机的外部中断INT0和INT1的触发方式是()。
A. 电平触发B. 边沿触发C. 定时触发D. 计数触发答案:B10. 在MCS-51单片机中,下列哪个指令用于将内部RAM的20H地址的内容传送到累加器A?()A. MOV A, #20HB. MOV A, 20HC. MOV A, @20HD. MOV A, R2答案:B二、填空题(每题2分,共20分)1. MCS-51单片机的内部RAM分为______区和______区。
mcs51单片机试题及答案
mcs51单片机试题及答案### 单片机试题一、选择题1. 单片机MCS-51系列中,以下哪个寄存器是用于存储累加器的?- A. R0- B. A- C. B- D. PSW2. 以下哪个指令是将累加器A的内容传送到外部数据存储器的?- A. MOV A, @R0- B. MOV A, @R1- C. MOVX A, @R0- D. MOVX A, @R13. 在MCS-51单片机中,哪个特殊功能寄存器用于控制中断?- A. IE- B. IP- C. TCON- D. PCON二、填空题1. 单片机MCS-51的程序存储器地址空间为 ______ 到 ______。
2. 单片机MCS-51的外部数据存储器地址空间为 ______ 到______。
3. 单片机MCS-51的内部数据存储器地址空间为 ______ 到______。
三、简答题1. 简述MCS-51单片机的中断系统。
2. 解释MCS-51单片机中的定时器/计数器的作用及其工作模式。
四、编程题编写一段程序,实现MCS-51单片机的定时器0以模式1工作,每1秒产生一次中断。
```cORG 0000HSTART: MOV TMOD, #01H ; 设置定时器0为模式1MOV TH0, #3CH ; 装载定时器0的初值MOV TL0, #0B0HSETB TR0 ; 启动定时器0SETB ET0 ; 允许定时器0中断SETB EA ; 允许全局中断JMP $ ; 无限循环ORG 001BH ; 定时器0中断入口TIMER0_ISR: CLR C ; 清除进位标志位MOV TH0, #3CH ; 重新装载定时器0的初值MOV TL0, #0B0HCPL P1.0 ; 改变P1.0引脚的电平RETI ; 中断返回```答案一、选择题1. B2. C3. A二、填空题1. 0000H 到 FFFFH2. 8000H 到 FFH3. 20H 到 2FH三、简答题1. MCS-51单片机的中断系统包括两个外部中断(INT0和INT1)和两个定时器中断(Timer0和Timer1)。
单片机原理及应用试题库(含参考答案)
单片机原理及应用试题库(含参考答案)1、80C51单片机的复位功能引脚是()A、XTAL1B、XTAL2C、RSTD、ALE答案:C2、89C51系列单片机内部有两个()位定时器/计数器A、8B、16C、24D、32答案:B3、51单片机的定时器工作方式3的功能是()A、3种定时/计数器关系B、13位定时/计数器C、16位定时/计数器D、8位自动重装定时/计数器答案:A4、以下中断优先级原则里不正确的是()A、高级中断请求可以打断执行中的低级中断B、同级中断请求能打断执行中的同级中断C、多个同级中断源同时提出中断请求时,CPU将依据自然优先级查询中断请求D、单片机复位时,所有中断源都默认为低优先级中断答案:B5、单片机能直接运行的程序叫()A、编译程序B、源程序C、目标程序D、汇编程序答案:C6、当中断源的突发事件出现时,单片机中某些功能寄存器的特殊标志位将由硬件方式自动修改,这些特殊标志称为()A、中断请求标志B、内置处理器C、外部中断源D、中断源答案:A7、while(i=x)当x=()时停止循环A、1B、0C、3D、无穷大答案:B8、当SCON中的MOM1=10时,表示串口工作与方式A、1B、2C、3D、4答案:B9、有关集成芯片74LS164的下列描述中()是不正确的。
A、74LS164的移位过程是借助D触发器的工作原理实现的B、74LS164是一种8位串入并出移位寄存器C、8次移位结束后,74LS164的输出端Q0锁存着数据的最高位,Q7锁存着最低位D、74LS164与80C51的串口方式0配合可以实现单片机并行输出口的扩展功能答案:C10、计算机中最常用的字符信息编码是()A、BCD码B、ASCIIC、循环码D、余3码答案:B11、89C51单片机可分为两个中断优先级别,各中断源的优先级别设定是利用寄存器()A、IEB、IPC、TCON12、LED数码管用于动态显示时需要将各位数码管的()。
(完整版)单片机考试常见试题程序分析题
程序分析及编程1.设(A)=04H,(CY)=1, 写出下列各条指令的结果。
RL A; (A)= 08HRR A; (A)= 02HRLC A; (A)= 09HRRC A; (A)= 82H2设(A)=7AH,(R0)=30H,(30H)=A5H,(CY)=1, 写出下列各条指令的结果。
MOV A ,R0 (A)=30H (R0)=30HXCH A, R0 (A)=30H (R0)=30HXCHD A,@R0 (A)=A5H (R0)=30H (30H)=30HADD A,#30H (A)=D5H (CY)=1ADDC A,30H (A)=06H (CY)=1SUBB A,#30H (A)=D5H (CY)=14.已知程序执行前有A=02H,SP=52H,(51H)=FFH,(52H)=FFH。
下述程序执行后:请问:A=(),SP=(),(51H)=(),(52H)=(),PC=()。
POP DPHPOP DPLMOV DPTR,#4000HRL AMOV B,AMOVC A,@A+DPTRPUSH AMOV A,BINC AMOVC A,@A+DPTRPUSH ARETORG4000HDB10H,80H,30H,50H,30H,50H答:(A)=50H , (SP)=50H , (51H)=30H , (52H)=50H , (PC)=5030H5.假定A=83H,(R0)=17H,(17H)=34H,执行以下指令后,A的内容为()。
:ANL A,#17HORL17H,AXRL A,@R0CPL A答:0CBH6.如果DPTR=507BH,SP=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令后则:DPH=(),DPL=(),SP=():POP DPHPOP DPLPOP SP答:DPH=3CH , DPL=5FH , SP=4FH7.假定,SP=60H,A=30H,B=70H,执行下列指令后,SP的内容为(),61H单元的内容为(),62H单元的内容为()。
51单片机试题及答案
51单片机试题及答案51单片机是一种常用的单片机,广泛应用于各种电子设备中。
在学习和应用过程中,掌握相关的试题和答案是非常重要的。
本篇文章将提供一些常见的51单片机试题,并给出详细的答案解析。
试题一:请简述51单片机的基本概念。
答案:51单片机指的是英特尔公司开发的一种8位单片机,其核心是8051系列单片机。
它具有低功耗、高集成度和强大的功能特点。
51单片机广泛应用于嵌入式系统、电子仪器和家用电器等领域。
试题二:请解释什么是片内RAM和片内ROM。
答案:片内RAM(Random Access Memory)指的是单片机内部集成的随机存取内存,用于存储临时数据。
片内ROM(Read-Only Memory)用于存储程序代码和常量数据,无法在运行时进行修改。
试题三:请列举51单片机的常用指令集。
答案:51单片机的常用指令集包括数据传输指令、算术指令、逻辑指令、跳转指令、位操作指令等。
具体的指令可以根据需求在手册中查阅。
试题四:请解释定时器和中断的概念。
答案:定时器是一种特殊的硬件模块,用于实现定时功能。
通过设置定时器的计数值和工作模式,可以实现各种时间精度的定时。
中断是一种事件触发机制,当特定事件发生时,中断会打断当前的程序执行,转而执行相应的中断服务程序。
试题五:请简述串行通信中的UART概念。
答案:UART(Universal Asynchronous Receiver/Transmitter)是一种常见的串行通信接口,用于实现数据的传输和接收。
UART通过设置波特率、数据位、停止位和校验位等参数,实现串行通信的数据有效性和可靠性。
试题六:请简要介绍51单片机的编程流程。
答案:51单片机的编程流程主要包括以下几个步骤:写好程序代码,并保存为.asm汇编文件;使用汇编器将汇编文件转换为机器码文件;使用烧录器将机器码文件烧录到单片机的存储器中;将单片机与外部电路连接,并通电运行程序。
试题七:请解释I/O口及其在51单片机中的应用。
单片机试题1及答案
unsigned char k,w;
while(1)
{
w=0x01;
For(k=0;k<8;k++)
{
P1=~w;
w<<=k;
delay();
}
}
2,设MCS-51单片机使用的晶振是12MHz,欲使用定时器/计数器0实现30ms定时中断,在P1.0在产生周期为60ms的方波。(1)计算TH0和TL0的值;(2)确定寄存器TMOD,TCON和IE的值(寄存器中跟本题无关位取值为0);(3)编写主程序和中断服务程序。(20分)
二、选择题(每空1分,共10分)
1,(1)一个C语言程序总是从(C)开始执行
A)书写顺序的第一个函数
B)书写顺序的第一条执行语句
C)主函数main()
D)不确定
2,在单片机C语言中用于结构化程序设计的三种基本结构是( A )
A)顺序结构、选择结构、循环结构B)if、switch、break C)for、while、do-while
3,当外部中断1和定时器1中断都设置为低优先级,若两个中断同时发生,则先响应哪个中断(A)
A,外部中断1 B,定时器1中断 C, 随机响应 D,两者同时响应
4,单片机输出信号为(C)电平
A,RS-485 B,RS-232 C,TTL D,RS-449
5,MS-51单片机工作在方式0,则计数器是(B)位
A,8位B,13位C,16位D,自动重装8位
6,MCS-51系列单片机的串口是(B)
A,全双工B,半双工C,单工D,并行口
7,串行口的控制寄存器为(B)。
A.SMOD B.SCON C.SBUF D.PCON
8,MCS-51系列单片机的定时器T0用做定时方式时,采用工作方式2,则初始化编程为(D)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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<reg51.h>#include<absacc.h>//存放绝对地址宏定义的函数原型#include<reg51.h>﹍﹍﹍﹍﹍#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<absacc.h>源程序:﹍#include<absacc.h>﹍﹍﹍﹍﹍//存放绝对地址宏定义的函数原型#include<reg51.h>#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//宏定义uchardispcode[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;//秒清0time[1]++;//分加1﹍if(time[1]>59)﹍﹍﹍﹍﹍//分是否超过59{ time[1]=0;//分清0time[2]++;//小时加1﹍if(time[2]>23)﹍﹍﹍﹍﹍//小时是否超过23time[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<m;i++) ⑤unsigned char i; ⑥ET1=1; ⑦EA=1;⑧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<m;i++)﹍﹍﹍for(j=0;j<200;j++)for(k=0;k<100;k++);}main()//主函数{ ﹍﹍﹍﹍﹍﹍TMOD=0X10; //定时器工作方式设置﹍﹍﹍ET1=1;﹍﹍﹍//T1中断允许设置﹍﹍EA=1; ﹍﹍﹍﹍//中断总允许设置﹍﹍TR1=1;﹍﹍﹍﹍//启动T1i=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口接个位数码管的位码)。