单片机原理与应用设计

单片机原理与应用设计"

作者:宋海兰、于薇、钟玉珍、乔丹、田晶、王莹、夏丽荣
ISBN:9787302323747
定价:¥30
字数:千字
页数:
出版时间:2013.08.01
开本:
版次:1-1
装帧:
出版社:清华大学出版社
简介

本书按照企业开发流程,通过企业典型的工作任务将单片机及C语言程序设计的知识点分解到各个项目及任务中,通过单片机最小系统、单片机I/O接口、定时器/计数器、中断系统、串口通信、单片机的扩展、单片机的A/D转换7个知识点9个实训项目的学习,达到将知识学习由浅入深、能力培养由简单到复杂的目的。

    本书适合单片机及C语言程序设计的初学者使用,也适合各高等职业院校作为理论教学和实践教学教材使用。

    本书封面贴有清华大学出版社防伪标签,无标签者不得销售。

前言

目前单片机的教材种类繁多,但大多数教材内容以汇编语言为主,面向电子信息类的硬件知识讲授较软件知识的讲授要多一些。随着科技的发展和进步,现代工业中出现了跨电子、机械、信息等多门学科知识的综合性的新行业,如嵌入式应用开发行业,它不仅重视硬件的开发,同时注重软件的开发,许多传统的单片机也逐步发展为嵌入式单片机,其开发由原来的使用汇编语言逐步发展为使用C语言开发。为适应时代的发展,本书以“做中学、学中做、做学结合”为教学模式,以企业工作过程为导向进行编写。

本书根据初学者单片机的认知规律,将单片机的7个知识点——单片机最小系统、单片机I/O接口、定时器/计数器、中断系统、串口通信、单片机的扩展、单片机的A/D转换分解到9个实训项目中,每个项目又分解为若干个任务,每个任务结合企业工作流程及产品开发流程将知识点一一分别讲解,以此达到知识与技能殊途同归的教学目标。

本书具有以下特点。

(1) 以企业工作过程为导向,开发教学项目和实施教学内容。

企业工作过程往往有助于读者对单片机相关职业的衔接需求,本书充分体现了企业的工作理念和工作方法,从而更好地贴近职业的需求。

(2) 以职业岗位需求出发,以单片机为主线,采用C语言编程。

C语言是应用非常广泛的一门计算机语言。现代化科学技术领域中,C语言占有相当高的比重。单片机应用开发目前也在朝着高级语言方面发展,因此C语言在单片机上的应用也越来越广泛。C语言在单片机上应用开发方面的最大特点是,可以屏蔽一些不易掌握、难以理解或较复杂的硬件知识,可以较为简单地完成相关操作,使单片机应用开发的学习和实践得到有效的提高。

(3) 以职业岗位需求为目标,设计工作任务,构建具有针对性、扩展性和系统性的教学内容。

本书共22个工作任务,任务安排按照知识点由简单到复杂、技能训练由单一到综合的原则构建,综合能力体现了知识点的针对性、拓展性,系统的延伸性及系统性。

(4) 以学习兴趣为出发点,采用项目化、一体化教学模式。

学习兴趣是最好的老师,本书为了激发读者的学习兴趣,将不同的教学内容分解到各个项目中,并采用仿真教学的模式使读者在学习知识的同时,能够通过计算机仿真学习单片机的设计和制作,更好地提高学习效果。

本书由宋海兰、于薇、钟玉珍担任主编,乔丹、田晶、王莹、夏丽荣担任副主编,姜惠民担任主审。具体分工如下: 田晶、夏丽荣编写项目1和附录A,王莹编写项目2和项目8(部分),乔丹编写项目3,宋海兰、钟玉珍编写项目5、项目9和项目10,于薇编写项目4、项目6、项目7、项目8(部分)和附录B。全书由于薇组织编写并统稿。丁磊、刘艳锋、迟恩宇、赵桂茹、刘心美、孙佳帝、金山、金照春、王东、许海燕、那君、祝海英、李京泽、郭明珠、王鹤参与了本书的资料整理工作,并提供相关的实验素材,在此一并表示感谢!

为了方便教师的讲授和学生的自学,本书配有电子教学课件、Proteus电路设计文件、C语言源文件和可执行文件,以及书中的习题参考答案等,读者可从清华大学出版社网站http://www.tup.tsinghua.edn.cn上下载。

由于作者水平有限,书中难免有不足之处,欢迎使用者对本书批评指导。

目录

项目1单片机与开发环境1任务1.1了解单片机1

1.1.1单片机概述1

1.1.2MCS51单片机简介5

