单片机C语言应用100例(第2版)

编辑

锁定

讨论

上传视频

《单片机C语言应用100例(第2版)》是2013年5月电子工业出版社出版的图书,作者是王东锋、陈园园、郭向阳。

书    名

单片机C语言应用100例(第2版)

作    者

王东锋

陈园园

郭向阳

ISBN

9787121201653页    数

396页

定    价

59元

出版社

电子工业出版社

出版时间

2013年5月

开    本

16开

单片机C语言应用100例(第2版)内容简介

编辑

本书在第1版的基础上,以MCS—51单片机为主体,从实际应用入手,结合大量实例循序渐进地讲述51单片机C语言编程方法,以及51单片机的硬件结构和功能应用。全书分为基础篇、应用篇和综合提高篇。所有实例均采用仿真软件Proteus仿真和实验板实验,使读者真正做到“边理论、边实践”,在实践中逐步掌握单片机的硬件结构和开发方法。[1]

单片机C语言应用100例(第2版)图书目录

编辑

目 录

基 础 篇

第1章 单片机概述及实验器材介绍 2

1.1 单片机概述 2

1.1.1 单片机的定义、分类与内部组成 2

1.1.2 单片机应用系统的结构及其工作过程 5

1.1.3 单片机的应用 6

1.2 单片机基础知识 7

1.2.1 数制与数制间的转换 7

1.2.2 单片机中数的表示方法及常用数制的对应关系 10

1.2.3 逻辑数据的表示 10

1.2.4 单片机中常用的基本术语 12

1.3 单片机入门的有效方法与途径 12

1.4 学习单片机的基本条件 13

1.4.1 软件条件 13

1.4.2 硬件条件 15

习题 16

第2章 单片机开发软件及开发过程 17

2.1 仿真软件Proteus的使用 17

2.1.1 Proteus的主要功能特点 17

2.1.2 实例1:功能感受—Proteus仿真单片机播放《渴望》主题曲 17

2.1.3 Proteus软件的界面与操作介绍 19

2.1.4 实例2:Proteus仿真设计快速入门 21

2.2 Keil C51的使用 31

2.2.1 单片机最小系统 31

2.2.2 实例3:用Keil C51编写点亮一个发光二极管的程序 31

2.3 程序烧录器及烧录软件的使用 38

习题与实验 38

第3章 逐步认识单片机基本结构 40

3.1 实例4:用单片机控制一个灯闪烁 40

3.1.1 实现方法 40

3.1.2 程序设计 40

3.1.3 用Proteus软件仿真 41

3.1.4 延时程序分析 43

3.2 实例5:将 P1口状态送入P0、P2和P3口 44

3.2.1 实现方法 44

3.2.2 程序设计 45

3.2.3 用Proteus软件仿真 45

3.2.4 用实验板试验 46

3.2.5 I/O口功能介绍 46

3.2.6 I/O口的结构分析 46

3.3 实例6:使用P3口流水点亮8位LED 49

3.3.1 实现方法 49

3.3.2 程序设计 50

3.3.3 用Proteus软件仿真 51

3.3.4 用实验板试验 51

3.4 实例7:通过对P3口地址的操作流水点亮8位LED 51

3.4.1 实现方法 51

3.4.2 程序设计 52

3.4.3 用Proteus软件仿真 53

3.4.4 用实验板试验 53

3.5 MCS—51单片机存储器的基本结构 53

3.5.1 程序存储器 53

3.5.2 数据存储器 53

3.6 单片机的复位电路 55

习题与实验 55

第4章 单片机C语言开发基础 56

4.1 C语言源程序的结构特点 56

4.2 标志符与关键字 57

4.3 C语言的数据类型与运算符 59

4.3.1 数据类型 59

4.3.2 运算符 62

4.3.3 实例8:用不同数据类型控制LED的闪烁 65

4.3.4 实例9:用P0口、P1 口分别显示加法和减法运算结果 68

4.3.5 实例10:用P0、P1口显示乘法运算结果 70

4.3.6 实例11:用P1、P0口显示除法运算结果 71

4.3.7 实例12:用自增运算控制P0口8位LED的闪烁花样 73

4.3.8 实例13:用P0口显示逻辑“与”运算结果 74

4.3.9 实例14:用P0口显示条件运算结果 74

