单片机实用教程部分课后习题_朱一纶

合集下载

单片机课后习题答案[1]1

单片机课后习题答案[1]1

习题31.结合MCS-51系列单片机功能框图阐明其大致组成。

答:MCS-51系列单片机内部组成如图所示。

主要有8031、8051、875l 三种机型,基于HMOS 工艺,它们的指令系统与芯片引脚完全兼容,只是片内程序存储器(ROM, Read Only Memory)有所不同。

51子系列的主要功能为:●8位CPU;●片内带振荡器及时钟电路;●128B片内数据存储器;●4KB片内程序存储器(8031/80C31无);●程序存储器的寻址范围为64KB;●片外数据存储器的寻址范围为64KB;●21B特殊功能寄存器;●4×8根I/O线;●1个全双工串行I/O接口,可多机通信;●两个16位定时器/计数器;●中断系统有5个中断源,可编程为两个优先级;●111条指令,含乘法指令和除法指令;●布尔处理器;●使用单+5V电源。

2.综述80C51系列单片机各引脚的作用。

答:80C51 有4 个8 位并行I/O 口,共32 条端线:P0、P1、P2 和P3 口。

每一个I/O 口都能用作输入或输出。

用作输入时,均须先写入“1”;用作输出时,P0口应外接上拉电阻。

P0口的负载能力为8个LSTTL门电路;P1~P3口的负载能力为4个LSTTL门电路。

在并行扩展外存储器或I/O口情况下:P0口用于低8位地址总线和数据总线(分时传送)P2口用于高8位地址总线,P3口常用于第二功能,用户能使用的I/O口只有P1口和未用作第二功能的部分P3口端线。

3.80C51单片机内部包含哪些主要逻辑功能部件?各有什么主要功能?答:80C51 单片机内部包含含布尔(位)处理器的中央处理器、数据存储器和程序、并行输入/输出端口、中断系统、定时器/计数器,串行口、时钟电路、复位电路。

4.什么是ALU?简述MCS-51系列单片机ALU的功能与特点。

答:ALU是用于对数据进行算术运算和逻辑操作的执行部件,由加法器和其他逻辑电路(移位电路和判断电路等)组成。

《单片机》课后习题及答案

《单片机》课后习题及答案

《单片机》课后习题及答案单片机是计算机科学与技术中的重要领域之一,学习单片机的过程中,习题是不可或缺的一部分。

通过解答习题,不仅可以加深对单片机知识的理解,还可以培养解决问题的能力。

本文将为大家介绍一些经典的单片机习题,并提供详细的答案解析。

一、基础知识题1. 请简述单片机的定义及其作用。

答:单片机是一种集成度极高的微型计算机系统,它包括中央处理器、存储器、输入/输出接口和时钟电路等基本组成部分。

单片机广泛应用于嵌入式系统、仪器仪表、工控设备等领域,能够完成各种控制、计算、通信等任务。

2. 请列举常见的单片机类型及其特点。

答:常见的单片机类型有AVR系列、PIC系列、STM32系列等。

它们的特点如下:- AVR系列:低功耗、性能稳定、易于编程调试。

- PIC系列:成本较低、易于学习上手,适用于简单的应用场景。

- STM32系列:性能强大、资源丰富、支持多种外设接口。

3. 单片机的时钟输入一般采用什么方式?请简要说明原因。

答:单片机的时钟输入一般采用晶体振荡器的方式。

晶体振荡器具有稳定的振荡频率和相位,能够提供可靠的时钟信号,保证单片机各个部件按时序工作。

二、编程习题1. 编写一个程序,实现LED灯在不同时间间隔下的闪烁。

答:以下是示例代码:```c#include <reg51.h>sbit LED = P1^0;void delay(unsigned int ms){unsigned int i, j;for(i = ms; i > 0; i--)for(j = 110; j > 0; j--);}void main(){while(1){LED = 0; // 点亮LED灯delay(500); // 延时500msLED = 1; // 熄灭LED灯delay(500); // 延时500ms}}```2. 编写一个程序,实现通过按键控制LED灯的亮灭。

答:以下是示例代码:```c#include <reg51.h>sbit LED = P1^0;sbit KEY = P2^0;void delay(unsigned int ms){unsigned int i, j;for(i = ms; i > 0; i--)for(j = 110; j > 0; j--);}void main(){while(1){if(KEY == 0) // 如果按键按下{LED = ~LED; // 切换LED灯的状态delay(500); // 延时500ms,防止按键抖动}}}```三、应用题1. 设计一个温度监测系统,当温度超过设定的阈值时,点亮LED 灯并发出蜂鸣器警报。

单片机课后习题答案

单片机课后习题答案

单片机课后习题答案单片机课后习题答案在学习单片机的过程中,课后习题是检验自己掌握程度的重要方式。

然而,有时候我们可能会遇到一些难题,不知道如何解答。

本文将提供一些常见的单片机课后习题答案,希望能够帮助大家更好地理解和应用单片机知识。

1. 请简述单片机的工作原理。

单片机是一种集成电路芯片,内部包含了中央处理器(CPU)、内存、输入输出接口等功能模块。

它通过接收外部的输入信号,经过处理后,再通过输出接口将结果输出。

其工作原理主要包括以下几个步骤:(1)从外部接收输入信号,例如按键、传感器等。

(2)将输入信号转化为数字信号,经过模数转换器(ADC)进行模数转换。

(3)CPU对数字信号进行处理,例如进行逻辑运算、数值计算等。

(4)根据处理结果,通过输出接口将结果输出,例如驱动LED灯、显示器等。

