扫描二维码,下载安卓APP
下载安卓APP箭头
客服QQ
箭头给我发消息

客服QQ:2698585038

MCS-51单片机技术项目驱动教程(C语言)

综合评级:
★★★★★

定价:
¥33.00

作者:
牛军 主编

出版社:
清华大学出版社

出版日期:
2015年9月

页数:
266

字数:
358000

ISBN:
9787302412199

书籍介绍

本书首先对8051单片机的硬件基础、C51编程基础、Keil C51软件的使用等方面进行了详细的介绍,然后具体针对基础型8051单片机的各功能模块,从工程应用的实际需要出发,将知识点分解为I/O口输入输出功能、外部中断功能、LED数码管显示技术、LED点阵显示技术、键盘系统设计、定时器/计数器应用、LCD液晶显示技术、串行口通信技术、A/D转换器应用、D/A转换器应用、并行RAM扩展、I2C总线扩展、SPI总线扩展等十三个部分,采用项目驱动的方式,以项目设计需要带动各部分知识点的学习,再以设计任务为载体,从硬件电路设计、C51程序编写、系统功能仿真等方面进一步促进读者对知识的理解和掌握,训练并提高其实践应用能力。

本书可作为高等院校电子、电气、自动化、计算机应用等相关专业单片机技术课程的教学用书,也可作为广大从事单片机应用系统开发的工程技术人员的参考用书。

目录

第1章 单片机技术概述 1

1.1 单片机的发展 1

1.2 单片机的特点 2

1.3 单片机的应用 4

1.4 常用单片机简介 5

1.5 单片机常用术语 7

第2章 MCS-51单片机硬件基础 11

2.1 MCS-51单片机内部结构及CPU 11

2.1.1 内部结构 11

2.1.2 8051CPU 12

2.2 MCS-51单片机引脚功能 15

2.3 MCS-51单片机存储器结构 18

2.3.1 程序存储器 19

2.3.2 数据存储器 20

2.4 MCS-51单片机时钟及CPU时序 23

2.4.1 单片机时钟 23

2.4.2 CPU时序 25

2.5 MCS-51单片机低功耗工作方式 26

第3章 MCS-51单片机C语言程序设计基础 27

3.1 C51概述 27

3.2 C51数据类型 27

3.3 C51变量定义 30

3.3.1 变量存储类型与存储区 30

3.3.2 变量的绝对定位 31

3.3.3 C51位变量的定义 32

3.3.4 C51特殊功能寄存器的定义 34

3.3.5 C51指针的定义 35

3.3.6 指针的应用 35

3.4 C51函数的定义 37

3.5 C51中的运算符和表达式 38

3.6 C51语句和控制结构 44

3.7 C51编程实例 50

3.8 C51程序开发软件Keil C简介 51

3.8.1 建立工程项目 52

3.8.2 建立C语言程序文件并编译 54

3.8.3 调试与仿真 57

第4章 项目一:按键控制8个LED灯花样显示 61

4.1 MCS-51单片机I/O口结构及工作原理 61

4.1.1 P0口结构与应用 61

4.1.2 P1口结构与应用 65

4.1.3 P2口结构与应用 66

4.1.4 P3口结构与应用 66

4.2 MCS-51单片机I/O口编程 67

4.3 项目设计 69

第5章 项目二:两级外部中断控制LED灯做不同显示 73

5.1 中断技术概述 73

5.1.1 中断的概念 73

5.1.2 中断的功能 74

5.2 MCS-51单片机中断系统 74

5.2.1 中断系统结构 74

5.2.2 中断系统中的特殊功能寄存器 75

5.3 外部中断功能编程实例 80

5.4 项目设计 81

5.5 外部中断源扩展 84

第6章 项目三:单片机控制多位LED数码管动态显示 87

6.1 LED数码管结构及显示原理 87

6.2 LED数码管静态显示及实例 90

6.3 LED数码管动态显示及实例 92

6.4 项目设计 94

第7章 项目四:单片机控制16×16 LED点阵显示汉字 99