4.3.10 实例15:用P0口显示按位“异或”运算结果 75

4.3.11 实例16:用P0显示左移运算结果 76

4.3.12 实例17:“万能逻辑电路”实验 77

4.3.13 实例18:用右移运算流水点亮P1口8位LED 78

4.4 C语言的语句 79

4.4.1 概述 79

4.4.2 控制语句 80

4.4.3 实例19:用if语句控制P0口8位LED的点亮状态 84

4.4.4 实例20:用switch语句控制P0口8位LED的点亮状态 86

4.4.5 实例21:用for语句设计鸣笛报警程序 88

4.4.6 实例22:用while语句控制P0口8位LED闪烁花样 92

4.4.7 实例23:用do-while语句控制P0口8位LED流水点亮 93

4.5 C语言的数组 95

4.5.1 数组的定义和引用 95

4.5.2 实例24:用字符型数组控制P0口8位LED流水点亮 97

4.5.3 实例25:用P0口显示字符串常量 98

4.6 C语言的指针 99

4.6.1 指针的定义与引用 100

4.6.2 实例26:用P0口显示指针运算结果 102

4.6.3 实例27:用指针数组控制P0口8位LED流水点亮 103

4.6.4 实例28:用数组的指针控制P0 口8 位LED流水点亮 104

4.7 C语言的函数 106

4.7.1 函数的定义与调用 106

4.7.2 实例29:用P0 、P1口显示整型函数返回值 109

4.7.3 实例30:用有参数函数控制P0口8位LED流水速度 111

4.7.4 实例31:用数组作为函数参数控制P0口8位LED流水点亮 112

4.7.5 实例32:用指针作为函数参数控制P0口8位LED流水点亮 113

4.7.6 实例33:用函数型指针控制P0口8位LED流水点亮 115

4.7.7 实例34:用指针数组作为函数的参数显示多个字符串 116

4.7.8 实例35:字符函数ctype.h应用举例 118

4.7.9 实例36:内部函数intrins.h应用举例 119

4.7.10 实例37:标准函数stdlib.h应用举例 121

4.7.11 实例38:字符串函数string.h应用举例 122

4.8 C语言的编译预处理 123

4.8.1 常用预处理命令介绍 123

4.8.2 实例39:宏定义应用举例 126

4.8.3 实例40:文件包含应用举例 127

4.8.4 实例41:条件编译应用举例 128

习题与实验 129

第5章 单片机的定时器/计数器 131

5.1 定时器/计数器的基本概念 131

5.2 定时器/计数器的结构及工作原理 132

5.2.1 定时器/计数器的结构 133

5.2.2 定时器/计数器的工作原理 133

5.3 定时器/计数器的控制 134

5.3.1 定时器/计数器的方式控制寄存器(TMOD) 134

5.3.2 定时器/计数器控制寄存器(TCON) 134

5.3.3 定时器/计数器的4种工作方式 135

5.3.4 定时器/计数器中定时/计数初值的计算 138

5.4 定时器/计数器应用举例 138

5.4.1 实例42:用定时器T0查询方式控制P2口8位LED闪烁 138

5.4.2 实例43:用定时器T1查询方式控制单片机发出1kHz音频 140

习题与实验 141

第6章 单片机的中断系统 142

6.1 中断系统的基本概念 142

6.2 中断系统的结构及控制 143

6.2.1 中断系统的结构 143

6.2.2 中断系统的控制 144

6.3 中断系统应用举例 147

6.3.1 实例44:用定时器T0的模式1控制LED闪烁 147

6.3.2 实例45:用定时器T1模式1控制两个LED以不同周期闪烁 148

6.3.3 实例46:用计数器T1的中断方式控制发出1kHz音频 150

6.3.4 实例47:用定时器T0的模式0控制播放《好人一生平安》 151

6.3.5 实例48:用定时器T0的门控制位测量外部正脉冲宽度 156

6.3.6 实例49:用外中断 测量负跳变信号累计数 158

习题与实验 160

第7章 串行通信技术 161

7.1 串行通信的基本概念 161

7.2 串行通信口的结构 163

7.3 串行通信口的控制 163

7.3.1 串行口控制寄存器SCON 164

7.3.2 电源控制寄存器PCON 164

