内容简介
第1章 概述
1.1单片机的概念与发展过程
1.1.1单片机的概念
1.1.2单片机技术发展过程
1.1.3单片机技术发展方向
1.1.4常用数制与编码
1.2单片机的应用领域与嵌入式系统
1.2.1单片机的应用领域
1.2.2嵌入式系统的概念
1.3单片机应用系统开发过程简述
1.3.1单片机的编程语言
1.3.2单片机应用系统的结构
1.3.3单片机的应用模式
1.3.4单片机应用系统开发过程简介
1.4本书特点与教学安排
1.4.1本书编写的指导思想
1.4.2本书特点
1.4.3教学安排建议
1.5本章小结
1.6思考题与习题
第2章 单片机的结构和工作原理
2.1 MCS-51系列单片机概述
2.2 89S51单片机的引脚功能说明
2.2.1 89S51的引脚图与封装
2.2.2 89S51的引脚功能说明
2.2.3 89S51的引脚应用特性
2.3 89S51单片机的内部结构
2.3.1 89S51的基本组成
2.3.2 89S51的CPU
2.4 89S51单片机的存储器
2.4.1程序存储器
2.4.2数据存储器
2.5 89S51单片机的时钟电路与时序
2.5.1时钟电路
2.5.2基本时序单位
2.6 89S51单片机的工作方式
2.6.1复位工作方式和复位电路
2.6.2低功耗工作方式
2.6.3 ISP编程工作方式
2.7 89S51单片机的输入/输出接口
2.7.1 P0端口的结构及工作原理
2.7.2 P1端口的结构及工作原理
2.7.3 P2端口的结构及工作原理
2.7.4 P3端口的结构及工作原理
2.8本章小结
2.9思考题与习题
第3章 指令系统
3.1 MCS-51单片机指令概述
3.1.1指令格式
3.1.2符号说明
3.2寻址方式
3.2.1寄存器寻址方式
3.2.2直接寻址方式
3.2.3寄存器间接寻址方式
3.2.4立即寻址方式
3.2.5变址寻址方式
3.2.6相对寻址方式
3.2.7位寻址方式
3.3 89S51单片机的指令系统
3.3.1数据传送类指令
3.3.2算术运算类指令
3.3.3逻辑运算及移位类指令
3.3.4控制转移类指令
3.3.5位操作类指令
3.4本章小结
3.5思考题与习题
第4章 单片机程序设计基础
4.1汇编语言的特点及语句格式
4.1.1汇编语言的特点
4.1.2汇编语言的语句格式
4.2汇编语言程序的基本结构
4.2.1顺序结构
4.2.2分支结构
4.2.3循环结构
4.3汇编语言的伪指令与汇编
4.3.1汇编语言的伪指令
4.3.2汇编语言的汇编
4.4汇编语言程序设计举例
4.4.1算术运算程序
4.4.2数制转换程序
4.4.3定时程序
4.4.4查表程序
4.4.5数据极值查找程序
4.5 C51高级语言程序设计
4.5.1 C51的标识符与关键字
4.5.2 C51语言的数据类型
4.5.3 C51变量的存储种类和存储器类型
4.5.4 C51的运算符和表达式
4.5.5 C51语言的基本语句
4.5.6 C51函数
4.5.7 C51语言与汇编语言混合编程的方法
4.5.8编写C51语言应用程序的基本原则
4.5.9 C51高级语言程序设计举例
4.6本章小结
4.7思考题与习题
第5章 中断系统
5.1中断的概念
5.1.1中断的概念
5.1.2中断的条件与响应过程
5.2 89S51的中断系统结构与控制
5.2.1 89S51的中断源和中断矢量
5.2.2 89S51的中断系统结构
5.2.3中断的控制
5.3中断应用举例
5.3.1单外部中断源系统的设计
5.3.2多外部中断源系统的设计
5.4本章小结
5.5思考题与习题
第6章 定时器/计数器
6.1定时器/计数器的结构与控制
6.1.1 89S51定时器/计数器的结构
6.1.2定时器/计数器的控制
6.2定时器/计数器的4种工作方式
6.2.1工作方式1
6.2.2工作方式2
6.2.3工作方式3
6.2.4工作方式0
6.3定时器/计数器的应用举例
6.3.1脉冲信号的产生
6.3.2脉冲宽度的测量
6.4本章小结
6.5思考题与习题
第7章 串行口UART
7.1串行口UART的结构与控制
7.1.1串行口的结构
7.1.2串行口的控制
7.2串行口的工作方式
7.2.1工作方式0
7.2.2工作方式1
7.2.3工作方式2
7.2.4工作方式3
7.3串行口应用举例
7.3.1串行口UART扩展并行I/O接口
7.3.2串行口UART实现双机异步串行通信
7.3.3串行口UART实现多机异步串行通信
7.4本章小结
7.5思考题与习题
第8章 单片机的常用接口技术
8.1键盘接口
8.1.1独立式按键
8.1.2矩阵键盘
8.2 LED显示器接口
8.2.1 LED数码管
8.2.2 LED数码管的静态显示接口
8.2.3 LED数码管的动态显示接口
8.3 DAC接口
8.3.1 DAC0832与单片机的接口
8.3.2 TLC5618与单片机的接口
8.4 ADC接口
8.4.1 ADC0809与单片机的接口
8.4.2 MC14433与单片机的接口
8.5外部并行三总线接口
8.6大功率器件驱动接口
8.6.1光耦接口
8.6.2继电器接口
8.6.3双向晶闸管输出接口
8.6.4固态继电器输出接口
8.7本章小结
8.8思考题与习题
第9章 串行总线技术
9.1串行通信基本知识
9.1.1并行通信和串行通信
9.1.2串行通信的传输方式
9.1.3通信协议
9.2串行通信EIA系列总线标准及其接口
9.2.1 RS-232C总线
9.2.2 RS-422/485总线
9.2.3单片机与PC之间的通信
9.3三线制同步串行总线接口
9.3.1 SPI总线简介
9.3.2 MICROWIRE接口简介
9.3.3 SPI接口单片机P89LPC93x与ADC器件AD7810的通信
9.3.4 MICROWIRE接口E2 PROM器件AT93C46的应用
9.4 I2C总线
9.4.1 I2C总线简介
9.4.2 P89C66x系列单片机I2C总线编程规范
9.4.3 I2C接口DAC转换器MAX517的应用
9.5 CAN总线
9.5.1 CAN总线简介
9.5.2 CAN总线控制器
9.5.3 CAN总线通信接口设计实例
9.6 USB总线
9.6.1 USB总线原理
9.6.2 USB总线通信接口设计实例
9.7 1-Wire单总线
9.7.1 1-Wire单总线简介
9.7.2单总线温度传感器DS 18B20及其应用
9.8本章小结
9.9思考题与习题
第10章 单片机应用系统的开发环境
10.1单片机应用系统的开发方法
10.1.1单片机应用系统的开发过程
10.1.2单片机应用系统的仿真调试
10.2 Keil μVision2集成开发环境
10.2.1 Keil μVision2的主要特性
10.2.2 Keil μVision2的使用方法
10.3 Proteus仿真软件
10.3.1 Proteus主界面介绍
10.3.2 Proteus绘制电路原理图
10.3.3 Proteus与KeilμVision2的联调
10.4单片机应用系统开发小工具
10.4.1波特率初值计算工具
10.4.2数码管编码器
10.4.3定时器计算工具
10.4.4串口调试助手
10.5本章小结
10.6思考题与习题
第11章 基于嵌入式实时操作系统的单片机程序设计方法
11.1嵌入式实时操作系统的概念
11.1.1嵌入式系统的特征
11.1.2嵌入式实时操作系统的概念
11.2在电子系统设计中引入实时操作系统的意义
11.2.1两种软件开发模式的比较
11.2.2嵌入式应用中使用ERTOS的必要性
11.2.3嵌入式操作系统环境下的应用软件设计
11.2.4嵌入式操作系统环境下的应用软件调试
11.3嵌入式实时操作系统RTX51介绍
11.3.1 RTX51的技术参数
11.3.2几个概念
11.3.3 RTX51 Tiny内核分析
11.3.4 RTX51 Tiny内核源代码
11.4基于RTX51的单片机程序设计方法
11.4.1目标系统需求
11.4.2软件设计指导方针
11.4.3任务划分的原则
11.4.4应用程序的架构
11.5本章小结
11.6思考题与习题
第12章 基于RTX51的乐曲编辑器和发生器的设计
12.1设计任务
12.2方案设计与论证
12.2.1以FPGA为核心的实现方案
12.2.2以MCU为核心的实现方案
12.3系统硬件设计
12.3.1系统硬件电路原理图
12.3.2人机交互界面
12.4基于RTX51的系统软件设计
12.4.1乐曲的表示方法
12.4.2编辑乐曲的软件实现方法
12.4.3播放乐曲的软件实现方法
12.4.4系统软件流程框图
12.5系统源程序清单
12.5.1 C51高级语言主程序
12.5.2读AT24C02汇编语言子程序
12.5.3写AT24C02汇编语言子程序
12.5.4键盘扫描汇编语言子程序
12.5.5实时操作系统RTX51 Tiny内核程序
12.6本章小结
第13章 数控电流源的设计
13.1设计任务
13.2方案设计与论证
13.2.1 D/A转换模块设计方案的论证与比较
13.2.2恒流源模块设计方案的论证与比较
13.2.3数据采集模块设计方案的论证与比较
13.2.4辅助电源、主电源设计方案的论证与比较
13.2.5键盘、显示器设计方案的论证与比较
13.3理论计算与EWB仿真
13.3.1采样电阻值的确定
13.3.2 D/A转换器分辨率的确定
13.3.3 TLC5618参考电压的确定
13.3.4主电源参数的确定
13.3.5用EWB进行电路仿真
13.4系统硬件设计
13.4.1 MCU微控制器、键盘、显示器电路图
13.4.2 D/A转换模块、恒流源模块的电路图
13.4.3数据采集模块的电路图
13.4.4辅助电源、主电源的电路图
13.5系统软件设计
13.5.1主程序流程框图
13.5.2设置输出电流给定值程序流程框图
13.5.3设置电流步进值程序流程框图
13.5.4键盘扫描程序流程框图
13.6系统测试方法与结果分析
13.6.1测试使用的仪器
13.6.2恒流特性的测试
13.6.3电流步进值为1 mA的测试
13.6.4纹波电流的测试
13.6.5输出电流范围的测试
13.6.6输出电压的测试
13.6.7 1~99 mA内任意电流步进值设置功能的测试
13.6.8测试结果分析
13.7系统使用说明书
13.7.1键盘界面
13.7.2菜单操作
13.8系统源程序清单
13.8.1 C51高级语言主程序
13.8.2键盘扫描汇编语言子程序
13.8.3写TLC5618的汇编语言子程序
13.8.4读MC 14433的汇编语言子程序
13.8.5显示缓冲器的汇编语言子程序
13.9本章小结
附录A 单片机课程设计
附录B 89S51指令表
参考文献