选择特殊符号
选择搜索类型
请输入搜索
非常感谢北京航空航天大学出版社对本书出版的支持。
大家知道,单片机的出现,是电子应用设计的一场革命性变革。它的出现,使得控制电路的开发者可以用相对标准化的、可批量生产的单片机器件作为电路核心,设计出性价比较高的控制应用电路;在此基础上,用控制软件最终满足各种各样的控制应用需求。因此,控制软件是单片机应用开发的核心,而控制软件的编程技术在单片机软件开发中占有举足轻重的地位。
编写一本全面、系统地讨论单片机软件编程技术的专著,这是一种挑战。笔者沿此思路,不断地进行探索,工作之余,利用假期时间,收集了大量的资料,也做了大量的程序编制、测试工作,以便全面分析、验证单片机编程中的一些关键技术点。
编程技术具有实践性很强的特点,它博大精深,如何在浩瀚的编程应用的海洋中,构建或选择合适的案例,用比较生动的方式表达编程技术的要点,避免过多的冗长理论分析,使本书不失通俗性,并保证其内容的全面性、系统性,有一定的技术价值,是编撰本书的难点之一。笔者一直孜孜以怀地探索,蓦然回首,已整理成章。
这本书的编撰工作断断续续,持续了较长的一段时间,期间不乏反复,几易其稿,几次更新内容。这项工作虽没有放弃,但也没料到,编撰工作会持续这么长时间,这是因为,当时的环境条件限制,以及本人对单片机编程技术的理解还没有系统化、成熟化。
当前,是单片机应用技术快速发展的时期,各种单片机器件不断涌现,价格日趋低廉,各种二次开发工具不断出现,编程技术也在日趋走向成熟,这一切,都为编程技术更好地表达提供了各种好的手段,也为编制这本书提供了良好的编程素材。在此情况下,经过一段时间的努力,终于编制成书。
本书及《51系列单片机管理软件编程技术》一书系统化地讨论了单片机编程技术,内容基本覆盖了单片机软件编程工作中所涉及的方方面面的技术问题。当然,单片机编程技术也在不断成熟、不断发展,书中对一些编程技术问题的讨论还不够深入,论述还不够全面,分析也不够成熟,本人对编程技术的理解也待深化,但在本书编撰过程中,采用了实例、案例的分析方法,最终形成有关单片机编程问题的一个基本的系统化框架。希望读者通过阅读此书,能够全面、系统地了解单片机编程技术,使其对编程工作有所裨益,这是本书编撰的最终目的。
嵌入式计算机系统是目前IP技术发展的热点之一。随着计算机技术的发展,IP技术从以PC为核心的、通用型、开放式的系统应用阶段,走向以专用计算机为核心的,满足特殊需要的,体积、功耗、性能受约束的嵌入式系统应用阶段。
无论是开放式系统还是嵌入式系统,计算机都是由软、硬件两部分组成的。由硬件实现计算机的基本运算架构,由软件最后确定应用系统的功能。
开放式系统力求计算机硬件组成的通用化,软件开发的标准化。这样,可实现硬件生产批量化,软件开发产业化。以此来降低计算机应用系统的开发、推广成本,实现较高的性能价格比。但这样的模式,使系统的整体优化受到限制。它以最大限度地满足用户基本需求为目的,却很难满足用户的某些特殊需要。直接的表现,就是追求海量数据存储、海量数据处理能力,而将体积和功耗优化降为次要位置。如果应用目标有体积、功耗的限制,则开放式系统的应用效能受限,甚至无法使用。
而嵌入式系统追求的是硬件组成的标准化,软件开发的多样化。硬件组成的标准化,使得嵌入式计算机系统的硬件组成,可以用满足体积、能耗约束的,可以工业化批量生产的、廉价的器件组成;而后,用专用软件确定系统的最后功能,满足最终应用的特殊要求。这种模式,使得用户需求和计算机系统优化达到最佳组合。因此,嵌入式系统可以全方位地嵌入到自然环境和人类社会生活中。未来,它将有更加广泛的应用前景。
对于嵌入式系统而言,软件是其核心内容。软件紧密贯穿整个嵌入式系统体系,决定着它的功能、性能。由于嵌入式系统的软件具有多样性的特点,软件开发时,涉及汇编语言编程技术、嵌入式C语言编程技术、系统管理软件编程技术、嵌入式操作系统的应用编程技术、嵌入式数据库技术,甚至,还涉及软件工程等诸多方面。本书及其姊妹篇《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章 程序切换技术
参考文献
编后记
……
单片机的主要应用领域 由于单片机有许多优点,因此其应用领域之广,几乎到了无孔不入的地步。单片机应用的主要领域有: 1) 智能化家用电器:各种家用电器普遍采用单片机智能化控制代替传统的电子线路控制,升级...
单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如...
8051单片机在一块芯片上集成了一个微型计算机的主要部件,它包括以下几部分: 1个8位微处理器(CPU)。 1个时钟电路。 4KB程序存储器。 256B数据存储器。 2个16位定时/计数器。 64KB...
在《51系列单片机应用软件编程技术》的汇编语言部分,以单片机定时器、中断、输入、输出等电路单元的驱动程序设计为实例,体现出在硬件驱动编程中,汇编语言为最自然语言的特点。
在《51系列单片机应用软件编程技术》的C语言部分,主要以过程设计为主线,探讨C51语言软件编程技术。主要内容有:嵌入式c51编译特点、c源代码的组织方式、开发模式、混合编程、代码运行机制(程序切换)等。
《51系列单片机应用软件编程技术》可供读者深入学习嵌入式软件编程技术使用,也可作为高等院校嵌入式系统教学的参考书。嵌入式系统领域里,51系列单片机的历史较长,应用最为广泛。并且,因其价格低廉,器件易于采购,开发工具完善,而受到众多工程技术人员的青睐。
51系列单片机体系结构简单,其应用复杂度适中,入门容易。因此,在嵌入式二次开发市场占据很大的份额,也拥有众多的使用者。
51系列单片机软件抗干扰设计
在提高单片机硬件系统抗干扰能力的同时,软件抗干扰以其设计灵活,节省硬件资源,可靠性好等特点,越来越受到设计者的重视,本文主要从实际应用的角度阐述单片机系统软件抗干扰的具体实现方法。
单片机应用系统软件抗干扰技术
单片机应用系统软件抗干扰技术
《51系列单片机及C51程序设计》首先详细介绍了51系列单片机的结构原理和系统设计,然后介绍了单片机调试软件KEIL51的应用及其调试技巧,目的在于使读者能够边学边用,为以后的使用奠定必要的基础。同时《51系列单片机及C51程序设计》还讲述了C51程序设计的基本语法、函数、数组和指针、结构、联合及枚举等内容,并给出大量例题,便于读者学习。
1. 8031CPU
2. 振荡电路
3. 总线控制部件
4. 中断控制部件
5. 片内Flash存储器
6. 片内RAM
7. 并行I/O接口
8. 定时器
9. 串行I/O接口
ATMEL 89系列 51单片机的应用区域
目前,ATMEL 51已被广泛用于:
· 打印机控制板
· 智能电表
· LED控制屏
· 医疗设备
89s51单片机
AT89S51是关国ATMEL公司生产的低功耗,高性能CMOS 8位单片机,片内含4k bytes的可系统编程的Flash只读
程序存储器,器件采用 ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。它集Flash程序
存储器既可在线编程(ISP)也可)IJ传统方法进行编程及通用8位微处理器于单片芯片, ATMEL公司的功能强大,低价
位AT89S51单片机可为您提供许多高性价比的应川场合,可灵活应用于各种控制领域。
卞要性能参数:
·与MCS-51产品指令系统完全兼容
·4k字节在系统编程(ISP) Flash闪速存储器
·1000次擦写周期
.4. 0-5. 5V的工作电压范围
·全静态工作模式:OHz-33MHz
·三级程序加密锁
·128X8字节内部RAM
.32个可编程I/0口线
·2个16位定时/计数器
·6个中断源
·全双工串行Lh1RT通道
·低功耗空闲和掉电模式
.中断可从空闲模唤醒系统
·看门狗(WDT)及双数据指针
·掉电标识和快速编程特性
·灵活的在系统编程(iSP一字节或页写模式)
1.内部含Flash存储器
因此在系统的开发过程中可以十分容易进行程序的修改,这就大大缩短了系统的开发周期。同时,在系统工作过程中,能有效地保存一些数据信息,即使外界电源损坏也不影响到信息的保存。
89系列单片机的引脚是和80C51一样的,所以,当用89系列单片机取代80C51时,可以直接进行代换。这时,不管采用40引脚亦或44引脚的产品,只要用相同引脚的89系列单片机取代80C51的单片机即可。
89系列单片机采用静态时钟方式,所以可以节省电能,这对于降低便携式产品的功耗十分有用。
一般的OTP产品,一旦错误编程就成了废品。而89系列单片机内部采用了Flash存储器,所以,错误编程之后仍可以重新编程,直到正确为止,故不存在废品。
用89系列单片机设计的系统,可以反复进行系统试验;每次试验可以编入不同的程序,这样可以保证用户的系统设计达到最优。而且随用户的需要和发展,还可以进行修改,使系统不断能追随用户的最新要求。