7.3.3 4种工作方式与波特率的设置 165

7.4 串行通信口应用举例 168

7.4.1 实例50:将方式0用于扩展并行输出控制流水灯 168

7.4.2 实例51:基于方式1的单工通信 170

7.4.3 实例52:基于方式3的单工通信 172

7.4.4 实例53:单片机向计算机发送数据 175

7.4.5 实例54:单片机接收计算机送出的数据 177

习题与实验 179

应 用 篇

第8章 接口技术 182

8.1 LED数码管接口技术 182

8.1.1 LED数码管的原理和接口电路 182

8.1.2 实例55:用LED数码管显示数字“5” 184

8.1.3 实例56:用LED数码管循环显示数字0~9 185

8.1.4 实例57:用数码管慢速动态扫描显示数字“1234” 186

8.1.5 实例58:快速动态扫描显示数字“1234” 188

8.2 键盘接口技术 189

8.2.1 独立式键盘的工作原理 190

8.2.2 实例59:无软件消抖的独立式键盘输入实验 191

8.2.3 实例60:带软件消抖的独立式键盘输入实验 192

8.2.4 实例61:CPU控制的键盘扫描实验 193

8.2.5 实例62:定时器中断控制的键盘扫描实验 198

8.2.6 实例63:“一键多能”实验 199

8.2.7 实例64:独立式键盘控制步进电动机实验 202

8.2.8 矩阵键盘的工作原理 207

8.2.9 实例65:矩阵键盘按键值的数码管显示 208

8.2.10 实例66:简易电子琴设计 212

8.3 字符型LCD接口技术 218

8.3.1 1602字符型LCD简介 218

8.3.2 实例67:用LCD显示字符“A” 223

8.3.3 实例68:液晶时钟设计 228

习题与实验 229

第9章 新型串行接口芯片应用 230

9.1 I2C总线器件及其应用实例 230

9.1.1 I2C总线接口 230

9.1.2 实例69:将按键次数写入AT24C02,再读出送LCD显示 233

9.1.3 实例70:对I2C总线上挂接两个AT24C02的读/写操作 234

9.1.4 实例71:将“好人一生平安”乐谱写入AT24C02并播放 236

9.2 单总线器件及其应用实例 237

9.2.1 单总线简介 237

9.2.2 实例72:DS18B20温度检测及其LCD显示 242

9.3 SPI总线接口芯片及其应用实例 243

9.3.1 SPI串行总线简介 243

9.3.2 实例73:将数据“0xaa”写入X5045再读出送P1口显示 246

9.3.3 实例74:将流水灯控制码写入X5045并读出送P1口显示 248

9.3.4 实例75:对SPI总线上挂接的两个X5045的读/写操作 249

习题与实验 250

第10章 常用功能器件应用举例 252

10.1 模/数(A/D)转换器件 252

10.1.1 A/D转换基础 252

10.1.2 实例76:基于ADC0832的5V直流数字电压表 254

10.2 数/模(D/A)转换器件 256

10.2.1 D/A转换基础 256

10.2.2 实例77:用DAC0832产生锯齿波电压 258

10.3 红外线遥控信号接收器件 259

10.3.1 红外线信号接收基础 259

10.3.2 实例78:用P1口显示红外遥控器的按键值 261

10.3.3 实例79:用红外线遥控器控制继电器 263

10.4 适时时钟芯片 264

10.4.1 常用适时时钟芯片介绍 265

10.4.2 实例80:基于DS1302的日历时钟 267

习题与实验 269

综合提高篇

第11章 综合应用实例 272

11.1 实例81:中文字符的液晶显示 272

11.1.1 图形点阵显示器简介 272

11.1.2 仿真原理图设计 276

11.1.3 程序设计与仿真 277

11.2 实例82:12位A/D转换器TLC2543的使用 282

11.2.1 TLC2543介绍 282

11.2.2 仿真原理图设计 284

11.2.3 程序设计与仿真 286

11.3 实例83:二线制串行接口传感器SHT11的使用 291

11.3.1 智能温、湿度传感器SHT11介绍 291

11.3.2 仿真原理图设计 293

11.3.3 程序设计与仿真 293

11.4 实例84:电压型传感器的使用 300

11.4.1 FS4003传感器介绍 300

11.4.2 仿真原理图设计 302