(5)循环执行上述步骤,实现单片机的持续工作。

2. 如何在单片机中实现延时功能?在单片机中,延时功能往往是非常常见的需求。

我们可以通过使用定时器来实现延时功能。

具体步骤如下:(1)设置定时器的工作模式和计数方式。

例如,选择定时器模式为定时器模式,计数方式为自动重载。

(2)设置定时器的初始值和计数周期。

初始值决定了延时的起始时间,计数周期决定了延时的时长。

(3)启动定时器,使其开始计数。

(4)在程序中检测定时器是否计数完成。

可以通过检测定时器中断标志位或者定时器计数值是否达到设定值来判断。

(5)如果定时器计数完成,表示延时时间已经到达,可以执行延时后的操作。

(6)如果定时器计数未完成,表示延时时间还未到达,可以继续等待或执行其他操作。

3. 如何实现数码管的动态显示?数码管的动态显示是通过快速切换不同的数码管段位来实现的。

具体步骤如下:(1)设置一个计数器,用于控制数码管的刷新频率。

(2)设置一个数组,用于存储需要显示的数码管段位的状态。

(3)编写一个中断服务函数,用于定时刷新数码管的显示。

(4)在主程序中,设置数码管需要显示的内容。

单片机课后重要习题答案

单片机课后重要习题答案

单片机课后重要习题答案单片机课后重要习题答案在学习单片机的过程中,课后习题是巩固知识、提高编程能力的重要环节。

下面是一些常见的单片机课后习题及其答案,供大家参考。

一、基础题1. 请用C语言编写一个程序,实现将一个整数的二进制表示输出到LED灯上。

答案:```c#include <reg52.h>void main(){int num = 10; // 待转换的整数int i;while (1){for (i = 0; i < 8; i++){P1 = num & (1 << i) ? 0xFF : 0x00; // 判断第i位是否为1,是则点亮LED灯delay(); // 延时函数}}```2. 请编写一个程序,实现将一个8位二进制数的奇偶校验位计算出来,并输出到P1口。

答案:```c#include <reg52.h>void main(){unsigned char num = 0b10011010; // 待计算的8位二进制数int count = 0;int i;for (i = 0; i < 8; i++){if (num & (1 << i)){count++;}}P1 = count % 2 ? 0xFF : 0x00; // 奇数个1则输出高电平,偶数个1则输出低电平}二、进阶题1. 请编写一个程序,实现一个简单的计算器功能,能够进行加、减、乘、除四则运算,并将结果输出到数码管上。

答案:```c#include <reg52.h>void main(){unsigned char num1 = 10; // 第一个操作数unsigned char num2 = 5; // 第二个操作数unsigned char operator = '+'; // 运算符,可修改为其他运算符unsigned char result;switch (operator){case '+':result = num1 + num2;break;case '-':result = num1 - num2;break;case '*':result = num1 * num2;break;case '/':result = num1 / num2;break;default:result = 0;break;}// 将结果输出到数码管上P1 = result;}```2. 请编写一个程序,实现一个简单的密码验证功能,用户输入密码后,若密码正确,则点亮一个LED灯,否则不点亮。

单片机的课后习题答案

单片机的课后习题答案

单片机的课后习题答案单片机的课后习题答案在学习单片机的过程中,课后习题是非常重要的一环。

通过解答习题,我们可以巩固所学的知识,提高自己的实践能力。

下面是一些常见的单片机课后习题及其答案,希望对大家的学习有所帮助。

1. 什么是单片机?答:单片机是一种集成电路芯片,具有中央处理器、存储器和各种输入输出接口等功能。

它能够完成各种控制任务,广泛应用于电子产品、仪器仪表、通信设备等领域。

2. 请简述单片机的工作原理。

答:单片机通过接收输入信号,经过处理后,控制输出信号。

其工作原理可以概括为:输入信号经过外部输入接口输入到单片机内部,单片机通过中央处理器对输入信号进行处理,然后根据处理结果通过输出接口控制外部设备。

3. 什么是中断?答:中断是一种机制,用于在单片机运行过程中,处理外部事件的优先级。

当发生中断事件时,单片机会立即中断当前任务,转而执行中断服务程序,处理完中断事件后再返回原来的任务。

4. 请简述中断的优点。

答:中断具有以下几个优点:- 灵活性:中断可以随时响应外部事件,提高系统的实时性和灵活性。

- 高效性:通过中断,可以及时处理紧急事件,提高系统的处理效率。

- 可靠性:中断可以确保关键任务的执行,避免因外部事件而导致的系统故障。

5. 请简述定时器的作用。

答:定时器是单片机中常用的一种外设,用于产生精确的时间延迟。

通过定时器,我们可以实现定时、计数、测量等功能,广泛应用于各种计时、控制、通信等场景。

6. 如何使用定时器产生1秒的延时?答:以8051单片机为例,可以通过设置定时器的初值和工作模式来实现1秒的延时。

具体步骤如下:- 设置定时器的初值,使其在溢出前计数器的值为65536-(机器周期/定时器时钟周期)*(所需延时时间/定时器溢出时间)。

- 设置定时器的工作模式,选择合适的时钟源和分频系数。

- 等待定时器溢出,即可实现1秒的延时。

7. 请简述串口通信的原理。

答:串口通信是一种常用的数据传输方式,通过串行传输数据。

单片机课后习题

单片机课后习题

习题答案习题 01.单片机是把构成微型计算机的各功能零件即〔微办理器〔CPU 〕〕、〔储存器〔 ROM 和 RAM 〕〕、〔总线〕、〔准时器 /计数器〕、〔输入 /输出接口〔 I/O 口〕〕及〔中断系统〕等零件集成在一块芯片上的微型计算机。

