单片机应用技术c语言版 第版王静霞 习题答案

习 题 1
1.1 单项选择题
(1) A  (2)C    (3)C
1.2  填空题
(1)硬件系统、软件系统
(2)时钟电路复位电路
(3)XTAL1、XTAL2、RESET、EA
(4)晶振
逐步追踪
1.3  问答题
什么是单片机它由哪几部分组成什么是单片机应用系统
答:单片微型计算机(Single Chip Microcomputer)简称单片机,是指集成在一个芯片上的微型计算机,它的各种功能部件,包括CPUCentral Processing Unit)、存储器(memory)、基本输入/输出(Input/Output,简称I/O)接口电路、定时/计数器和中断系统等,都制作在一块集成芯片上,构成一个完整的微型计算机。
单片机应用系统是以单片机为核心,配以输入、输出、显示等外围接口电路和控制程序,能实现一种或多种功能的实用系统。
1.4 上机操作题
(1)
参考程序:
#include <reg51.h>  //包含头文件reg51.h,定义了51单片机的专用寄存器
//函数名:delay
//函数功能:实现软件延时
//形式参数:无符号整型变量i,控制空循环的循环次数
//返回值:无
void  delay(unsigned int i)              //延时函数
{
  unsigned int k;
    for(k=0;k<i;k++);
混凝土模板}
void    main()                      //主函数
{
  while(1){
    P1=0x00;   
    delay(20000);                    //调用延时函数,实际参数为20000
    P1=0xff;   
    delay(20000);                    //调用延时函数,实际参数为20000
}
}
(2)
参考程序:
#include <reg51.h>  //包含头文件reg51.h,定义了51单片机的专用寄存器
//函数名:delay
//函数功能:实现软件延时
//形式参数:无符号整型变量i,控制空循环的循环次数
//返回值:无
void  delay(unsigned int i)              //延时函数
{
  unsigned int k;
    for(k=0;k<i;k++);
}
void    main()                      //主函数
{
  while(1){
    P1=0x55;   
    delay(20000);                    //调用延时函数,实际参数为20000
    P1=0xff;   
    delay(20000);                    //调用延时函数,实际参数为200003d视频制作
    }
}
习 题 2
2.1  单项选择题
(1)C  (2)A    (3)A  (4)A  (5)A  (6)D  (7)C  (8)A  (9)A (10)C
2.2  填空题
(1)外部程序存储器、外部数据存储器、内部程序存储器、内部数据存储器
(2)程序存储器
(3)工作寄存器组、位寻址区、用户RAM
(4)1us、2us
(5)按键复位、上电复位
(6)2、高
2.3  回答题
(1)P3口的第二功能是什么
答: P3口各引脚的第二功能如下表。
一氧化氮 笑气
第一功能
第二功能
第二功能信号名称
P3.0
RXD
串行数据接收
P3.1
TXD
串行数据发送
P3.2
外部中断0申请
P3.3
外部中断1申请
P3.4
T0
定时/计数器0的外部输入
P3.5
T1
定时/计数器1的外部输入
P3.6
外部RAM或外部I/O写选通
雾疗P3.7
外部RAM或外部I/O读选通
(2)画出单片机时钟电路,并指出石英晶体和电容的取值范围。
答:单片机时钟电路单片机时钟电路如下图。
一般地,电容C1和C2取30 pF左右;晶体振荡器,简称晶振,频率范围是1.2~12 MHz。晶体振荡频率越高,系统的时钟频率也越高,单片机的运行速度也就越快。在通常情况下,使用振荡频率为6 MHz或12 MHz的晶振。如果系统中使用了单片机的串行口通信,则一般采用振荡频率为11.0592 MHz的晶振。
(3)什么是机器周期机器周期和晶振频率有何关系当晶振频率为6MHz时,机器周期是多少
答:
51单片机采用定时控制方式,有固定的机器周期。规定一个机器周期的宽度为6个状态,即12个振荡脉冲周期,因此机器周期就是振荡脉冲的十二分频。
当晶振频率为6MHz时,机器周期是2us。
(4)51单片机常用的复位方法有几种画电路图并说明其工作原理。
答:2种,上电复位和按键复位。单片机常见的复位电路下图所示。
a)为上电复位电路。它利用电容充电来实现复位,在接电瞬间,RST端的电位与VCC相同,随着充电电流的减少,RST的电位逐渐下降。只要保证RST为高电平的时间大于两个机器周期,便能正常复位。
b)为按键复位电路。该电路除具有上电复位功能外,还可以按图2.5(b)中的RESET键实现复位,此时电源VCC经两个电阻分压,在RST端产生一个复位高电平。图1.23中的信号灯控制电路就采用按键复位电路。
(5)51单片机片内RAM的组成是如何划分的各有什么功能
答:8051的内部RAM共有256个单元,通常把这256个单元按其功能划分为两部分:低128单元(单元地址0x00~0x7F)和高128单元(单元地址0x80~0xFF)。
片内RAM的低128个单元用于存放程序执行过程中的各种变量和临时数据,称为DATA区。
内部RAM的高128单元地址为0x80~0xFF,是供给专用寄存器SFR(Special Function Register,也称为特殊功能寄存器)使用的。
(6)51单片机有多少个特殊功能寄存器它们分布在什么地址范围
答:51单片机有21个可寻址的专用寄存器,它们不连续地分布在片内RAM的高128单元中,尽管其中还有许多空闲地址,但用户不能使用。另外还有一个不可寻址的专用寄存器,即程序计数器PC,它不占据RAM单元,在物理上是独立的。
(7)简述程序状态寄存器PSW各位的含义,单片机如何确定和改变当前的工作寄存器组。
答:程序状态字PSW是一个8位寄存器,用于存放程序运行中的各种状态信息。PSW的各位定义如下表所示。
胸针设计
位  地  址
0xD7
0xD6
0xD5
0xD4
0xD3
0xD2
0xD1
0xD0
位  名  称
CY
AC
F0
RS1
RS0
OV
F1
P
CY(PSW.7):进位标志位。存放算术运算的进位标志。
AC(PSW.6):辅助进位标志位。存放算术运算中低4位向高4位进位或借位。
F0(PSW.5):用户标志位。供用户定义的标志位,需要利用软件方法置位或复位。
RS1和RS0(PSW.4,PSW.3):工作寄存器组选择位。上电或复位后,RS1 RS0=00。
OV(PSW.2):溢出标志位。存放带符号数加减运算的溢出位。
F1(PSW.1):保留未使用。
P(PSW.0):奇偶标志位。存放累加器ACC数据的二进制形式中1的个数的奇偶性。一般用于异步串行通信中的奇偶校验。
(8)C51编译器支持的存储器类型有哪些
答:单片机的存储器结构包括4个物理存储空间,C51编译器对这4个物理存储空间都能支持。常见的C51编译器支持的存储器类型如下表所示。
存储器类型
描    述
data
直接访问内部数据存储器,允许最快访问(128 B)
bdata
可位寻址内部数据存储器,允许位与字节混合访问(16 B)
idata
间接访问内部数据存储器,允许访问整个内部地址空间(256 B)
pdata
“分页”外部数据存储器(256 B)
xdata
外部数据存储器(64 KB)
code
程序存储器(64 KB)
(9)当单片机外部扩展RAM和ROM时,P0口和P2口各起什么作用
答:P0口可以分时复用作为8位数据总线和低8位地址线,P2口作为高8位地址线。
(10)在单片机的C语言程序设计中,如何使用SFR和可寻址位
答:采用sfr和sbit来定义专用寄存器和位。
2.4 上机操作题
(1)修改程序ex2_1.c,使得蜂鸣器发出有变化的报警声。
提示:修改延时参数,声音就会有改变。
(2)利用单片机控制蜂鸣器和发光二极管,设计一个声光报警系统。
提示:增加一个LED发光二极管,采用一个I/O口来控制,当报警时,发出声音的同时,灯也闪动。
(3)利用单片机控制按键和发光二极管,设计一个单键控制单灯亮灭的系统。
参考电路如下图:
参考程序如下:
//功能:单键控制单灯程序
#include <reg51.h>
sbit P1_0=P1^0;  //定义P1.0引脚名称为P1_0
sbit P3_0=P3^0;  //定义P3.0引脚名称为P3_0
void  main()        //主函数
{
bit led;    //定义位变量led
    P3_0=1;    //P3.0作为输入口,置1
    led=P3_0;    //读P3.0
    if(led==1)    P1_0=1;  //判断按键是否按下,没有按下,灯熄灭
    if()led==0    P1_0=0;  //按键按下,灯点亮
}
(4)利用单片机控制4个按键和4个发光二极管,设计一个4人抢答器,要求当有某一参赛者首先按下抢答开关时,相应的LED灯亮,此时抢答器不再接受其他输入信号,需按复位按键才能重新开始抢答。
参考电路如下图。
参考程序如下。
//功能:实用4路抢答器程序
#include <reg51.h>
sbit P3_0=P3^0;  //定义P3.0引脚名称为P3_0
sbit P3_1=P3^1;  //定义P3.1引脚名称为P3_1
sbit P3_2=P3^2;  //定义P3.2引脚名称为P3_2
sbit P3_3=P3^3;  //定义P3.3引脚名称为P3_3
void  main()        //主函数
{
        bit flag; //定义位变量flag
        while(!flag)
        {
          if(!P3_0)   
              {
                  P1=0xfe;
                  flag=1;
              }
            else if(!P3_1)
                  {
                      P1=0xfd;

本文发布于:2024-09-22 21:28:51,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/169295.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:单片机   复位   电路   存储器   寄存器   数据   控制   功能
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议