11.4.3 程序设计与仿真 303

11.5 实例85:RS—232型数字传感器的使用 308

11.5.1 FS4003传感器的串口通信协议介绍 308

11.5.2 仿真原理图设计 308

11.5.3 程序设计与仿真 309

11.6 实例86:电流型传感器应用举例 316

11.6.1 电流型传感器的使用基础 316

11.6.2 仿真原理图设计 317

11.6.3 程序设计与仿真 319

11.7 实例87:基于化学传感器的氧浓度检测仪设计 321

11.7.1 R—17MED化学传感器简介 321

11.7.2 硬件仿真电路设计 322

11.7.3 程序设计与仿真 323

11.8 实例88:单片机向RS—485 型传感器发送读取命令 325

11.8.1 RS—485通信简介 326

11.8.2 TTL/RS—485转换的仿真原理图设计 327

11.8.3 程序设计与仿真 329

11.9 实例89:单片机从RS—485型传感器接收数据 331

11.9.1 RS—485传感器返回数据的格式 331

11.9.2 仿真原理图设计 332

11.9.3 程序设计与仿真 332

11.10 实例90:用VB实现单片机和计算机的串行通信 335

11.10.1 开发背景 335

11.10.2 开发要求 335

11.10.3 Visual Basic 6.0 简介 335

11.10.4 添加MSComm控件与基本属性设置 336

11.10.5 Visual Basic 6.0实现串行通信的过程 337

11.11 实例91:串/并转换器在1602LCD显示电路中的应用 343

11.11.1 串/并转换器的工作原理 343

11.11.2 仿真原理图设计 343

11.11.3 程序设计与仿真 343

11.12 实例92:滑油温度记录仪设计 347

11.12.1 系统的工作原理 347

11.12.2 仿真原理图设计 347

11.12.3 程序设计与仿真 348

11.13 实例93:胶粘剂固化温度监控系统设计 351

11.13.1 系统的工作原理 351

11.13.2 仿真原理图设计 351

11.13.3 程序设计与仿真 351

11.14 实例94:基于铂热电阻的防火系统设计 354

11.14.1 系统的工作原理 354

11.14.2 仿真原理图设计 355

11.14.3 程序设计与仿真 357

11.15 实例95:脉冲涡流检测的变频信号源设计 359

11.15.1 系统的工作原理 359

11.15.2 仿真原理图设计 359

11.15.3 程序设计与仿真 361

11.16 实例96:K型热电偶的冷端自动补偿设计 363

11.16.1 系统的工作原理 364

11.16.2 仿真原理图设计 364

11.16.3 程序设计与仿真 366

11.17 实例97:电动机测速表设计 368

11.17.1 系统的工作原理 368

11.17.2 仿真原理图设计 368

11.17.3 程序设计与仿真 369

11.18 实例98:基于PWM的直流电动机调速系统设计 371

11.18.1 系统的工作原理 372

11.18.2 仿真原理图设计 372

11.18.3 程序设计与仿真 373

11.19 实例99:热敏打印机驱动程序设计 375

11.19.1 系统的工作原理 375

11.19.2 仿真原理图设计 375

11.19.3 程序设计与仿真 376

11.20 实例100:航空发动机热电偶信号模拟电压源设计 377

11.20.1 系统的工作原理 378

11.20.2 电路原理图设计 378

11.20.3 程序设计 379

参考文献 381

词条图册

更多图册

参考资料

1.

单片机C语言应用100例(第2版)

.电子工业出版社[引用日期2020-04-07]

