内容简介
第1章 单片机概述
1.1什么是单片机
1.2单片机的发展历史
1.3单片机的特点
1.4单片机的应用
1.5单片机的发展趋势
1.6 MCS-51系列与AT89S5x系列单片机
1.6.1 MCS-51系列单片机
1.6.2 AT89系列单片机
1.6.3 AT89系列单片机的型号说明
1.7各种衍生品种的51单片机
1.7.1 STC系列单片机
1.7.2 C8051F × × ×单片机
1.7.3 ADμC812单片机
1.7.4华邦W77系列、W78系列单片机
1.8 PIC系列单片机与AVR系列单片机
1.8.1 PIC系列单片机
1.8.2 AVR系列单片机
1.9其他的嵌入式处理器简介
1.9.1嵌入式DSP处理器
1.9.2嵌入式微处理器
思考题及习题1
第2章 AT89S51单片机硬件结构
2.1 AT89S51单片机的硬件组成
2.2 AT89S51的引脚功能
2.2.1电源及时钟引脚
2.2.2控制引脚
2.2.3并行I/O口引脚
2.3 AT89S51的CPU
2.3.1运算器
2.3.2控制器
2.4 AT89S51单片机存储器的结构
2.4.1程序存储器空间
2.4.2数据存储器空间
2.4.3特殊功能寄存器
2.4.4位地址空间
2.5 AT89S51单片机的并行I/O端口
2.5.1 P0口
2.5.2 P1口
2.5.3 P2口
2.5.4 P3口
2.6时钟电路与时序
2.6.1时钟电路设计
2.6.2机器周期、指令周期与指令时序
2.7复位操作和复位电路
2.7.1复位操作
2.7.2复位电路设计
2.8看门狗定时器(WDT)的使用
2.9低功耗节电模式
2.9.1空闲模式
2.9.2掉电运行模式
思考题及习题2
第3章 C51语言编程基础与KeilμVision3的使用
3.1C51编程语言简介
3.1.1 C51语言与汇编语言的比较
3.1.2 C51语言与标准C语言的比较
3.2 C51语言程序设计基础
3.2.1 C51语言中的数据类型与存储类型
3.2.2 C51语言的特殊功能寄存器及位变量定义
3.2.3 C51语言的绝对地址访问
3.2.4 C51的基本运算
3.2.5 C51的分支与循环程序结构
3.2.6 C51的数组
3.2.7 C51的指针
3.3 C51语言的函数
3.3.1函数的分类
3.3.2函数的参数与返回值
3.3.3函数的调用
3.3.4中断服务函数
3.3.5变量及存储方式
3.3.6宏定义与文件包含
3.3.7库函数
3.4 Keil μVision3环境下的C51程序开发
3.4.1 Keil μVision3的基本操作
3.4.2添加用户源程序文件
3.4.3程序的编译与调试
3.4.4工程的设置
思考题及习题3
第4章 虚拟仿真开发工具Proteus的使用
4.1 Proteus功能概述
4.2 Proteus ISIS的虚拟仿真
4.3 Proteus ISIS环境简介
4.3.1 ISIS各窗口简介
4.3.2主菜单栏
4.3.3主工具栏
4.3.4工具箱
4.3.5仿真工具栏
4.3.6元件列表
4.3.7预览窗口
4.3.8原理图编辑窗口
4.4 Proteus ISIS的编辑环境设置
4.4.1选择模板
4.4.2选择图纸
4.4.3设置文本编辑器
4.4.4设置网格
4.5 Proteus ISIS的系统运行环境设置
4.6单片机应用系统的Proteus虚拟设计与仿真
4.6.1虚拟设计与仿真步骤
4.6.2新建或打开一个设计文件
4.6.3选择需要的元件到元件列表
4.6.4放置元件并连接电路
4.6.5加载目标代码文件、设置时钟频率及仿真运行
4.7 Proteus与μVision3的联调
思考题及习题4
第5章 单片机与显示器件及开关、键盘的接口设计
5.1单片机控制发光二极管显示
5.1.1单片机与发光二极管的连接
5.1.2 I/O端口的C51编程控制
5.2开关状态检测
5.2.1开关检测案例1
5.2.2开关检测案例2
5.3单片机控制LED数码管的显示
5.3.1 LED数码管的显示原理
5.3.2 LED数码管的静态显示与动态显示
5.4单片机控制LED点阵显示器显示
5.4.1 LED点阵显示器的结构与显示原理
5.4.2控制16 × 16 LED点阵显示屏的案例
5.5单片机控制液晶显示模块1602 LCD的显示
5.5.1 LCD 1602液晶显示模块简介
5.5.2单片机控制字符型LCD 1602显示案例
5.6键盘接口设计
5.6.1键盘接口设计应解决的问题
5.6.2独立式键盘接口设计案例
5.6.3矩阵式键盘接口设计案例
5.6.4非编码键盘扫描方式的选择
5.6.5专用键盘/显示器芯片HD7279的接口设计
思考题及习题5
第6章 AT89S51单片机的中断系统
6.1 AT89S51中断技术概述
6.2 AT89S51中断系统结构
6.2.1中断请求源
6.2.2中断请求标志寄存器
6.3中断允许与中断优先级的控制
6.3.1中断允许寄存器IE
6.3.2中断优先级寄存器IP
6.4响应中断请求的条件
6.5外部中断的响应时间
6.6外部中断的触发方式选择
6.6.1电平触发方式
6.6.2跳沿触发方式
6.7中断请求的撤销
6.8中断函数
6.9中断系统应用举例
6.9.1单一外中断的应用
6.9.2两个外中断的应用
6.9.3中断嵌套的应用
思考题及习题6
第7章 AT89S51单片机的定时器/计数器
7.1定时器/计数器的结构
7.1.1工作方式控制寄存器TMOD
7.1.2定时器/计数器控制寄存器TCON
7.2定时器/计数器的4种工作方式
7.2.1方式0
7.2.2方式1
7.2.3方式2
7.2.4方式3
7.3对外部输入的计数信号的要求
7.4定时器/计数器的编程和应用
7.4.1 P1口控制8只LED每0.5s闪亮一次
7.4.2计数器的应用
7.4.3控制P1.0产生周期为2 ms的方波
7.4.4利用T1控制发出1kHz的音频信号
7.4.5 LED数码管秒表的制作
7.4.6测量脉冲宽度——门控位GATEx的应用
7.4.7 LCD时钟的设计
思考题及习题7
第8章 AT89S51单片机的串行口
8.1串行口的结构
8.1.1串行口控制寄存器SCON
8.1.2特殊功能寄存器PCON
8.2串行口的4种工作方式
8.2.1方式0
8.2.2方式1
8.2.3方式2
8.2.4方式3
8.3多机通信
8.4波特率的制定方法
8.4.1波特率的定义
8.4.2定时器T1产生波特率的计算
8.5串行口应用设计案例
8.5.1各种串行通信接口标准
8.5.2方式1的应用设计
8.5.3方式2和方式3的应用设计
8.5.4多机通信的应用设计
8.5.5单片机与PC机串行通信的设计
8.5.6 PC机与单片机或与多个单片机的串行通信
思考题及习题8
第9章 AT89S51单片机的并行扩展技术
9.1系统并行扩展概述
9.1.1系统并行扩展结构
9.1.2地址空间分配
9.1.3外部地址锁存器
9.2外部程序存储器EPROM的并行扩展
9.2.1常用的EPROM芯片
9.2.2 AT89S51扩展EPROM的接口设计
9.2.3片内Flash存储器的编程
9.3外部数据存储器RAM的并行扩展
9.3.1常用的静态RAM (SRAM)芯片
9.3.2并行扩展RAM的接口设计
9.4 AT89S51扩展并行I/O芯片82C55的设计
9.4.1I/O接口扩展概述
9.4.2并行I/O芯片82C55简介
9.4.3 82C55的3种工作方式
9.4.4 AT89S51单片机与82C55的接口设计
9.5利用74LSTTL电路扩展并行I/O口
9.6用AT89S51单片机的串行口扩展并行输入/输出口
9.6.1用74LS165扩展并行输入口
9.6.2用74LS164扩展并行输出口
9.7用I/O口控制的扬声器报警接口
思考题及习题9
第10章 AT89S51单片机与DAC、ADC的接口
10.1AT89S51单片机扩展DAC0832
10.1.1 D/A转换器概述
10.1.2 8位并行DAC0832简介
10.1.3案例:DAC0832实现数字调压
10.1.4案例:波形发生器的制作
10.1.5案例:两片DAC0832双缓冲方式驱动X-Y绘图仪
10.1.6 DAC0832的双极性输出
10.2 AT89S51扩展10位串行DAC-TLC5615
10.2.1串行DACTLC5615简介
10.2.2案例:单片机与串行DACTLC5615的接口设计
10.3 AT89S51单片机与ADC0809的接口设计
10.3.1 A/D转换器简介
10.3.2 AT89S51与逐次比较型8位A/D转换器ADC0809的接口
10.3.3案例:单片机控制ADC0809进行A/D转换
10.3.4案例:2路输入的数字电压表的设计
10.4 AT89S51扩展12位串行ADC-TLC2543的设计
10.4.1 TLC2543的特性及工作原理
10.4.2案例:单片机扩展TLC2543的接口设计
10.5 AT89S51扩展12位并行A/D转换器AD1674的设计
10.6高分辨率的并行A/D转换器的选用
思考题及习题10
第11章 AT89S51单片机系统的串行扩展
11.1单总线串行扩展
11.1.1单总线器件温度传感器DS 18 B20简介
11.1.2设计案例:单总线DS18B20温度测量系统
11.2 SPI总线串行扩展
11.2.1SPI总线的扩展结构
11.2.2设计案例:扩展带有SPI接口的8位串行A/D转换器TLC549
11.3 I2C总线的串行扩展
11.3.1I2C串行总线系统的基本结构
11.3.2 I2C总线的数据传送规定
11.3.3 AT89S51的I2C总线扩展系统
11.3.4 12C总线数据传送的模拟
11.3.5设计案例:采用AT24C02存储器的IC卡设计
思考题及习题11
第12章 单片机的各种控制与检测应用设计
12.1单片机控制步进电机的设计
12.1.1控制步进电机的工作原理
12.1.2电路设计与编程
12.2单片机控制直流电机
12.2.1控制直流电机的工作原理
12.2.2电路设计与编程
12.3电机转速测量
12.3.1电机转速测量的工作原理
12.3.2电路设计与编程
12.4频率计的制作
12.4.1工作原理
12.4.2电路设计与软件编程
12.5基于时钟/日历芯片DS1302的电子钟设计
12.5.1 DS1302的工作原理
12.5.2电路设计与编程
12.6电话拨号的模拟
12.6.1模拟电话拨号的设计要求
12.6.2电路设计与编程
12.7简易音符发生器的制作
12.7.1设计要求及工作原理
12.7.2电路设计与编程
12.8 8位竞赛抢答器设计
12.8.1设计要求
12.8.2电路设计与仿真
12.9电梯运行控制的楼层显示
12.9.1工作原理与设计要求
12.9.2电路设计与仿真
12.10基于热敏电阻的数字温度计设计
12.10.1工作原理与技术要求
12.10.2电路设计与编程
附录1头文件“LCD1602.h”清单
附录2头文件“DS1302.h”清单
参考文献