1.1.3单片机的开发环境7

1.1.4单片机开发流程10

任务1.2用Proteus设计单片机最小系统11

1.2.1Proteus简介11

1.2.2单片机最小系统12

1.2.3任务实施14

任务1.3用Keil建立一个“helloworld”C51源文件20

1.3.1Keil简介20

1.3.2C语言概述21

1.3.3任务实施21

项目总结26

练习题26

项目2单片机控制LED闪烁27

任务2.1LED单灯闪烁27

2.1.1硬件电路图的设计28

2.1.2单片机的P1口29

2.1.3单片机控制灯的闪烁29

2.1.4单片机中的程序及数据存储32

2.1.5任务实施37

任务2.28LED流水灯闪烁38

2.2.1C51的位运算符39

2.2.2单片机I/O端口40

2.2.3任务实施44

项目总结46

练习题46

项目3单片机控制数码管的显示48

任务3.1单数码管轮流显示0~9十个数483.1.1硬件知识49

3.1.2C51语言知识51

3.1.3任务实施54

单片机原理与应用设计任务3.2四数码管动态显示0~9十个数57

3.2.1位选和段选58

3.2.2数码管的动态显示和静态显示58

3.2.3任务实施59

任务3.38×8点阵显示62

3.3.1LED点阵63

3.3.28×8点阵显示屏的结构63

3.3.3点阵的引脚结构65

3.3.48×8LED点阵的汉字显示编码65

3.3.5LED点阵的显示方式66

3.3.6任务实施66

项目总结68

练习题69

项目4单片机控制按键中断71

任务4.1单键点亮流水灯71

4.1.1中断的概念72

4.1.2中断源72

4.1.3中断控制相关寄存器73

4.1.4中断向量74

4.1.5中断过程75

4.1.6任务实施76

任务4.2多键改变8LED流水灯状态77

4.2.1中断嵌套78

4.2.2任务实施78

任务4.3矩阵键盘点亮16灯81

4.3.1矩阵键盘82

4.3.2任务实施83

项目总结86

练习题86

项目5单片机的定时与计数88

任务5.1单灯1秒定时亮/灭88

5.1.1定时器/计数器的结构和工作原理89

5.1.2定时器/计数器的相关寄存器90

5.1.3定时器/计数器的工作方式92

5.1.4定时器/计数器定时的实现95

5.1.5任务实施96

任务5.28LED流水灯定时1秒亮/灭100

5.2.1定时器/计数器工作方式2101

5.2.2任务实施101

任务5.3外部脉冲计数105

5.3.1外部脉冲计数的工作原理106

5.3.2任务实施106

任务5.4单音阶音乐108

5.4.1单片机发声原理108

5.4.2任务实施110

项目总结112

练习题112

项目6单片机的串口输出113

任务6.1单数码管串口通信113

6.1.1串口通信的基础知识114

6.1.251单片机的串行口117

6.1.3任务实施119

任务6.2单片机双机通信121

6.2.1双机通信122

6.2.2波特率的应用122

6.2.3任务实施124

任务6.3单片机多机通信127

6.3.1串口工作方式2、方式3的多机通信128

6.3.2多机通信的工作原理128

6.3.3任务实施129

项目总结133

练习题134

项目7单片机的系统扩展135

任务7.18255扩展并行I/O 135

7.1.1单片机系统扩展概述136

7.1.2单片机存储器的扩展137

7.1.3单片机I/O的扩展142

7.1.4任务实施147

任务7.2单片机扩展串行EEPROM151

7.2.1串行存储器概述151

7.2.2AT24C02C芯片152

7.2.3数据传送过程152

7.2.4任务实施154

项目总结159

练习题159

项目8单片机的信号转换160

任务8.1制作数字电压表160

8.1.1A/D转换的基础知识161

8.1.2ADC0809 A/D转换器及接口设计161

8.1.3单片机与A/D转换器接口程序设计163

8.1.4任务实施163

任务8.2A/D转换器及接口设计168

8.2.1工作原理169

8.2.2任务实施170

项目总结174

练习题174

项目9综合实训1——简易数字钟的设计175

实训目标175

实训要求175

实训准备175

相关知识176

指针176

系统方案的选择177

实训步骤178

项目10综合实训2——单片机与步进电机的接口技术187

实训目标187

实训要求187

实训准备187

相关知识187

步进电机概述187

步进电机分类188

步进电机工作原理188

实训步骤190

附录AC51语言基本语法193

附录B单片机常用元件说明 203

参考文献211

任务1.1了解单片机1

1.1.1单片机概述1