7.1 LED点阵结构及显示原理 99

7.1.1 LED点阵结构 99

7.1.2 显示原理 100

7.2 8×8点阵应用实例 101

7.3 16×16点阵汉字显示 104

7.3.1 LED汉字点阵的编码原理 104

7.3.2 字模的提取 105

7.3.3 16×16 LED点阵构成 106

7.3.4 应用实例 106

7.4 项目设计 110

第8章 项目五:单片机4×4矩阵键盘输入并显示 123

8.1 按键的识别与抖动 123

8.2 独立式键盘设计 124

8.3 矩阵式键盘结构与扫描方法 125

8.3.1 矩阵式键盘结构 125

8.3.2 行扫描法原理及编程 126

8.3.3 行列反转法原理及编程 127

8.4 项目设计 128

第9章 项目六:单片机对外部脉冲计数并定时控制 135

9.1 MCS-51单片机定时器/计数器结构 135

9.2 AT89C51单片机定时器/计数器工作方式与工作模式 136

9.2.1 特殊功能寄存器TMOD和TCON 137

9.2.2 定时器的四种模式及应用 138

9.3 AT89C51单片机定时器/计数器编程实例 141

9.3.1 编程初始化步骤 141

9.3.2 编程实例 142

9.4 项目设计 147

第10章 项目七:LCD1602液晶显示的电子密码锁设计 151

10.1 LCD1602液晶显示模块 151

10.2 LCD1602液晶显示设计实例 156

10.3 项目设计 160

第11章 项目八:单片机与PC机互发数据 171

11.1 数据通信方式 171

11.2 AT89C51单片机串行口结构及工作原理 173

11.3 串行口工作方式及控制 175

11.3.1 串口相关的特殊功能寄存器 175

11.3.2 串口工作方式 177

11.3.3 波特率设计 179

11.4 串口应用实例 180

11.4.1 串口编程初始化步骤 180

11.4.2 方式0应用实例 181

11.4.3 方式1应用实例 184

11.4.4 方式3应用实例 185

11.5 项目设计 186

第12章 项目九:单片机片外三总线扩展并行SRAM 195

12.1 MCS-51单片机并行扩展三总线结构 195

12.2 扩展片外并行RAM方法 196

12.2.1 常用静态RAM芯片 196

12.2.2 单片机与6264的接口设计 197

12.2.3 访问片外RAM的软件编程 201

12.3 项目设计 202

第13章 项目十:ADC0809多通道电压采集与显示 205

13.1 ADC0809简介 205

13.2 ADC0809与AT89C51的接口及编程方法 207

13.2.1 采用I/O口控制方式 207

13.2.2 采用总线操作方式 209

13.3 项目设计 212

第14章 项目十一:基于DAC0832的数字波形发生器 217

14.1 DAC0832简介 217

14.2 DAC0832与AT89C51的接口及编程方法 219

14.2.1 直通方式 219

14.2.2 单缓冲方式 220

14.2.3 双缓冲方式 221

14.3 项目设计 222

第15章 项目十二:AT89C51扩展串行E2PROM AT24C02 227

15.1 I2C总线简介 227

15.1.1 I2C总线信号逻辑 228

15.1.2 I2C总线数据传输过程 229

15.2 AT89C51扩展I2C总线方法 230

15.3 AT89C51扩展I2C总线编程 231

15.4 项目设计 233

第16章 项目十三:单片机扩展SPI总线接口 239

16.1 SPI总线简介 239

16.2 AT89C51扩展SPI总线接口方法 240

16.3 AT89C51扩展SPI总线程序编写方法 240

16.3.1 数据输出 241

16.3.2 数据输入 242

16.3.3 数据同时输入/输出 243

16.4 项目设计1:AT89C52扩展串行

A/D转换器TLC2543 244

16.4.1 TLC2543简介 245

16.4.2 项目设计 248

16.5 项目设计2:AT89C52扩展串行

D/A转换器TLC5615 251

16.5.1 TLC5615简介 251

