单片机c语言第三版答案,单片机C语言应用程序设计马忠梅课后习题答案

第一章

1、8051单片机由哪几部分组成?

8位中央处理器CPU、片内振荡电器及其时钟电路,4个8位并行I/O口(其中P0和P2可用于外部存储器的扩展),2个16位定时器/计数器,5个中断源(具有2个中断优先级),全双工串行口,布尔处理器。

2、8051单片机有多少个特殊功能寄存器?它们可以分为几组,各完成什么主要功能?

P7 1-3表

答:8051单片机内部有21个特殊功能寄存器,在物理上是分散在片内各功能部件中,在数学上把它们组织在内部数据存储器地址空间80H~FFH中,以便能使用统一的直接寻址方式来访问。这些特殊功能寄存器颁在以下各个功能部件中:

(1)CPU:ACC、B、PSW、SP、DPTR(由DPL和DPH两个8位寄存器组成);主要完成运算和逻辑判断功能;

(2)中断系统:IP、IE;完成中断管理

(3)定时器/计数器:TMOD、TCOM、TL0、TH0、TL1、TH1;完成定时或者计数功能(4)并行I/O口:P0、P1、P2、P3完成I/O口功能,其中部分I/O口带有可选的纵向拓展功能

(5)串行口:SCON、SBUF、PCON。主要完成数据的串行发送和接收

3、决定程序执行顺序的寄存器是哪几个?它是几位寄存器?是否为特殊功能寄存器?它的内容是什么信息?

是程序计数器PC,它是16位寄存器,不是特殊功能寄存器,它的内容是下一条将要执行的程序的地址

4、DPTR是什么特殊功能寄存器?DPTR的用途是什么?它由哪几个特殊功能寄存器组成?DPTR是16位数据指针寄存器,它由两个8位特殊功能寄存器DPL(数据指针低8位)和DPH (数据指针高8位)组成,DPTR用于保存16位地址,作地址寄存器用,可寻址外部数据存储器,也可寻址程序存储器。

5、8051的引脚有多少I/O线?它们和单片机对外的地址总线和数据总线有什么关系?地址总线和数据总线各是多少位?

8051单片机的40个引脚中有32根I/O口线,P0口8根I/O线可以在外扩存储器时分时复用作为外部存储器的低8位地址总线和8位数据总线,P2口作为高8位地址总线,和分别作为外部存储器的写和读控制线。地址总线16位,数据总线为8位。

6、什么是堆栈?堆栈指针SP的作用是什么?8051单片机堆栈的最大容量不能超过多少字节?

堆栈是数据寄存器的一部分,这一部分数据的存取是按照先入后出、后入先出的原则进行的。堆栈指针SP在启用堆栈之前是用来决定堆栈的位置。如在8051芯片复位后,SP的值为07H,则决定了堆栈从08H开始设置。修改SP值可以使堆栈设置在内部RAM的其它部分。在堆栈启用之后,SP指向堆栈顶部,即由SP来决定数据读出和存入堆栈的地址。8051单片机内部用作数据区的RAM的容量为128个字节,前8个字节要用来作为工作寄存器R0-R7。堆栈可以从08H开始设置直到7FH,共120个字节。但这只是最大可能的容量。一般情况下,内部RAM还要分出一部分作一般的数据区,或者还要用其中的位寻址区来用于位操作,等等。所以,8051的堆栈区是比较小的,使用时要注意到这个限制。

8、8051内部RAM低128字节可分为几个区域?其中通用寄存器区的字节地址范围为多少?如何实现寄存器组的切换?可位寻址区的字节地址和位地址范围分别为多少?

