手把手教你学单片机C程序设计

手把手教你学单片机C程序设计
作 者: 周兴华
出版社: 北京航空航天大学出版社
丛编项:
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 算法语言
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《手把手教你学单片机C程序设计》作者简介

内容简介

以实践为主线,以生动短小的实例为灵魂,穿插介绍C语言的语法及其针对单片机的特别定义,使理论与实践结合,使读者掌握单片机的C语言编程。内容包括:C语言的基础知识、Keil软件的使用、程序的编写与调试方法及其他相关知识。随书光盘提供了书中所有实验程序代码和多媒体教学例程,包括Keil C51安装演示、Keil C51实际操作演示和程序的下载实际操作演示动画等。 本书可作为中高等职业学校、电视大学等的教学用书,也可作为单片机爱好者自学单片机C语言的教材。

图书目录

第1章 概述

1.1 高效率的C语言编程1

1.2 C语言具有突出的优点2

第2章 单片机简史及实验器材简介

2.1 单片机的发展简史及特点4

2.2 单片机C语言入门的有效途径5

2.3 实验器材介绍6

第3章 Keil C51集成开发环境及并口下载软件介绍

3.1 Keil C51集成开发平台安装12

3.2 并口下载软件使用13

第4章 单片机基本知识及第一个C51程序

4.1 MCS51单片机的基本结构16

4.2 80C51的基本特征及引脚定义17

4.3 80C51的内部结构19

4.4 80C51的存储器配置和寄存器21

4.5 第一个C51演示程序及效果24

第5章 C语言程序的基本结构

5.1 函数调用实验30

5.2 C语言程序的组成结构32

5.3 主函数实验33

5.4 文件包含处理34

5.5 通用的C语言程序组成结构36

5.6 函数连接实验一38

5.7 函数连接实验二40

第6章 C语言的标识符、关键字和数据类型

6.1 标识符和关键字43

6.2 4个LED数码管从左至右显示“1234”45

6.3 数据类型48

6.4 8个LED数码管从左至右扫描显示“00000000”(一)50

6.5 8个LED数码管从左至右扫描显示“00000000”(二)52

6.6 变量的数据类型选择53

6.7 数据类型之间的转换53

6.8 无符号字符型变量值与无符号整型变量值相乘实验54

6.9 无符号整型变量值与无符号整型变量值相乘实验55

第7章 常量、变量及存储器类型

7.1 常量58

7.2 乘法运算:两个乘数分别为常量与变量58

7.3 变量60

7.4 存储器类型 60

7.5 两个局部变量val1、val2的显示实验63

7.6 全局变量globe_x的显示实验65

第8章 编译预处理及重新定义数据类型

8.1 宏定义68

8.2 两数相加并输出结果实验69

8.3 使用带参数的宏定义进行运算71

8.4 文件包含72

8.5 条件编译73

8.6 重新定义数据类型74

8.7 8个LED模拟彩灯闪烁实验75

第9章 运算符与表达式

9.1 算术运算符与表达式77

9.2 数学运算与显示实验77

9.3 关系运算符与表达式79

9.4 输入数的大小比较及判断实验80

9.5 逻辑运算符与表达式83

9.6 赋值运算符与表达式83

9.7 逻辑判断实验84

9.8 自增和自减运算符与表达式87

9.9 自增运算a++和++b实验87

9.10 逗号运算符与表达式89

9.11 条件运算符与表达式89

9.12 位运算符与表达式89

9.13 两个变量x、y的位运算实验90

9.14 强制类型转换运算符与表达式91

9.15 sizeof运算符与表达式92

第10章 表达式语句与复合语句

10.1 表达式语句93

10.2 复合语句实验94

10.3 程序的结构化设计97

10.4 条件语句与控制结构97

10.5 条件语句实验一98

10.6 条件语句实验二99

第11章 switch/case开关语句

11.1 switch/case开关语句的组成形式102

11.2 switch/case开关语句实验103

11.3 循环语句108

11.4 while语句实验109

11.5 for语句实验111

11.6 goto语句112

11.7 break语句和 continue语句112

11.8 break语句实验113

11.9 continue语句实验114

第12章 函数的定义

12.1 函数定义的一般形式117

12.2 函数的参数和函数返回值118

12.3 无参数函数、有参数函数及空函数118

12.4 函数调用的三种方式119

12.5 对被调用函数的说明119

12.6 参数传递的函数调用实验120

12.7 三个数大小自动排列实验122

12.8 华氏摄氏温度转换的仪器实验124

第13章 数组

13.1 一维数组的定义130

13.2 二维及多维数组的定义131

13.3 字符数组131

13.4 数组元素赋初值132

13.5 数组作为函数的参数132

13.6 数组显示实验133

13.7 输入10个整数(0~999之间),输出其中的最大数实验138

13.8 选择法数组排序显示实验143

13.9 模拟花样广告灯显示实验147

第14章 指针

14.1 指针与地址149

14.2 指针变量的定义149

14.3 指针变量的引用150

