本书以实用为原则,以51单片机为例,通过大量实例,解析了单片机编程所需的C语言知识,以及单片机的基本接口和内外部常用资源的使用方法,最后通过综合应用实例介绍了单片机C语言编程的基本方法和技巧。书中的知识和技能都围绕着具体的应用示例展开,对可能造成初学者阅读障碍的内容做了详细的文字解释。为提升学习效果,每章设有“本章导读”“学习目标”和“学习方法建议”,每章后面附有典型的复习训练题(任务书),并且还提供了大量的配套学习资源。 本书适合作为职业院校电子信息工程、应用电子技术、自动化、电气工程及其自动化等相关专业的教材,也适合单片机初学者阅读,有利于快速入门和提高。
配套资料可以通过“机工电气”公众号回复ISBN号获取
本书以实用为原则,以51单片机为例,通过大量实例,解析了单片机编程所需的C语言知识,以及单片机的基本接口和内外部常用资源的使用方法,最后通过综合应用实例介绍了单片机C语言编程的基本方法和技巧。书中的知识和技能都围绕着具体的应用示例展开,对可能造成初学者阅读障碍的内容做了详细的文字解释。为提升学习效果,每章设有“本章导读”“学习目标”和“学习方法建议”,每章后面附有典型的复习训练题(任务书),并且还提供了大量的配套学习资源。 本书适合作为职业院校电子信息工程、应用电子技术、自动化、电气工程及其自动化等相关专业的教材,也适合单片机初学者阅读,有利于快速入门和提高。
配套资料可以通过“机工电气”公众号回复ISBN号获取
作者均为湖北省长阳县职教中心教师,均长期致力于电子信息、自动化等方向的教学工作,具有丰富的一线教学经验和实践经验。
前言
第1篇 入 门 基 础
第1章 学习单片机的必备基础1
1.1单片机的基本知识1
1.1.1单片机的作用1
1.1.2单片机的结构2
1.1.3单片机的封装示例2
1.1.4单片机的应用场合2
1.1.5单片机控制系统的基本结构4
1.1.6单片机控制系统的开发过程4
1.2单片机的引脚功能4
1.2.1STC89C52单片机的引脚功能5
1.2.2TTL电平和COMS电平的概念6
1.3单片机的最小系统7
1.3.1直流供电7
1.3.2时钟电路7
1.3.3复位电路8
1.4数制及相互转换简介8
1.4.1十进制数9
1.4.2二进制数9
1.4.3十六进制数9
1.4.4八进制数10
1.4.5各种数制之间相互转换的方法10
1.5搭建单片机开发环境11
1.5.1搭建硬件系统11
1.5.2搭建软件开发环境14
1.5.3Keil μVision4的最基本应用15
知识链接 存储器ROM、RAM和Flash的基本特点15
复习训练题16
第2章 入门关键——通过实现流水灯掌握单片机C语言基础知识18
2.1流水灯电路原理和硬件搭建19
2.1.1流水灯电路原理图19
2.1.2单片机控制流水灯的工作原理19
2.2本章相关的单片机C语言知识精讲20
2.2.1函数21
2.2.2数据类型22
2.2.3常量23
2.2.4变量25
2.2.5标识符和关键字28
2.2.6单片机C语言程序的基本结构28
2.2.7算术运算符和算术表达式29
2.2.8关系运算符和关系表达式29
2.2.9逻辑运算符和逻辑表达式30
2.2.10移位运算符和移位表达式31
2.2.11赋值运算符和复合赋值运算符32
2.2.12时钟周期、机器周期和指令周期32
2.2.13while循环语句和for循环语句32
2.2.14无参数和有参数函数的声明、定义和调用34
2.2.15良好的编程规范36
2.3使用“位操作”控制流水灯38
2.3.1编程思路38
2.3.2参考程序及解释38
2.4使用字节操作控制流水灯39
2.4.1编程思路39
2.4.2参考程序及解释39
2.5使用移位运算符控制流水灯40
2.5.1编程思路40
2.5.2参考程序及解释40
2.6使用库函数实现流水灯41
2.6.1循环移位库函数41
2.6.2参考程序及解释41
2.7使用条件语句实现流水灯43
2.7.1条件语句43
2.7.2参考程序及解释43
2.8使用多分支选择(switch)语句实现流水灯44
2.8.1switch语句44
2.8.2参考程序及解释45
2.9使用数组控制流水灯46
2.9.1数组46
2.9.2参考程序及解释47
2.10使用指针实现流水灯47
2.10.1指针47
2.10.2参考程序及解释48
知识链接 C语言运算符优先级简介49
复习训练题50
第2篇 初步提高——单片机基本接口和内、外部常用资源的使用
第3章 单片机指令器件的应用51
3.1独立按键的原理及应用51
3.1.1常见的轻触按键51
3.1.2轻触按键的通断过程及消抖52
3.1.3实现按键给单片机传送指令的硬件结构53
3.1.4独立按键的典型应用示例——按键控制蜂鸣器鸣响53
3.2矩阵按键的应用56
3.2.1矩阵按键的原理和硬件设计56
3.2.2矩阵键盘的典型编程方法——扫描法和利用二维数组存储键值56
3.3按键和单片机控制设备的运行状态62
3.3.1按键控制直流电机和交流电机的起动和停止62
3.3.2按键控制交流电机的顺序起动63
3.3.3按键控制电机的正反转67
3.3.4直流电机的PWM调速69
3.4开关与灯的灵活控制71
3.4.1钮子开关控制单片机实现停电自锁与来电提示71
3.4.2按键和单片机控制灯72
拓展1 薄膜按键的应用73
拓展2 触摸按键的应用74
复习训练题75
第4章 单片机常用显示器件的驱动76
4.1数码管的显示76
4.1.1常用的数码管类型与结构76
4.1.2数码管的静态显示78
4.1.3数码管的动态显示80
4.2LCD1602的认识和使用85
4.2.1LCD1602的引脚功能及与单片机的连接85
4.2.2LCD1602模块的内部结构和工作原理86
4.2.3LCD1602的工作时序88
4.2.4LCD1602的指令说明88
4.2.5LCD1602的编程90
4.3不带字库LCD12864的使用93
4.3.1LCD12864的引脚说明93
4.3.2LCD12864的模块介绍94
4.3.3LCD12864的读写时序95
4.3.4LCD12864的点阵结构95
4.3.5LCD12864的指令说明95
4.3.6LCD12864字模的获取96
4.3.7LCD12864显示信息操作示例96
4.3.8LCD12864的跨屏显示100
拓展1 用专用芯片驱动数码管102
拓展2 带字库的LCD12864液晶屏103
复习训练题104
第5章 单片机内部资源——中断及应用示例105
5.1单片机的中断系统105
5.1.1中断的基本概念105
5.1.2中断优先级和中断嵌套106
5.1.3应用中断需要设置的寄存器107
5.1.4中断服务程序的写法(格式)110
5.2定时器的工作方式1 111
5.2.1与周期相关的几个概念111
5.2.2定时器的工作方式1工作过程详解111
5.2.3定时器T0和T1的工作方式1应用示例 111
5.3外部中断的应用113
5.3.1低电平触发外部中断的应用示例113
5.3.2下降沿触发外部中断的应用示例115
复习训练题115
第6章 单片机内部资源——串口及应用117
6.1串行通信的基础知识117
6.1.1串行通信标准和串行通信接口117
6.1.2通信的几个基本概念119
6.1.3RS232串行通信的硬件连接120
6.1.4读写串口数据121
6.1.5单片机串行通信的控制寄存器122
6.1.6串口的工作方式122
6.2串口通信设置123
6.2.1计算机串口通信设置123
6.2.2单片机串口通信设置124
6.3单片机串口通信的基础程序示例125
6.4串口通信应用示例(用串口校准数字钟的时间)126
6.5I2C总线130
6.5.1I2C总线的认识和工作原理130
6.5.2I2C总线的基本功能编程131
知识链接1 SPI通信133
知识链接2 一些概念的区别和特点136
复习训练题139
第7章 A/D与D/A转换的应用140
7.1任务书——温度及电压监测仪140
7.2A/D转换141
7.2.1A/D与D/A转换简介141
7.2.2入门级A/D转换芯片ADC0809介绍141
7.2.3ADC0809应用示例144
7.3LM35温度传感器的认识和使用145
7.3.1LM35的外形及特点145
7.3.2LM35的典型应用电路分析146
7.3.3LM35的应用电路连接及温度转换编程146
7.4电压源147
7.5温度及电压监测仪的程序代码示例及分析147
7.6D/A转换芯片DAC0832及应用150
7.6.1DAC0832的内部结构和引脚功能150
7.6.2单片机实训台典型D/A转换模块介绍152
7.6.3DAC0832采用I/O方式编程示例152
7.6.4DAC0832采用扩展地址方式编程示例 153
7.7具有I2C 总线接口的A/D转换芯片的应用154
7.7.1具有I2C 总线接口的A/D转换芯片(PCF8591)的特点和引脚功能154
7.7.2A/D(D/A)转换芯片PCF8591的应用155
拓展传感器及应用161
复习训练题163
第3篇 综合实践
第8章 步进电机的控制164
8.1步进电机的基础知识164
8.1.1步进电机的概念164
8.1.2步进电机的特点164
8.1.3步进电机的参数165
8.1.4步进电机的步进方式(单拍、双拍、单双拍)166
8.2采用步进电机的驱动器对步进电机的控制167
8.2.1步进电机及驱动器167
8.2.2步进电机的位移装置及保护装置168
8.2.3步进电机的控制示例170
8.2.4步进电机的定位172
8.3采用驱动芯片对步进电机的控制174
8.3.1步进电机驱动芯片UDN2916174
8.3.2步进电机驱动芯片UDN2916驱动步进电机的典型应用示例174
复习训练题177
第9章 DS18B20温度传感器及智能换气扇180
9.1智能换气扇任务书180
9.2智能换气扇实现思路181
9.3DS18B20温度传感器182
9.3.1DS18B20简介182
9.3.2DS18B20的编程方法185
9.4模拟智能换气扇的程序代码示例及讲解188
复习训练题198
第10章 电子密码锁模拟203
10.1电子密码锁简介203
10.2电子密码锁的实现 205
10.2.1硬件接线及编程思路和技巧205
10.2.2程序代码示例及解释205
复习训练题218
附录220
附录A 单片机C语言的关键字220
附录B ASCII码表221
附录C 单片机C语言知识补充225
附录D 常见单片机种类简介228
随手扫一扫~了解多多