词条 | 51单片机C语言应用程序设计实例精讲(第2版) |
释义 | 图书信息作 者:戴佳 戴卫恒 刘博文 编著 出 版 社: 电子工业出版社 出版时间: 2008-12-1 字 数: 840000 页 数: 492页 开 本: 16开 I S B N : 9787121072642 分类: 图书 >> 计算机/电子工程 >> 编程/C语言 内 容 简 介本书通过大量的典型实例,详细介绍了51单片机各种C语言应用专题程序设计的流程、方法、技巧及设计思想。全书共分31章,第1章~第3章为基础知识,介绍了51单片机开发的硬件结构、指令系统、C语言设计以及Keil 8051 C编译器知识;第4章~第31章为本书的重点,通过28个典型的C语言应用实例,详细介绍了51单片机的各种应用开发和使用技术,包括输入/输出、数据采集、控制系统、存储系统与外设扩展、信号与算法实现、网络通信与传输、电源监控与抗干扰设计。全书实例丰富、代表性强,涉及领域广,每个例子都调试通过,都有具体的设计思路、硬件电路、软件设计以及程序代码分析,同时附录里专门提供了本书实例配套实验箱内容,对于读者学习51单片机的应用开发提供了良好的参考和指导价值。 本书语言简洁,层次清晰,书中的所有程序代码都使用C语言实现,简单易学、易懂。本书适合计算机、自动化、电子及硬件等相关专业的学生进行学习,同时也可供从事51单片机开发的科研设计人员参考使用。 本书配有一张光盘,光盘里包括了书中所有的程序代码和电路图,读者稍加修改即可用于自己的设计,物超所值。 丛书说明工程技术的电子化、集成化和系统化促进了电子工程技术的发展,同时也促进了电子工程技术在社会各行业中的广泛应用,从近年的人才招聘市场来看,电子工程师的人才需求更是一路走高。 电子工程师如此紧俏,除需求不断走高,人才供不应求外,另一重要原因则是电子工程师的门槛相对而言比较高,这个高门槛则来自于工程师的“经验”和“实践”! 因此,为了满足读者学习和工作需要,解决各种工作中的专业问题,我们紧紧围绕“经验”和“实践”,精心策划组织了此套丛书。 1.丛书范围 现代电子科学技术的一个特点是多学科交叉,因此,工程师应当了解、掌握2门以上的相关学科,知识既精深又广博是优秀的工程师成长为某领域专家的重要标志。本丛书内容涉及软件开发、研发电子以及嵌入式项目开发等,包括单片机、USB接口、ARM、CPLD/FPGA、DSP、移动通信系统等。 2.读者对象 本套书面向各领域的初、中级用户。具体为高校计算机、电子信息、通信工程、自动化控制专业在校大学生,以及从事电子开发和应用行业的科研人员。 3.内容组织形式 本套书紧紧围绕“经验”和“实践”,首先介绍一些相关的基础知识,然后根据不同的模块或应用领域,分篇安排应用程序实例的精讲。基础知识用来为一些初级读者打下一定的知识功底;基础好一点的读者则可以跳过这一部分,直接进入实例的学习。 4.实例特色 在应用实例的安排上,着重突出“应用”和“实用”两个基本原则,安排具有代表性、技术领先性,以及应用广泛的典型实例,让读者学习借鉴。这些实例是从作者多年程序开发项目中挑选出的,也是经验的归纳与总结。 在应用实例的讲解上,既介绍了设计原理、基本步骤和流程,也穿插了一些经验、技巧与注意事项。特别在程序设计思路上,在决定项目开发的质量和成功与否的细节上,尽可能地用简洁的语言来清晰阐述大众易于理解的概念和思想;同时,程序代码部分做了很详细的中文注释,有利于读者举一反三,快速应用和提高。 5.光盘内容 本套书的光盘中包含了丰富的实例原图文件和程序源代码,读者稍加修改便可应用于自己的工作中或者完成自己的课题(毕业设计),物超所值。读者使用之前,最好先将光盘内容全部复制到电脑硬盘中,以便于以后可以直接调用,而不需要反复使用光盘,提高操作速度和学习效率。 6.学习指南 对于有一定基础的读者,建议直接从实例部分入手,边看边上机练习,这样印象会比较深,效果更好。基础差一点的读者请先详细学习书中基础部分的理论知识,然后再进行应用实例的学习。在学习中,尽量做到反复理解和演练,以达到融会贯通、举一反三的功效;特别希望尽量和自己的工作设计联系起来,以达到“即学即会,学以致用”的最大化境界。 本套书主要偏重于实用性,具有很强的工程实践指导性。期望读者在学习中顺利、如意! 前 言1976年,Intel公司推出第一款8位单片机MCS-48,宣告了单片机时代的到来。在短短几十年里,单片机技术获得了长足的发展,在越来越广泛的领域内大显身手。 随着科学技术的日新月异,单片机也从一开始的8位单片机发展到16位、32位等诸多系列,其中51系列单片机由于其灵活方便、价格便宜的优点,在众多制造厂商的支持下发展成为具有上百个品种的大家族,至今为止,其他任何一个单片机系列均未发展到如此的规模。 单片机系统的开发是硬件、软件相结合的过程。要完成单片机系统的开发,不仅需要掌握编程技术,还需要针对实际应用选择合理的单片机芯片和外围器件,并以此为基础,设计硬件电路。事实证明,通过具体的实例来学习单片机系统的开发是一条科学的途径,本书作者根据多年积累的单片机开发经验编写此书,旨在通过介绍各种典型的单片机系统的开发实例来为读者提供开发单片机系统的一条“捷径”。 本书内容 本书以第1版为基础,另外增加了C语言程序设计基础、存储系统与外设扩展、CAN总线通信、软件滤波设计等实例内容,使其在内容上更加完美、全面。与此同时,剔除了第1版中一些理论上正确、但实际因为市场芯片停产而无法实现的例子(包括:单片机实现GPS定位、实现接触式IC卡读写、实现非接触式IC卡读写、基于双口RAM的单片机间通信、实现短距离无线传输),补充一些新的例子内容,这样读者选择本书,将可以通过实验箱全部调试成功,完全达到学以致用的目的。 本书共分为31章,主要内容安排如下: 篇 名 内容介绍 页 码 第一篇 基础知识篇 包括第1~3章,介绍了51单片机的硬件结构和指令系统、C语言设计,以及Keil 8051 C 编译器知识 1 第4~33章全部为C语言应用程序设计实例,其中又根据不同的应用领域分为7篇 第二篇 输入/输出系统设计 包括第4~7章,由4个实例构成,涵盖了51单片机系统主要输入/输出方法的实现 87 第三篇 数据采集系统设计 包括第8~13章,由6个实例构成,介绍了51单片机在数据采集领域的应用,包括A/D与D/A转换、基于SHT71数字温/湿度传感器的采集实现,以及 基于DS1624的数字温度计 129 第四篇 控制系统设计 包括第14~16章,由3个实例构成,介绍了51单片机在控制领域的应用,包括步进电机控制、智能充电器、日历时钟 195 第五篇 存储系统与外设扩展 包括第17~19章,由3个实例构成,包括基于NOR Flash的数据存储实例、基于XC95144的串口扩展,以及基于8255扩展并行口 233 第六篇 信号与算法实现 包括第20~23章,,由4个实例构成,介绍了51单片机在信号与算法领域的应用,包括智能信号发生器、步进式PWM信号、CRC算法,以及软件滤波的实现 291 第七篇 通信传输系统设计 包括第24~29章,由6个实例构成,介绍了51单片机在通信传输领域的应用,包括232串口传输、以太网接口、I2C总线传输、485总线传输,以及CAN总线接口通信设计 327 第八篇 电源监控与抗干扰设计 包括第30,31章,由2个实例构成,包括单片机监控电路设计、 光电隔离输出接口电路设计实例 415 本书特点 本书作者长期从事51单片机方面的系统设计工作,曾经开发过许多51单片机应用设计的项目。具有丰富的实践经验,从而保证了本书良好的实用性和指导性。归纳本书,主要具有以下一些特点: (1)在第1版基础上,增加了C语言程序设计基础、存储系统与外设扩展、CAN总线通信、软件滤波设计等实例内容,在内容上更加完美、全面。 (2)本书提供了28个典型设计实例,例子种类丰富,覆盖领域广,代表性强,可成为大多数51单片机开发人员的参考手册。 (3)本书不但详细介绍了实例的硬件接口设计,也对实例的程序代码做了重点分析,提供了深入的程序设计思想,利于读者举一反三。 (4)本书盘书结合,光盘中附有丰富的实例硬件图源文件和程序源代码,读者稍加修改,便可应用于自己的工作中去,物超所值。 (5)广东无忧电子开发网专门为本书提供了C51实验箱的实验验证,这一实验箱很适合教学使用,也是很好的通用开发板,可供从事51单片机开发的广大科研人员使用;实验箱可以使用ATMEL微控制器,也可使用其他厂商的C51系列单片机。读者在使用实验箱中如果有疑问、困难、意见与建议,可以发邮件进行交流咨询。同时有关本实验箱的C51程序设计的完善和更新,读者可以通过登录无忧电子开发网进行了解。 本书由戴佳、戴卫恒、刘博文编写。另外,秦龙、苗龙、田莉、钱林杰、张晓平、王渝梅、金成江、李志江、肖毅、刘轶、刘云志、廖日坤、金镇、李宁宇、黄小慧、廖济林、庞丽梅、邱远彬、黄乘传、黄小欢等在资料收集、整理和技术支持方面做了大量的工作,在此一并向他们表示感谢! 由于时间仓促,再加之作者的水平有限,书中难免存在一些不足之处,欢迎广大读者批评和指正。 目 录第一篇 基础知识篇 第1章 51单片机开发的基础知识 2 1.1 51单片机的硬件结构 2 1.1.1 功能模块 2 1.1.2 CPU 2 1.1.3 并行I/O端口 4 1.1.4 存储器结构 6 1.1.5 定时/计数器 10 1.1.6 串行口 14 1.1.7 中断系统 20 1.2 51单片机的指令系统 22 1.2.1 寻址方式 22 1.2.2 指令说明 26 1.2.3 指令系统表 29 1.3 本章总结 32 第2章 C语言程序各语句 第2章 用法与意义 33 2.1 数据结构 33 2.1.1 数据类型 34 2.1.2 变量与常量 36 2.1.3 数组 40 2.1.4 指针 44 2.1.5 结构 47 2.1.6 共用体 51 2.1.7 枚举 52 2.2 运算符与表达式 53 2.2.1 运算符分类与优先级 53 2.2.2 算术运算符与表达式 54 2.2.3 关系运算符与表达式 55 2.2.4 逻辑运算符与表达式 55 2.2.5 位操作运算符与表达式 55 2.2.6 赋值运算符与表达式 56 2.3 程序结构与函数 57 2.3.1 程序结构 57 2.3.2 函数 58 2.4 流程控制语句 64 2.4.1 选择语句 65 2.4.2 循环语句 68 2.4.3 转移语句 70 2.5 本章总结 72 第3章 Keil 8051 C编译器 73 3.1 Keil编译器简介 73 3.2 使用Keil开发应用软件 74 3.2.1 建立工程 75 3.2.2 工程的设置 77 3.2.3 编译与连接 79 3.3 dScope for Windows的使用 80 3.3.1 如何启动 80 3.3.2 如何调试 81 3.3.3 调试窗口 83 3.4 本章总结 85 第二篇 输入/输出系统设计 第 4章 单片机实现液晶显示 88 4.1 实例说明 88 4.2 设计思路分析 88 4.2.1 液晶显示模块 88 4.2.2 液晶显示工作原理 89 4.2.3 设计思路 91 4.3 硬件电路设计 91 4.3.1 器件选取 91 4.3.2 电源模块 92 4.3.3 液晶显示模块 93 4.3.4 单片机模块 95 4.4 软件设计 96 4.4.1 液晶控制驱动器指令集 96 4.4.2 程序说明 97 4.5 实例总结 100 第5章 基于MAX7219的8位 第5章 数码管显示 101 5.1 实例说明 101 5.2 设计思路分析 101 5.2.1 LED显示驱动芯片的选取 101 5.2.2 MAX7219的工作原理 102 5.3 硬件电路设计 103 5.3.1 主要器件 103 5.3.2 电路原理图 104 5.4 软件设计 106 5.4.1 MAX7219的工作时序 5.4.1 和寄存器描述 106 5.4.2 程序说明 108 5.5 实例总结 111 第6章 键盘输入实例——实现 第6章 44键盘 112 6.1 实例说明 112 6.2 设计思路分析 112 6.3 硬件电路设计 113 6.4 软件设计 114 6.5 实例总结 118 第7章 单片机实现语音录放 119 7.1 实例说明 119 7.2 设计思路分析 120 7.2.1 语音芯片选取 120 7.2.2 语音芯片ISD2560简介 120 7.3 硬件电路设计 121 7.3.1 主要器件 121 7.3.2 电路原理图及说明 124 7.4 软件设计 125 7.4.1 程序流程 125 7.4.2 程序说明 126 7.5 实例总结 128 第三篇 数据采集系统设计 第8章 基于MAX197的 第8章 并行A/D转换 130 8.1 实例说明 130 8.2 设计思路分析 130 8.2.1 A/D转换原理 131 8.2.2 如何选择A/D转换器件 131 8.2.3 A/D转换器对电源 8.2.3 电路的要求 132 8.3 硬件电路设计 133 8.3.1 主要器件 133 8.3.2 电路原理图及说明 136 8.4 软件设计 138 8.4.1 MAX197控制字 138 8.4.2 程序流程 139 8.4.3 程序说明 140 8.5 实例总结 141 第9章 基于TLC549的 第9章 串行A/D转换 142 9.1 实例说明 142 9.2 设计思路分析 142 9.2.1 芯片选取 143 9.2.2 工作原理 143 9.3 硬件电路设计 145 9.3.1 主要器件 145 9.3.2 电路原理图及说明 145 9.4 软件设计 146 9.4.1 转换过程和时序要求 147 9.4.2 程序流程 147 9.4.3 程序说明 148 9.5 实例总结 149 第10章 基于MAX527的 第10章 并行D/A转换 150 10.1 实例说明 150 10.2 设计思路分析 150 10.2.1 D/A转换原理 151 10.2.2 如何选择D/A转换器件 151 10.2.3 D/A转换器对电源 10.2.3 电路的要求 152 10.3 硬件电路设计 152 10.3.1 主要器件 152 10.3.2 电路原理图及说明 154 10.4 软件设计 156 10.4.1 MAX527的地址和 10.4.1 重要引脚 156 10.4.2 程序流程 157 10.4.3 程序说明 158 10.5 实例总结 159 第11章 基于MAX517的 第11章 串行D/A转换 160 11.1 实例说明 160 11.2 设计思路分析 160 11.2.1 芯片选取 161 11.2.2 工作原理 161 11.3 硬件电路设计 162 11.3.1 主要器件 162 11.3.2 电路原理图及说明 163 11.4 软件设计 164 11.4.1 时序要求和转换过程 164 11.4.2 程序说明 165 11.5 实例总结 167 第12章 基于SHT71数字温/湿度 第12章 传感器的采集实现 168 12.1 实例说明 168 12.2 设计思路分析 168 12.2.1 SHT71性能概述 168 12.2.2 SHT71的功能说明 169 12.2.3 SHT71的引脚尺寸和说明 170 12.3 硬件电路设计 171 12.4 软件设计 172 12.4.1 SHT71的操作方法 172 12.4.2 程序流程 173 12.4.3 源程序清单 174 12.5 实例总结 181 第13章 基于DS1624的数字 第13章 温度计设计 182 13.1 实例说明 182 13.2 设计思路分析 182 13.2.1 DS1624简介 183 13.2.2 DS1624基本特性 183 13.2.3 DS1624工作原理 183 13.2.4 DS1624工作方式 186 13.2.5 DS1624的指令集 186 13.3 硬件电路设计 187 13.3.1 硬件设计 187 13.3.2 原理图及其说明 187 13.4 软件设计 188 13.4.1 程序流程 188 13.4.2 程序说明 189 13.5 实例总结 194 第四篇 控制系统设计 第14章 基于DS12C887的实时 第14章 日历时钟显示系统设计 196 14.1 实例说明 196 14.2 设计思路分析 197 14.2.1 选择合适的日历时钟芯片 197 14.2.2 如何由DS12C887芯片 14.2.2 获取时间信息 197 14.3 硬件电路设计 198 14.3.1 结构框图 198 14.3.2 主要器件 198 14.3.3 电路原理图及说明 200 14.4 软件设计 202 14.4.1 DS12C877的内存空间 202 14.4.2 程序流程 204 14.4.3 程序代码及说明 205 14.5 实例总结 207 第15章 单片机控制的 第15章 步进电机系统 208 15.1 实例说明 208 15.2 设计思路分析 208 15.2.1 步进电机的工作原理 209 15.2.2 步进电机的控制 211 15.2.3 脉冲分配与驱动 15.2.3 芯片的选取 212 15.3 硬件电路设计 213 15.3.1 结构框图 213 15.3.2 主要器件 214 15.3.3 电路原理图及说明 215 15.4 软件设计 217 15.4.1 程序流程 217 15.4.2 程序说明 218 15.5 实例总结 220 第16章 基于MAX1898的智能 第16章 充电器设计 222 16.1 实例说明 222 16.2 设计思路分析 223 16.2.1 为何需要实现充电器的 16.2.1 智能化 223 16.2.2 如何选择电池充电芯片 223 16.2.3 MAX1898的充电 16.2.1 工作原理 224 16.3 硬件电路设计 226 16.3.1 主要器件 226 16.3.2 电路原理图及说明 227 16.4 软件设计 230 16.4.1 程序流程 230 16.4.2 程序说明 231 16.5 实例总结 232 第五篇 存储系统与外设扩展 第17章 基于NOR Flash AM29LV320 第17章 的数据存储 234 17.1 实例说明 234 17.2 设计思路分析 235 17.2.1 芯片AM29LV320 235 17.2.2 具体设计思路 237 17.3 硬件电路设计 237 17.4 软件设计 239 17.4.1 AM29LV320的命令 17.4.1 与状态 240 17.4.2 串行异步数据传输 256 17.4.3 程序代码说明 256 17.5 实例总结 265 第18章 基于XC95144的串口扩展 266 18.1 实例说明 266 18.2 设计思路分析 267 18.2.1 串口发送的设计 267 18.2.2 串口接收的设计 269 18.2.3 串口模块的设计 271 18.3 硬件电路设计 273 18.4 软件设计 275 18.4.1 CPLD的设计原理图 275 18.4.2 C51单片机程序代码说明 277 18.5 实例总结 279 第19章 基于8255扩展并行口 280 19.1 实例说明 280 19.2 设计思路分析 280 19.2.1 并行口扩展的原理 280 19.2.2 芯片选择 281 19.3 硬件电路设计 284 19.4 软件设计 286 19.5 实例总结 289 第六篇 信号与算法实现 第20章 单片机实现智能 第20章 信号发生器 292 20.1 实例说明 292 20.2 设计思路分析 293 20.2.1 信号发生芯片MAX038 293 20.2.2 如何在单片机系统中 20.2.2 使用MAX038 294 20.3 硬件电路设计 295 20.3.1 主要器件 295 20.3.2 电路原理图及说明 296 20.4 软件设计 298 20.4.1 程序流程 298 20.4.2 程序说明 299 20.5 实例总结 301 第21章 单片机实现步进式 第21章 PWM信号输出 302 21.1 实例说明 302 21.2 设计思路分析 302 21.2.1 PWM控制 303 21.2.2 选择合适的外部计数芯片 303 21.3 硬件电路设计 304 21.3.1 主要器件 304 21.3.2 电路原理图及说明 305 21.4 软件设计 306 21.4.1 8254的内部控制字 21.4.1 和计数寄存器 306 21.4.2 程序说明 308 21.5 实例总结 309 第22章 单片机实现CRC算法 310 22.1 实例说明 310 22.2 CRC原理 311 22.3 算法设计与程序实现 312 22.3.1 按位计算CRC 312 22.3.2 按字节计算CRC 313 22.3.3 按半字节计算CRC 316 22.3.4 主程序及测试结果 317 22.4 实例总结 318 第23章 单片机实现软件滤波 319 23.1 实例说明 319 23.2 设计思路分析 319 23.3 软件设计 322 23.4 实例总结 326 第七篇 通信传输系统设计 第24章 单片机实现点对点的 第24章 数据传输 328 24.1 实例说明 328 24.2 设计思路分析 328 24.2.1 串行通信基本原理 329 24.2.2 接口电平转换 330 24.3 硬件电路设计 331 24.3.1 结构框图 331 24.3.2 主要器件 331 24.3.2 电路原理图及说明 332 24.4 软件设计 333 24.4.1 协议设计 334 24.4.2 主机程序流程及代码 335 24.4.3 从机程序流程及代码 338 24.5 实例总结 340 第25章 单片机实现点对多点的 第25章 数据传输 341 25.1 实例说明 341 25.2 设计思路分析 342 25.2.1 如何实现从机识别 342 25.2.2 51单片机串口的 25.2.2 多机通信功能 342 25.3 硬件电路设计 343 25.4 软件设计 344 25.4.1 协议设计 344 25.4.2 主机程序流程及代码 344 25.4.3 从机程序流程及代码 348 25.5 实例总结 351 第26章 单片机实现以太网接口 352 26.1 实例说明 352 26.2 设计思路分析 353 26.2.1 以太网协议 353 26.2.2 选择合适的以太网 26.2.2 控制芯片 354 26.3 硬件电路设计 355 26.3.1 主要器件 355 26.3.2 电路原理图及说明 358 26.4 软件设计 360 26.4.1 地址空间与寄存器 360 26.4.2 程序说明 362 26.5 实例总结 365 第27章 单片机实现I2C总线通信 366 27.1 实例说明 366 27.2 设计思路分析 367 27.2.1 I2C总线的工作原理 367 27.2.2 I2C总线的通信时序 367 27.3 硬件电路设计 369 27.4 软件设计 369 27.4.1 程序流程 370 27.4.2 程序说明 370 27.5 实例总结 374 第28章 单片机实现RS-485 第28章 总线现场监测系统 375 28.1 实例说明 375 28.2 设计思路分析 376 28.2.1 RS-485总线 376 28.2.2 RS-485总线驱动芯片选取 379 28.2.3 MAX481构成的RS-485 28.2.3 总线网络 381 28.3 硬件电路设计 381 28.3.1 RS-232/485总线转接卡 381 28.3.2 带有RS-485总线接口的 28.3.2 单片机系统 382 28.4 软件设计 383 28.4.1 通信协议设计 384 28.4.2 程序流程 385 28.4.3 程序说明 386 28.5 实例总结 390 第29章 CAN总线接口通信设计 391 29.1 实例说明 391 29.2 设计原理与思路 391 29.2.1 CAN总线及CAN 29.2.1 总线协议简介 391 29.3 芯片选型 395 29.4 硬件电路设计 397 29.4.1 结构框图 397 29.4.2 主要器件说明 398 29.5 电路原理图及其说明 401 29.6 软件设计 403 29.6.1 程序总体思路说明 403 29.6.2 程序流程图 403 29.6.3 主要源程序清单和注释 406 29.7 实例总结 413 第八篇 电源监控与抗干扰设计 第30章 单片机监控电路设计 416 30.1 实例说明 416 30.2 设计思路分析 417 30.2.1 一种简单的单片机上 30.2.1 电复位电路 417 30.2.2 单片机监控芯片的选取 418 30.3 硬件电路设计 419 30.3.1 原理图设计 420 30.3.2 监控芯片的外围电路设计 420 30.4 软件设计 421 30.5 实例总结 422 第31章 光电隔离电路设计 423 31.1 实例说明 423 31.2 设计思路分析 424 31.2.1 光耦器件的工作原理 424 31.2.2 光耦器件的典型应用 425 31.2.3 如何选择光耦器件 427 31.3 硬件电路设计 428 31.3.1 主要器件 428 31.3.2 电路原理图及说明 428 31.4 实例总结 431 附录A 汇编语言与C语言的 附录A 混合编程 432 附录B 实例配套实验箱 451 书摘第1章 51单片机开发的基础知识 单片机全称单片微型计算机(Single Chip Microcomputer),顾名思义,它是指在一种单硅片上集成微型计算机主要功能部件的集成芯片。单片机的出现归功于大规模集成电路技术的发展,就组成和功能而言,可以毫不夸张地说,它就是一个微型计算机系统,内部集成了中央处理器(CPU)、随机数据存储器(RAM)、只读程序存储器(ROM)、定时器,计数器、输入/输出(I/O)接口电路以及串行通信接口等主要功能部件。 单片机最初主要应用于控制领域,在发展过程中又进一步扩展了各种控制功能,它可以独立执行内部程序,所以它又被称为微型控制器(Microcontroller)。 1.1 51单片机的硬件结构 本书所讲述的51单片机指的是Intel公司的MCS-51系列单片机,属于这一系列的单片机芯片型号很多,如8051/8052、8031/8032、8751/8752等,但它们的基本组成、基本性能和指令系统都是相同的。下面将详细介绍MCS-51系列单片机的硬件结构。 1.1.1 功能模块 51单片机内部的基本功能块如图1-1所示,它可以划分为CPU、存储器(RAM和ROM)、并行口、串行口、定时器,计数器、中断系统等几个部分。 1.1.2 CPU 51单片机最为核心的部分是中央处理器CPU,它由运算器和控制逻辑构成,其中包括若干特殊功能寄存器(SFR)。 运算器以算术逻辑单元ALU为中心,还包括累加器ACC(或者写为A)、暂存寄存器、B寄存器以及程度状态寄存器PSW等。 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。