2.什么叫单片机?其主要特色有哪些?将微办理器〔 CPU 〕、储存器〔寄存程序或数据的ROM 和 RAM 〕、总线、准时器/计数器、输入 /输出接口〔 I/O 口〕、中断系统和其余多种功能器件集成在一块芯片上的微型计机,称为单片微型计算机,简称单片机。

单片机的特色:靠谱性高、便于扩展、控制功能强、拥有丰富的控制指令、低电压、低功耗、片内储存容量较小、集成度高、体积小、性价比高、应用宽泛、易于产品化等。

3.单片机有哪几个展开阶段?(1〕第一阶段〔 1974— 1976 年〕:制造工艺落伍,集成度低,并且采纳了双片形式。

典型的代表产品有Fairchild 企业的 F8 系列。

其特色是:片内只包含了8 位 CPU,64B 的 RAM 和两个并行口,需要外加一块3851 芯片〔内部拥有1KB 的 ROM 、准时器 /计数器和两个并行口〕才能构成一台完好的单片机。

〔 2〕第二阶段〔1977— 1978 年〕:在单片芯片内集成CPU、并行口、准时器/计数器、RAM 和 ROM 等功能零件,但性能低,品种少,应用范围也不是很广。

典型的产品有Intel 企业的 MCS-48 系列。

其特色是,片内集成有8 位的 CPU, 1KB 或 2KB 的 ROM , 64B 或128B 的 RAM ,只有并行接口,无串行接口,有 1 个 8 位的准时器 /计数器,中断源有 2 个。

片外寻址范围为4KB ,芯片引脚为40 个。

(3〕第三阶段〔 1979— 1982 年〕: 8 位单片机成熟的阶段。

其储存容量和寻址范围增大,并且中断源、并行 I/O 口和准时器 /计数器个数都有了不一样程度的增添,并且集成有全双工串行通信接口。

51单片机课后习题答案

51单片机课后习题答案

51单片机课后习题答案51单片机是一种非常常见的单片机型号,广泛应用于各种电子设备中。

学习51单片机的过程中,课后习题是不可或缺的一部分,通过解答习题可以巩固所学知识,提高编程能力。

本文将为大家提供一些常见的51单片机课后习题的答案,希望对大家的学习有所帮助。

1. 请编写一个程序,实现LED灯的闪烁功能。

答案:以下是一个简单的实现LED灯闪烁的程序:```c#include <reg51.h>sbit LED = P1^0; // 将P1.0引脚定义为LED灯void delay(unsigned int t) // 延时函数{unsigned int i, j;for(i = t; i > 0; i--)for(j = 110; j > 0; j--);}void main(){while(1){LED = 0; // 点亮LED灯delay(1000); // 延时1秒LED = 1; // 熄灭LED灯delay(1000); // 延时1秒}}```2. 请编写一个程序,实现通过按键控制LED灯的亮灭。

答案:以下是一个简单的实现通过按键控制LED灯亮灭的程序:```c#include <reg51.h>sbit LED = P1^0; // 将P1.0引脚定义为LED灯sbit Button = P2^0; // 将P2.0引脚定义为按键void delay(unsigned int t) // 延时函数{unsigned int i, j;for(i = t; i > 0; i--)for(j = 110; j > 0; j--);}void main(){while(1){if(Button == 0) // 检测按键是否按下{LED = ~LED; // 反转LED灯状态delay(200); // 延时200毫秒,避免按键抖动}}}```3. 请编写一个程序,实现通过数码管显示数字0-9的功能。

单片机课件习题答案(部分).doc

单片机课件习题答案(部分).doc

习题第三章4,立即寻址方式直接寻址方式位寻址方式寄存器间接寻址方式寄存器间接寻址方式寄存器寻址方式寄存器间接寻址方式立即寻址方式变址寻址方式10, (1)34H(2)A5H(3)A5H (4) 34H11, (A)=30H, (R0)=70H(A)=A0H, (30H)=70H(A) =A0H, (30H)=70H(A)=07H(A)=A0H, (R0)=30H(A)=10H, (30H)=A0H(A)=A0H(A)=10H(A)=D0H12, (A)=60H, (R0)=40H, (32H)=61H, (40H)=60H 13, (A) =74H 14,MOV SP, #30H ;(SP)=30H MOV 30H, #55H MOV 40H,#66H PUSH 30H ;(SP)=31H, (31H)=55H PUSH 40H ;(SP)=32H, (32H)=66H PO P 30H ;32H 中数据传送至30H 中,(SP)=31PO P 40H;31H 中数据传送至40H 中,(SP)=30 17,MOV DPTR,#4020H MO VX A, @DPTR 18,MOV DPTR,#5000H MO VX A, @DPTR MO V DPTR,#6030H MO VX @DPTR, A 21,ANL Pl, #07H22, RL PlRL Pl23, CJNE A, #10, NEXT24, CLR CMOV RO, 40HMOV Rl, 41H CJNE RO, R1,LP1LP1 : JNCLP2LP3 : MOV42H, @R0LP2 : MOV42H, @R126, MOV RO,#30HMOV Rl,#16CLR ALoop:MOV ©RO, AINC RODJNZ R1,Loop27, MOV A, #mMO V DPTR, #2040HMOVCA, @A+DPTR第四章5, CLR AMO V A, 21HAD D A, 31HMO V 41H, AMO V A, 20HAD DC A, 30HMO V 40H, A6, ORG OOOOHLJMP MAINORG 0030HMAI N: MOV A, 61H CLP AADD A, #O1H MOV 71H, A MOV A, 60H CLP A ADDC A, #OOH MOV 70H, A SJMP $END7, ORG OOOOHLJMP MAINORG 0030HMAI N: MOV Rl,#30 MOV DPTR,#50H MOV R2,#20LOO P: MOV A, @R1MOVX @DPTR, A INC R1INC DPTRDJNZR2, LOOP SJMP$ END8, ORG OOOOHAJMP MAIN ORG 0030H MAIN : MOV SP ,#6FH QE : MOV R3 ,#50H QE1: MOV A,R3 MOVRO, A MOV R7, #OAHCLR OOH MOV A, @RO L2: INC ROMOVR2, ACLR AMOV 22H, @RO CJNE A, 22H, L3 SETB C L3: MOV A, R2JC LI SETB OOHXCH A, @RO DEC RO XCH A, @RO INC RO LI : MOV A, @RODJNZ R7, L2 JB OOH,QE1 SJMP $ END12, MOV A, 30H CJNE A, #96, NEXT1 LOAD 1: JNC NEXTMOV 31H, #1 SJMP DONENEXT2: CJNE A, #105,NEXT3 NEXT3: JNC NEXT4MOV 31H, #2 SJM P DONE NEXT4: MOV 31H, #3DONE: SJMP $END。

单片机课后习题含答案

单片机课后习题含答案

第一章单片机的概述1、除了单片机这一名称外,单片机还可称为(微控制器)和(嵌入式控制器)。

2、单片机与普通微型计算机的不同之处在于其将(CPU)、(存储器)和(I/O口)三部分,通过内部(总线)连接在一起,集成于一块芯片上。

3、在家用电器中使用单片机应属于微型计算机的(B)。

A、辅助设计应用B、测量、控制应用C、数值计算应用D、数据处理应用4、微处理器、微计算机、微处理机、CPU、单片机、嵌入式处理器它们之间有何区别?答:微处理器、微处理机和CPU它们都是中央处理器的不同称谓,微处理器芯片本身不是计算机。

而微计算机、单片机它们都是一个完整的计算机系统,单片机是集成在一个芯片上的用于测控目的的单片微计算机。

嵌入式处理器一般意义上讲,是指嵌入系统的单片机、DSP、嵌入式微处理器。

目前多把嵌入式处理器多指嵌入式微处理器,例如ARM7、ARM9等。

嵌入式微处理器相当于通用计算机中的CPU。

与单片机相比,单片机本身(或稍加扩展)就是一个小的计算机系统,可独立运行,具有完整的功能。

而嵌入式微处理器仅仅相当于单片机中的中央处理器。

为了满足嵌入式应用的特殊要求,嵌入式微处理器虽然在功能上和标准微处理器基本是一样的,但在工作温度、抗电磁干扰、可靠性等方面一般都做了各种增强。

5、MCS-51系列单片机的基本型芯片分别为哪几种?它们的差别是什么?答:MCS-51系列单片机的基本型芯片分别为:8031、8051和8751。

它们的差别是在片内程序存储器上。

8031无片内程序存储器、8051片内有4K字节的程序存储器ROM,而8751片内有集成有4K字节的程序存储器EPROM。

6、为什么不应当把8051单片机称为MCS-51系列单片机?答:因为MCS-51系列单片机中的“MCS”是Intel公司生产的单片机的系列符号,而51系列单片机是指世界各个厂家生产的所有与8051的内核结构、指令系统兼容的单片机。

7、AT89S51单片机相当于MCS-51系列单片机中哪一种型号的产品?“s”的含义是什么?答:相当于MCS-51系列中的87C51,只不过是AT89S51芯片内的4K字节Flash 存储器取代了87C51片内的4K字节的EPROM。

单片机课后习题解答

单片机课后习题解答

下载可编辑练习练习练习第二章单片机结构及原理1、MCS-51单片机内部包含哪些主要功能部件?它们的作用是什么?答:(1)一个8bit CPU是微处理器的核心,是运算和逻辑计算的中心。

(2)片内震荡器及时钟电路:提供标准时钟信号,所有动作都依据此进行。

(3)4K ROM程序存贮器:存贮程序及常用表格。

(4)128B RAM 数据存贮器:存贮一些中间变量和常数等。

(5)两个16bit定时器/计数器:完全硬件定时器(6)32根可编程I/O口线:标准8位双向(4个)I/O接口,每一条I/O线都能独立地作输入或输出。

(7)一个可编程全双工串行口。

(8)五个中断源。

2、什么是指令?什么是程序?答:指令是规定计算机执行某种操作的命令。

程序是根据任务要求有序编排指令的集合。

3、如何认识89S51/52存储器空间在物理结构上可以划分为4个空间,而在逻辑上又可以划分为3个空间?答:89S51/52存储器空间在物理结构上设有4个存储器空间:片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器。

在逻辑上有3个存储器地址空间:片内、片外统一的64KB程序存储器地址空间,片内256B数据存储器地址空间,片外64KB的数据存储器地址空间。

4、开机复位后,CPU使用的是哪组工作寄存器?他们的地址是多少?CPU如何确定和改变当前工作寄存器组?答:开机复位后,CPU使用的是第0组工作寄存器,地址为00H~07H,CPU通过改变状态字寄存器PSW中的RS0和RS1来确定工作寄存器组。

5、什么是堆栈?堆栈有何作用?在程序设计时,有时为什么要对堆栈指针SP重新赋值?如果CPU 在操作中要使用两组工作寄存器,SP应该多大?答:堆栈是一个特殊的存储区,主要功能是暂时存放数据和地址,通常用来保护断点和现场。

堆栈指针SP复位后指向07H单元,00H~1FH为工作寄存器区,20H~2FH为位寻址区,这些单元有其他功能,因此在程序设计时,需要对SP重新赋值。

单片机实用教程部分课后习题_朱一纶

单片机实用教程部分课后习题_朱一纶

单片机实用教程部分课后习题_朱一纶1、从22H单元开始存放一数据块,其长度存放在20H单元,编写一个数据块求和程序,要求将和存入21H单元,设和不超过255。

(5分) (1)2、编写一查表子程序。

设40单元中的内容为00~09之间的整数,求其平方值(BCD码),并将其存入41H单元中。

(5分) (2)3、有50个无符号8位二进制数,存放在内部RAM以BUFFR为首地址的连续单元中,试编写将其最小数存放到内部RAM的MIN单元的程序并画出相应的流程。

(10分) (2)4、用中断方法设计单片机秒、分脉冲发生器。

从P1.0每秒产生一个机器周期的正脉冲,从P1.1每分钟产生一个机器周期的正脉冲。

(10分) (3)5、将8255A的PA口设为方式0——基本输出方式,8255A的PB口设为方式1——选通输入方式,并在数据输入后会向CPU发出中断请求,不作控制用的C口端口数位全部输出,设PA口地址为4000H。

编写初始化程序。

(10分) (4)6、设字符串存放在以21H开始的内部RAM单元中,以“$”作结束标志,试计算该字符串的长度,并存入20H单元。

(5分) (4)7、编写一查表子程序。

设40单元中的内容为00~09之间的整数,求其立方值(BCD码),并将其存入41H单元中。

(5分) (5)8、设有50个无符号8位二进制数,存放在内部RAM以BUFFR 为首地址的连续单元中,试编写将其最小数存放到内部RAM的MIN 单元的程序并画出相应的流程。

(10分) (5)9、利用定时器T1产生50HZ的方波,由P1.1输出(f=6MHZ)。

(10分) (6)10、8051内部RAM的30H~39H中存放10个数,试编程采用串行口工作方式0把它逐个发送出去。

(10分) (6)11、7-4-4 (7)1、从22H单元开始存放一数据块,其长度存放在20H单元,编写一个数据块求和程序,要求将和存入21H单元,设和不超过255。

单片机课后习题参考答案(全).

单片机课后习题参考答案(全).

单片机课后习题参考答案(全).单片机课后习题参考答案1. 什么是单片机?单片机是一种集成电路芯片,其中包含了处理器、存储器以及各种输入输出接口。

它能够完成各种控制任务,并且在各种嵌入式系统中广泛应用。

2. 单片机的特点有哪些?- 小巧、体积小:单片机可以集成多个功能在一个芯片内部,所以体积相对较小。

- 低功耗:单片机工作时功耗较低,适合用于一些需要长时间运行的电子产品。

- 低成本:相对于使用多个离散电子元件实现同样功能的电路,单片机的成本较低。

- 高可靠性:单片机内部通过硬件逻辑实现各种功能,不易受外界干扰,提高了系统的可靠性。

- 程序可编程:单片机可以通过编程改变其功能,具有较强的灵活性。

3. 单片机的工作原理是什么?单片机内部通过运算器、控制器、存储器等硬件组成,运算器负责执行各种算术、逻辑操作,控制器负责协调和控制各种操作,存储器用于存储程序和数据。

当单片机上电后,控制器开始执行存储器中的程序,按照指令的执行顺序执行各个操作。

单片机的输入输出接口与外部设备进行数据交换,实现与外部环境的交互。

4. 单片机的应用领域有哪些?单片机被广泛应用于各种嵌入式系统中,包括电子产品、电子仪器、通讯设备、汽车电子、医疗设备等。

它能够实现各种控制任务,如温度控制、风扇控制、光控制、家电控制等。

5. 单片机的编程语言有哪些?常见的单片机编程语言包括汇编语言、C语言和基于C语言的高级语言。

汇编语言是一种底层的编程语言,直接面向单片机的硬件操作;C语言是一种高级语言,可以方便地进行开发和调试;基于C语言的高级语言如Basic、Pascal等是对C 语言进行了扩展和封装,更加简化了编程过程。

6. 单片机系统的开发流程是什么?单片机系统的开发流程一般包括以下几个步骤:- 硬件设计:确定系统所需的输入输出接口及硬件电路,并进行电路设计和原理图绘制。

- 软件设计:编写程序代码,实现系统的各种功能。

- 系统调试:将软件下载到单片机中,通过调试工具进行调试和测试,确保系统能够正常运行。

(完整版)单片机每章习题及答案

(完整版)单片机每章习题及答案

第三节增选习题及解答一、填空题1. 堆栈寄存器的符号是(),复位后它的内容为()。

2. 累加器A的内容有偶数个1时,特殊功能寄存器()的()位内容为()。

3. 内RAM的03H字节单元的地址符号另记为()。

4. 堆栈操作遵循的原则是()。

5. 8051单片机有4个I/O口,它们分别是(),复位后对应它们的寄存器的内容为()。

6. 为了正确地读取8051 的P1口引脚的状态值,应该先向它()。

7. 8051的()引脚应该至少保持()个机器周期的()电平,才能使8051复位。

8. 8051的封装形式为()。

9. 利用8051组成的工作系统,程序放在内部ROM,它的引脚应该接()电平。

EA10. 8051单片机的ALE引脚在CPU对外存非操作期间,它输出频率为晶体振荡器频率()的脉冲信号。

11. 8051内部程序存储器的容量为()字节,8031的内部程序存储器的容量为()字节。

12. 8031最大可以扩展()程序存储器,最大扩展的数据存储器的容量是()。

13. 位寻址区在内RAM低128字节单元的()字节中,高128字节单元中有()个特殊功能寄存器的位可以进行位操作。

14. 当前工作寄存器的选择由特殊功能寄存器()的()位的内容决定。

15. 用于位处理的布尔处理器是借用的特殊功能寄存器()的()位完成的。

16. 一个机器周期包括()个振荡周期,具体分为()个状态周期。

17. 按执行时间,8051的指令分为()周期、()周期和()周期指令共三种。

18. 单片机由CPU、存储器和()三部分组成。

19. CPU由()和()两部分组成。

20. 若不使用MCS-51片内程序存储器,引脚必须()。

EA21. 当MCS-51引脚ALE信号有效时,表示从P0口稳定地送出了()地址。

22. 当MCS-51的P0口作为输出端口时,每位能驱动()个TTL 负载。

23. MCS-51有()个并行I/O口,由于是准双向口,所以在输入时必须先()。

单片机课后习题答案

单片机课后习题答案

单片机课后习题答案
首先,需要明确的是,本文为《单片机课后习题答案》的文章,并且根据要求,将会采用适当的格式来写。

以下是根据课后习题提供的答案:
一、选择题答案
1. C
2. A
3. B
4. D
5. A
二、填空题答案
1. 输入/输出
2. 中断
3. 8位
4. 高电平
5. A/D转换
6. 2
7. 4
三、判断题答案
1. 正确
2. 错误
3. 错误
4. 正确
5. 错误
四、简答题答案
1. 单片机是一种集成电路,它包含了中央处理器、存储器和输入输出接口。

它常用于控制和处理各种电子设备。

2. 中断是单片机处理外部事件的一种机制。

当出现中断信号时,单片机会暂停当前的任务,转而处理中断程序,处理完毕后再返回原来的任务。

3. 端口是单片机与外部设备进行数据传输的接口。

输入端口用于接收外部设备的信号,输出端口用于向外部设备发送信号。

4. 定时器是用来产生精确时间延迟的设备。

在单片机中,定时器可以用来生成特定的时间间隔,用于控制外围设备或者进行定时中断。

5. 中断优先级是指当多个中断同时发生时,系统根据设定的优先级决定先处理哪个中断。

通常,中断优先级由软件或者硬件设置。

免责声明:以上答案仅供参考,仅代表个人观点,不作为标准答案。

在实际应用中,请根据具体情况进行判断和操作。

综上所述,本文回答了《单片机课后习题》中的选择题、填空题、
判断题和简答题,并介绍了单片机的基本概念和相关原理。

希望能对
读者的学习有所帮助。

单片机课后习题答案详细版.doc

单片机课后习题答案详细版.doc

单片机课后习题答案1.89C51单片机内包含哪些主要逻辑功能部件?答:80C51系列单片机在片内集成了以下主要逻辑功能部件:(l)CPU(中央处理器):8位(2)片内RAM:128B(3)特殊功能存放器:21个(4)程序存储器:4KB (5)并行I/O口:8位,4个(6)串行接口:全双工,1个(7)定时器/计数器:16位,2个(8)片内时钟电路:1个2.89C51的EA端有何用途?答:/EA端接高电平时,CPU只访问片内flash Rom并执行内部程序,存储器。

/EA端接低电平时,CPU只访问外部ROM,并执行片外程序存储器中的指令。

/EA端保持高电平时,CPU执行内部存储器中的指令。

3.89C51的存储器分哪几个空间?如何区别不同空间的寻址?答:ROM〔片内ROM和片外ROM统一编址〕〔使用MOVC〕〔数据传送指令〕〔16bits地址〕〔64KB〕片外RAM〔MOVX〕〔16bits地址〕〔64KB〕片内RAM 〔MOV〕〔8bits地址〕〔256B〕4.简述89C51片内RAM的空间分配。

答:片内RAM有256B,低128B是真正的RAM区,高128B是SFR〔特殊功能存放器〕区。

5.简述布尔处理存储器的空间分配,片内RAM中包含哪些可位寻址单元。

答:片内RAM区从00H~FFH〔256B〕其中20H~2FH〔字节地址〕是位寻址区对应的位地址是00H~7FH6. 如何简捷地判断89C51正在工作?答:用示波器观察8051的XTAL2端是否有脉冲信号输出〔判断震荡电路工作是否正常?〕ALE〔地址锁存允许〕〔Address Latch Enable〕输出是fosc的6分频用示波器观察ALE是否有脉冲输出〔判断8051芯片的好坏?〕观察PSEN〔判断8051能够到EPROM 或ROM中读取指令码?〕因为/PSEN接外部EPROM〔ROM〕的/OE端子OE=Output Enable〔输出允许〕7. 89C51如何确定和改变当前工作存放器组?答:PSW〔程序状态字〕〔Program Status Word〕中的RS1和RS0 可以给出4中组合,用来从4组工作存放器组中进展选择PSW属于SFR〔Special Function Register〕〔特殊功能存放器〕9.读端口锁存器和“读引脚〞有何不同?各使用哪种指令?答:读锁存器〔ANLP0,A〕就是相当于从存储器中拿数据,而读引脚是从外部拿数据〔如MOV A,P1这条指令就是读引脚的,意思就是把端口p1输入数据送给A〕传送类MOV,判位转移JB、JNB、这些都属于读引脚,平时实验时经常用这些指令于外部通信,判断外部键盘等;字节交换XCH、XCHD算术及逻辑运算ORL、CPL、ANL、ADD、ADDC、SUBB、INC、DEC控制转移CJNE、DJNZ都属于读锁存器。

单片机习题及参考答案

单片机习题及参考答案

单片机习题及参考答案(总7页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--第一章课后习题参考答案(一)填空题1. 除了“单片机”之外,单片机还可以称之为单片微控制器和单片微型计算机。

2. 专用单片机由于已经把能集成的电路都集成到芯片内部了,所以专用单片机可以使系统结构最简化,软硬件资源利用最优化,从而极大地提高了可靠性和降低了成本。

3. 在单片机领域内,ICE的含义是在线仿真器(In Circuit Emulator)。

4. 单片机主要使用汇编语言,而编写汇编语言程序要求设计人员必须精通和指令系统,单片机硬件结构。

5. CHMOS工艺是 CMOS 工艺和 HMOS 工艺的结合,具有低功耗的特点。

6. 与8051比较,80C51的最大特点是所用CHMOS工艺。

7. 微控制技术是对传统控制技术的一次革命,这种控制技术必须使用单片机才能实现。

(二)选择题1.下列简写名称中不是单片机或单片机系统的是(A)MCU (B)SCM (C)ICE (D)CPU2.在家用电器中使用单片机应属于计算机的是(A)数据处理应用(B)控制应用(C)数值计算应用(D)辅助工程应用3.80C51与80C71的区别在于(A)内部程序存储器的类型不同(B)内部数据存储器的类型不同(C)内部程序存储器的容量不同(D)内部数据存储器的容量不同4.8051与80C51的区别在于(A)内部ROM的类型不同(B)半导体工艺的形式不同(C)内部寄存单元的数目不同(D)80C51使用EEPROM,而8051使用EPROM5.在下列单片机芯片中使用掩膜ROM作为内总程序存储器的是(A)8031 (B)80C51 (C)8032 (D)87C516.80C51芯片采用的半导体工艺是(A)CMOS (B)HMOS (C)CHMOS(D)NMOS7.单片机芯片8031属于(A)MCS-48系列(B)MCS-51系列(C)MCS-96系列(D)MCS-31系列8.使用单片机实现在线控制的好处不包括(A)精确度高(B)速度快(C)成本低(D)能与数据处理结合9.以下所列各项中不是单片机发展方向的是(A)适当专用化(B)不断提高其性能(C)继续强化功能(D)努力增加位数第二章课后习题参考答案(一)判断题1.用户构建单片机应用系统,只能使用芯片提供的信号引脚。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、从22H单元开始存放一数据块,其长度存放在20H单元,编写一个数据块求和程序,要求将和存入21H单元,设和不超过255。

(5分) (1)2、编写一查表子程序。

设40单元中的内容为00~09之间的整数,求其平方值(BCD码),并将其存入41H单元中。

(5分) (2)3、有50个无符号8位二进制数,存放在内部RAM以BUFFR为首地址的连续单元中,试编写将其最小数存放到内部RAM的MIN单元的程序并画出相应的流程。

(10分) (2)4、用中断方法设计单片机秒、分脉冲发生器。

从P1.0每秒产生一个机器周期的正脉冲,从P1.1每分钟产生一个机器周期的正脉冲。

(10分) (3)5、将8255A的PA口设为方式0——基本输出方式,8255A的PB口设为方式1——选通输入方式,并在数据输入后会向CPU发出中断请求,不作控制用的C口端口数位全部输出,设PA口地址为4000H。

编写初始化程序。

(10分) (4)6、设字符串存放在以21H开始的内部RAM单元中,以“$”作结束标志,试计算该字符串的长度,并存入20H单元。

(5分) (4)7、编写一查表子程序。

设40单元中的内容为00~09之间的整数,求其立方值(BCD码),并将其存入41H单元中。

(5分) (5)8、设有50个无符号8位二进制数,存放在内部RAM以BUFFR为首地址的连续单元中,试编写将其最小数存放到内部RAM的MIN单元的程序并画出相应的流程。

(10分) (5)9、利用定时器T1产生50HZ的方波,由P1.1输出(f=6MHZ)。

(10分) (6)10、8051内部RAM的30H~39H中存放10个数,试编程采用串行口工作方式0把它逐个发送出去。

(10分) (6)11、7-4-4 (7)1、从22H单元开始存放一数据块,其长度存放在20H单元,编写一个数据块求和程序,要求将和存入21H单元,设和不超过255。

(5分)ORG 0000HLJMP STARTORG 2000HSTART: CLR AMOV R2, 20HMOV R1, #22HLOOP: ADD A, @R1INC R1DJNZ R2, LOOPMOV 21H, ASJMP $END2、编写一查表子程序。

设40单元中的内容为00~09之间的整数,求其平方值(BCD码),并将其存入41H单元中。

(5分)DAA DA TA 40HRES DA TA 41HORG 0000HLJMP STARTORG 2000HSTART: MOV A,DAAACALL SQRMOV RES,ASJMP $SQR: ADD A,#01HMOVC A,@A+PCRETSQRTAB: DB 00H,01H,04H,09H,16H,25H,36H,49H,64H,81HEND3、有50个无符号8位二进制数,存放在内部RAM以BUFFR为首地址的连续单元中,试编写将其最小数存放到内部RAM的MIN单元的程序并画出相应的流程。

(10分)BUFFR DATA 40HMIN DATA 50HORG 0000HLJMP STARTORG 2000HSTART: MOV R0,#BUFFRMOV R1,#49MOV A,@R0MOV MIN,ALOOP: INC R0MOV A,@R0CLR CSUBB A,MINJC LOOP1DJNZ R1, LOOPSJMP PRO_ENDLOOP1: MOV A,@R0MOV MIN,ADJNZ R1, LOOPPRO_END:SJMP $END4、用中断方法设计单片机秒、分脉冲发生器。

从P1.0每秒产生一个机器周期的正脉冲,从P1.1每分钟产生一个机器周期的正脉冲。

(10分)答:假设f osc=6MHZ,用T0在模式1下,定时100ms时,定时初值x=216-1210006100⨯⨯=15536=3CB0H ORG 0000HLJMP MAINORG 000BHLJMP INT_T0ORG 2000HMAIN: MOV SP,#60HMOV R1,#10MOV R2,#60MOV TMOD,#01HMOV TL0,#0B0HMOV TH0,#3CHSETB TR0SETB ET0SETB EACLR P1.0CLR P1.1SJMP $INT_T0: MOV TL0,#0B0HMOV TH0,#3CHDJNZ R1,LOOP1MOV R1,#10SETB P1.0NOPCLR P1.0DJNZ R2,LOOP1MOV R2,#60SETB P1.1NOPCLR P1.1LOOP1: RETIEND5、将8255A的PA口设为方式0——基本输出方式,8255A的PB口设为方式1——选通输入方式,并在数据输入后会向CPU发出中断请求,不作控制用的C口端口数位全部输出,设PA口地址为4000H。

编写初始化程序。

(10分)答:控制字为10000110B=86H为保证断口B开放中断,对端口PC.2置1,控制字为00000101B=05HMOV DPTR,#4003HMOV A,#86HMOVX @DPTR,AMOV A,#05HMOVX @DPTR,A6、设字符串存放在以21H开始的内部RAM单元中,以“$”作结束标志,试计算该字符串的长度,并存入20H单元。

(5分)ORG 0000HLJMP STARTORG 2000HSTART: CLR AMOV R0,#21HLOOP: CJNE @R0,#24H,NEXTSJMP COMPNEXT: INC AINC R0SJMP LOOPCOMP: MOV 20H,ASJMP $END7、编写一查表子程序。

设40单元中的内容为00~09之间的整数,求其立方值(BCD码),并将其存入41H单元中。

(5分)DAA DATA 40HORG 0000HLJMP STARTORG 2000HSTART: MOV A,DAAADD A,DAAMOV R2,AADD A,#10MOVC A,@A+PCMOV 41H,AMOV A,R2ADD A,#04MOVC A,@A+PCMOV 42H,ASJMP $SQRTAB:DB 00H,00H,00H,01HDB 00H,08H,00H,27HDB 00H,64H,01H,25HDB 02H,16H,03H,43HDB 05H,12H,07H,29HEND8、设有50个无符号8位二进制数,存放在内部RAM以BUFFR为首地址的连续单元中,试编写将其最小数存放到内部RAM的MIN单元的程序并画出相应的流程。

(10分)BUFFR DATA 40HMIN DATA 50HORG 0000HLJMP STARTORG 2000HSTART: MOV R0,#BUFFRMOV R1,#49MOV A,@R0MOV MIN,ALOOP: INC R0CLR CSUBB A,MINJC LOOP1DJNZ R1, LOOPSJMP PRO_ENDLOOP1: MOV A,@R0MOV MIN,ADJNZ R1, LOOPPRO_END:SJMP $END9、利用定时器T1产生50HZ的方波,由P1.1输出(f=6MHZ)。

(10分)答:假设T1工作在方式1下,方波周期T=20ms,用T1定时10ms,计算初值X为X=216-121000106⨯⨯=65536-5000=60536=EC78HORG 0000HLJMP STARTORG 2000HSTART: MOV TMOD,#10HSETB TR1LOOP: MOV TH1,#0ECHMOV TL1,#78HJNB TF1,$CLR TF1CPL P1.1SJMP LOOPEND10、8051内部RAM的30H~39H中存放10个数,试编程采用串行口工作方式0把它逐个发送出去。

(10分)ORG 0000HLJMP STARTORG 2000HSTART: MOV SCON,#00HMOV R1,#10 LOOP: MOV A,@R0INC R0MOV SBUF,A WAIT: JNB TI,WAITCLR TIDJNZ R1,LOOPSJMP $END11、7-4-4ORG 0000HLJMP MAINORG 0003HLJMP INTR0ORG 0050HMAIN:MOV 30H,#01HMOV 31H,#0FHMOV R0,#02HMOV A,#88HMOV DPTR,#0FEFCHMOVX @DPTR,AINC DPTRMOV A,#93HMOVX @DPTR,AMOV DPTR,#0FEF8HMOV A,#0C2HMOVX @DPTR,AMOV IE,#81HSETB IT0SJMP $INTR0:MOV A,#88HMOV DPTR,#0FEFCH MOVX @DPTR,A INC DPTRMOV A,#93HMOVX @DPTR,A MOV DPTR,#0FEF8H MOV A,#0C2H MOVX @DPTR,A MOV DPTR,#0FEFBH MOVX A,@ DPTR ANL A,#01HJZ LOOPMOV A,30HRL AMOV 30H,AMOV DPTR,#0FEFAH MOVX @DPTR,A AJMP RETURN LOOP:DJNZ R0,RETURN MOV R0,#02HMOV A,31HCPL AMOV 31H,AMOV DPTR,#0FEFAHMOVX @DPTR,ARETURN:RETIEND。

相关文档
最新文档