1.1.2MCS51单片机简介5

1.1.3单片机的开发环境7

1.1.4单片机开发流程10

任务1.2用Proteus设计单片机最小系统11

1.2.1Proteus简介11

1.2.2单片机最小系统12

1.2.3任务实施14

任务1.3用Keil建立一个“hello world”C51源文件20

1.3.1Keil简介20

1.3.2C语言概述21

1.3.3任务实施21

项目总结25

练习题26

项目2单片机控制LED闪烁27

任务2.1LED单灯闪烁27

2.1.1硬件电路图的设计28

2.1.2单片机的P1口29

2.1.3单片机控制灯的闪烁29

2.1.4单片机中的程序及数据存储32

2.1.5任务实施37

任务2.28LED流水灯闪烁38

2.2.1C51的位运算符39

2.2.2单片机I/O端口40

2.2.3任务实施44

项目总结46

练习题46

项目3单片机控制数码管的显示48

任务3.1单数码管轮流显示0~9十个数483.1.1硬件知识49

3.1.2任务实施54

任务3.2四数码管动态显示0~9十个数57

单片机原理与应用设计3.2.1位选和段选57

3.2.2数码管的动态显示和静态显示58

3.2.3任务实施58

任务3.38×8点阵显示61

3.3.1LED点阵62

3.3.28×8点阵显示屏的结构62

3.3.3点阵的引脚结构64

3.3.48×8LED点阵的汉字显示编码64

3.3.5LED点阵的显示方式65

3.3.6任务实施65

项目总结67

练习题68

项目4单片机控制按键中断70

任务4.1单键点亮流水灯70

4.1.1中断的概念71

4.1.2中断源71

4.1.3中断控制相关寄存器72

4.1.4中断向量73

4.1.5中断过程74

4.1.6任务实施75

任务4.2多键改变8LED流水灯状态76

4.2.1中断嵌套77

4.2.2任务实施77

任务4.3矩阵键盘点亮16灯79

4.3.1矩阵键盘80

4.3.2任务实施81

项目总结84

练习题84

项目5单片机的定时与计数86

任务5.1单灯1秒钟定时亮灭86

5.1.1定时器/计数器的结构和工作原理87

5.1.2定时器/计数器的相关寄存器88

5.1.3定时器/计数器的工作方式90

5.1.4定时器/计数器定时的实现93

5.1.5任务实施94

任务5.28LED流水灯定时1s亮灭98

5.2.1定时器/计数器工作方式299

5.2.2任务实施99

任务5.3外部脉冲计数103

5.3.1外部脉冲计数的工作原理104

5.3.2任务实施104

任务5.4单音阶音乐106

5.4.1单片机发声原理106

5.4.2任务实施108

项目总结110

练习题110

项目6单片机的串口输出111

任务6.1单数码管串口通信111

6.1.1串口通信的基础知识112

6.1.251单片机的串行口115

6.1.3任务实施117

任务6.2单片机双机通信119

6.2.1双机通信120

6.2.2波特率的应用120

6.2.3任务实施122

任务6.3单片机多机通信125

6.3.1串口工作方式2、方式3的多机通信126

6.3.2多机通信的工作原理126

6.3.3任务实施127

项目总结131

练习题132

项目7单片机的系统扩展133

任务7.18255扩展并行I/O133

7.1.1单片机系统扩展概述134

7.1.2单片机存储器的扩展135

7.1.3单片机I/O的扩展140

7.1.4任务实施145

任务7.2单片机扩展串行EEPROM149

7.2.1串行存储器概述149

7.2.2AT24C02C芯片150

7.2.3数据传送过程150

7.2.4任务实施152

项目总结157

练习题157

项目8单片机的信号转换158

任务8.1制作数字电压表158

8.1.1A/D转换的基础知识159

8.1.2ADC0809 A/D转换器及接口设计159

8.1.3单片机与A/D转换器接口程序设计161

8.1.4任务实施161

任务8.2A/D转换器及接口设计166

8.2.1工作原理167

8.2.2任务实施168

项目总结172

练习题172

项目9综合实训1——简易数字钟的设计173

实训目标173

实训要求173

实训准备173

相关知识173

指针173

系统方案的选择175

实训步骤176

项目9综合实训2——单片机与步进电机的接口技术185

实训目标185

实训要求185

实训准备185

相关知识185

步进电机概述185

步进电机分类186

步进电机工作原理186

实训步骤188

附录AC51语言基本语法191

附录B单片机常用元件说明201

参考文献209

作者简介

编辑推荐

作者寄语

电子资料

www.luweidong.cn

下一个