16.5.2 项目设计 253

附录A ASCII码表 257

附录B C51库函数 259

参考文献 267

前言

  单片机技术是一门实践性非常强的专业技术课程。对某一专业技术的掌握,往往需要经过理论学习与实践训练过程的反复交叉才能不断得到提高。因此,只有按照理论—实践—理论—实践的路线去培养训练学生,才能达到一个最佳的教学效果。

  当前众多的单片机技术教材,一般注重于理论知识的介绍,各章节知识点相对比较孤立,在实践练习方面大多停留在以实例仿真促进对相应知识点的理解和掌握上,缺乏从工程应用角度引导读者系统地分析问题和进行设计能力训练。在技能培养方面同工程应用中的实际问题联系不够紧密。

  编者具有多年的单片机技术教学和工程实践经验,从技术学习的客观规律出发,开展了以项目驱动法教学的单片机技术课程改革,并取得了显著的教学效果。通过对改革经验的总结和提炼,我们组织编写了《MCS-51单片机技术项目驱动教程(C语言)》一书,紧密结合应用型人才培养的目标,从切实提高学生的应用实践能力出发,以工程项目设计为载体,引导学生进行51单片机知识点的学习和应用实践能力训练。

  该书首先对51单片机的硬件基础、单片机的C语言编程等方面进行了详细的介绍,然后针对51单片机的各功能模块,从工程应用的需要出发,设计了I/O口输入输出功能、外部中断功能、LED数码管显示技术、LED点阵显示技术、LCD液晶显示技术、键盘系统设计、定时器/计数器应用、串行口通信技术、A/D转换器应用、D/A转换器应用、并行RAM扩展、I2C总线扩展、SPI总线扩展等十三个部分,采用项目驱动的方式,以项目设计内容带动知识点学习,以硬件电路、软件编程、运行调试等的设计实现带动实践应用能力的训练。

  该书主要具有以下几个特点。

  (1)从工程应用的实际出发,优化了教学内容,删繁就简,抓住核心知识,摒弃过时的理论与技术,补充新技术、新方法。譬如:去除了汇编指令和汇编语言编程部分,直接培养学生的单片机C语言编程应用能力;在串口通信部分,补充了当前已广泛采用的“USB转串口”硬件接口方法。

  (2)以项目设计任务为主线带动相关知识点的介绍和应用技能训练,通过对多个训练项目的设计与实现,达到对51单片机所有知识单元和功能模块的系统学习和训练。

  (3)项目设计案例能把理论知识和实践应用密切联系,设计方案紧扣工程实际,注重引导读者了解工程应用中需要考虑的实际问题和解决思路,培养工程化设计意识,锻炼分析问题、解决问题的能力。

  (4)项目知识点的掌握由浅入深,先进行基本编程方法练习,在此基础上,进一步开展工程项目的综合设计与编程。

  (5)每一个项目的设计例程都在Proteus仿真软件中运行通过,便于读者实践练习。

  全书共分为16章。第1章为单片机技术概述;第2章介绍MCS-51单片机的硬件基础;第3章介绍51单片机的C语言程序设计基础;第4章~第16章为项目设计,分别针对单片机的I/O口输入输出功能、外部中断功能、LED数码管显示技术、16×16LED点阵显示技术、键盘系统设计、单片机定时器/计数器应用、LCD1602液晶显示技术、串行口通信技术、8位并行A/D转换器应用、8位并行D/A转换器应用、并行RAM扩展、I2C总线扩展、SPI总线扩展等内容分为13个项目设计,首先介绍基本知识点及应用方法,紧跟着进行项目设计训练,包括硬件电路设计、软件编程、系统仿真等,有效促进对知识的理解并提高实践应用能力。

  本书由南阳理工学院的牛军、黄大勇、薛晓和曹原等老师组稿和编写,全书由牛军统编和审定。其中,牛军编写了第3、7、15、16章,黄大勇编写了第6、8、9、13、14章和附录,薛晓编写了第10、11、12章,曹原编写了第1、2、4、5章。