本书包含4部分,共计27章。首先从最基本的概念、开发软件的操作入手,教读者如何搭建一个工程;之后带领读者深入浅出学习51单片机内部资源(如定时器、中断、串口)和经典外围电路(如LED、数码管、按键、液晶、点阵、EEPROM、温度传感器、时钟、红外线解码),同时穿插了一些C语言和基础电路;其后又扩展了一些工程中常用的知识点,如模块化编程、PCB、实时操作系统、上位机编程等;最后以一些小项目(如摇摇棒、温湿度控制系统、nRF24L01无线通信、蓝牙智能小车、语音点歌系统、简易电视)为例,手把手教大家进行实践。
配套资料中包含书中所有实例的例程、应用软件、PCB工程图及相关资料,且注释详尽,便于自学,读者可在北京航空航天大学出版社网站的“下载专区”免费下载。同时,与本书配套的50多讲高清视频——《31天环游单片机》,部分视频随配套资料附带,其余部分可到http://study.chinaaet.com/course/6100000018观看。本书还有与之配套的单片机实验板,这样理论结合实践进行学习,可以事半功倍。如果读者手上有别的实验板,配合本书同样可以学习。
本书可作为高等院校电子相关专业的8051单片机教材,也可作为课程设计、毕业设计、电子竞赛等的参考用书,还可作为电子工程技术人员的参考用书。
刘平,网名“残弈悟恩”,曾就职于珠海某电子公司,热爱电子产品的研发工作,擅长钻研、记录和分析经验与技术。先后在EDN和AET上创办“51单片机助学”小组,现创立了兰州文轩电子科技有限公司。
第一部分准备篇
笔记1三问敲开单片机的大门
1.1什么是单片机
1.2为何玩单片机
1.3如何玩单片机
笔记2开发必备
2.1单片机开发流程
2.2开发平台:MGMCV1.0实验板
2.3开发环境:KeilμVision
实例1我的第一个程序
2.4辅助工具
第二部分实例篇
笔记3点亮你心中的希望之灯--LED灯
3.1夯实基础--各进制的换算 第一部分准备篇
笔记1三问敲开单片机的大门
1.1什么是单片机
1.2为何玩单片机
1.3如何玩单片机
笔记2开发必备
2.1单片机开发流程
2.2开发平台:MGMCV1.0实验板
2.3开发环境:KeilμVision
实例1我的第一个程序
2.4辅助工具
第二部分实例篇
笔记3点亮你心中的希望之灯--LED灯
3.1夯实基础--各进制的换算
3.2工程图示LED
3.3LED的点点滴滴
3.4实例解读LED
实例2一闪一闪亮晶晶--让一个LED灯闪烁显示
实例3跑马的汉子--LED跑马灯(傻瓜版)
实例4跑马的汉子--LED跑马灯(高级版)
实例5美女长发飘飘流--LED流水灯
3.5知识扩展--混合编程
实例6C语言/汇编联合编程
笔记4奋斗警钟长鸣--蜂鸣器
4.1夯实基础--二极管
4.2蜂鸣器的点点滴滴
4.3实例诠释蜂鸣器
实例7国际求救信号:SOS
实例8生日快乐
4.4知识扩展--数字电路和C语言中的逻辑运算
笔记5数字世界--数码管
5.1夯实基础--三极管
5.2工程图示数码管
5.3数码管的点点滴滴
5.4实例诠释数码管
实例9静以修身--数码管静态显示
实例10动人心弦--数码管动态扫描
5.5知识扩展--MOS管
笔记6无怨无悔的定时器打扰者--中断
6.1夯实基础--C语言编程规范
6.2定时器和中断的点点滴滴
实例11"鬼火"灯(一)
6.3实例诠释定时器和中断
实例12"鬼火"灯(二)
实例134位计数器伴随8盏"鬼火"灯
附加实例请个大师来捉"鬼"--数码管的消隐
6.4知识扩展--复位和晶振电路
笔记7另类事件的引发者--按键
7.1夯实基础--C语言之数据
7.2工程图示按键
7.3按键的点点滴滴
7.4实例诠释按键
实例14孤独的操作手--独立按键
实例15孕育生命的摇篮--矩阵(按键_行列扫描法)
实例16孕育生命的摇篮--矩阵(按键_高低电平翻转法)
7.5延时版的消抖背后埋藏着多少深思--状态机法
实例17独立按键的检测--状态机法
7.6知识扩展--存储器
笔记8HelloWord--液晶
8.1夯实基础--C语言条件判断
8.2工程图示LCD
8.31602液晶的点点滴滴
实例18WelcomeMGTECH
8.4实例诠释LCD
实例19舞动的字母
8.512864液晶的点点滴滴
实例20王勃,您好
8.6实例诠释LCD
实例21新春快乐--LCD
实例22BirdsLOVE&&简易计算器--基于LCD
实例2312864液晶的点、线、面
实例2412864液晶的串口操作法
8.7知识扩展--Keil4的软仿真
笔记9夜晚需要它点缀--LED点阵
9.1夯实基础--C语言之循环
9.2LED点阵的点点滴滴
实例25点亮LED点阵的第一行
9.3实例诠释LED点阵
实例26显示"ILOVEYOU"
实例27"心"动
实例28流星雨
实例29山寨版交通指示灯
9.4知识扩展--各种版本的延时
笔记10小桥流水--串口通信
10.1夯实基础--C语言之数组、字符串
10.2工程图示串口
10.3串口的点点滴滴
10.4实例诠释串口
实例30调试的第三只手--串口调试
实例31通信的桥梁--收发必须统一
实例32上位机与下位机通信载体--串口
10.5知识扩展--上拉电阻和下拉电阻
笔记11有一种总线叫I2C总线
11.1夯实基础--C语言之函数
11.2工程图示EEPROM
11.3I2C总线和AT24C02的点点滴滴
11.4实例诠释I2C总线的操作方法
实例33读/写必须统一--AT24C
实例34单片机开关机多少次
11.5知识扩展--单片机的I/O口
笔记12探究数模、模数的奥秘
12.1夯实基础--运算放大器
12.2工程图示A/D及D/A
12.3D/A及A/D的点点滴滴
12.4实例诠释A/D和D/A
实例35互换的代价--A/D&&D/A
实例36简易多波形发生器
12.5知识扩展--10种软件滤波算法
笔记13感知冷热的神秘仪器--温度传感器
13.1夯实基础--C语言之指针
13.2工程图示温度传感器
13.3温度传感器的点点滴滴
13.4实例诠释温度传感器
实例37基于LM75的温度测试仪
13.5知识扩展--单片机还养了一只小"狗"
实例38LED灯闪烁是因为"狗"饿了
实例39要让系统OK必须实时喂狗
笔记14响声十二下、开始新一天--时钟
14.1夯实基础--C语言之结构体
14.2时钟芯片的点点滴滴
14.3实例诠释时钟
实例40基于PCF8563的时钟设计
14.4知识扩展--与电磁兼容有关的几个概念
笔记15玩转红外编、解码
15.1夯实基础--电源
15.2工程图示红外编、解码
15.3红外编、解码的点点滴滴
15.4实例诠释红外编解码
实例41红外解码
实例42红外编码之发射
15.5知识扩展--案例解说电源
第三部分拓展篇
笔记16重建程序--模块化编程
16.1Keil4的进阶应用--建模
16.2单片机的模块化编程
16.3源文件路径的添加
16.4模块化编程的应用实例
实例43模块化编程--8灯闪烁
实例44模块化编程--基于定时器的时钟
笔记17流行的操作系统--RTX51Tiny
17.1概述
17.2RTX51Tiny操作系统
17.3RTX51Tiny的应用实例
实例45流星慧灯--基于RTX51Tiny
实例46基于RTX51Tiny的MGMCV1.0全板测试程序
笔记18高级指挥者--上位机
18.1简述上位机
18.2上位机编程
18.3上位机的应用实例
实例47基于LabWindows/CVI简易串口助手
实例48基于VS2010的简易串口助手
实例49基于LabVIEW的简易串口助手
笔记19DIY必备基础--PCB
19.1PCB设计流程
19.2PCB问答
19.3PCB软件的使用
第四部分项目篇
笔记20如何搭建MCU的最小系统
20.1单片机的体系结构
20.2单片机最小系统
20.34种最小系统的搭建方法
笔记21DIY摇摇棒--1+1项目
21.1项目概述
21.2硬件设计
21.3软件设计
笔记22DIY"空调"--菜鸟级项目
22.1项目概述
22.2硬件设计
22.3软件设计
22.4DIY"空调"的制作点睛
笔记23升级版的DIY"空调"--PID算法
23.1PID概述
23.2PID方式转换
23.3"老外"的PID算法
笔记24无线温/湿度测试系统--基于nRF24L
24.1项目简介
24.2两个子模块的准备
24.3发射系统的设计
24.4接收系统的下位机设计
24.5接收系统的上位机开发
笔记25基于Android手机的蓝牙智能小车
25.1电机驱动
25.2实例解读3种电机
25.3蓝牙模块
25.4手机控制界面
25.5晒晒蓝牙智能小车
笔记26基于LD3320的语音点歌系统
26.1工程简介
26.2LD3320概述
26.3系统的调试点睛
笔记27基于单片机的简易电视机
27.1项目背景
27.2DIY电视的硬件设计
27.2.1硬件设计--CPU
27.2.2硬件设计--电源电路
27.2.3硬件设计--视频解码和显示电路
27.2.4硬件设计--音频功放电路
27.3软件调试
参考文献