单片机实用技术(钱游)项目二课后习题及答案
单片机练习题第二章答案

单片机练习题第二章答案单片机练习题第二章答案单片机是一种非常重要的电子器件,广泛应用于各个领域。
为了更好地掌握单片机的知识和技能,我们需要进行一些练习题的训练。
本文将为大家提供单片机练习题第二章的答案,希望能对大家的学习有所帮助。
第一题:请编写一段代码,实现将一个8位二进制数的高4位和低4位交换的功能。
答案:以下是实现该功能的代码:```c#include <reg52.h>void main(){unsigned char num = 0b11001100; // 待交换的二进制数unsigned char high = 0; // 高4位unsigned char low = 0; // 低4位high = (num & 0xF0) >> 4; // 取出高4位low = (num & 0x0F) << 4; // 取出低4位num = high | low; // 交换高低4位while (1){// 循环执行其他操作}}```第二题:请编写一段代码,实现将一个8位二进制数的第2位和第6位取反的功能。
答案:以下是实现该功能的代码:```c#include <reg52.h>void main(){unsigned char num = 0b11001100; // 待取反的二进制数num ^= (1 << 2); // 第2位取反num ^= (1 << 6); // 第6位取反while (1){// 循环执行其他操作}}```第三题:请编写一段代码,实现将一个8位二进制数的第3位和第7位置1的功能。
答案:以下是实现该功能的代码:```c#include <reg52.h>void main(){unsigned char num = 0b11001100; // 待操作的二进制数num |= (1 << 3); // 第3位置1num |= (1 << 7); // 第7位置1while (1){// 循环执行其他操作}}```通过以上三个练习题的答案,我们可以看到单片机的位操作非常灵活,可以实现各种功能。
《单片机原理与接口技术》课后习题第二章参考答案

第二章练习题参考答案1:什么叫单片机周期?机器周期与时钟频率有什么关系?当时钟频率分别为12MHz和6MHz时,一个机器周期是多少?答:机器周期是80C51单片机工作的基本定时单位,简称机周。
一个机器周期含有12个时钟周期,当时钟频率为12MHz时,机器周期1us;当时钟频率为6MHz时,机器周期为2us。
2:80C51单片机复位的条件是什么?复位后PC、SP和P0~P3的值是什么?答:80C51单片机复位的条件是RST引脚保持2个机器周期以上的高电平。
3:80C51 ROM空间中,0000H~0023H有什么用途?用户应怎样安排?答:0000H~0023H是80C51系统专用单元,其中0000H为CPU复位地址,0003H~0023H 是5个中断源服务程序入口地址,用户不能安排其他内容。
一般来讲,从0030H以后,用户可以自由安排。
4:堆栈的作用是什么?在堆栈中存储数据时有什么原则?如何理解?SP是什么寄存器?SP中的内容是什么?答:堆栈是CPU用于暂时存放特殊数据的“仓库”。
如子程序断口地址、中断断口地址和其他需要保存的数据。
堆栈中数据存取按先进后出、后进先出的原则。
相当于冲锋枪的子弹夹,子弹一粒粒压进去,射击时,最后压进去的子弹先打出去(后进先出),最先压进去的子弹后打出去(先进后出)。
SP称为堆栈指针,专用于指出堆栈顶部的地址。
无论存入还是取出数据,SP始终指向堆栈最顶部数据的地址。
5:P0作为输出口时,有什么要求?答:用做输出时,P0应外接上拉电阻。
6.设N1=+1001011B,N2=-1010100B,求:N1,N2的真值、 N1,N2的原码、N1,N2的反码和N1,N2的补码。
解:真值:N1=+1001011B,N2= -1010100B原码:N1=01001011B,N2= 11010100B反码:N1=01001011B,N2= 10101011B补码:N1=01001011B,N2= 10101100B说明:在计算机中,数的正负在最高位分别用“0”、“1”表示。
学习任务二单片机编译软件的使用及电路仿真课后思考题答案 北邮 单片机应用技术

