目 录
第1篇 序 幕
单片机是什么?单片机有何用?如何系统学习单片机?单片机系统设计的流程是怎样的,需要掌握哪些辅助软件?本篇将针对这些问题一一阐述,为读者掀开单片机完全学习与应用的华丽序幕。
第1章 单片机在哪里
1.1 ■寻找单片机
1.1.1 电磁炉与单片机
1.1.2 MP3播放机与单片机
1.1.3 更多单片机
1.2 ■学习单片机
1.2.1 掌握单片机基础知识
1.2.2 理解单片机系统
1.2.3 成为单片机系统设计师
1.3 ■单片机之家
1.3.1 Intel 8051单片机
1.3.2 PIC单片机
1.3.3 AVR单片机
1.3.4 其他单片机
1.4 ■应用体验——数字温度计
1.4.1 数字温度计工作原理
1.4.2 体验数字温度计
1.5 ■实例解读——装小球系统
1.5.1 需求分析
1.5.2 系统框架
第2章 如何成为单片机系统设计师
2.1 ■需要准备哪些
2.1.1 综合素质
2.1.2 软件工具
2.1.3 硬件工具之一:面包板
2.1.4 硬件工具之二:万用板和
印制电路板
2.1.5 焊接工具
2.1.6 焊接方法
2.2 ■单片机系统设计流程
2.2.1 需求分析
2.2.2 电路设计
2.2.3 程序设计
2.2.4 系统调试
2.3 ■应用体验——单片机控制下的
发光二极管
2.3.1 发光二极管工作原理
2.3.2 单片机的控制
2.3.3 体验单片机控制发光二极管
2.4 ■实例解读——反应时间测试仪
2.4.1 需求分析
2.4.2 电路设计
2.4.3 程序设计
第3章 单片机系统登场
3.1 ■单片机系统组成
3.1.1 单片机本身
3.1.2 系统的构成
3.2 ■单片机系统抽丝剥茧
3.2.1 AT89S51单片机的“外衣”
3.2.2 AT89S51单片机的管脚
3.2.3 常见外设
3.3 ■元器件插曲之一:变压器
3.3.1 变压器基础知识
3.3.2 电源变压器
3.4 ■元器件插曲之二:二极管与整流
3.4.1 二极管基础知识
3.4.2 整流
3.4.3 整流全桥
3.5 ■元器件插曲之三:电容
3.5.1 电容基础知识
3.5.2 电容的种类
3.5.3 电源滤波
3.6 ■元器件插曲之四:三端稳压与
单片机系统电源
3.6.1 三端稳压基础知识
3.6.2 单片机系统电源方案一:
自制直流稳压电源
3.6.3 单片机系统电源方案二:
电源适配器
3.6.4 单片机系统电源方案三:
USB口供电
3.7 ■元器件插曲之五:晶振与振荡器
3.7.1 晶振基础知识
3.7.2 振荡器
3.8 ■诠释单片机最简系统
3.8.1 单片机最简系统
3.8.2 电源端(VCC、GND)
3.8.3 时钟信号端(XTAL1、
XTAL2)
3.8.4 复位端(RST)
3.8.5 外部程序存储器访问控制端
( )
3.8.6 从最简系统出发
3.9 ■元器件插曲之六:电阻
3.9.1 电阻基础知识
3.9.2 电阻的参数和种类
3.9.3 电阻的分压、限流、上拉作用
3.10 ■从单片机最简系统开始设计
3.10.1 发光二极管交替发光
3.10.2 程序设计
3.10.3 初见汇编语言
3.10.4 初识指令
3.10.5 立即数
3.11 ■应用体验——发光二极管的交替
发光
3.11.1 控制交替发光的原理
3.11.2 体验交替发光
3.12 ■元器件插曲之七:开关
3.12.1 开关基础知识
3.12.2 常用开关
3.13 ■实例解读——与发光二极管的
交互
3.13.1 需求分析
3.13.2 电路设计
3.13.3 程序设计
3.13.4 延时子程序
第4章 单片机系统设计辅助软件
4.1 ■Proteus单片机系统仿真软件
4.1.1 Proteus软件界面
4.1.2 用Proteus仿真
4.2 ■Vision单片机程序开发
4.2.1 Vision软件界面
4.2.2 新建和保存项目
4.2.3 向项目中添加文件
4.2.4 汇编程序,生成执行代码
4.2.5 生成下载到单片机的执行
代码HEX文件
4.3 ■Vision的调试及仿真功能
4.3.1 调试界面
4.3.2 虚拟逻辑分析仪
4.4 ■应用体验——把程序下载到
单片机里
4.4.1 下载器与单片机
4.4.2 体验下载过程
4.5 ■实例解读——流水灯
4.5.1 需求分析
4.5.2 电路设计
4.5.3 软件设计
第2篇 揭 密
单片机的内部结构是怎样的?单片机开发经常会用到哪些电子技术和元器件知识?还有那困扰了很多人的单片机编程语言……本篇将生动地通过诸多实例带出单片机的基础知识,在遇到相关模拟电路、数字电路、元器件知识时会有及时的补充说明,带领读者一点点揭开单片机的神秘面纱。
第5章 单片机的触角——I/O口
5.1 ■何谓I/O口
5.1.1 I/O口的功能
5.1.2 I/O口与单片机的关系
5.1.3 I/O口的操作
5.2 ■元器件插曲之八:场效应管
5.2.1 JFET
5.2.2 MOSFET
5.3 ■元器件插曲之九:逻辑门
5.3.1 非门
5.3.2 或门
5.3.3 或非门
5.3.4 与门
5.3.5 与非门
5.3.6 异或门
5.3.7 缓冲器
5.4 ■元器件插曲之十:锁存器与触发器
5.4.1 门控D锁存器
5.4.2 边沿D触发器
5.5 ■I/O口结构探密
5.5.1 P1口
5.5.2 P3口
5.5.3 P0口
5.5.4 P2口
5.5.5 I/O口小结
5.6 ■应用体验——控制流水灯
5.6.1 功能与电路
5.6.2 体验控制流水灯
5.7 ■实例解读——晃晃灯
5.7.1 原理分析
5.7.2 需求分析
5.7.3 电路设计
5.7.4 软件设计
第6章 七段数码管显示
6.1 ■二进制与数据
6.1.1 二进制与数字
6.1.2 二进制与语音
6.1.3 二进制与图像
6.2 ■元器件插曲之十一:七段数码管
6.2.1 七段数码管原理
6.2.2 七段数码管显示数字
6.3 ■应用体验——计时器
6.3.1 功能与电路
6.3.2 体验计时器
6.4 ■元器件插曲之十二:蜂鸣器
6.4.1 蜂鸣器
6.4.2 蜂鸣器如何工作
6.5 ■元器件插曲之十三:三极管及
三极管开关
6.5.1 三极管基础
6.5.2 三极管的直流放大特性
6.5.3 三极管的直流增益
6.5.4 三极管的电流关系式
6.5.5 三极管开关
6.6 ■实例解读——带声音提示的秒表
6.6.1 需求分析
6.6.2 电路设计
6.6.3 开关抖动的处理
6.6.4 计时中数字的增加
6.6.5 软件设计
第7章 解剖单片机
7.1 ■单片机的功耗
7.1.1 运行功耗
7.1.2 I/O口驱动功耗
7.1.3 空闲模式
7.1.4 待机模式
7.2 ■单片机内部结构
7.2.1 从I/O口到内部结构
7.2.2 数据在内部交换
7.2.3 算术逻辑单元(ALU)
7.2.4 在Vision中观察寄存器
7.3 ■单片机的程序存储器
7.3.1 整体结构
7.3.2 程序下载到哪里
7.3.3 片内程序存储器
7.3.4 程序计数器PC
7.3.5 是片内还是片外程序存储器
7.3.6 在Vision中观察程序存储器
7.4 ■单片机的数据存储器
7.4.1 片内数据存储器
7.4.2 工作寄存器区(00H~1FH)
7.4.3 位寻址区(20H~2FH)
7.4.4 开放区(30H~7FH)
7.4.5 在Vision中观察数据存储器
7.5 ■单片机的特殊功能寄存器
7.5.1 特殊功能寄存器分布图
7.5.2 特殊功能寄存器的功能
7.5.3 特殊功能寄存器的字节操作
7.5.4 特殊功能寄存器的位操作
7.5.5 在Vision中观察特殊功能
寄存器
7.6 ■应用体验——用取表方式实现
流水灯
7.6.1 取表法
7.6.2 取表法小结
7.6.3 体验流水灯
7.7 ■实例解读——直接驱动七段
数码管
7.7.1 需求分析
7.7.2 电路设计
7.7.3 软件设计
第8章 单片机与汇编指令
8.1 ■汇编语言真面目
8.1.1 汇编语言与高级语言
8.1.2 从汇编程序到执行代码
8.1.3 伪指令
8.2 ■指令的执行
8.2.1 振荡周期、机器周期、指令
周期
8.2.2 指令的执行
8.3 ■寻址方式
8.3.1 直接寻址
8.3.2 间接寻址
8.3.3 寄存器寻址
8.3.4 寄存器特征寻址
8.3.5 立即寻址
8.3.6 变址寻址
8.4 ■指令分类
8.4.1 指令概述
8.4.2 指令的长度
8.5 ■算术运算指令
8.5.1 加法指令——ADD A,
<src-byte>
8.5.2 带进位的加法指令——ADDC
A, <src-byte>
8.5.3 带借位的减法指令——SUBB
A,<src-byte>
8.5.4 自增/自减指令——INC <byte>
/ DEC <byte>
8.5.5 乘法指令——MUL AB
8.5.6 除法指令——DIV AB
8.5.7 十进制调整指令——DA A
8.6 ■逻辑运算指令
8.6.1 与操作——ANL
<dest-byte>,<src-byte>
8.6.2 或操作——ORL
<dest-byte>,<src-byte>
8.6.3 异或操作——XRL <dest-byte>,
<src-byte>
8.6.4 累加器A清0操作——CLR
A
8.6.5 累加器A取反操作——CPL
A
8.6.6 累加器A位移动操作——RL、
RLC、RR、RRC
8.6.7 累加器A高低位交换操作
——SWAP A
8.7 ■数据装载指令
8.7.1 片内数据装载指令——MOV
<dest>, <src>
8.7.2 数据指针DPTR装载指令
——MOV DPTR, #data16
8.7.3 堆栈指令——PUSH、POP
8.7.4 数据交换指令——XCH、
XCHD
8.7.5 片外数据装载指令——MOVX
<dest>, <src>
8.7.6 查表指令——MOVC <dest>,
<src>
8.8 ■布尔指令
8.8.1 清0、置1、取反操作——CLR、
SETB、CPL
8.8.2 布尔逻辑运算指令——ANL、
ORL
8.8.3 位数据装载指令——MOV
<dest-bit>,<src-bit>
8.8.4 布尔跳转指令——JC、JNC、
JB、JNB、JBC
8.9 ■调用子程序指令
8.9.1 长调用指令——LCALL
8.9.2 绝对调用指令——ACALL
8.9.3 返回指令——RET、RETI
8.10 ■跳转与循环指令
8.10.1 无条件跳转指令——LJMP、
AJMP、SJMP、JMP
8.10.2 条件跳转指令——JZ、JNZ
8.10.3 比较跳转指令——CJNE
<dest-byte>, <src-byte>, rel
8.10.4 循环指令——DJNZ
<byte>,<rel-addr>
8.10.5 无操作指令——NOP
8.11 ■应用体验——七段数码管的串行
控制技术
8.11.1 串行与并行传输
8.11.2 串行控制七段数码管
8.11.3 程序设计
8.12 ■实例解读——指令应用(程序)
实例
8.12.1 数据求和
8.12.2 减法与二进制的二补数
8.12.3 异或操作指令XRL用于比较
寄存器数值
8.12.4 利用布尔指令产生矩形波
信号
8.12.5 布尔指令应用于控制 |
不错的书籍,谢谢分享