单片机实用技术(钱游)项目三课后习题及答案
- 格式:doc
- 大小:38.00 KB
- 文档页数:4
1-1、AT89C51单片机内部包含哪些主要逻辑功能部件?答:微处理器(CPU)、数据存储器(RAM)、程序存储器(ROM/EPROM)、特殊功能寄存器(SFR)、并行I/O口、串行通信口、定时器/计数器及中断系统。
1-2、程序状态字寄存器PSW的作用是什么?其中状态标志有哪几位?它们的含义是什么?答:PSW是保存数据操作的结果标志,其中状态标志有CY(PSW.7):进位标志,AC(PSW.6):辅助进位标志,又称半进位标志,F0、F1(PSW.5、PSW.1):用户标志;OV(PSW.2):溢出标志;P(PSW.0):奇偶标志。
1-3、开机复位后,CPU使用的是哪组工作寄存器? 它们的地址如何? CPU如何指定和改变当前工作寄存器组?答:开机复位后使用的是0组工作寄存器,它们的地址是00H~07H,对程序状态字PSW中的RS1和RS0两位进行编程设置,可指定和改变当前工作寄存器组。
RS1、RS0=00H时,当前工作寄存器被指定为0组;RS1、RS0=01H时,当前工作寄存器被指定为1组;RS1、RS0=10H时,当前工作寄存器被指定为2组;RS1、RS0=11H时,当前工作寄存器被指定为3组。
1-4、AT89C51的时钟周期、机器周期、指令周期是如何定义的?当振荡频率为12MHz时,一个机器周期为多少微秒?答:①时钟周期也称为振荡周期,定义为时钟脉冲的倒数,是计算机中最基本的、最小的时间单位。
②CPU取出一条指令至该指令执行完所需的时间称为指令周期,因不同的指令执行所需的时间可能不同,故不同的指令可能有不同的指令周期。
③机器周期是用来衡量指令或程序执行速度的最小单位。
它的确定原则是以最小指令周期为基准的,即一个最小指令周期为一个机器周期。
④当振荡频率为12MHz时,一个机器周期1微秒1-5、AT89C51的4个I/O口作用是什么? 8051的片外三总线是如何分配的?答:AT89C51单片机有4个8位并行I/O端口,分别记作P0、P1、P2、P3口。
《单片机》课后习题及答案单片机是计算机科学与技术中的重要领域之一,学习单片机的过程中,习题是不可或缺的一部分。
通过解答习题,不仅可以加深对单片机知识的理解,还可以培养解决问题的能力。
本文将为大家介绍一些经典的单片机习题,并提供详细的答案解析。
一、基础知识题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.MCS-51单片机有几个中断源?各中断标志是如何产生的?又是如何复位的?CPU 响应各中断时,其中断入口地址是多少?答:(1)5个。
(2) IE0:外部中断0请求标志。
IE0=1表明外部中断0向CPU 申请中断。
IE1:外部中断1请求标志。
IE1=1表明外部中断1向CPU 申请中断。
TF0:定时器T0溢出标志。
当定时器T0计满溢出时,由硬件使TF0置“1”,并且申请中断。
TF1:定时器T1溢出标志。
当定时器T1计满溢出时,由硬件使TF1置“1”,并且申请中断。
TI :发送中断标志。
RI :接收中断标志。
(3)外部中断0,外部中断1请求标志。
又分为两种方式,当电平触发方式时由软件方法复位;为边沿触发方式时,由内部硬件自动复位。
定时器T0、定时器T1溢出标志。
可由内部硬件自动复位。
TI,RI 标志由软件复位。
(4)外部中断有两个,分别是0INT 和1INT ,其入口地址分别是0003H 和0013H 。
内部中断有3个,分别是T0,T1和串行口,它们的入口地址分别为:000BH ,001BH 和0023H 。
2.如何计算计数初值?如何编程送入计数初值?答:设初值为X ,最大计数值为M 。
初值X 与机器周期T 机及定时时间T 的关系为 (M −X )T 机=TMOV TL0,#x1 HMOV TH0,#x2 H3.外部中断源有电平触发和边沿触发两种触发方式,这两种触发方式所产生的中断过程有何不同?怎样设定?答:IT1:外部中断触发方式选择位。
当IT1=0,外部中断1为电平触发方式。
在这种方式下,CPU 在每个机器周期的S5P2期间对1INT (P3.3)端子采样,若采到低电平,则认为有中断申请,随即使IE1=1;若采到高电平,则认为无中断申请或中断申请已撤除,随即清除IE1标志。
在电平触发方式中,CPU 响应中断后不能自动清除IE1标志,也不能由软件清除IE1标志,所以在中断返回前必须撤消1INT 端子上的低电平,否则CPU 将再次响应中断,从而造成出错。
单片机原理及应用第三章习题答案第一题:题目:什么是中断?中断是指在程序执行过程中,由于发生了某个特定事件,导致当前的程序需要暂时中断执行,转而去处理其他紧急或优先级更高的事件。
中断可以提高系统的实时性和响应速度。
第二题:题目:请简述中断的分类及其优缺点。
中断可以分为外部中断和内部中断。
外部中断:外部中断是通过外部设备触发的中断,例如按键输入、定时器溢出等。
外部中断的优点是能够及时响应外部事件,缺点是响应时间有一定延迟,并且可能会引起系统的不稳定性。
内部中断:内部中断是通过程序内部指令触发的中断,例如软件中断、硬件错误等。
内部中断的优点是响应时间几乎可以忽略,缺点是需要消耗较多的系统资源。
第三题:题目:简述中断的处理过程。
中断的处理过程一般包括以下几个步骤:1. 中断请求发生:外部设备或程序内部触发中断请求。
2. 中断响应:CPU接收到中断请求后,保存当前程序的执行状态,暂停当前程序的执行,并跳转到中断服务程序。
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. 请简述串口通信的原理。
答:串口通信是一种常用的数据传输方式,通过串行传输数据。
单片机课后题标准标准答案.doc2-1. 8051 单片机芯片内部包含哪些主要逻辑功能部辑运算等操作,128位的位地址定义为 00H~7FH。
件?( 2)片内 RAM高 128字节的存储器区,有21个特殊功能寄答:一个 8位微处理器( CPU);片内数据存储器 RAM;存器。
其中字节地址正好能被8整除的字节单元中的每一片内程序存储器 ROM;四个 8位并行 I/O 口 P0~P3;两个位都可以按位寻址、操作。
14 2-5.8051 的 P0~P3口有定时器 / 计数器;五个中断源的中断控制系统;一个何不同,用作通用I/O 口输入数据时应注意什么?UART(通用异步接收发送器)的串行I/O 口;片内振答:P0~P3口功能不完全相同。
荡器和时钟产生电路。
( 1)访问外扩展存储器时,P2口送出 16位地址的高8位2-2 、8051 存储器分哪几个地址空间?如何区别不同地址, P0口先送出 16位地址的低8位地址,再做数据的输空间寻址?入 / 输出通道。
答:⑴ 片内、外统一编址的 64KB程序存储器;⑵ 片( 2)在无片外扩展存储器的系统中,P0、 P2口不需要内256B数据存储器;⑶ 片外 64KB数据存储器。
做地址口时,和 P1、P3口一样,都可作为准双向通用 I/O硬件:引脚接高电平时CPU从片内0000H单元开始取指口使用。
P0的输出级无上拉电阻,在作为通用 I/O 口时需令,接低电平时 CPU直接访问片外 EPROM。
EA 外接上拉电阻,且P0口的每一位输出可驱动8个TTL负载,软件: MOV指令访问片内数据存储器,MOVX 指令访而 P0~P3口的输出级接有上拉负载电阻,每一位输出可驱问片外数据存储器,MOVC指令用于读取程序存储器中动4个TTL负载。
的常数。
在作通用I/O 输入数据时应注意:应先对相应的端口锁存2-3. 简述 8051片内 RAM的空间分配。
器写 1,防止误读。
答:低 128B位数据存储器区分为:工作寄存器区2-6. 8051单片机引脚有何功能?在使用8031时,引脚应(00H~1FH);位寻址区( 20H~2FH);一般数据存储区如何处理? EAEA(30H~7FH)答:引脚为外部程序存储器地址允许输入端,其电平的高128B数据存储器区离散地分布着21个特殊功能寄高低决定了系统复位后CPU是从片内程序存储器还是片存器外扩展存储器的 0000H字节单元开始取指令。
单片机课后习题参考答案(全).单片机课后习题参考答案1. 什么是单片机?单片机是一种集成电路芯片,其中包含了处理器、存储器以及各种输入输出接口。
它能够完成各种控制任务,并且在各种嵌入式系统中广泛应用。
2. 单片机的特点有哪些?- 小巧、体积小:单片机可以集成多个功能在一个芯片内部,所以体积相对较小。
- 低功耗:单片机工作时功耗较低,适合用于一些需要长时间运行的电子产品。
- 低成本:相对于使用多个离散电子元件实现同样功能的电路,单片机的成本较低。
- 高可靠性:单片机内部通过硬件逻辑实现各种功能,不易受外界干扰,提高了系统的可靠性。
- 程序可编程:单片机可以通过编程改变其功能,具有较强的灵活性。
3. 单片机的工作原理是什么?单片机内部通过运算器、控制器、存储器等硬件组成,运算器负责执行各种算术、逻辑操作,控制器负责协调和控制各种操作,存储器用于存储程序和数据。
当单片机上电后,控制器开始执行存储器中的程序,按照指令的执行顺序执行各个操作。
单片机的输入输出接口与外部设备进行数据交换,实现与外部环境的交互。
4. 单片机的应用领域有哪些?单片机被广泛应用于各种嵌入式系统中,包括电子产品、电子仪器、通讯设备、汽车电子、医疗设备等。
它能够实现各种控制任务,如温度控制、风扇控制、光控制、家电控制等。
5. 单片机的编程语言有哪些?常见的单片机编程语言包括汇编语言、C语言和基于C语言的高级语言。
汇编语言是一种底层的编程语言,直接面向单片机的硬件操作;C语言是一种高级语言,可以方便地进行开发和调试;基于C语言的高级语言如Basic、Pascal等是对C 语言进行了扩展和封装,更加简化了编程过程。
6. 单片机系统的开发流程是什么?单片机系统的开发流程一般包括以下几个步骤:- 硬件设计:确定系统所需的输入输出接口及硬件电路,并进行电路设计和原理图绘制。
- 软件设计:编写程序代码,实现系统的各种功能。
- 系统调试:将软件下载到单片机中,通过调试工具进行调试和测试,确保系统能够正常运行。
单片机原理与应用作业第三章1 设内部RAM中59H单元的内容为50H,写出当执行下列程序段后寄存器A,R0和内部RAM中50H,51H单元的内容为何值?MOV A,59H ;A=50HMOV R0,A ;R0=50HMOV A,#00H ;A=00HMOV @R0,A ;50H=00HMOV A,#25H ;A=25HMOV 51H,A ;51H=25HMOV 52H,#70H ;52H=70HA=25H R0=50H 50H=00H 51H=25H2请选用适合的指令对P0口内容作修改(例如使P0.0~P0.3不变,P0.4~P0.7为0)mov A,P0ANL A ,0fhmov P0,A3访问外部数据存储器和程序存储器可以用哪些指令来实现?举例说明。
答:访问外部数据存储器指令有:MOVX @DPTR,A MOV DPTR,#0100H MOV @DPTR,AMOVX A,@DPTR MOV DPTR,#0200H MOV A,@DPTRMOVX A,@Ri MOVX A,@R0MOVX @Ri,A MOVX @R1,A访问程序存储器指令有:MOVC A,@A+PCMOVC A,@A+DPTR4设堆栈指针SP中的内容为60H,内部RAM中30H和31H单元的内容分别为24H和10H,执行下列程序段后,61H,62H,30H,31H,DPTR及SP中的内容将有何变化?PUSH 30H ;61H=24HPUSH 31H ;62H=10H SP=62HPOP DPL ;DPL=10HPOP DPH ;DPH=24H SP=60HMOV 30H,#00H ;30H=00HMOV 31H,#0FFH ;31H=0FFH5设(A)=40H,(R1)=23H,(40H)=05H。
执行下列两条指令后,累加器A和R1以及内部RAM中40H单元的内容各为何值?XCH A,R1 ;A=23H R1=40HXCHD A,@R1 ;A=25H 40H=03H6两个四位BCD码数相加,被加数和加数分别存于50H,51H和52H,53H单元中(千位、百位在低地址中,十位、个位在高地址中),和存放在54H,55H和56H中(56H用来存放最高位的进位),试编写加法程序。
单片机课后习题答案单片机课后习题答案题目一:基本概念与功能1. 单片机的概念单片机(Microcontroller Unit,简称MCU)是一种集成度高、功能强大的微型计算机系统。
它由中央处理器(CPU)、存储器、输入输出端口(I/O)和定时计数器等组成,常用于控制和管理各种电子设备和系统。
2. 单片机的基本功能单片机具有以下基本功能:- 运算处理能力:通过中央处理器(CPU)进行运算和逻辑处理;- 存储器功能:包括程序存储器(ROM)和数据存储器(RAM);- 输入输出功能:通过输入输出端口(I/O)与外部设备进行数据交换;- 定时计数功能:用于实现计时、计数以及周期性任务的处理。
题目二:单片机的应用领域单片机广泛应用于各个领域,包括但不限于以下几个方面:1. 家电控制:例如空调、洗衣机、电视机等家电设备的控制电路中常使用单片机,实现功能如控温、定时、遥控等。
2. 工业自动化:单片机在工业控制系统中扮演重要角色,能够实现生产线控制、数据采集、监测和自动调节等功能。
3. 通信设备:单片机广泛应用于手机、调制解调器、路由器等通信设备中,用于控制信号的处理、数据传输等。
4. 交通运输:单片机被应用于交通信号灯控制、智能交通系统、汽车电子系统等,提高交通流量管理和安全性。
5. 医疗设备:单片机在医疗设备中起到重要作用,例如心电图仪、血糖仪、血压计等设备的数据处理和控制。
题目三:单片机的编程语言常用的单片机编程语言有汇编语言和高级语言。
以下是两种常见的单片机编程语言:1. 汇编语言汇编语言是接近机器语言的低级语言,直接面向硬件。
它使用符号指令代替二进制指令,可以更方便地编写与硬件相关的程序。
但是,汇编语言的编写与硬件有较强的耦合性,需要深入了解硬件的指令集。
2. C语言C语言是一种高级编程语言,具有结构化、模块化和可移植性等特点。
它能够更快速地开发程序,而且代码相对简洁易读。
C语言也可以与汇编语言结合使用,通过汇编语言编写底层驱动程序,再用C语言编写上层应用程序。
单片机课后习题答案
首先,需要明确的是,本文为《单片机课后习题答案》的文章,并且根据要求,将会采用适当的格式来写。
以下是根据课后习题提供的答案:
一、选择题答案
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. 中断优先级是指当多个中断同时发生时,系统根据设定的优先级决定先处理哪个中断。
通常,中断优先级由软件或者硬件设置。
免责声明:以上答案仅供参考,仅代表个人观点,不作为标准答案。
在实际应用中,请根据具体情况进行判断和操作。
综上所述,本文回答了《单片机课后习题》中的选择题、填空题、
判断题和简答题,并介绍了单片机的基本概念和相关原理。
希望能对
读者的学习有所帮助。
单片机原理及应用技术(第3版)+习题答案章1 绪论 1.第一台计算机的问世有何意义答第一台电子数字计算机ENIAC问世标志着计算机时代的到来与现代的计算机相比ENIAC有许多不足但它的问世开创了计算机科学技术的新纪元对人类的生产和生活方式产生了巨大的影响2.计算机由哪几部分组成答由运算器控制器存储器输入设备和输出设备组成运算器与控制器合称为CPU3.微型计算机由哪几部分构成答微型计算机由微处理器存储器和IO接口电路构成各部分通过地址总线AB 数据总线DB和控制总线CB相连4.微处理器与微型计算机有何区别答微处理器集成了运算器和控制器即CPU而微型计算机包含微处理器存储器和IO接口电路等5.什么叫单片机其主要特点有哪些答在一片集成电路芯片上集成微处理器存储器IO接口电路从而构成了单芯片微型计算机即单片机单片机主要特点有控制性能和可靠性高体积小价格低易于产品化具有良好的性能价格比6.微型计算机有哪些应用形式各适于什么场合答微型计算机有三种应用形式多板机系统机单板机和单片机多板机通常作为办公或家庭的事务处理及科学计算属于通用计算机单板机IO设备简单软件资源少使用不方便早期主要用于微型计算机原理的教学及简单的测控系统现在已很少使用单片机单片机体积小价格低可靠性高其非凡的嵌入式应用形态对于满足嵌入式应用需求具有独特的优势目前单片机应用技术已经成为电子应用系统设计的最为常用技术手段7.当前单片机的主要产品有哪些各有何特点答多年来的应用实践已经证明80C51的系统结构合理技术成熟因此许多单片机芯片生产厂商倾力于提高80C51单片机产品的综合功能从而形成了80C51的主流产品地位近年来推出的与80C51兼容的主要产品有ATMEL公司融入Flash存储器技术推出的AT89系列单片机Philips公司推出的80C5180C552系列高性能单片机华邦公司推出的W78C51W77C51系列高速低价单片机ADI公司推出的ADμC8xx系列高精度ADC单片机LG公司推出的GMS9097系列低压高速单片机im公司推出的DS89C420高速50MIPS单片机Cygnal公司推出的C8051F系列高速SOC单片机等 8.简述单片机的开发过程答系统需求分析硬件方案设计软件编程仿真调试实际运行9.单片机应用系统开发方法有哪些新方法答在系统编程ISP技术在应用编程IAP技术章 2 80C51的结构和原理1.80C51单片机在功能上工艺上程序存储器的配置上有哪些种类答功能上分为基本型和增强型工艺上分为HMOS工艺和CHMOS工艺在片内程序存储器的配置上有掩膜ROMEPROM和Flash无片内程序存储器形式2. 80C51单片机的存储器的组织采用何种结构存储器地址空间如何划分各地址空间的地址范围和容量如何在使用上有何特点答采用哈佛结构在物理上设计成程序存储器和数据存储器两个独立的空间80C51基本型单片机片内程序存储器为4KB地址范围是0000H-0FFFH用于存放程序或常数片内数据存储器为128字节RAM地址范围是00H-7FH用于存放运算的中间结果暂存数据和数据缓冲另外在80H-FFH还配有21个SFR3.80C51单片机的P0P3口在结构上有何不同在使用上有何特点答作为通用IO口时P0P1P2和P3都是准双向口P0可以作为地址数据总线此时是一个真正的双向口P2口可以作为地址线的高8位P3口是双功能口每条口线还具有不同的第二功能另外P0口的驱动能力为8个TTL负载而其它口仅可驱动4个TTL负载4.如果80C51单片机晶振频率分别为6 MHz110592 MHz12MHz时机器周期分别为多少答机器周期分别为2μs1085μs1μs5.80C51单片机复位后的状态如何复位方法有几种答复位后PC内容为0000HP0口~P3口内容为FFHSP内容为07HSBUF内容不定IPIE和PCON的有效位为0其余的特殊功能寄存器的状态均为00H复位方法一种是上电复位另一种是上电与按键均有效的复位6.80C51单片机的片内片外存储器如何选择答80C51的引脚为访问片内片外程序存储器的选择端访问片内片外数据存储器需要采用不同的指令加以区分7.80C51单片机的PSW寄存器各位标志的意义如何答CY进位借位标志有进位借位时 CY 1否则CY 0AC辅助进位借位标志高半字节与低半字节间的进位或借位F0用户标志位由用户自己定义RS1RS0当前工作寄存器组选择位OV溢出标志位有溢出时OV 1否则OV 0P奇偶标志位存于ACC中的运算结果有奇数个1时P 1否则P 08. 80C51单片机的当前工作寄存器组如何选择答当前工作寄存器组的选择由特殊功能寄存器中的程序状态字寄存器PSW的RS1RS0 来决定9.80C51单片机的控制总线信号有哪些各信号的作用如何答RSTVPD复位信号输入引脚备用电源输入引脚ALE地址锁存允许信号输出引脚编程脉冲输入引脚VPP内外存储器选择引脚片内EPROM或FlashROM编程电压输入引脚外部程序存储器选通信号输出引脚10.80C51单片机的程序存储器低端的几个特殊单元的用途如何答0000H单片机复位入口地址0003H外部中断0的中断服务程序入口地址000BH定时计数器0溢出中断服务程序入口地址0013H外部中断1的中断服务程序入口地址001BH定时计数器1溢出中断服务程序入口地址0023H串行口的中断服务程序入口地址章3 80C51的指令系统 1.80C51系列单片机的指令系统有何特点答执行时间短1个机器周期指令有64条2个机器周期指令有45条而4个机器周期指令仅有2条即乘法和除法指令指令编码字节少单字节的指令有49条双字节的指令有45条三字节的指令仅有17条位操作指令丰富这是80C51单片机面向控制特点的重要保证2.80C51单片机有哪几种寻址方式各寻址方式所对应的寄存器或存储器空间如何答80C51单片机的寻址方式有七种即寄存器寻址直接寻址寄存器间接寻址立即寻址基址寄存器加变址寄存器变址寻址相对寻址和位寻址这些寻址方式所对应的寄存器和存储空间如下表所示序号寻址方式寄存器或存储空间 1 寄存器寻址寄存器R0R7AABDPTR和C布尔累加器 2 直接寻址片内RAM低128字节SFR3 寄存器间接寻址片内RAMR0R1SP片外RAMR0R1DPTR 4 立即寻址ROM 5 变址寻址ROMA+DPTRA+PC 6 相对寻址ROMPC当前值的+127~-128字节7 位寻址可寻址位内部RAM20H2FH单元的位和部分SFR的位3.访问特殊功能寄存器SFR可以采用哪些寻址方式答直接寻址和位寻址方式4.访问内部RAM单元可以采用哪些寻址方式答直接寻址寄存器间接寻址和位寻址方式5.访问外部RAM单元可以采用哪些寻址方式答寄存器间接寻址6.访问外部程序存储器可以采用哪些寻址方式答立即寻址变址寻址和相对寻址方式7.为什么说布尔处理功能是80C51单片机的重要特点答单片机指令系统中的布尔指令集存储器中的位地址空间与CPU中的位操作构成了片内的布尔功能系统它可对位bit变量进行布尔处理如置位清零求补测试转移及逻辑与或等操作在实现位操作时借用了程序状态标志器PSW中的进位标志Cy作为位操作的累加器8.对于80C52单片机内部RAM还存在高128字节应采用何种方式访问答寄存器间接寻址方式9.试根据指令编码表写出下列指令的机器码1MOV A88H----------------74H 88H2MOV R350H----------------ABH50H3MOV P155H----------75H90H55H4ADD AR15SETB 12H10.完成某种操作可以采用几条指令构成的指令序列实现试写出完成以下每种操作的指令序列1将R0的内容传送到R12内部RAM单元60H的内容传送到寄存器R23外部RAM单元1000H的内容传送到内部RAM单元60H4外部RAM单元1000H的内容传送到寄存器R25外部RAM单元1000H的内容传送到外部RAM单元2000H答1MOV AR0MOV R1A2MOV R260H3MOV DPTR1000HMOVX ADPTRMOV 60HA4MOV DPTR1000HMOVX ADPTRMOV R2A5MOV DPTR1000HMOVX ADPTRMOV DPTR2000HMOVX DPTR A11.若R1 30HA 40H30H 60H40H 08H试分析执行下列程序段后上述各单元内容的变化MOV AR1MOV R140HMOV 40HAMOV R17FH答R1 7FHA 60H30H 08H40H 60H12.若A E8HR0 40HR1 20HR4 3AH40H 2CH20H 0FH试写出下列各指令独立执行后有关寄存器和存储单元的内容若该指令影响标志位试指出CYAC和OV的值 1MOV AR02ANL 40H0FH3ADD AR44SWAP A5DEC R16XCHD AR1答1A 2CH240H 0CH3A 22HCY 1AC 1OV 04A 8EH520H 0EHP 16A EFH20 08H13.若50H 40H试写出执行以下程序段后累加器A寄存器R0及内部RAM的40H41H42H单元中的内容各为多少MOV A50HMOV R0AMOV A00HMOV R0AMOV A3BHMOV 41HAMOV 42H41H答A 3BHR0 40H40H 00H41H 3BH42H 3BH14.试用位操作指令实现下列逻辑操作要求不得改变未涉及的位的内容1使ACC0置位2清除累加器高4位3清除ACC3ACC4ACC5ACC6答1SETB ACC02ANL A0FH3ANL A87H15.试编写程序将内部RAM的20H21H22H三个连续单元的内容依次存入2FH2EH和2DH单元答MOV 2FH20HMOV 2EH21HMOV 2DH22H16.试编写程序完成两个16位数的减法7F4DH-2B4EH结果存入内部RAM 的30H和31H单元30H单元存差的高8位31H单元存差的低8位答CLR CYMOV 30H7FHMOV 31H4DHMOV R0 31HMOV AR0SUBB A 4EMOV R0A 保存低字节相减结果DEC R0MOV A R0SUBB A2BHMOV R0A 保存高字节相减结果 17.试编写程序将R1中的低4位数与R2中的高4位数合并成一个8位数并将其存放在R1中答MOV AR2ANL A0F0HORL R1A18.试编写程序将内部RAM的20H21H单元的两个无符号数相乘结果存放在R2R3中R2中存放高8位R3中存放低8位答MOV A20HMOV B21HMUL ABMOV R3AMOV R2B19.若CY 1P1 10100011BP3 01101100B试指出执行下列程序段后CYP1口及P3口内容的变化情况MOV P13CMOV P14CMOV CP16MOV P36CMOV CP10MOV P34C答CY 1 P1 10111011B P3 00111100B 章 4 80C51的汇编语言程序设计1.80C51单片机汇编语言有何特点答汇编语言结构紧凑灵活汇编成的目标程序效率高具有占存储空间少运行速度快实时性强等优点它是面向机器的语言对于单片机硬件的操作直接方便有利于初学者对单片机结构的认知但它与高级语言相比移植性不好编程复杂对编程人员的基础要求高2.利用80C51单片机汇编语言进行程序设计的步骤如何答一任务分析首先要对单片机应用系统的设计目标进行深入分析明确系统设计任务功能要求和技术指标然后对系统的运行环境进行调研这是应用系统程序设计的基础和条件二算法设计经过任务分析和环境调研后已经明确的功能要求和技术指标可以用数学方法或模型来描述进而把一个实际的系统要求转化成由计算机进行处理的算法并对各种算法进行分析比较并进行合理的优化三流程描述程序的总体构建先要确定程序结构和数据形式资源分配和参数计算等然后根据程序运行的过程规划程序执行的逻辑顺序用图形符号将程序流程绘制在平面图上应用程序的功能通常可以分为若干部分用流程图将具有一定功能的各部分有机地联系起来流程图可以分为总流程图和局部流程图总流程图侧重反映程序的逻辑结构和各程序模块之间的相互关系局部流程图反映程序模块的具体实施细节3.常用的程序结构有哪几种特点如何答顺序程序无分支无循环结构的程序其执行流程是依指令在存储器中的存放顺序进行的分支程序可以改变程序的执行顺序循环程序按某种控制规律重复执行的程序控制一部分指令重复执行若干次以便用简短的程序完成大量的处理任务4.子程序调用时参数的传递方法有哪几种答利用累加器或寄存器利用存储器利用堆栈5.什么是伪指令常用的伪指令功能如何答伪指令是汇编程序能够识别并对汇编过程进行某种控制的汇编命令常用的伪指令包括ORG功能是向汇编程序说明下面紧接的程序段或数据段存放的起始地址END功能是结束汇编DB功能是从标号指定的地址单元开始在程序存储器中定义字节数据DW功能是从标号指定的地址单元开始在程序存储器中定义字数据空间EQU功能是将表达式的值或特定的某个汇编符号定义为一个指定的符号名BIT功能是将位地址赋给指定的符号名6.设被加数存放在内部RAM的20H21H单元加数存放在22H23H单元若要求和存放在24H25H中试编写出16位无符号数相加的程序采用大端模式存储答程序如下ORG 0000HMOV R0#21HMOV R1#23HMOV AR0ADD AR1MOV 25HADEC R0DEC R1MOV AR0ADDC AR1MOV 24HASJMPEND7.编写程序把外部RAM中1000H101FH的内容传送到内部RAM的30H4FH中答ORG 0000HMOV DPTR1000HMOV R030HMOV R732LOOPMOVX ADPTRMOV R0AINC R0INC DPTRDJNZ R7LOOPRET8.编写程序实现双字节无符号数加法运算要求 R0R1R6R7→60H61H 答ORG 0000HMOV AR1ADD AR7MOV 61HAMOV AR0ADDC AR6MOV 60HASJMPEND9.若80C51的晶振频率为6MHz试计算延时子程序的延时时间DELAYMOV R70F6HLPMOV R60FAHDJNZ R6DJNZ R7LPRET答延时时间 2μs [1 122502246 2]2 0247486秒含调用指令2个机器周期10.在内部RAM 的30H37H单元存有一组单字节无符号数要求找出最大数存入BIG 单元试编写程序实现答ORG 0000HBIG DATA 2FHONE DATA 2AHTWO DATA 2BH STARTMOV R77 比较次数MOV R030HLOOPMOV AR0MOV ONEAINC R0MOV TWOR0CLR CSUBB AR0JC NEXT ONE小TWO大继续比下一对数MOV R0ONE ONE大放后面交换DEC R0MOV R0TWO TWO小放前面INC R0NEXTDJNZ R7LOOPSJMPEND11.编写程序把累加器A中的二进制数变换成3位BCD码并将百十个位数分别存放在内部RAM的50H51H52H中答单字节二进制数转换为压缩的BCD码仅需要2个字节在将压缩的BCD码拆分存于3个单元org 0MOV 52H0MOV 51H0MOV 50H0MOV A0FDhLCALL DCDTHSJMP DCDTHMOV R78MOV R0A 暂存于R0LOOPCLR CMOV AR0RLC AMOV R0AMOV R151H MOV AR1ADDC AR1DA ADEC R1MOV AR1ADDC AR1DA AMOV R1ADJNZ R7LOOPINC R1 50H已是结果R1指向51H51H单元需拆分MOV A00HXCHD AR1MOV 52HAMOV AR1SWAP AMOV R1ARETEND12.编写子程序将R1中的2个十六进制数转换为ASCII码后存放在R3和R4中答ORG 0MOV R15BHMOV AR1ANL A0F0HSWAP AACALL ASCIIMOV R3AMOV AR1ANL A 0FHACALL ASCIIMOV R4 ASJMPASCIIPUSH ACCCLR CSUBB A 0AHPOP ACCJC LOOPADD A 07HLOOP ADD A 30HRETEND13.编写程序求内部RAM中50H59H十个单元内容的平均值并存放在5AH单元答ORG 0000HMOV R710MOV R050HMOV B10CLR CCLR ALOOPADDC AR0INC R0DJNZ R7LOOPDIV ABMOV 5AHASJMPEND14.如图410所示编制程序实现上电后显示P有键按下时显示相应的键号07答实现程序如下TEMP EQU 30HORG 0000HJMP STARTORG 0100HSTARTMOV SP5FHMOV P08CH 正序显示"P"MOV P30FFH 输入方式CLR CYNOKEYMOV AP3CPL AJZ NOKEY 无键按下MOV TEMPP3 有键按下CALL D10msMOV AP3CJNE ATEMPNOKEY 去抖动MOV R20 键号计数器复位 MOV ATEMPLPRRC AJNC DONEINC R2SJMP LPDONEMOV AR2MOV DPTRCODE_P0MOVC AADPTRMOV P0AJMP NOKEYD10msMOV R510 10MSD1msMOV R4249DLNOPNOPDJNZ R4DLDJNZ R5D1msRETCODE_P0DB 0C0H0F9H0A4H0B0H99H92H82H0F8HDB 80H90H88H83H0C6H0A1H86H8EHEND章5 80C51的中断系统及定时计数器 180C51有几个中断源各中断标志是如何产生的又是如何复位的CPU响应各中断时其中断入口地址是多少答5个中断源分别为外中断和T0和T1溢出中断串口中断电平方式触发的外中断标志与引脚信号一致边沿方式触发的外中断响应中断后由硬件自动复位T0和T1CPU响应中断时由硬件自动复位RI和TI由硬件置位必须由软件复位另外所有能产生中断的标志位均可由软件置位或复位各中断入口地址―0003HT0000BH0013HT1001BHRI和TI0023H2某系统有三个外部中断源123当某一中断源变低电平时便要求CPU处理它们的优先处理次序由高到低为321处理程序的入口地址分别为2000H2100H2200H 试编写主程序及中断服务程序转至相应的入口即可答将3个中断信号经电阻线或接LJMP MAINORG 00013HLJMP ZDFZORG 0040HMAINSETB EASETB EX1SJMP 0RG 0200H ZDFZPUSH PSWPUSH ACCJB P10DV0JB P11DV1JB P12DV2INRETPOP ACCPOP PSWRETIORG 2000HDV0------------JMP INRETORG 2100HDV1------------JMP INRETDV2------------JMP INRET3外部中断源有电平触发和边沿触发两种触发方式这两种触发方式所产生的中断过程有何不同怎样设定答当IT0 0时为电平触发方式电平触发方式时CPU在每个机器周期的S5P2采样引脚电平当采样到低电平时置IE0=1向CPU请求中断采样到高电平时将IE0清0在电平触发方式下CPU响应中断时不能自动清除IE0标志电平触发方式时外部中断源的有效低电平必须保持到请求获得响应时为止不然就会漏掉在中断服务结束之前中断源的有效的低电平必须撤除否则中断返回之后将再次产生中断该方式适合于外部中断输入为低电平且在中断服务程序中能清除外部中断请求源的情况当IT0 1时为边沿触发方式边沿触发方式时CPU在每个机器周期的S5P2采样引脚电平如果在连续的两个机器周期检测到引脚由高电平变为低电平即第一个周期采样到 1第二个周期采样到 0则置IE0=1产生中断请求在边沿触发方式下CPU响应中断时能由硬件自动清除IE0标志边沿触发方式时在相继两次采样中先采样到外部中断输入为高电平下一个周期采样到为低电平则在IE0或IE1中将锁存一个逻辑1若CPU暂时不能响应中断申请标志也不会丢失直到CPU响应此中断时才清0另外为了保证下降沿能够被可靠地采样到和引脚上的负脉冲宽度至少要保持一个机器周期若晶振频率为12MHz为1微秒边沿触发方式适合于以负脉冲形式输入的外部中断请求4定时计数器工作于定时和计数方式时有何异同点答定时计数器实质是加1计数器不同点设置为定时器模式时加1计数器是对内部机器周期计数1个机器周期等于12个振荡周期即计数频率为晶振频率的112计数值乘以机器周期就是定时时间设置为计数器模式时外部事件计数脉冲由T0或T1引脚输入到计数器在每个机器周期的S5P2期间采样T0T1引脚电平当某周期采样到一高电平输入而下一周期又采样到一低电平时则计数器加1更新的计数值在下一个机器周期的S3P1期间装入计数器相同点它们的工作原理相同它们都有4种工作方式由TMOD中的M1M0设定即方式013位计数器方式116位计数器方式2具有自动重装初值功能的8位计数器方式3T0分为两个独立的8位计数器T1停止工作 5定时计数器的4种工作方式各有何特点答方式0位13位计数器由TL0的低5位高3位未用和TH0的8位组成TL0的低5位溢出时向TH0进位TH0溢出时置位TCON中的TF0标志向CPU发出中断请求计数初值计算的公式为X=213-N方式1的计数位数是16位由TL0作为低8位TH0作为高8位组成了16位加1计数器计数个数与计数初值的关系为X=216-N方式2为自动重装初值的8位计数方式TH0为8位初值寄存器当TL0计满溢出时由硬件使TF0置1向CPU发出中断请求并将TH0中的计数初值自动送入TL0TL0从初值重新进行加1计数周而复始直至TR0 0才会停止计数个数与计数初值的关系为 X=28-N方式3只适用于定时计数器T0定时器T1处于方式3时相当于TR1=0停止计数方式3时T0分成为两个独立的8位计数器TL0和TH0TL0使用T0的所有控制位当TL0计数溢出时由硬件使TF0置1向CPU发出中断请求而TH0固定为定时方式不能进行外部计数并且借用了T1的控制位TR1TF1因此TH0的启停受TR1控制TH0的溢出将置位TF16要求定时计数器的运行控制完全由TR1TR0确定和完全由高低电平控制时其初始化编程应作何处理答TMOD中GATE的值不同完全由TR1TR0确定时GATE为0完全由高低电平控制时GATE为17当定时计数器T0用作方式3时定时计数器T1可以工作在何种方式下如何控制T1的开启和关闭答T0用作方式3时T1可以工作在方式01和2T1的开启由TR1控制即TR1=1时T1开始工作TR1=0时或者定时计数器工作在方式3时T1停止工作8利用定时计数器T0从P10输出周期为1s脉宽为20ms的正脉冲信号晶振频率为12MHz试设计程序答采用定时20ms然后再计数149次的方法实现aT0工作在定时方式1时控制字TMOD配置M1M0 01GATE 0C 0可取方式控制字为01Hb计算计数初值X晶振为12 MHz所以机器周期Tcy为1N=t Tcy =20×10-31×10-6=20000X=216-N=65536-20000=45536=4E20H即应将4EH送入TH1中20H送入TL1中c实现程序如下ORG 0000HAJMP MAIN 跳转到主程序 ORG 0030H MAINMOV TMOD01H 设T1工作于方式2MOV TH0 4EH 装入循环计数初值MOV TL020H 首次计数值LP0SETB P10ACALL NT0CLR P10MOV R749 计数49次LP1ACALL NT0DJNZ R7LP1AJMP LP0NT0MOV TH0 4EHMOV TL020HSETB TR0JNB TF0CLR TR0CLR TF0RETEND9要求从P11引脚输出1000Hz方波晶振频率为12MHz试设计程序答采用T0实现aT0工作在定时方式1时控制字TMOD配置M1M0 01GATE 0C 0可取方式控制字为01Hb计算计数初值X晶振为12 MHz所以机器周期Tcy为111000 1×10-3N=t Tcy =05×10-31×10-6=500X=216-N=65536-500=65036=FE0CH即应将FEH送入TH0中0CH送入TL0中c实现程序如下ORG 0000HAJMP MAIN 跳转到主程序ORG 000BH T0的中断入口地址LJMP DVT0ORG 0030HMAINMOV TMOD01H 设T0工作于方式2MOV TH0 0FEH 装入循环计数初值MOV TL00CH 首次计数值SETB ET0 T0开中断SETB EA CPU开中断SETB TR0 启动T0SJMP 等待中断DVT0CPL P11MOV TH0 0FEHMOV TL0 0CHSETB TR0RETIEND10试用定时计数器T1对外部事件计数要求每计数100就将T1改成定时方式控制P17输出一个脉宽为10ms的正脉冲然后又转为计数方式如此反复循环设晶振频率为12MHz答aT1工作在计数方式2时控制字TMOD配置M1M0 10GATE 0C 1可取方式控制字为60HT1工作在定时方式1时控制字TMOD配置M1M0 01GATE 0C 0可取方式控制字为10Hb计算初值X定时10ms时晶振为12 MHz所以机器周期Tcy为1N=t Tcy =10×10-31×10-6=10000X=216-N=65536-10000=55536=D8F0H即应将D8H送入TH1中F0H送入TL1中计数100时N=100X=28-N=256-100=156=9CHc实现程序如下ORG 0000HAJMP MAIN 跳转到主程序ORG 001BH T1的中断入口地址LJMP DVT1ORG 0030HMAINMOV TMOD60H T1工作于计数方式2MOV TH19CH 装入计数初值MOV TL19CHCLR P17SETB ET1 T1开中断SETB EA CPU开中断SETB TR1 启动T1SJMP 等待中断 DVT1SETB P17CLR ET1CLR TR1MOV TMOD10H T1工作于定时方式1MOV TH10D8H 装初值MOV TL10F0HSETB TR1JNB TF1 查询等待10msCLR TF1CLR TR1CLR P17MOV TMOD60H T1工作于计数方式2MOV TH19CH 装初值MOV TL19CHSETB ET1 T1开中断SETB TR1 启动T1RETIEND 11利用定时计数器T0产生定时时钟由P1口控制8个指示灯编一个程序使8个指示灯依次闪动闪动频率为1次秒即亮1秒后熄灭并点亮下一个-----答采用定时20ms计数50次实现1秒定时编制1秒延时子程序由主程序调用aT0工作在定时方式1时控制字TMOD配置M1M0 01GATE 0C 0可取方式控制字为01Hb计算计数初值X晶振为12 MHz所以机器周期Tcy为1N=t Tcy =20×10-31×10-6=20000X=216-N=65536-20000=45536=4E20H即应将4EH送入TH1中20H送入TL1中c实现程序如下ORG 0000HAJMP MAIN 跳转到主程序ORG 0030HMAINCLR CYMOV A01HLP0MOV P1ACALL D1SECRL AAJMP LP0 D1SECMOV R750 计数50次MOV TMOD01HDLMOV TH04EHMOV TL020HSETB TR0JNB TF0CLR TR0CLR TF0DJNZ R7DLRETEND - 95 -。
单片机课后习题答案(《单片机应用技术》C语言版)单片机课后习题答案《单片机应用技术》C语言版1. 实验一:单片机概述与开发环境搭建题目一:简述单片机的概念及其优势。
答案:单片机是一种集成电路,具有微型化、低功耗、低成本等优势。
它可以独立完成各种任务,广泛应用于嵌入式系统中。
题目二:描述单片机开发环境的搭建步骤。
答案:单片机开发环境的搭建步骤如下:1) 安装C语言编译器;2) 安装单片机开发工具;3) 配置单片机开发环境;4) 创建工程并编写程序;5) 编译、下载并运行程序。
2. 实验二:基本IO口操作题目一:使用C语言编写程序,将P0口的四个引脚连接到四个LED灯,实现依次点亮、逐个点亮、全亮和全灭功能。
答案:代码如下:```c#include <reg52.h>#define uchar unsigned charvoid delay(uchar t) {while (t--);}void main() {P0 = 0xfe; // 1111 1110,点亮第一个LED delay(60000);P0 = 0xfd; // 1111 1101,点亮第二个LED delay(60000);P0 = 0xfb; // 1111 1011,点亮第三个LED delay(60000);P0 = 0xf7; // 1111 0111,点亮第四个LED delay(60000);P0 = 0xff; // 1111 1111,全亮delay(60000);P0 = 0x00; // 0000 0000,全灭while (1);}```题目二:编写程序,通过P1口的第0~3引脚接收外部开关信号,并通过P2口的0~3引脚控制LED灯的亮灭状态。
答案:代码如下:```c#include <reg52.h>#define uchar unsigned charvoid delay(uchar t) {while (t--);}void main() {uchar temp;while (1) {temp = P1 & 0x0f; // 获取P1口低4位的值P2 = ~temp; // 反转temp后赋值给P2口delay(60000);}}```3. 实验三:中断与定时器题目一:利用定时器0中断,编写程序实现一个1s的计时器,并在数码管上显示计时器的值。
课后习题参考答案习题1答案1.1 单项选择题(1) A (2)C (3)A (4) A (5)A(6) A (7)C (8)C (9) D (10)C1.2 填空题(1)硬件系统、软件系统(2)时钟、复位(3)XTAL1、XTAL2、RST、EA(4)片内数据存储器、片内程序存储器、片外数据存储器、片外程序存储器(5)时钟电路(6)程序存储器(7)工作寄存器组、位寻址区、用户RAM区(8)1us、2us(9)上电复位电路、按键复位电路(10)2、高1.3答:单片微型计算机是指集成在一个芯片上的微型计算机,它的各种功能部件,包括CPU (Central Processing Unit)、随机存取存储器RAM(Random Access Memory)、只读存储器ROM(Read-only Memory)、基本输入/输出(Input/Output,简称I/O)接口电路、定时器/计数器等都制作在一块集成芯片上,构成一个完整的微型计算机,可以实现微型计算机的基本功能。
单片机应用系统是以单片机为核心,配以输入、输出、显示、控制等外围电路和软件,能实现一种或多种功能的实用系统。
单片机应用系统是由硬件和软件组成的,硬件是应用系统的基础,软件则是在硬件的基础上对其资源进行合理调配和使用,从而完成应用系统所要求的任务,二者相互依赖,缺一不可。
1.4答:P3口各引脚与第二功能表引脚第二功能信号名称P3.0 RXD 串行数据接收P3.1 TXD 串行数据发送P3.2 0INT外部中断0申请P3.3 1INT外部中断1申请P3.4 T0 定时/计数器0的外部输入P3.5 T1 定时/计数器1的外部输入P3.6 WR外部RAM写选通P3.7 RD外部RAM读选通1.5答:片内RAM低128单元的配置如下:地址功能30H ~7FH 数据缓冲区20H ~2FH 位寻址区(00H~7FH)18H ~1FH 第3组工作寄存器(R7~R0)10H ~17H 第2组工作寄存器(R7~R0)08H ~0FH 第1组工作寄存器(R7~R0)00H ~07H 第0组工作寄存器(R7~R0)寄存器常用于存放操作数及中间结果等;内部RAM的20H~2FH单元,既可作为一般RAM单元使用,进行字节操作,也可以对单元中每一位进行位操作;在内部RAM低128单元中,通用寄存器占去了32个单元,位寻址区占去了16个单元,剩下80个单元,这就是供用户使用的一般RAM区,其单元地址为30H~7FH。
单片机课后习题答案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都属于读锁存器。
3-11若(R1)=30H,(A)=40H,(30H)=60H,(40H)=08H。
试分析执行下列程序段后上述各单元内容的变化。
MOV A,@R1 ;(A)=60H 其余不变MOV @R1,40H ;(30H)=40H 其余不变MOV 40H,A ; (40H) =60H 其余不变MOV R1,#7FH ;(R1)=7FH 其余不变3-12下列程序段汇编后,从3000H开始的各有关存储单元的内容将是什么?地址是3000H的单元存放‘S’的ascii码53H地址是3001H的单元存放‘T’的ascii码54H地址是3002H的单元存放‘A’的ascii码41H地址是3003H的单元存放‘R’的ascii码52H地址是3004H的单元存放‘T’的ascii码54H地址是3005H的单元存放34H地址是3006H的单元存放32H地址是3007H的单元存放00H地址是3008H的单元存放40H地址是3009H的单元存放00H地址是300AH的单元存放90H3-13若(A)=E8H,(R0)=40H,(R1)=20H,(R4)=3AH,(40H)=2CH,(20H)=0FH,试写出下列各指令独立执行后有关寄存器和存储单元的内容?若该指令影响标志位,试指出CY、AC、和OV的值。
(1)MOV A,@R0 ; (A)=2CH 其余不变(2)ANL 40H,#0FH ;(40H)=0CH(3)ADD A,R4; AC=1,OV=0,CY=1,(A)=22H(4)SWAP A ;(A)=8EH(5)DEC @R1 ; (20H)=0EH(6)XCHD A,@R1 ;(A)=EFH,(20H)=08H3-14若(50H)=40H,试写出执行以下程序段后累加器A、寄存器R0及内部RAM的40H、41H、42H单元中的内容各为多少?M OV A,50H ;(A)=40HMOV R0,A ;(R0)=40HMOV A,#00H ;(A)=0MOV @R0,A ;(40H)=0MOV A, 3BH ;(A)=(3BH)MOV 41H,A ;(41H)=(3BH)MOV 42H,41H ;(42H)=(3BH)3-18设自变量X为一无符号数,存放在内部RAM的VAX单元,函数Y存放在FUNC单元。
1习题1答案1.2 填空题(1)单片级应用系统是由硬件系统、软件系统组成的(2)除了单片机和电源外,单片机最小系统包括时钟电路、复位电路(3)除了电源和电线引脚外,1、2、、EA引脚信号必须连接相应电路(4) 51系列单片机的存储器主要有4个物理存储空间,即片内数据存储器、片内程序存储器、片外数据存储器、片外程序存储器(5)51系列单片机的1和2引脚是时钟电路(6)51系列单片机的应用程序一般存放在程序存储器(7)片内低128单元,按其用途划分为工作寄存器组、位寻址区、用户区(8)但振荡脉冲频率为12时,一个机器周期为1,当振荡脉冲频率为6时,一个机器周期为2 (9)51系列单片机的复位电路有两种,即上电复位电路、按键复位电路(10)输入单片机的复位信号需延续2个机器周期以上的高电平即为有效。
1.3(4)什么是机器周期?机器周期和晶振频率有何关系?当晶振频率为6时,机器周期是多少?答:规定一个机器周期的宽度为12个振荡脉冲周期,因此机器周期就是振荡脉冲的十二分频。
当振荡脉冲频率为6 时,一个机器周期为2 µs。
(5)51系列单片机常用的复位方法有哪几种?画电路图并说明其工作原理。
答:(a)上电复位电路(b)按键复位电路单片机常见的复位电路图(a)为上电复位电路,它是利用电容充电来实现的。
在接电瞬间,端的电位及相同,随着充电电流的减少,的电位逐渐下降。
只要保证为高电平的时间大于两个机器周期,便能正常复位。
图(b)为按键复位电路。
该电路除具有上电复位功能外,若要复位,只需按图(b)中的键,此时电源经电阻R1、R2分压,在端产生一个复位高电平。
习题3 答案3.2 填空题(2)用C51编程访问51单片机的并行口是,可以按字节,寻址操作,还可以按位操作(4)C51中定义一个可位寻址变量访问P3口的P3.1引脚的方法是 3^1;(10)下面的循环执行了无限次空语句。
3;(i!=0);(15)在以下的数组定义中,关键字“”是为了把数组存储在程序存储器中b[]={};3.3 上机操作题(1)3_3_1——第三章习题3.3上机操作题(1)<51>( i); 延时函数声明() 主函数(1){P1=0x55; 按状态1的方式点亮8个(200); 延时P1=0; 按状态2的方式点亮8个(200); 延时( i) 延时函数参见任务1程序1_1(2)3_3_2——第三章习题3.3上机操作题(2)<51> 包含头文件51( i); 延时函数声明() 主函数(1){0x10; 高4位灯的位置初值为00010000B0x08; 低4位灯的位置初值为00001000B(0<4){P1(); 循环点亮灯l<<=1; 高4位灯的位置移动r>>=1; 低4位灯的位置移动(200); 延时( i) 延时函数参见任务1程序1_1(3)3_3_3——第三章习题3.3上机操作题(3)<51> 包含头文件51( i); 延时函数声明() 主函数i;[]={0x89, 0,0x86, 0,07, 0,07, 0,00, 0};(1){(0<10){P1[i]; 显示字送P1口(200); 延时( i) 延时函数参见任务1程序1_1习题4 答案4.2 填空题(1)51系列单片机定时器的内部结构由以下四部分组成:①定时器T0 ②定时器T1 ③定时器方式寄存器④定时器控制寄存器(251系列单片机的定时/计数器,若只用软件启动,及外部中断无关,应使中的0(3)51系列单片机的T0用做计数方式时,用工作方式1(16位),则工作方式控制字为0x05(4)定时器方式寄存器的作用是选择定时器T01的工作方式(5)定时器方式寄存器的作用是控制定时器的启动、停止,标志定时器的溢出和中断情况。