学习任务二课后习题答案1.单片机应用系统设计与开发过程分为几个阶段?答:单片机系统的传统开发过程一般可分为3步:(1)单片机系统原理图设计、选择元器件插件、安装和电气检测等(简称硬件设计)。
(2)单片机系统程序设计、汇编编译、调试和编程等(简称软件设计)。
(3)单片机系统实际运行、检测、在线调试直至完成(简称单片机系统综合调试)。
2.单片机开发系统由哪些部分组成?各部分的具体任务是什么?答:主要有总体设计、硬件系统设计与调试、软件设计、仿真调试和系统脱机运行检查5个部分组成(1)总体设计总体设计包括以下几方面:1)机型选择。
2)器件选择3)软硬件功能划分。
(2)硬件设计硬件的设计是根据总体设计要求,进行系统电路设计和PCB绘制。
(3)软件设计软件设计包括拟定程序的总体方案、画出程序流程图、编制具体程序以及程序的检查修改等。
(4)系统脱机运行检查系统应用程序调试合格后,利用程序写入器将应用程序固化到单片机的程序存储器中,然后将应用系统脱离仿真器进行上电运行检查。
由于单片机实际运行环境和仿真调试环境的差异,即使仿真调试合格,脱机运行时也可能出错,所以这时应进行全面检查,针对可能出现的问题,修改硬件、软件或总体设计方案。
3,应用系统可靠性设计方法有哪些?答:提高系统可靠性的措施如下:(1)采用抗干扰措施1)抑制电源噪声干扰:安装低通滤波器、减少印制板上交流电引进线长度,电源的容量留有余地,完善滤波系统、逻辑电路和模拟电路的合理布局等。
2)抑制输入/输出通道的干扰:使用双绞线、光电隔离等方法和外部设备传送信息。
3)抑制电磁场干扰:电磁屏蔽。
(2)提高元器件可靠性1)选用质量好的元器件并进行严格老化测试、筛选。
2)设计时技术参数留有一定余量。
3)印制板和组装的工艺质量。
4)E2ROM型和F1ash型单片机不宜在环境恶劣的系统中使用。
(3)采用容错技术1)信息冗余:通信中采用奇偶校验、累加和校验、循环码校验等措施,使系统具有检错和纠错能力。
单片机应用技术(C语言版)第2版课后习题答案 王静霞

