标题：51系列单片机应用软件编程技术
基本信息
作者:李强 
出版社：北京航空航天大学出版社
页码：446 页
出版日期：2009年
ISBN：9787811246247
装帧：平装
开本：16
定价：49.00
内容简介
《51系列单片机应用软件编程技术》以51单片机为基本的嵌入式应用平台，全面研究嵌入式应用软件的编程技术，探讨嵌入式汇编语言编程、嵌入式C语言编程的特点，以众多的应用实例为背景，探究嵌入式编程过程中的技术细节。在《51系列单片机应用软件编程技术》的汇编语言部分，以单片机定时器、中断、输入、输出等电路单元的驱动程序设计为实例，体现出在硬件驱动编程中，汇编语言为最自然语言的特点。
在《51系列单片机应用软件编程技术》的C语言部分，主要以过程设计为主线，探讨C51语言软件编程技术。主要内容有：嵌入式c51编译特点、c源代码的组织方式、开发模式、混合编程、代码运行机制（程序切换）等。
《51系列单片机应用软件编程技术》可供读者深入学习嵌入式软件编程技术使用，也可作为高等院校嵌入式系统教学的参考书。嵌入式系统领域里，51系列单片机的历史较长，应用最为广泛。并且，因其价格低廉，器件易于采购，开发工具完善，而受到众多工程技术人员的青睐。
51系列单片机体系结构简单，其应用复杂度适中，入门容易。因此，在嵌入式二次开发市场占据很大的份额，也拥有众多的使用者。
目录
第1篇 汇编语言程序设计
引言
第1章 深刻理解51单片机的指令系统
1．1 概述
1．2 单片机指令级逻辑结构
1．3 单片机的典型存储结构
1．4 指令系统分析
1．4．1 指令体系结构
1．4．2 指令级计算机的工作机理
1．4．3 指令级数据表示
1．5 指令编码
1．6 寻址方式
1．7 指令功能分析
1．7．1 数据传送类指令
1．7．2 算术运算类指令
1．7．3 逻辑运算类指令
1．7．4 控制转移类指令
1．7．5 位操作类指令
1．7．6 控制转移指令的复合应用
第2章 查表和散转程序设计技术
2．1 查表程序设计技术
2．1．1 查表编程概述
2．1．2 基本查表编程技术
2．1．3 扩展查表编程技术
2．1．4 扩展数据表查表编程技术
2．1．5 数据表元素扩展查表编程技术
2．2 散转程序设计技术
2．2．1 应用软件的整体构造
2．2．2 散转基本编程技术
2．2．3 散转程序的扩展编程技术
2．2．4 基本查表散转程序编程技术
2．2．5 标记查表法散转程序编程技术
2．3 AT24XX系列存储芯片编程
2．3．1 AT24系列存储芯片的特性
2．3．2 AT24系列芯片的读/写操作
第3章 中断程序和单片机软件抗干扰程序设计技术
3．1 中断概述
3．2 中断的基本编程技术
3．3 “定时查询”中断扩展编程技术
3．4 中断的“外部中断查询”扩展技术
3．5 中断编程实例
3．6 单片机软件抗干扰技术概述
3．7 抗系统“死循环”技术
3．7．1 基本软件看门狗技术
3．7．2 高级软件看门狗技术
3．8 抗系统“跑飞”干扰技术
3．8．1 指令冗余法
3．8．2 软件陷阱技术
第4章 定时/计数器编程技术
4．1 软件定时器设计技术
4．1．1 软件定时器的应用原理
4．1．2 软件定时器的设计
4．1．3 软件定时器的应用实例
4．2 硬件定时器设计技术
4．2．1 硬件定时/计数器的工作机理
4．2．2 实时定时/计数器的编程
4．3 超长时间实时定时器编程技术
4．4 单片机计时综合应用编程实例
4．5 软件运行时间分析
4．6 DSl302时钟芯片的应用
第5章 显示接口编程技术
5．1 LED的显示驱动
5．2 独立式LED显示器
5．2．1 程序逻辑控制法
5．2．2 查表逻辑控制法
5．3 LED矩阵显示器
5．3．1 程序逻辑控制法
5．3．2 查表逻辑控制法
5．4 数码管显示器
5．4．1 数码显示器静态工作编程模式
5．4．2 数码显示器动态工作编程模式
5．5 液晶显示器驱动编程
5．6 显示编程应用实例
第6章 键盘接口编程技术
6．1 常用键盘的结构
6．1．1 独立式键盘
6．1．2 行列式键盘
6．2 独立式键盘接口的通用编程模式
6．3 行列式键盘接口的通用编程模式
6．3．1 扫描法
6．3．2 反转法
6．4 键盘接口的工作方式
6．4．1 键盘完全监控工作方式
6．4．2 键盘中断工作方式
6．5 键盘编程实例
第7章 汇编语言编码风格
7．1 汇编伪指令
7．2 汇编编码风格
7．2．1 软件格式
7．2．2 符号约定
7．3 模块化程序设计
7．4 汇编程序设计范例
第2篇 C51程序设计
第8章 C51语言基础
第9章 C51程序设计基础
第10章 C51编码风格
第11章 数组、结构与指针
第12章 C51编程模式及程序测试
第13章 C51混合编程技术
第14章 程序切换技术
参考文献
编后记
……
序言
嵌入式计算机系统是目前IP技术发展的热点之一。随着计算机技术的发展，IP技术从以PC为核心的、通用型、开放式的系统应用阶段，走向以专用计算机为核心的，满足特殊需要的，体积、功耗、性能受约束的嵌入式系统应用阶段。
无论是开放式系统还是嵌入式系统，计算机都是由软、硬件两部分组成的。由硬件实现计算机的基本运算架构，由软件最后确定应用系统的功能。
开放式系统力求计算机硬件组成的通用化，软件开发的标准化。这样，可实现硬件生产批量化，软件开发产业化。以此来降低计算机应用系统的开发、推广成本，实现较高的性能价格比。但这样的模式，使系统的整体优化受到限制。它以最大限度地满足用户基本需求为目的，却很难满足用户的某些特殊需要。直接的表现，就是追求海量数据存储、海量数据处理能力，而将体积和功耗优化降为次要位置。如果应用目标有体积、功耗的限制，则开放式系统的应用效能受限，甚至无法使用。
而嵌入式系统追求的是硬件组成的标准化，软件开发的多样化。硬件组成的标准化，使得嵌入式计算机系统的硬件组成，可以用满足体积、能耗约束的，可以工业化批量生产的、廉价的器件组成；而后，用专用软件确定系统的最后功能，满足最终应用的特殊要求。这种模式，使得用户需求和计算机系统优化达到最佳组合。因此，嵌入式系统可以全方位地嵌入到自然环境和人类社会生活中。未来，它将有更加广泛的应用前景。
对于嵌入式系统而言，软件是其核心内容。软件紧密贯穿整个嵌入式系统体系，决定着它的功能、性能。由于嵌入式系统的软件具有多样性的特点，软件开发时，涉及汇编语言编程技术、嵌入式C语言编程技术、系统管理软件编程技术、嵌入式操作系统的应用编程技术、嵌入式数据库技术，甚至，还涉及软件工程等诸多方面。本书及其姊妹篇《51系列单片机管理软件编程技术》一书（北京航空航天大学出版社将后续出版），从上述多方面对软件编程技术进行详细的专题讨论。
后记
非常感谢北京航空航天大学出版社对本书出版的支持。
大家知道，单片机的出现，是电子应用设计的一场革命性变革。它的出现，使得控制电路的开发者可以用相对标准化的、可批量生产的单片机器件作为电路核心，设计出性价比较高的控制应用电路；在此基础上，用控制软件最终满足各种各样的控制应用需求。因此，控制软件是单片机应用开发的核心，而控制软件的编程技术在单片机软件开发中占有举足轻重的地位。
编写一本全面、系统地讨论单片机软件编程技术的专著，这是一种挑战。笔者沿此思路，不断地进行探索，工作之余，利用假期时间，收集了大量的资料，也做了大量的程序编制、测试工作，以便全面分析、验证单片机编程中的一些关键技术点。
编程技术具有实践性很强的特点，它博大精深，如何在浩瀚的编程应用的海洋中，构建或选择合适的案例，用比较生动的方式表达编程技术的要点，避免过多的冗长理论分析，使本书不失通俗性，并保证其内容的全面性、系统性，有一定的技术价值，是编撰本书的难点之一。笔者一直孜孜以怀地探索，蓦然回首，已整理成章。
这本书的编撰工作断断续续，持续了较长的一段时间，期间不乏反复，几易其稿，几次更新内容。这项工作虽没有放弃，但也没料到，编撰工作会持续这么长时间，这是因为，当时的环境条件限制，以及本人对单片机编程技术的理解还没有系统化、成熟化。
当前，是单片机应用技术快速发展的时期，各种单片机器件不断涌现，价格日趋低廉，各种二次开发工具不断出现，编程技术也在日趋走向成熟，这一切，都为编程技术更好地表达提供了各种好的手段，也为编制这本书提供了良好的编程素材。在此情况下，经过一段时间的努力，终于编制成书。
本书及《51系列单片机管理软件编程技术》一书系统化地讨论了单片机编程技术，内容基本覆盖了单片机软件编程工作中所涉及的方方面面的技术问题。当然，单片机编程技术也在不断成熟、不断发展，书中对一些编程技术问题的讨论还不够深入，论述还不够全面，分析也不够成熟，本人对编程技术的理解也待深化，但在本书编撰过程中，采用了实例、案例的分析方法，最终形成有关单片机编程问题的一个基本的系统化框架。希望读者通过阅读此书，能够全面、系统地了解单片机编程技术，使其对编程工作有所裨益，这是本书编撰的最终目的。