简介
嵌入式系统领域里,51系列单片机的历史较长,应用最为广泛。并且
,因其价格低廉,器件易于采购,开发工具完善,而受到众多工程技术人
员的青睐。
51系列单片机体系结构简单,其应用复杂度适中,入门容易。因此,
在嵌入式二次开发市场占据很大的份额,也拥有众多的使用者。
本书以51单片机为基本的嵌入式应用平台,全面研究嵌入式应用软件
的编程技术,探讨嵌入式汇编语言编程、嵌入式C语言编程的特点,以众多
的应用实例为背景,探究嵌入式编程过程中的技术细节。
在本书的汇编语言部分,以单片机定时器、中断、输入、输出等电路
单元的驱动程序设计为实例,体现出在硬件驱动编程中,汇编语言为最自
然语言的特点。
在本书的C语言部分,主要以过程设计为主线,探讨C51语言软件编程
技术。主要内容有:嵌入式C51编译特点、C源代码的组织方式、开发模式
、混合编程、代码运行机制(程序切换)等。
本书可供读者深入学习嵌入式软件编程技术使用,也可作为高等院校
嵌入式系统教学的参考书。
目录
第1篇汇编语言程序设计.
引言1
第1章深刻理解51单片机的指令系统3
1.1概述3
1.2单片机指令级逻辑结构4
1.3单片机的典型存储结构8
1.4指令系统分析9
1.4.1指令体系结构9
1.4.2指令级计算机的工作机理10
1.4.3指令级数据表示14
1.5指令编码17
1.6寻址方式20
1.7指令功能分析22
1.7.1数据传送类指令22
1.7.2算术运算类指令25
1.7.3逻辑运算类指令26
1.7.4控制转移类指令28
1.7.5位操作类指令31
1.7.6控制转移指令的复合应用34
第2章查表和散转程序设计技术40
.2.1查表程序设计技术40
2.1.1查表编程概述40
2.1.2基本查表编程技术41
2.1.3扩展查表编程技术42
2.1.4扩展数据表查表编程技术43
2.1.5数据表元素扩展查表编程技术44
2.2散转程序设计技术45
2.2.1应用软件的整体构造45
2.2.2散转基本编程技术47
2.2.3散转程序的扩展编程技术49
2.2.4基本查表散转程序编程技术50
2.2.5标记查表法散转程序编程技术51
2.3at24xx系列存储芯片编程54
2.3.1at24系列存储芯片的特性54
2.3.2at24系列芯片的读/写操作55
第3章中断程序和单片机软件抗干扰程序设计技术59
3.1中断概述59
3.2中断的基本编程技术61
3.3“定时查询”中断扩展编程技术63
3.4中断的“外部中断查询”扩展技术65
3.5中断编程实例66
3.6单片机软件抗干扰技术概述70
3.7抗系统“死循环”技术71
3.7.1基本软件看门狗技术71
3.7.2高级软件看门狗技术72
3.8抗系统“跑飞”干扰技术75
3.8.1指令冗余法 75
3.8.2软件陷阱技术 76
第4章定时/计数器编程技术77
4.1软件定时器设计技术77
4.1.1软件定时器的应用原理77
4.1.2软件定时器的设计78
4.1.3软件定时器的应用实例80
4.2硬件定时器设计技术81
4.2.1硬件定时/计数器的工作机理81
4.2.2实时定时/计数器的编程83
4.3超长时间实时定时器编程技术87
4.4单片机计时综合应用编程实例88
4.5软件运行时间分析93
4.6 ds1302时钟芯片的应用97
第5章显示接口编程技术105
5.1 led的显示驱动105
5.2独立式led显示器106
5.2.1程序逻辑控制法107
5.2.2查表逻辑控制法107
5.3 led矩阵显示器109
5.3.1程序逻辑控制法110
5.3.2查表逻辑控制法111
5.4数码管显示器113
5.4.1数码显示器静态工作编程模式116
5.4.2数码显示器动态工作编程模式118
5.5液晶显示器驱动编程120
5.6显示编程应用实例127
第6章键盘接口编程技术134
6.1常用键盘的结构134
6.1.1独立式键盘134
6.1.2行列式键盘135
6.2独立式键盘接口的通用编程模式137
6.3行列式键盘接口的通用编程模式138
6.3.1扫描法139
6.3.2反转法141
6.4键盘接口的工作方式143
6.4.1键盘完全监控工作方式144
6.4.2键盘中断工作方式144
6.5键盘编程实例146
第7章汇编语言编码风格156
7.1汇编伪指令156
7.2汇编编码风格160
7.2.1软件格式160
7.2.2符号约定165
7.3模块化程序设计169
7.4汇编程序设计范例..174
第2篇c51程序设计
引言203
第8章c51语言基础204
8.1c语言概况204
8.2c51语言的特点206
8.3c51程序的组成210
8.4c51源程序的基本语法..218
8.5keil的基本使用222
8.6单片机程序设计方法230
8.6.1程序设计基本方法230
8.6.2结构化程序设计231
第9章c51程序设计基础240
9.1程序的输入/输出240
9.2c51数据类型245
9.3伪随机数发生器249
9.4 c51运算符257
9.5ansi c标准测试260
9.6c51程序的基本设计技巧261
第10章c51编码风格266
10.1编码风格概述266
10.2编码风格实例解释266
10.2.1源码组织实例267
10.2.2实例源码分析269
10.3标识符命名法283
10.3.1匈牙利法283
10.3.2骆驼法284
10.3.3下划线法284
10.3.4标识符缩写285
10.3.5变量命名原则285
10.4源代码的组织方式287
10.4.1基本方式287
10.4.2功能分组方式288
10.4.3人名分组方式299
第11章数组、结构与指针300
11.1概述300
11.2数组301
11.2.1一维数组301
11.2.2多维数组308
11.2.3 数组作函数的参数310
11.3结构311
11.3.1结构定义311
11.3.2结构变量的声明313
11.3.3关键字typedef的用法314
11.3.4结构变量的引用315
11.3.5结构变量初始化315
11.4结构数组316
11.4.1结构数组的定义316
11.4.2结构数组的应用318
11.4.3结构数组的引用319
11.4.4结构作函数参数319
11.5指针321
11.5.1指针概念321
11.5.2指针的应用322
11.6指针应用327
11.6.1数组指针327
11.6.2结构指针329
11.6.3函数指针332
11.6.4指针型指针336
第12章c51编程模式及程序测试338
12.1增量式编程模式338
12.1.1选择排序模块的实现339
12.1.2希尔排序模块的实现342
12.1.3快速排序的实现346
12.2排序系统源码的组织方式350
12.2.1源代码的人名组织方法350
12.2.2头文件编制351
12.3 c51程序调试356
12.3.1 c51调试环境设置356
12.3.2基本调试功能(技术)358
12.4 c51程序的排错367
12.5 c51程序的测试375
12.5.1黑盒法375
12.5.2白盒法383
第13章c51混合编程技术386
13.1参数传递386
13.2c51中的“段”388
13.3应用实例392
13.3.1无参混合编程(精确延时)393
13.3.2有参混合编程(硬件驱动)398
13.3.3指针参数混合编程412
第14章程序切换技术422
14.1软件系统运行管理422
14.1.1程序切换422
14.1.2系统堆栈423
14.2子程序切换424
14.2.1子程序切换原理424
14.2.2子程序的应用426
14.2.3系统堆栈的讨论427
14.2.4堆栈的应用——现场切换428
14.3函数切换429
14.3.1c51函数工作原理430
14.3.2c51函数扩展432
14.3.3软件堆栈(模拟堆栈)434
14.4中断切换437
14.4.1中断工作机理437
14.4.2中断现场保护439
14.4.3c51中断编程440
14.5任务切换442
14.5.1任务的特点442
14.5.2任务的组成原理443
14.5.3任务的工作机制444
参考文献447
编后记...448
引言1
第1章深刻理解51单片机的指令系统3
1.1概述3
1.2单片机指令级逻辑结构4
1.3单片机的典型存储结构8
1.4指令系统分析9
1.4.1指令体系结构9
1.4.2指令级计算机的工作机理10
1.4.3指令级数据表示14
1.5指令编码17
1.6寻址方式20
1.7指令功能分析22
1.7.1数据传送类指令22
1.7.2算术运算类指令25
1.7.3逻辑运算类指令26
1.7.4控制转移类指令28
1.7.5位操作类指令31
1.7.6控制转移指令的复合应用34
第2章查表和散转程序设计技术40
.2.1查表程序设计技术40
2.1.1查表编程概述40
2.1.2基本查表编程技术41
2.1.3扩展查表编程技术42
2.1.4扩展数据表查表编程技术43
2.1.5数据表元素扩展查表编程技术44
2.2散转程序设计技术45
2.2.1应用软件的整体构造45
2.2.2散转基本编程技术47
2.2.3散转程序的扩展编程技术49
2.2.4基本查表散转程序编程技术50
2.2.5标记查表法散转程序编程技术51
2.3at24xx系列存储芯片编程54
2.3.1at24系列存储芯片的特性54
2.3.2at24系列芯片的读/写操作55
第3章中断程序和单片机软件抗干扰程序设计技术59
3.1中断概述59
3.2中断的基本编程技术61
3.3“定时查询”中断扩展编程技术63
3.4中断的“外部中断查询”扩展技术65
3.5中断编程实例66
3.6单片机软件抗干扰技术概述70
3.7抗系统“死循环”技术71
3.7.1基本软件看门狗技术71
3.7.2高级软件看门狗技术72
3.8抗系统“跑飞”干扰技术75
3.8.1指令冗余法 75
3.8.2软件陷阱技术 76
第4章定时/计数器编程技术77
4.1软件定时器设计技术77
4.1.1软件定时器的应用原理77
4.1.2软件定时器的设计78
4.1.3软件定时器的应用实例80
4.2硬件定时器设计技术81
4.2.1硬件定时/计数器的工作机理81
4.2.2实时定时/计数器的编程83
4.3超长时间实时定时器编程技术87
4.4单片机计时综合应用编程实例88
4.5软件运行时间分析93
4.6 ds1302时钟芯片的应用97
第5章显示接口编程技术105
5.1 led的显示驱动105
5.2独立式led显示器106
5.2.1程序逻辑控制法107
5.2.2查表逻辑控制法107
5.3 led矩阵显示器109
5.3.1程序逻辑控制法110
5.3.2查表逻辑控制法111
5.4数码管显示器113
5.4.1数码显示器静态工作编程模式116
5.4.2数码显示器动态工作编程模式118
5.5液晶显示器驱动编程120
5.6显示编程应用实例127
第6章键盘接口编程技术134
6.1常用键盘的结构134
6.1.1独立式键盘134
6.1.2行列式键盘135
6.2独立式键盘接口的通用编程模式137
6.3行列式键盘接口的通用编程模式138
6.3.1扫描法139
6.3.2反转法141
6.4键盘接口的工作方式143
6.4.1键盘完全监控工作方式144
6.4.2键盘中断工作方式144
6.5键盘编程实例146
第7章汇编语言编码风格156
7.1汇编伪指令156
7.2汇编编码风格160
7.2.1软件格式160
7.2.2符号约定165
7.3模块化程序设计169
7.4汇编程序设计范例..174
第2篇c51程序设计
引言203
第8章c51语言基础204
8.1c语言概况204
8.2c51语言的特点206
8.3c51程序的组成210
8.4c51源程序的基本语法..218
8.5keil的基本使用222
8.6单片机程序设计方法230
8.6.1程序设计基本方法230
8.6.2结构化程序设计231
第9章c51程序设计基础240
9.1程序的输入/输出240
9.2c51数据类型245
9.3伪随机数发生器249
9.4 c51运算符257
9.5ansi c标准测试260
9.6c51程序的基本设计技巧261
第10章c51编码风格266
10.1编码风格概述266
10.2编码风格实例解释266
10.2.1源码组织实例267
10.2.2实例源码分析269
10.3标识符命名法283
10.3.1匈牙利法283
10.3.2骆驼法284
10.3.3下划线法284
10.3.4标识符缩写285
10.3.5变量命名原则285
10.4源代码的组织方式287
10.4.1基本方式287
10.4.2功能分组方式288
10.4.3人名分组方式299
第11章数组、结构与指针300
11.1概述300
11.2数组301
11.2.1一维数组301
11.2.2多维数组308
11.2.3 数组作函数的参数310
11.3结构311
11.3.1结构定义311
11.3.2结构变量的声明313
11.3.3关键字typedef的用法314
11.3.4结构变量的引用315
11.3.5结构变量初始化315
11.4结构数组316
11.4.1结构数组的定义316
11.4.2结构数组的应用318
11.4.3结构数组的引用319
11.4.4结构作函数参数319
11.5指针321
11.5.1指针概念321
11.5.2指针的应用322
11.6指针应用327
11.6.1数组指针327
11.6.2结构指针329
11.6.3函数指针332
11.6.4指针型指针336
第12章c51编程模式及程序测试338
12.1增量式编程模式338
12.1.1选择排序模块的实现339
12.1.2希尔排序模块的实现342
12.1.3快速排序的实现346
12.2排序系统源码的组织方式350
12.2.1源代码的人名组织方法350
12.2.2头文件编制351
12.3 c51程序调试356
12.3.1 c51调试环境设置356
12.3.2基本调试功能(技术)358
12.4 c51程序的排错367
12.5 c51程序的测试375
12.5.1黑盒法375
12.5.2白盒法383
第13章c51混合编程技术386
13.1参数传递386
13.2c51中的“段”388
13.3应用实例392
13.3.1无参混合编程(精确延时)393
13.3.2有参混合编程(硬件驱动)398
13.3.3指针参数混合编程412
第14章程序切换技术422
14.1软件系统运行管理422
14.1.1程序切换422
14.1.2系统堆栈423
14.2子程序切换424
14.2.1子程序切换原理424
14.2.2子程序的应用426
14.2.3系统堆栈的讨论427
14.2.4堆栈的应用——现场切换428
14.3函数切换429
14.3.1c51函数工作原理430
14.3.2c51函数扩展432
14.3.3软件堆栈(模拟堆栈)434
14.4中断切换437
14.4.1中断工作机理437
14.4.2中断现场保护439
14.4.3c51中断编程440
14.5任务切换442
14.5.1任务的特点442
14.5.2任务的组成原理443
14.5.3任务的工作机制444
参考文献447
编后记...448
51系列单片机应用软件编程技术
- 名称
- 类型
- 大小
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×