A
4
PSW中RS1和RS0用来______________。
A.选择工作寄存器组B.指示复位
C.选择定时器D.选择工作方式
A
5
单片机上电复位后,PC的内容为___________。
A.0x0000 B.0x0003
C.0x000B D.0x0800
A
6
8051单片机的程序计数器PC为16位计数器,其寻址范围是________。
B.一个C源程序必须包含一个函数main()
C.在C程序中,注释说明只能位于一条语句的后面
D.C程序的基本组成单位是函数
C
2
C程序总是从()开始执行的。
A.主函数B.主程序C.子程序D.主过程
A
3
最基本的C语言语句是()
A.赋值语句B.表达式语句C.循环语句D.复合语句
B
4
在C51程序中常常把()作为循环体,用于消耗CPU时间,产生延时效果。
2
MCS-51系列单片机的应用程序一般存放在____________中。
程序存储器
3
片内RAM低128单元,按其用途分为_______、_______和________三个区域。
工作寄存器组、位寻址区、用户RAM区
4
当振荡脉冲频率为12MHz时,一个机器周期为________;当振荡俯冲频率为6MHz时,一个机器周期为__________。
sfr
6
结构化程序设计的三种基本结构是_______________。
顺序结构、选择结构和循环结构
7
表达式语句由_________组成。
表达式加上分号“;”
8
_________语句一般用做单一条件或分支数目较少的场合,如果编写超过3个以上分支的程序,可用多分支选择的__________语句。
单片机实用技术课后答案

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.十进制数14对应的二进制数表示为(1110B),十六进制数表示为(0EH。
十进制数-100的补码为(9CH,+100的补码为(64H)。
2. 在一个非零的无符号二进制整数的末尾加两个0后,形成一个新的无符号二进制整数,则新数是原数的(4)倍。
3. 8位无符号二进制数能表示的最大十进制数是(255)。
带符号二进制数11001101转换成十进制数是(-51 )。
4. 可以将各种不同类型数据转换为计算机能处理的形式并输送到计算机中去的设备统称为(输入设备)。
5. 已知字符D的ASCII码是十六进制数44,则字符T的ASCII码是十进制数(84)。
6. 若某存储器容量为640KB则表示该存储器共有(655360)个存储单元。
7. 在计算机中,二进制数的单位从小到大依次为(位)、(字节)和(字),对应的英文名称分别是(bit )、(Byte )和(Word。
8. 设二进制数A=10101101 B=01110110 则逻辑运算A V B= (11111111),A A B= (00100100),A® B= (11011011)。
9. 机器数01101110的真值是(+110),机器数01011001的真值是(+89),机器数10011101 的真值是(+157或-115),机器数10001101的真值是(+206或-50)。
(二)单项选择题1. 用8位二进制补码数所能表示的十进制数范围是(D)(A)-127 ~ +127 (B)-128 ~ +128(C)-127 ~ +128 (D)-128 ~ +1272. 下列等式中,正确的是(B)(A) 1 KB = 1024 X 1024 B (B)1 MB = 1024 X 1024 B(C) 1 KB = 1024M B (D) 1 MB = 1024 B3. 程序与软件的区别是(C)(A)程序小而软件大(B)程序便宜而软件昂贵(C)软件包括程序(D)程序包括软件4. 存储器中,每个存储单元都被赋予惟一的编号,这个编号称为(A)(A)地址(B)字节(C)列号(D)容量5. 8位二进制数所能表示的最大无符号数是(B)(A)255 (B)256 (C)128 (D)1276. 下列4个无符号数中,最小的数是(B)(A)11011001 (二进制)(B)37 (八进制)(C)75 (十进制)(D)24 (十六进制)7. 下列字符中,ASCII码最小的是(B)(A)a (B) A (C)x (D)X8. 下列字符中,ASCII码最大的是(C)(A)a (B) A (C)x (D)X9. 有一个数152,它与十六进制数6A相等,那么该数是(B)(A)二进制数(B)八进制数(C)十进制数(D)十六进制数第2章80C5单片机的硬件结构(一)填空题1. 通过堆栈实现子程序调用,首先要把(PC的内容入栈,以进行断点保护。
单片机课后重要习题答案

单片机课后重要习题答案单片机课后重要习题答案在学习单片机的过程中,课后习题是巩固知识、提高编程能力的重要环节。
下面是一些常见的单片机课后习题及其答案,供大家参考。
一、基础题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灯,否则不点亮。
单片机第2章习题答案.docx

第2章习题答案一.选择题1.8051单片机用于选择内外程用存储器的控制信号是(B )(A)RST (B) EA (C) PSEN (D) ALE2.PC的值是(B )(A)当前正在执行指令的前一条指令的地址(B)当前正在执行指令的地址(如果当前指令执行完毕,则PC值为下一条指令的首地址)(C)当前正在执行指令的下一条指令的地址(D)控制器中指令寄存器的地址3.ALE信号有效的时候,表示(B )o(A)从KOM屮读取数据(B)从P0 口可靠地送出地址低8位(C)从P0 口送出数据(D)从RAM中读取数据4.8051复位时,下述说法正确的是(D )o(A) (20H) =00H (B) SP=00H (C) SUBF=00H (D) TH0 = 00H5.外部屮断1固定对应的屮断入口地址为(C )o(A) 0003H (B) 000BH (C) 0013H (D) 001BH6.Pi 口的每一位都能驱动(B )o(A) 2个TTL低电平负载(B) 4个TTL低电平负载(C) 8个TTL低虫乎负载(D) 10个TTL低电平负载7.使用8751且以=1时,则可以扩展ROM ( B )。
(内外总和64KB)(A) 64KB (B) 60KB (C) 56KB (D) 58KB8.在扩展系统屮,能够提供地址信号的高8位的端口是(C )。
(A) P0 口(B) P1 口(C) P2 口(D) P3 口9.内部RAM屮具有位地址的区域是(B )o(A) 00H〜1FH (B) 20H〜2FH (C) 20H〜3FH (D) 30H〜7FH二.填空题1.MCS—51单片机的P0〜P3 口均是双向I/O 口,其中的P0 口和P2 口除了可以进行数据的输入、输出外,通常还用来构建扩展系统的数据总线和地址总线,在P0〜P3 口中,真正的双向口为POD , Pl 口、P2 口、P3 为准双向口。
2.P2 口在扩展系统当中通常用作地址总线的高8位,也可以作通用的I/O 口使用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2-1、什么是按键抖动,去抖动有哪些方法?
在键按下或弹起时,接触片会抖动,导致按键通断很多次,所以需要去抖。
去抖方法很多,硬件可以加电容,软件可以多次判断。
软件方面:读进按键后延时,再读取按键。
相当于判断按键是否在一段时间按下,一般人的动作是ms级别的。
硬件方面:作去抖动的电路,可以接电容或RS触发器等,然后设计好充放时间常数,不能太大,要不按键不够灵敏。
下图所示的RS触发器为常用的硬件去抖。
图中两个“与非”门构成一个RS触发器。
当按键未按下时,输出为1;当键按下时,输出为0。
此时即使用按键的机械性能,使按键因弹性抖动而产生瞬时断开(抖动跳开B),中要按键不返回原始状态A,双稳态电路的状态不改变,输出保持为0,不会产生抖动的波形。
也就是说,即使B点的电压波形是抖动的,但经双稳态电路之后,其输出为正规的矩形波。
这一点通过分析RS触发器的工作过程很容易得到验证。
2-2、去抖动用软件延时的方法,软件延时一般多久?
通常的按键所用开关为机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。
因而在闭合及断开的瞬间均伴随有一连串的抖动,为了不产生这种现象而作的措施就是按键消抖。
用软件方法去抖,即检测出键闭合后执行一个延时程序,5ms~10ms的延时,让前沿抖动消失后再一次检测键的状态,如果仍保持闭合状态电平,则确认为真正有键按下。
当检测到按键释放后,也要给5ms~10ms的延时,待后沿抖动消失后才能转入该键的处理程序。
2-3、在本项目2-15电路图基础上,在6个数码管上分别显示自己学号的后六位数字。
#include<reg51.h>
char code code1[]={0xa4,0xc6,0x92,0x82,0x82,0xf8};
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;
}
}
}
2-4、请自己设计电路,在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];
}
}。