计算机系列教材 面向系统集成的C51单片机教程
作者: 杜隆胤 编著
出版时间: 2020年版
丛编项: 计算机系列教材
内容简介
《面向系统集成的C51单片机教程/计算机系列教材》在逐步展现51单片机原理及相关应用的同时,通过实例及剖析实时引入循环轮询多任务的调度思想,让读者在学习51单片机基础知识的同时,循序渐进地领悟如何将多个功能有机融合成一个实用系统。《面向系统集成的C51单片机教程/计算机系列教材》理论和实践并举,让读者以轻松的方式理解晦涩难懂的理论。只要是具有一定C语言基础的读者,都能通过阅读《面向系统集成的C51单片机教程/计算机系列教材》轻松掌握51单片机的使用并实现系统集成。《面向系统集成的C51单片机教程/计算机系列教材》由多年从事本课程教学的一线老师编写,十分适合该课程的教学使用,所有实例代码都是多年教学中积累的实际应用代码,读者均可放心使用。《面向系统集成的C51单片机教程/计算机系列教材》可作为计算机及电子类物联网相关专业本科生的“51单片机”课程教材。《面向系统集成的C51单片机教程/计算机系列教材》特色:《面向系统集成的C51单片机教程/计算机系列教材》作为嵌入式开发入门课程的教材,在由浅入深地介绍51单片机的基础知识及应用的同时,潜移默化地帮助学生构建多任务的概念,提高学生在51单片机环境下实现多任务的能力,为学生后期学习32位单片机及嵌入式操作系统奠定基础。《面向系统集成的C51单片机教程/计算机系列教材》是作者多年教学经验的凝练,书中代码均已得到反复验证,并避开晦涩难懂的理论,瞄准实用知识,轻松带领读者“零基础”入门嵌入式设计领域。
目录
目录
第1章51单片机概述1
1.1单片机与嵌入式系统1
1.2单片机的发展概况1
1.351系列单片机及主要生产厂家和机型2
1.4单片机编程2
1.5STC89系列单片机开发环境搭建3
本章小结8
练习8第2章闪烁的LED灯9
2.1创建第一个Keil工程9
2.2初识μVision4运行环境11
2.3创建并添加第一个源文件12
2.4编码保存与编译链接14
2.5下载运行16
2.6硬件实验环境18
本章小结19
练习20第3章存储系统21
3.1哈佛结构与冯·诺依曼结构21
3.251单片机存储系统22
3.3C51变量定义23
3.4内/外部数据存储器空间的访问23
3.5程序存储器空间的访问25
3.6特殊功能寄存器及特殊功能的位25
3.6.1特殊功能寄存器25
3.6.2特殊功能的位27
3.6.3寄存器相关头文件28
本章小结29
练习29第4章变量的位数及意义30
4.1芯片位数与变量位数30
4.2变量的位数与符号31
4.3代码移植中的变量问题及typedef31
4.4自定义头文件及包含32
4.5Keil中设定工程相关路径33
4.5.1添加头文件搜索路径33
4.5.2设定目标文件存放路径36
4.6让Keil认识变量类型38
4.6.1设置Keil中各类型字符的显示效果38
4.6.2设置自定义关键字39
本章小结41
练习42第5章I/O接口内部逻辑及应用43
5.1I/O接口内部逻辑43
5.1.1P0口44
5.1.2P1口44
5.1.3P2口45
5.1.4P3口45
5.2输出46
5.3输入47
5.4有源蜂鸣器48
5.5按键50
5.5.1按键电路50
5.5.2独立按键编码53
5.6数码管57
5.6.1数码管显示基本原理57
5.6.2多位数码管显示编码59
本章小结62
练习62第6章51单片机中的多任务编程63
6.1操作系统与多任务63
6.2多任务实现方式63
6.3循环轮询多任务的设计64
6.4循环轮询系统多任务的实现66
6.5循环轮询系统中任务的阻塞问题67
6.5.1非周期性实时任务中的阻塞68
6.5.2周期性实时任务中的阻塞69
6.6多任务编程实战——按键响应及数码管显示70
本章小结74
练习74第7章51中断系统76
7.1中断的概念76
7.251单片机的中断系统77
7.351单片机中断系统中的寄存器78
7.3.1中断标志相关寄存器TCON78
7.3.2中断标志相关寄存器SCON79
7.3.3中断允许寄存器IE80
7.3.4中断处理优先级寄存器IP81
7.451寄存器组及中断处理过程82
7.5中断服务程序的编写83
7.6外部中断应用——快速响应按键84
本章小结86
练习86第8章51单片机定时/计数器编程87
8.1计数与定时87
8.251单片机的定时/计数器87
8.351单片机定时/计数器相关寄存器88
8.3.1定时模式寄存器TMOD88
8.3.2定时器控制寄存器TCON88
8.3.3定时器计数值寄存器TH和TL89
8.451单片机的定时/计数器的工作方式89
8.4.1工作方式0——13位不循环计数方式89
8.4.2工作方式1——16位计数方式90
8.4.3工作方式2——8位自动重装载初值方式91
8.4.4工作方式3——T0被分成2个8位计数器92
8.551单片机定时/计数器的应用94
8.5.1方波发生器94
8.5.2硬件延时96
8.5.3音乐播放97
本章小结101
练习101第9章基于时钟中断的循环轮询多任务102
9.1基于时钟中断的周期性任务触发102
9.2系统心跳103
9.3心跳函数的实现104
9.4基于心跳的循环轮询系统主函数的实现105
9.5基于时钟心跳的循环系统实战——再现按键响应显示106
9.6芯片的睡眠107
本章小结109
练习110第10章串行通信111
10.1串行通信基本概念111
10.251单片机串行口112
10.3波特率的设置115
10.4数据的发送117
10.4.1程序查询方式发送数据117
10.4.2中断方式发送数据120
10.5串口数据接收122
10.6串行通信中的奇偶校验126
本章小结127
练习127第11章常规外设及应用128
11.1实时时钟RTC128
11.1.1DS1302模块简介128
11.1.2DS1302基本操作130
11.1.3时钟信息的获取与设置133
11.1.4RAM空间操作134
11.2温度传感器134
11.2.1DS18B20简介134
11.2.2DS18B20硬件连接135
11.2.3单总线基本操作136
11.2.4获取DS18B20温度数据基本流程138
11.2.5DS18B20应用编码138
11.3超声波测距140
11.4红外、火焰、声音感应器142
11.5三极管放大电路与继电器143
本章小结144
练习144第12章系统设计实例145
12.1玩具音乐盒145
12.1.1设计目标及相关电路145
12.1.2数据结构146
12.1.3系统实现148
12.1.4关键代码解析148
12.2电子日历149
12.2.1设计目标149
12.2.2相关电路150
12.2.3功能设计150
12.2.4软件系统设计152
12.2.5关键代码解析155
12.3物联网应用——App遥控灯155
12.3.1ATKESP8266 WiFi模块简介155
12.3.2ATKESP8266的配置158
12.3.3波特率设置161
12.3.4硬件连接163
12.3.5软件设计164
12.3.6关键代码解析165
本章小结166
练习166