| 作者 |
| 张毅刚 |
| 丛书名 |
| 高等学校规划教材 |
| 出版社 |
| 电子工业出版社 |
| ISBN |
| 9787121374074 |
| 简要 |
| 简介 |
| 内容简介 本书是普通高等教育“十一五”*规划教材和国家精品课程主讲教材。本书详细介绍美国Atmel公司的AT89S51单片机的内部硬件资源及工作原理,采用C51语言编程,并以虚拟仿真平台Proteus作为设计与开发工具,同时还简要介绍了Keil ?Vision的使用方法。本书从应用角度出发,重点介绍单片机应用的各种技术实现,如信息的显示与输入、中断、定时/计数、串行通信、模数与数模转换、系统的并行/串行扩展、应用系统设计等,并且给出较多虚拟仿真设计实例。扫描前言中的二维码可获取实验和课程设计题目。本书提供电子课件和习题参考答案,登录华信教育资源网(www.hxedu.com.cn)注册后即可免费下载。本书可作为各类工科高等学校和职业技术学院电气工程、电子电气信息技术、智能仪器仪表、机电一体化、计算机、自动化等专业单片机原理与应用课程的教材,也可供从事单片机应用设计的工程技术人员参考。 |
| 目录 |
| 第1章 单片机概述\t1 1.1 单片机简介\t1 1.2 单片机的发展历史\t1 1.3 单片机的特点\t2 1.4 单片机的应用领域\t3 1.5 单片机的发展趋势\t3 1.6 MCS-51系列与AT89S5x系列单片机\t4 1.6.1 MCS-51系列单片机\t4 1.6.2 AT89S5x系列单片机\t5 1.7 各种衍生的8051单片机\t6 1.7.1 STC系列单片机\t6 1.7.2 C8051Fxxx系列单片机\t7 1.7.3 ADμC812系列单片机\t8 1.7.4 华邦W77系列、W78系列单片机\t8 1.8 PIC系列单片机与AVR系列单片机\t8 1.8.1 PIC系列单片机\t8 1.8.2 AVR系列单片机\t9 1.9 其他嵌入式处理器简介\t10 1.9.1 DSP\t10 1.9.2 嵌入式微处理器\t11 思考题及习题1\t11 第2章 AT89S51单片机的内部硬件结构\t12 2.1 AT89S51单片机的硬件组成\t12 2.2 AT89S51单片机的引脚功能\t13 2.2.1 电源及时钟引脚\t13 2.2.2 控制引脚\t13 2.2.3 并行I/O口引脚\t14 2.3 AT89S51单片机的CPU\t15 2.3.1 运算器\t15 2.3.2 控制器\t16 2.4 AT89S51单片机存储器的结构\t17 2.4.1 程序存储器空间\t17 2.4.2 数据存储器空间\t18 2.4.3 特殊功能寄存器\t18 2.4.4 位地址空间\t21 2.5 AT89S51单片机的并行I/O口\t23 2.5.1 P0口\t23 2.5.2 P1口\t24 2.5.3 P2口\t24 2.5.4 P3口\t25 2.6 时钟电路与时序\t26 2.6.1 时钟电路设计\t26 2.6.2 机器周期、指令周期与指令时序\t27 2.7 复位操作和复位电路\t28 2.7.1 复位操作\t28 2.7.2 复位电路设计\t28 2.8 AT89S51单片机的最小应用系统\t29 2.9 看门狗定时器的使用\t29 2.10 低功耗节电模式\t30 2.10.1 空闲模式\t31 2.10.2 掉电模式\t31 思考题及习题2\t32 第3章 C51语言编程基础与Keil μVision\t34 3.1 C51语言概述\t34 3.1.1 C51语言与8051汇编语言的比较\t34 3.1.2 C51语言与标准C语言的比较\t34 3.2 C51程序设计基础\t35 3.2.1 C51语言的数据类型与存储类型\t35 3.2.2 C51语言的特殊功能寄存器及位变量定义\t39 3.2.3 C51语言的绝对地址访问\t41 3.2.4 C51语言的基本运算\t43 3.2.5 C51语言的分支与循环程序结构\t45 3.2.6 C51语言的数组\t51 3.2.7 C51语言的指针\t53 3.3 C51语言的函数\t54 3.3.1 函数的分类\t54 3.3.2 函数的调用\t55 3.3.3 中断服务函数\t56 3.3.4 变量及存储方式\t56 3.3.5 宏定义与文件包含\t57 3.3.6 库函数\t57 3.4 使用Keil μVision开发C51程序\t58 3.4.1 Keil μVision的基本操作\t58 3.4.2 添加用户源程序文件\t60 3.4.3 程序的编译与调试\t61 3.4.4 工程的设置\t64 思考题及习题3\t66 第4章 虚拟仿真平台Proteus的使用\t67 4.1 Proteus的基本功能\t67 4.2 Proteus ISIS的虚拟仿真\t68 4.3 Proteus ISIS环境简介\t69 4.3.1 原理图编辑窗口\t69 4.3.2 预览窗口\t70 4.3.3 对象选择窗口\t70 4.3.4 主菜单栏\t71 4.3.5 主工具栏\t73 4.3.6 工具箱\t74 4.3.7 仿真工具栏\t75 4.3.8 元件列表\t75 4.4 Proteus ISIS的编辑环境设置\t76 4.5 Proteus ISIS的系统运行环境设置\t77 4.6 单片机系统的电路设计与虚拟仿真\t78 4.6.1 电路设计与虚拟仿真的步骤\t78 4.6.2 新建或打开一个设计文件\t78 4.6.3 选择需要的元件到元件列表中\t79 4.6.4 放置元件并连接电路\t81 4.6.5 加载目标代码文件、设置时钟频率及仿真运行\t85 4.7 Proteus的各种虚拟仿真工具\t85 4.7.1 虚拟激励信号源\t85 4.7.2 虚拟仪器\t90 4.7.3 虚拟仪器的图表仿真\t99 4.7.4 硬件断点的设置\t101 第5章 单片机开关检测、键盘输入与显示接口设计\t104 5.1 用单片机控制发光二极管显示\t104 5.1.1 单片机与发光二极管的连接\t104 5.1.2 I/O口的编程控制\t105 5.2 开关状态检测\t108 5.2.1 开关检测实例1\t108 5.2.2 开关检测实例2\t109 5.3 用单片机控制LED数码管显示\t110 5.3.1 LED数码管的显示原理\t110 5.3.2 LED数码管的静态显示与动态显示\t112 5.4 用单片机控制LED点阵显示屏 显示\t115 5.4.1 LED点阵显示屏的结构与显示原理\t115 5.4.2 16×16 LED点阵显示屏设计实例\t116 5.5 用单片机控制LCD 1602显示\t119 5.5.1 LCD 1602简介\t119 5.5.2 LCD 1602设计实例\t125 5.6 用单片机控制LCD12864显示\t128 5.6.1 引脚功能与显示原理\t129 5.6.2 控制命令\t130 5.6.3 LCD12864设计实例\t131 5.7 键盘接口设计\t136 5.7.1 键盘接口设计需要解决的问题\t136 5.7.2 独立式键盘接口设计实例\t137 5.7.3 矩阵式键盘接口设计实例\t143 5.7.4 非编码键盘扫描方式的选择\t146 5.7.5 单片机与HD7279A的接口设计\t147 思考题及习题5\t156 第6章 中断系统的工作原理及应用\t158 6.1 AT89S51单片机中断技术概述\t158 6.2 AT89S51单片机中断系统结构\t158 6.2.1 中断源\t158 6.2.2 中断请求标志寄存器\t159 6.3 中断允许控制与中断优先级控制\t160 6.3.1 中断允许寄存器IE\t160 6.3.2 中断优先级寄存器IP\t161 6.4 响应中断请求的条件\t162 6.5 外部中断请求的响应时间\t163 6.6 外部中断的触发方式选择\t163 6.7 中断请求的撤销\t164 6.8 中断函数\t165 6.9 中断系统的应用\t166 6.9.1 单一外部中断的应用\t166 6.9.2 两个外部中断的应用\t167 6.9.3 中断嵌套的应用\t169 思考题及习题6\t170 第7章 定时/计数器的工作原理及应用\t171 7.1 定时/计数器的结构\t171 7.1.1 工作方式控制寄存器TMOD\t171 7.1.2 定时/计数器控制寄存器TCON\t172 7.2 定时/计数器的4种工作方式\t172 7.2.1 方式0\t172 7.2.2 方式1\t173 7.2.3 方式2\t174 7.2.4 方式3\t174 7.3 定时/计数器对外部输入信号的要求\t176 7.4 定时/计数器的编程和应用\t176 7.4.1 用P1口控制8个LED每0.5s闪亮一次\t176 7.4.2 计数器的应用\t177 7.4.3 控制P1.0引脚产生周期为2ms的方波\t179 7.4.4 利用T1控制发出频率为1kHz的音频信号\t180 7.4.5 制作LED数码管秒表\t182 7.4.6 测量脉冲宽度——门控位的应用\t184 7.4.7 LCD时钟的设计\t186 思考题及习题7\t188 第8章 串行口的工作原理及应用\t190 8.1 串行通信基础\t190 8.1.1 并行通信与串行通信\t190 8.1.2 同步通信与异步通信\t191 8.1.3 串行通信的传输模式\t191 8.1.4 串行通信的错误校验\t192 8.2 串行口的结构\t192 8.2.1 串行口控制寄存器SCON\t193 8.2.2 特殊功能寄存器PCON\t194 8.3 串行口的4种工作方式\t194 8.3.1 方式0\t194 8.3.2 方式1\t199 8.3.3 方式2\t200 8.3.4 方式3\t201 8.4 多机通信\t201 8.5 波特率的定义方法\t202 8.5.1 波特率的定义\t203 8.5.2 计算T1产生的波特率\t203 8.6 串行口的应用\t204 8.6.1 RS-232C、RS-422A与RS-485简介\t204 8.6.2 方式1的应用设计实例\t207 8.6.3 方式2和方式3的应用设计实例\t213 8.6.4 多机通信的应用设计实例\t215 8.6.5 单片机与PC机串行通信的设计实例\t222 8.6.6 PC机与单片机或与多个单片机的串行通信\t226 思考题及习题8\t227 第9章 单片机系统的并行扩展\t228 9.1 系统并行扩展技术\t228 9.1.1 系统并行扩展结构\t228 9.1.2 地址空间分配\t229 9.1.3 外部地址锁存器\t231 9.2 外部RAM的并行扩展\t233 9.2.1 常用的静态RAM芯片\t233 9.2.2 读/写外部RAM的操作时序\t234 9.2.3 并行扩展外部RAM设计实例\t235 9.2.4 单片机扩展RAM 6264设计实例\t237 9.3 内部Flash存储器的编程\t238 9.3.1 使用通用编程器\t239 9.3.2 使用ISP下载线\t239 9.4 E2PROM的并行扩展\t240 9.4.1 并行E2PROM芯片简介\t240 9.4.2 单片机扩展2864A设计实例\t241 9.5 利用82C55扩展并行I/O口\t242 9.5.1 并行I/O口扩展概述\t242 9.5.2 82C55简介\t243 9.5.3 82C55的三种工作方式\t246 9.5.4 单片机与82C55的接口电路设计实例\t250 9.6 利用74LSTTL电路扩展并行I/O口\t252 9.7 利用单片机的串行口扩展并行I/O口\t253 9.7.1 利用74LS165扩展并行输入口设计实例\t253 9.7.2 利用74LS164扩展并行输出口设计实例\t254 思考题及习题9\t255 第10章 单片机系统的串行扩展\t257 10.1 单总线串行扩展\t257 10.1.1 数字温度传感器DS18B20简介\t257 10.1.2 单总线串行扩展DS18B20实现温度测量系统设计实例\t260 10.2 SPI总线串行扩展\t263 10.3 I2C总线串行扩展\t264 10.3.1 I2C总线系统的基本结构\t264 10.3.2 I2C总线数据传送的规定\t265 10.3.3 单片机的I2C总线扩展系统\t267 10.3.4 I2C总线数据传送的模拟\t268 10.3.5 利用I2C总线扩展AT24C02的IC卡设计实例\t271 思考题及习题10\t277 第11章 单片机与D/A转换器、A/D转换器的接口\t278 11.1 单片机扩展D/A转换器概述\t278 11.2 单片机扩展8位并行D/A转换器\t279 11.2.1 DAC0832简介\t279 11.2.2 单片机并行扩展DAC0832 的程控电压源设计实例\t280 11.2.3 波形发生器设计实例\t281 11.3 单片机扩展10位串行D/A 转换器\t286 11.3.1 TLC5615简介\t286 11.3.2 单片机扩展TLC5615 设计实例\t287 11.4 单片机扩展A/D转换器概述\t290 11.5 单片机扩展8位并行A/D转换器\t291 11. |