单片机原理与应用开发教程 / 卓越工程师培养计划·电子设计实践系列
¥49.80定价
作者: 李桂林
出版时间:2016年8月
出版社:电子工业出版社
- 电子工业出版社
- 9787121293818
- 1-1
- 98695
- 47182338-5
- 平塑
- 16开
- 2016年8月
- 634
- 396
- 工学
- 计算机科学与技术
- TP368.1
- 电子信息与电气
- 本科
内容简介
本书以MCS—51系列单片机原理和应用开发为主线,分为基础篇和开发篇。基础篇采用汇编语言,重点介绍单片机的结构、指令系统、程序设计、内部标准功能单元、系统扩展等内容,并精心设计了大量例题和多种解题思路,突出教学重点、叙述准确精炼,完全可以满足教师课堂教学和学生课程学习需要。开发篇采用C语言,重点阐述单片机应用系统的开发方法,对应用系统设计、开发、调试方法以及开发工具的使用都进行了深入的讨论,并给出大量应用实例,强调初学者通过C语言快速上手、由浅入深。全书结构规范、系统性强、实例丰富,既注重基础知识讲解和注重逻辑思维的训练,又突出工程实践和实际应用;既可以满足卓越工程师培养的要求,也可以满足大学生电子竞赛训练的需要。为了方便教师教学和学生自学,本书配有重要知识点的交互式卡通动画、精致的PPT课件、汇编程序和C程序源代码。
目录
基 础 篇第1章 单片机基础知识 21.1 单片机概述 21.1.1 单片机的组成 21.1.2 单片机的特点 31.1.3 单片机系统 41.1.4 单片机的程序设计语言 41.2 单片机的历史和发展 51.2.1 单片机的发展历史 51.2.2 单片机的发展趋势 61.3 典型单片机简介 71.3.1 MCS-51系列单片机 71.3.2 AT89系列单片机 81.3.3 PIC系列单片机 91.3.4 MSP430系列单片机 91.4 单片机的应用 101.4.1 单片机的应用特点 101.4.2 单片机的应用领域 11知识结构图 12思考与练习 13第2章 单片机基本结构和工作原理 142.1 单片机的组成和内部结构 142.1.1 单片机的组成 142.1.2 单片机的内部逻辑结构 152.1.3 CPU的内部结构 152.1.4 单片机其他结构模块 172.2 单片机的外部引脚及功能 182.2.1 I/O端口 192.2.2 控制引脚 192.2.3 电源与晶振引脚 192.3 单片机的存储器结构 192.3.1 程序存储器 202.3.2 数据存储器 212.3.3 特殊功能寄存器 232.4 单片机的I/O电路 262.4.1 P0口 262.4.2 P1口 272.4.3 P2口 282.4.4 P3口 292.5 单片机的辅助电路 302.5.1 时钟电路 302.5.2 复位方式和复位电路 312.5.3 单片机最小系统 332.6 单片机的工作时序和工作方式 342.6.1 时序的基本概念 342.6.2 单片机的工作时序 352.6.3 单片机的工作方式 36知识结构图 38思考与练习 39第3章 指令系统和汇编程序设计 403.1 指令系统概述 403.1.1 指令的表达形式 403.1.2 指令中的常用符号 413.2 单片机的寻址方式 423.2.1 立即寻址 433.2.2 直接寻址 433.2.3 寄存器寻址 443.2.4 寄存器间接寻址 453.2.5 变址寻址 463.2.6 相对寻址 473.2.7 位寻址 483.3 单片机的指令系统 493.3.1 数据传送类指令 493.3.2 算术运算类指令 553.3.3 逻辑运算类指令 593.3.4 控制转移类指令 633.3.5 位操作类指令 663.4 汇编语言程序的设计基础 693.4.1 汇编语言的语句格式 703.4.2 伪指令 703.4.3 汇编语言程序结构 723.4.4 汇编语言的编辑和汇编 733.4.5 汇编语言程序设计方法 733.5 汇编语言程序的基本结构形式 743.5.1 顺序程序 753.5.2 分支程序 763.5.3 循环程序 803.5.4 子程序 843.6 常用程序设计举例 853.6.1 数制转换子程序 853.6.2 定时子程序 883.6.3 均值滤波子程序 883.6.4 数据极值查找子程序 903.6.5 算术运算子程序 91知识结构图 94思考与练习 95第4章 单片机内部标准功能单元 984.1 单片机的中断系统 984.1.1 中断系统的基本概念和基本结构 984.1.2 中断系统的控制与实现 1004.1.3 中断系统的处理过程 1044.1.4 中断系统的应用 1084.2 单片机的定时器/计数器 1134.2.1 定时器/计数器的基本结构和工作原理 1134.2.2 定时器/计数器的控制与状态 1154.2.3 定时器/计数器的工作方式 1164.2.4 定时器/计数器初值计算和初始化 1194.2.5 定时器/计数器的应用 1194.3 单片机的串行通信接口 1284.3.1 串行通信基础知识 1284.3.2 串行口的内部结构和工作原理 1304.3.3 串行口的控制与状态 1324.3.4 串行口的工作方式 1334.3.5 串行口波特率的确定和初始化 1354.3.6 串行口的应用 1364.3.7 单片机与PC机之间的通信 142知识结构图 149思考与练习 150第5章 单片机外部扩展技术 1515.1 并行总线扩展及编址 1515.1.1 单片机外总线的结构 1515.1.2 单片机外总线的扩展规则 1535.1.3 常用扩展器件 1535.1.4 地址译码方法 1575.2 存储器及其扩展 1605.2.1 半导体存储器简介 1605.2.2 EPROM程序存储器的扩展 1625.2.3 E2PROM程序存储器的扩展 1645.2.4 数据存储器及其扩展 1645.3 人机交互接口及其扩展 1695.3.1 键盘接口 1695.3.2 LED显示接口 1775.4 并行I/O端口扩展及应用 1835.4.1 简单I/O扩展 1835.4.2 接口芯片8155及扩展 1855.4.3 I/O接口芯片8255及扩展 1915.5 模拟量I/O通道扩展及应用 1965.5.1 A/D转换器基本知识 1965.5.2 A/D转换接口芯片ADC0809 1975.5.3 D/A转换器基本知识 2025.5.4 D/A转换接口芯片DAC0832 204知识结构图 208思考与练习 209第6章 单片机串行总线扩展技术 2116.1 串行总线概述 2116.2 单总线接口及其扩展 2116.2.1 单总线基础知识 2116.2.2 单总线的数据传输时序 2136.2.3 数字温度传感器DS18B20 2146.3 I2C总线接口及其扩展 2206.3.1 I2C总线基础知识 2206.3.2 I2C总线的数据传输时序 2216.3.3 I2C总线的时序模拟 2236.3.4 串行程序存储器AT24C04 2246.4 SPI总线接口及其扩展 2306.4.1 SPI总线基础知识 2306.4.2 SPI总线的数据传输时序 2316.4.3 E2PROM芯片X25045 2326.4.4 A/D转换器芯片TLC549 237知识结构图 239思考与练习 240
开 发 篇第7章 快速开发入门知识 2427.1 单片机应用系统开发技术 2427.1.1 单片机应用系统的开发过程 2427.1.2 单片机开发工具 2447.2 Keil集成开发平台 2477.2.1 创建一个应用程序 2487.2.2 应用程序的编辑、编译和链接 2527.2.3 应用程序的仿真和调试 2537.2.4 应用程序调试的常用窗口 2567.2.5 调试实例 258思考与练习 262第8章 单片机C51程序设计基础 2638.1 C51的概述 2638.1.1 C51程序结构概述 2638.1.2 C51对标准C的扩展 2648.2 C51的编译和编译预处理 2658.2.1 编译 2658.2.2 编译预处理 2668.3 C51的基本语法 2678.3.1 常量 2678.3.2 变量 2688.3.3 常用运算符与表达式 2738.4 C51的程序结构 2758.4.1 分支语句 2758.4.2 循环语句 2778.5 C51的函数 2808.5.1 函数的定义和分类 2808.5.2 函数的调用 2818.6 C51的库函数 2838.6.1 字符函数CTYPE.H 2838.6.2 内部函数INTRINS.H 2848.6.3 标准输入/输出函数STDIO.H 2858.6.4 标准函数STDLIB.H 2858.6.5 字符串处理函数STRING.H 2868.6.6 绝对地址访问函数ABSACC.H 2868.6.7 专用寄存器REGxx.H 2878.7 C51的数组 2878.7.1 数组的定义 2878.7.2 数组的应用 2888.8 C51的指针 2898.8.1 指针与地址 2898.8.2 指针的定义 2908.8.3 指针的引用 2918.9 C51编程举例 2918.9.1 读写I/O端口的C51编程 2928.9.2 中断系统的C51编程 2928.9.3 定时器/计数器的C51编程 2938.9.4 串行接口通信的C51编程 2958.9.5 I2C总线的C51编程 298思考与练习 302第9章 单片机学习板及功能模块 3049.1 单片机学习板的用途和特点 3049.2 单片机学习板的整体设计 3059.3 STC-ISP烧录软件的使用方法 3069.4 单片机学习板的功能模块 3079.4.1 流水灯控制单元 3079.4.2 数码管显示单元 3099.4.3 蜂鸣器单元 3109.4.4 独立按键单元 3129.4.5 矩阵键盘单元 3139.4.6 液晶显示单元 3159.4.7 I2C总线单元 3209.4.8 A/D和D/A单元 3209.4.9 温度测量单元 3259.4.10 串口通信单元 326第10章 电子万年历设计
开 发 篇第7章 快速开发入门知识 2427.1 单片机应用系统开发技术 2427.1.1 单片机应用系统的开发过程 2427.1.2 单片机开发工具 2447.2 Keil集成开发平台 2477.2.1 创建一个应用程序 2487.2.2 应用程序的编辑、编译和链接 2527.2.3 应用程序的仿真和调试 2537.2.4 应用程序调试的常用窗口 2567.2.5 调试实例 258思考与练习 262第8章 单片机C51程序设计基础 2638.1 C51的概述 2638.1.1 C51程序结构概述 2638.1.2 C51对标准C的扩展 2648.2 C51的编译和编译预处理 2658.2.1 编译 2658.2.2 编译预处理 2668.3 C51的基本语法 2678.3.1 常量 2678.3.2 变量 2688.3.3 常用运算符与表达式 2738.4 C51的程序结构 2758.4.1 分支语句 2758.4.2 循环语句 2778.5 C51的函数 2808.5.1 函数的定义和分类 2808.5.2 函数的调用 2818.6 C51的库函数 2838.6.1 字符函数CTYPE.H 2838.6.2 内部函数INTRINS.H 2848.6.3 标准输入/输出函数STDIO.H 2858.6.4 标准函数STDLIB.H 2858.6.5 字符串处理函数STRING.H 2868.6.6 绝对地址访问函数ABSACC.H 2868.6.7 专用寄存器REGxx.H 2878.7 C51的数组 2878.7.1 数组的定义 2878.7.2 数组的应用 2888.8 C51的指针 2898.8.1 指针与地址 2898.8.2 指针的定义 2908.8.3 指针的引用 2918.9 C51编程举例 2918.9.1 读写I/O端口的C51编程 2928.9.2 中断系统的C51编程 2928.9.3 定时器/计数器的C51编程 2938.9.4 串行接口通信的C51编程 2958.9.5 I2C总线的C51编程 298思考与练习 302第9章 单片机学习板及功能模块 3049.1 单片机学习板的用途和特点 3049.2 单片机学习板的整体设计 3059.3 STC-ISP烧录软件的使用方法 3069.4 单片机学习板的功能模块 3079.4.1 流水灯控制单元 3079.4.2 数码管显示单元 3099.4.3 蜂鸣器单元 3109.4.4 独立按键单元 3129.4.5 矩阵键盘单元 3139.4.6 液晶显示单元 3159.4.7 I2C总线单元 3209.4.8 A/D和D/A单元 3209.4.9 温度测量单元 3259.4.10 串口通信单元 326第10章 电子万年历设计