学习单片机c语言必备的两个软件,单片机C语言应用100例(第2版)相关推荐

  1. 单片机C语言应用100例(第二版)光盘资料 作者王东峰 陈圆圆 郭向阳

    单片机C语言应用100例(第二版)光盘资料 ,由于文件太多,所以分成4部分,如下所示; 360网盘; http://yunpan.cn/QDhNeBZ7WMg9s 访问密码 0c69 http://y ...

  2. C语言程序100例之C#版-021

    C语言程序100例之C#版-021 C程序源代码: [程序21] 题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个.以后 ...

  3. C语言程序100例之C#版-024

    C语言程序100例之C#版-024 C程序源代码: [程序24] 题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和. 1.程序分析:请抓住分子与 ...

  4. c语言图书管理系统用什么软件,编写c语言的软件 纯C语言编写图书管理系统.doc...

    编写c语言的软件 纯C语言编写图书管理系统 编写c语言的软件 纯C语言编写图书管理系统WORD文档bbszp 导读:就爱阅读网友为您分享以下"纯C语言编写图书管理系统WORD文档bbszp& ...

  5. c语言风车图案,风车形平面的转译 | 大师100例

    <大师100例>是公众号改版后的唯一栏目,我们通过将网课内容编写成推文的形式,来更好地带动低年级在校生主动发散思维分析.与此同时,让粉丝更深入地了解我们这个团队 -小印帆 [学员优秀作业] ...

  6. 单片机c语言应用100例第3版课后答案,单片机C语言应用100例(第3版)(含光盘1张)...

    基 础 篇 第1章 单片机概述及实验器材介绍2 1.1 单片机概述2 1.1.1 单片机的定义.分类与内部组成2 1.1.2 单片机应用系统的结构及其工作过程5 1.1.3 单片机的应用6 1.2 单 ...

  7. c语言如何求两个数最大公约数,c语言如何求两个数的最大公约数

    c语言求两个数的最大公约数的方法:首先新建一个C语言源程序,并直接输入两个正整数a和b:然后取a,b这两个数中的较小值,存放到变量n中:接着从两个数a和b中的较小数开始,依次逐个减小1:.最后点击工具 ...

  8. C语言随机函数调用两次为啥一样,C语言中随机函数应用

    前言:有些程序每次执行时不应该产生相同的结果,如游戏和模拟,此时随机数就非常有用.下面这两个函数合在一起使用能够产生伪随机数(pseudo-random number):通过计算产生的随机数,可能有重 ...

  9. c语言用指针两个字母交换,c语言指针基础之用指针交换两个数(代码实例)

    用指针交换两个数: void swap(int *p,int *q) { int temp; temp = *p; *p = *q; *q = temp; } int main() { int a = ...

  10. c语言冒泡排序的两种实现方式,c语言中冒泡排序的实现原理是什么?

    满意答案 jmytwdipp 推荐于 2017.10.08 采纳率:54%    等级:11 已帮助:9051人 冒泡排序,就是对一组数进行逐趟排序的方法,具体分为升序和降序. 以升序为例. 每一趟的 ...

最新文章

  1. [物理学与PDEs]第1章第7节 媒质中的 Maxwell 方程组 7.2 媒质交界面上的条件
  2. 清华大学开源迁移学习算法库:基于PyTorch实现,支持轻松调用已有算法
  3. jackson.ObjectMapper里enableDefaultTyping方法过期
  4. poj2965 【枚举】
  5. 算法笔记_029:约瑟夫斯问题(Java)
  6. html:(29):伪选择符和分组选择符
  7. 计算机过去和现在的变化英语作文,自己过去和现在的变化英语作文带翻译
  8. python教程龟叔_Python新手入门
  9. 【Latex】修改文章字号的几种方式
  10. Docker Desktop安装
  11. 自媒体各大平台收益对比_各大自媒体平台收益排名?
  12. Windows Live Writer插件:在WLW中插入语法高亮代码(二)
  13. 【ES】一、ES入门及JavaAPI使用
  14. Pandas、Numpy 性能优化秘籍(全)
  15. Window之删除IE图标
  16. 编译原理 实验2 语法分析器的构造
  17. 基于Socket编程实现FTP客户端
  18. python图像rgb转灰度
  19. 单片机开发入门---从零开始玩转FRDM-KL25Z
  20. ITRAQ、TMT标签结构以及相对定量

热门文章

  1. html+css实现漂亮的透明登录页面,HTML实现炫酷登录页面
  2. 【Java后台】从零开始的Java后台开发(二)
  3. 标准正态分布怎么算_如何使用标准正态分布表?
  4. 拉普拉斯变换部分公式证明
  5. java计算机毕业设计图书馆预约占座系统源码+系统+数据库+lw文档+mybatis+运行部署
  6. 非参数统计的Python实现—— Wilcoxon 符号秩检验
  7. 兄弟连BroPHP系列教程
  8. Eprime与EEG的接口
  9. E-prime脑电实验设计
  10. E-Prime2.0安装避坑指南