8051内部RAM的低128字节可以分为通用寄存器区、位寻址区、便签(工作或者堆栈RAM)区和特殊功能寄存器区。通用寄存器区的地址从00H到1FH共32个字节。设置PSW中的位

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第1章 轻松看mcs-51 1 1-1 微型计算机与单片机 2 1-2 8051基础知识 2 1-2-1 8x51的结构 2 1-2-2 89c51/89s51的封装与引脚 3 1-2-3 89s51的基本电路 6 1-2-4 mcs-51系列 8 1-2-5 关于atmel的51系列 10 1-3 认识mcs-51的存储器结构 11 1-3-1 程序存储器 11 1-3-2 数据存储器 12 1-3-3 特殊功能寄存器 14 1-4 mcs-51的时序分析与复位 18 1-4-1 时序分析 18 1-4-2 复位 19 1-5 mcs-51的开发流程与工具 20 1-5-1 传统开发工具 21 1-5-2 altium designer电路设计软件 22 1-5-3 keil mvision3集成开发环境 23 1-5-4 89s51的在线刻录功能 23 .1-6 实例演练 24 1-7 实时练习 31 第2章 认识mvision3与keil c 33 2-1 mvision3环境简介 34 2-1-1 认识mvision3环境 34 2-1-2 项目管理与选项 37 2-1-3 认识调试/仿真环境 39 2-1-4 外围操作 40 2-2 keil c语言的基本结构 43 2-3 变量、常数与数据类型 47 2-3-1 数据类型 47 2-3-2 变量名称与保留字 49 2-3-3 变量的作用范围 50 2-4 存储器的形式与模式 50 2-4-1 存储器的形式 51 2-4-2 存储器的模式 52 2-5 keil c的运算符 53 2-6 keil c的流程控制 57 2-6-1 循环指令 57 2-6-2 选择指令 60 2-6-3 跳转指令 62 2-7 数组与指针 63 2-7-1 数组 63 2-7-2 指针 64 2-8 函数与中断子程序 64 2-8-1 函数 65 2-8-2 中断子程序 65 2-9 keil c的预处理命令 66 2-10 实时练习 67 第3章 输出端口的应用 69 3-1 认识mcs-51的输入/输出端口 70 3-2 输出电路设计 72 3-2-1 驱动led 72 3-2-2 驱动蜂鸣器 73 3-2-3 驱动继电器 74 3-2-4 驱动固态继电器 75 3-2-5 驱动七段led数码管 76 3-3 实例演练 78 3-3-1 驱动蜂鸣器实验 78 3-3-2 驱动继电器实验 81 3-3-3 霹雳灯实例演练 83 3-3-4 驱动七段led数码管实验 85 3-4 实时练习 87 第4章 输入口的应用 89 4-1 认识mcs-51的输入口 90 4-2 输入设备与输入电路设计 90 4-2-1 输入设备 90 4-2-2 输入电路设计 93 4-2-3 抖动与去抖动 95 4-3 实例演练 97 4-3-1 拨码开关控制 97 4-3-2 按钮开关控制 99 4-3-3 按钮切换式控制 100 4-3-4 按钮开关应用 102 4-3-5 bcd拨码开关 104 4-3-6 多个按钮开关 106 4-3-7 按钮开关放开后动作 111 4-4 实时练习 113 第5章 输入/输出端口的高级应用 115 5-1 键盘扫描 116 5-1-1 键盘扫描原理 118 5-1-2 4×4键盘程序分析 120 5-1-3 认识mm74c922/mm74c923 122 5-2 七段led数码显示管扫描 124 5-2-1 认识七段led数码管模块 125 5-2-2 认识7447/7448 128 5-2-3 认识74138/74139 131 5-3 静态显示与动态显示 132 5-3-1 使用bcd译码器 133 5-3-2 直接驱动 135 5-3-3 使用扫描译码器 136 5-3-4 闪烁 137 5-3-5 交替显示 138 5-3-6 飞入 139 5-3-7 跑马灯 141 5-4 实例演练 142 5-4-1 4位数七段led数码管 142 5-4-2 直接驱动七段led数码管 145 5-4-3 跑马灯 148 5-4-4 4×4键盘与七段led数码管 150 5-4-5 mm74c922 153 5-5 实时练习 154 第6章 中断的应用 156 6-1 认识mcs-51的中断 157 6-1-1 mcs-51的中断 157 6-1-2 中断使能寄存器ie 158 6-1-3 中断优先级寄存器ip 159 6-1-4 定时器/计数器控制寄存器tcon 160 6-1-5 中断向量 160 6-1-6 中断的应用 160 6-2 中断子程序的仿真 161 6-3 实例演练 162 6-3-1 外部中断int0 162 6-3-2 外部中断int1 164 6
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值