14.4 数组指针与指向数组的指针变量151

14.5 指针变量的运算151

14.6 指向多维数组的指针和指针变量152

14.7 直接引用变量和间接引用变量实验152

14.8 下标法和指针法引用数组元素实验154

14.9 地址传递的函数调用实验156

14.10 用数组名作为函数的参数进行传递实验158

第15章 结构体、共用体及枚举

15.1 结构体的概念161

15.2 结构体类型变量的定义161

15.3 关于结构体类型有几点需要注意的地方163

15.4 结构体变量的引用163

15.5 结构体变量的初始化163

15.6 结构体数组164

15.7 指向结构体类型数据的指针164

15.8 用指向结构体变量的指针引用结构体成员165

15.9 指向结构体数组的指针165

15.10 将结构体变量和指向结构体的指针作函数参数165

15.11 共用体的概念165

15.12 共用体类型变量的定义166

15.13 共用体变量的引用167

15.14 枚举类型167

15.15 计时器设计(待显时间存放于结构体变量中)实验168

15.16 跑表设计(计时时间存放于结构体变量中)实验172

15.17 计时器设计(计时时间存放于共用体变量中)实验180

15.18 枚举类型实验184

第16章 定时器/计数器控制及C51编程

16.1 定时器/计数器的结构及工作原理187

16.2 定时器/计数器方式寄存器TMOD和控制寄存器TCON 188

16.3 定时器/计数器的工作方式189

16.4 定时器/计数器的初始化192

16.5 蜂鸣器发音实验193

16.6 定时器T1以方式1计数实验194

16.7 定时器T0以方式2定时实验196

第17章 串行接口及C51编程

17.1 串行口的控制与状态寄存器SCON199

17.2 特殊功能寄存器PCON200

17.3 串行口的工作方式201

17.4 波特率选择202

17.5 单片机与PC机的通信实验1 203

17.6 单片机与PC机的通信实验2 207

第18章 中断控制及C51编程

18.1 中断的种类213

18.2 MCS51单片机的中断系统214

18.3 编写80C51单片机中断函数时应严格遵循的规则218

18.4 外中断实验218

18.5 定时中断实验221

18.6 简易万年历实例223

第19章 键盘接口技术及C51编程

19.1 独立式键盘227

19.2 行列式键盘228

19.3 独立式键盘接口的编程模式228

19.4 行列式键盘接口的编程模式228

19.5 键盘工作方式229

19.6 独立式键盘输入实验229

19.7 行列式键盘输入实验231

19.8 扫描方式的键盘输入实验234

19.9 定时中断方式的键盘输入实验237

第20章 LED显示器接口技术及C51编程

20.1 LED数码显示器构造及特点241

20.2 LED数码显示器显示方法242

20.3 静态显示实验244

20.4 慢速扫描动态显示实验245

20.5 快速扫描动态显示实验247

20.6 实时时钟实验248

第21章 I2C串行接口器件24C01及C51编程

21.1 EEPROM AT24CXX的性能特点253

21.2 AT24CXX系列EEPROM 芯片的寻址255

21.3 写操作方式256

21.4 读操作方式257

21.5 读写AT24C01的相关功能子函数259

21.6 读写AT24C01实验261

21.7 具有断电后记忆定时时间的实时时钟实验266

第22章 16×2点阵字符液晶模块及C51驱动

22.1 16×2点阵字符液晶显示器概述281

22.2 液晶显示器的突出优点282

22.3 16×2字符型液晶显示模块的特性282

22.4 16×2字符型液晶显示模块的引脚及功能282

22.5 16×2字符型液晶显示模块的内部结构283

22.6 液晶显示控制驱动集成电路HD44780的特点283

22.7 HD44780的工作原理285

22.8 LCD控制器的指令288

22.9 LCM工作时序290

22.10 16×2点阵字符液晶模块与单片机的连接方式292

22.11 16×2点阵字符液晶模块及C51驱动子函数292

22.12 在51 MCU DEMO试验板上实现16×2LCM演示程序1 294

22.13 在51 MCU DEMO试验板上实现16×2LCM演示程序2 299

第23章 点阵图形液晶模块及C51编程

23.1 128×64点阵图形液晶模块的特性304

23.2 128×64点阵图形液晶模块的引脚 及功能305

23.3 128×64点阵图形液晶模块的内部结构306

23.4 HD61203的特点307

23.5 HD61202的特点308

23.6 HD61202的工作原理309

23.7 HD61202的工作过程312

23.8 点阵图形液晶模块的控制器指令313

23.9 HD61202的操作时序图314

23.10 128×64点阵图形液晶模块与单片机的连接方式316

23.11 128×64点阵图形液晶模块及C51驱动子函数316

23.12 128×64LCM演示程序1318

23.13 128×64LCM演示程序2326

第24章 AT89S51看门狗定时器原理及应用

24.1 看门狗定时器原理340

24.2 看门狗实验:“流水灯”实验1 340

24.3 看门狗实验:“流水灯”实验2 343

参考文献346