第1章51单片机基础
1.151系列单片机的发展
1.2常见51单片机型号及其特点
1.2.1AT89S52
1.2.2P87C51x2
1.2.3STC89C52RC
1.351单片机的内核结构
1.3.1中央处理器
1.3.2存储器
1.3.3外部引脚
1.3.4时钟模块
1.451单片机的工作方式
1.4.1复位工作方式
1.4.2程序执行方式
1.4.3低功耗工作方式
1.4.4其他工作
第2章51单片机的指令系统和C语言
2.151单片机的寻址
2.1.1助记符和寻址基础
2.1.2寻址方式
2.251单片机的指令
2.2.1数据传送指令
2.2.2算术运算指令
2.2.3逻辑运算指令
2.2.4位操作指令
2.2.5控制转移指令
2.351单片机的伪指令和汇编程序设计
2.3.1伪指令
2.3.2汇编程序设计
2.451单片机的C语言
2.4.1C51语言的数据类型、运算符和表达式
2.4.2C51语言的结构
2.4.3C51语言的函数
2.4.4C51语言的数组和指针
2.4.5C51语言的自构造类型
2.5C51语言程序设计技巧
2.5.1养成好的编程习惯
2.5.2宏定义
2.5.3条件编译
2.5.4具体指针的应用
2.5.5一些关键字的使用
第3章51单片机的Keil μVision 4软件开发环境
3.1Keil μVision 4的工作界面
3.2Keil μVision 4的菜单栏
3.2.1File(文件)菜单
3.2.2Edit(编辑)菜单
3.2.3View(视图)菜单
3.2.4Project(项目)菜单
3.2.5Flash(Flash存储器)菜单
3.2.6Debug(调试)菜单
3.2.7Peripherals(串行接口)菜单
3.2.8Tools(工具)菜单
3.2.9SVCS(版本控制)菜单
51单片机C语言轻松入门(配视频教程)3.2.10Window(窗口)菜单
3.2.11Help(帮助)菜单
3.3Keil μVision 4的库函数
3.3.1库文件和头文件分类
3.3.2C51语言的库函数分类介绍
3.4“Hello World!”――Keil μVision 4的应用实例
3.5Keil μVision 44的错误信息
3.5.1变量未被使用警告(Warning 280)
3.5.2函数未被声明警告(Warning C206)
3.5.3头文件无法打开错误(Error C318)
3.5.4函数名称重复定义错误(Error C237)
3.5.5函数未被调用警告
3.5.6函数未定义警告(Warning C206)
3.5.7内存空间溢出错误
3.5.8函数重入警告
3.5.9常见编译器错误列表
第4章51单片机的硬件开发工具和Proteus硬件仿真环境
4.151单片机的硬件系统开发流程
4.251单片机的硬件开发工具
4.2.1编程器
4.2.2仿真器
4.2.3数字万用表
4.2.4数字示波器
4.3Proteus应用基础
4.3.1Proteus的运行界面和支持的文件
4.3.2Proteus的菜单
4.3.3Proteus的快捷工具栏和工具箱
4.4Proteus的使用流程
4.5Proteus中的51单片机及其使用
4.6Proteus和Keil μVision 4联合使用
4.6.1建立仿真文件和源文件
4.6.2联合调试中仿真的运行控制
4.6.3联合调试中的仿真数据记录
4.6.4联合调试中仿真的观察
4.6.5联合调试中51单片机的内部资源观察
4.6.6在Keil μVision 4中调用Proteus仿真器
第5章51单片机的并行端口
5.1数据和地址端口P0和P2
5.2普通I/O端口P1
5.3复用端口P3
5.4数据/地址总线扩展方法
5.551单片机的并行端口应用实例
5.5.1并行端口输出高/低脉冲电平实例
5.5.2并行端口驱动发光二极管(LED)实例
5.5.3并行端口驱动单位数码管实例
5.5.4并行端口驱动独立按键实例
5.5.5并行端口驱动行列扫描键盘实例
第6章51单片机的中断系统和外部中断
6.151单片机的中断系统
6.251单片机的中断处理过程
6.2.151单片机中断系统的初始化步骤
6.2.251单片机的中断服务子程序处理流程
6.351单片机的中断服务子程序设计
6.451单片机的外部中断
6.551单片机的外部中断应用实例
6.5.1中断计数(三极管)
6.5.2低电平中断的应用
6.5.3多个信号共用一个外部中断
第7章51单片机的定时计数器
7.151单片机定时计数器的组成
7.251单片机定时计数器的寄存器
7.2.1工作方式控制寄存器TMOD
7.2.2控制寄存器TCON
7.2.3数据寄存器TH0、TL0和TH1、TL1
7.351单片机定时计数器的工作方式
7.3.1工作方式0
7.3.2工作方式1
7.3.3工作方式2
7.3.4工作方式3
7.3.5定时计数器的中断
7.4使用51单片机的计数器
7.4.1使用定时功能
7.4.2使用计数功能
7.4.3使用门控信号
7.4.4读取定时计数器的值
7.5定时计数器T2
7.5.1T2的相关寄存器
7.5.2T2的工作方式
7.5.3T2的中断处理
7.651单片机定时计数器应用实例
7.6.1T0/T1控制外部引脚输出方波
7.6.2PWM波形输出
7.6.3对外部脉冲计数
7.6.4测量脉冲宽度
7.6.5使用T2输出方波
7.6.6使用T2进行精确定时
7.6.7使用T0/T1扩展外部中断
第8章51单片机的串行通信模块
8.1串行通信基础
8.251单片机的串行通信模块构成
8.351单片机的串行通信模块的寄存器
8.3.1串行通信模块控制寄存器(SCON)
8.3.2串行通信模块数据寄存器(SBUF)
8.3.3电源管理寄存器(PCON)
8.451单片机的串行通信模块的工作方式
8.4.1工作方式0
8.4.2工作方式1
8.4.3工作方式2和工作方式3
8.4.4串行通信模块的中断
8.551单片机的串行通信模块应用实例
8.5.1串口数据发送
8.5.2串口和PC进行通信
8.5.3使用串口扩展外部中断
8.5.4使用普通I/O引脚模拟串口通信
第9章51单片机的人机交互模块
9.1使用拨码开关设置地址
9.1.1拨码开关基础
9.1.2Proteus中的拨码开关
9.1.3实例设计思路
9.1.4实例的Proteus应用电路
9.1.5实例的应用代码
9.1.6实例的仿真结果和说明
9.2多位数码管显示流水数字
9.2.1多位数码管基础
9.2.2Proteus中的多位数码管
9.2.3实例的设计思路
9.2.4实例的Proteus应用电路
9.2.5实例的应用代码
9.2.6实例的仿真结果和说明
9.3多位数码管驱动芯片MAX7219显示日期
9.3.1MAX7219基础
9.3.2Proteus中的MAX7219
9.3.3实例的设计思路
9.3.4实例的Proteus应用电路
9.3.5实例的应用代码
9.3.6实例的仿真结果和说明
9.41602数字字符液晶显示“Hello 51MCU”
9.4.11602液晶基础
9.4.2Proteus中的1602液晶
9.4.3实例的设计思路
9.4.4实例的Proteus应用电路
9.4.5实例的应用代码
9.4.6实例的仿真结果和说明
第10章51单片机的信号采集和输出通道
10.1使用ADC0809采集模拟信号
10.1.1ADC0809基础
10.1.2Proteus中的ADC0809
10.1.3实例的设计思路
10.1.4实例的Proteus应用电路
10.1.5实例的应用代码
10.1.6实例的仿真结果和说明
10.2使用TLC2543采集模拟信号
10.2.1TLC2543基础
10.2.2Proteus中的TLC2543
10.2.3实例的设计思路
10.2.4实例的Proteus应用电路
10.2.5实例的应用代码
10.2.6实例的仿真结果和说明
10.3使用PCF8563获得当前时间
10.3.1PCF8563基础
10.3.2Proteus中的PCF8563
10.3.3实例的设计思路
10.3.4实例的Proteus应用电路
10.3.5实例的应用代码
10.3.6实例的仿真结果和说明
10.4使用DS18B20测量温度
10.4.1DS18B20基础
10.4.2Proteus中的DS18B20
10.4.3实例的设计思路
10.4.4实例的Proteus应用电路
10.4.5实例的应用代码
10.4.6实例的仿真结果和说明
10.5使用MAX517输出模拟信号
10.5.1MAX517基础
10.5.2Proteus中的MAX517
10.5.3实例的设计思路
10.5.4实例的Proteus应用电路
10.5.5实例的应用代码
10.5.6实例的仿真结果和说明
第11章51单片机应用系统
11.1简易电子琴
11.1.1应用系统背景
11.1.2设计思路
11.1.3硬件系统设计
11.1.4软件系统设计
11.1.5应用系统的仿真和总结
11.2手动程控放大器
11.2.1应用系统背景
11.2.2设计思路
11.2.3硬件系统设计
11.2.4软件系统设计
11.2.5应用系统的仿真和总结