单片机C语言及汇编语言实用程序设计

出版时间:2009-4  出版社:中国电力出版社  作者:周杰,张樱枝 编著  页数:270  

前言

  8051单片机是当前国内外工业测控领域内使用很广泛的一类8位微控制器,它的特点是使用方便、灵活,外围硬件支持十分丰富,世界上许多大的半导体生产厂商,如Atmel、Dallas、TI等公司都推出了具有各自特点的增强型8051系列单片机,使用户有了更大的选择空间。此外,世界上有许多软件公司致力于8051单片机高级编程语言的开发,其中,C语言是一种特别适合于开发单片机程序的高级语言。  本书先从硬件入手,讲述了单片机的内部结构、硬件特点、外围扩展等基础硬件知识,为后续学习编程方法打下了坚实的基础。  本书详细地讲述了指令系统,介绍了汇编语言的编程方法,这是因为汇编语言具有运算效率高、占用存储空间小、实时性强、执行速度快等优点,能直接管理和控制存储器及硬件接口,充分发挥硬件的作用。掌握了汇编语言,就可以更好地理解高级编程语言。  本书着重讲述了C语言编程方法。C语言是一种通用的程序设计语言,它的代码效率高,语言简洁、紧凑,运算符丰富,数据结构丰富,具有现代化语言的各种数据结构,具有良好的程序结构,允许直接访问物理地址,能够进行位操作,能够实现汇编语言的大部分功能,可以直接对硬件进行操作,适用于各种应用的程序设计,是目前使用较广的单片机编程语言。  C语言可以和汇编语言混合编程。汇编语言可以直接操作硬件,运算速度快,但复杂的运算编程很耗时。而用汇编语言编写与硬件底层操作有关的程序,用C语言编写与硬件无关的运算程序,这样可充分发挥两种语言的长处,从而提高开发效率。本书介绍了C语言和汇编语言混合编程的规则,并举例说明了如何进行C语言和汇编语言的混合编程。  为了能够深入理解和掌握C语言与汇编语言的编程方法,本书介绍了更深层次的编程知识——Cx51编译器、宏汇编Ax51以及目标文件的连接与转换等。  本书还详细地介绍了单片机开发环境——Vision2集成开发环境。Vision2具有全功能的源代码编辑器、用来配置开发工具设置的器件库、用来创建和维护项目的项目管理器、集成的MAKE工具,以及可以汇编、编译和连接用户的嵌入式应用程序等特性。  本书注重实践与理论相结合,按照单片机初学者的学习过程,由浅入深逐步讲解8051单片机基础、编程软件以及典型实例。全书共分为12章,各章节的安排如下:  第1章单片机的发展,主要讲述了单片机技术的发展概况、单片机的主流产品系列以及单片机的应用领域及其意义。  第2章MCS-51单片机的基础知识,主要讲述了8051单片机的硬件特点、硬件结构、串行口与定时/计数器、中断系统等。  第3章8051单片机指令系统,主要讲述了指令系统的概况、寻址方式、数据传送指令、算术与逻辑运算和移位指令、控制转移和位操作指令等。

内容概要

本书系统地介绍了8051单片机的硬件结构、硬件组成、指令系统、汇编语言、C语言以及C语言和汇编语言混合编程等知识,并深入地介绍了高级编程知识,给出了大量的单片机应用实例。本书为每个知识点都提供了详细的实例。    全书共分为12章,全面详细地介绍了单片机硬件知识和软件编程方法。首先介绍了8051单片机的基本硬件知识、内部结构以及指令系统,接着介绍了单片机的程序设计语言——汇编语言和单片机C语言,然后介绍了单片机的开发环境、高级编程知识以及C语言和汇编语言的混合编程,最后列举了大量的单片机应用实例。    本书内容全面、结构紧凑、实例丰富。适合51系列单片机的初学者,对具有一定开发经验的设计人员也具有很好的参考价值。

书籍目录

前言第1章  单片机的发展  1.1  单片机技术的发展概况  1.2  单片机的主流产品系列  1.3  单片机的应用领域及其意义第2章  MCS-51单片机的基础知识  2.1  8051单片机的硬件特点  2.2  8051单片机的硬件结构    2.2.1  引脚及片外总线描述    2.2.2  内部总体结构    2.2.3  中央处理器及其振荡器、时钟电路和CPU时序    2.2.4  复位状态及几种复位电路的设计    2.2.5  存储器、特殊功能寄存器及地址空间    2.2.6  输入/输出(I/O)接口  2.3  串行接口与定时/计数器    2.3.1  串行接口简介    2.3.2  定时/计数器的结构    2.3.3  定时/计数器的4种工作方式    2.3.4  定时/计数器对输入信号的要求    2.3.5  定时/计数器应用实例  2.4  中断系统    2.4.1  中断源    2.4.2  中断控制    2.4.3  中断响应过程    2.4.4  外部中断响应时间    2.4.5  外部中断方式的选择第3章  8051单片机指令系统  3.1  指令系统概述    3.1.1  指令格式    3.1.2  指令的3种表示形式    3.1.3  指令的字节数    3.1.4  指令的分类  3.2  寻址方式    3.2.1  立即寻址    3.2.2  直接寻址    3.2.3  寄存器寻址方式    3.2.4  寄存器间接寻址方式    3.2.5  变址寻址方式    3.2.6  相对寻址方式    3.2.7  位寻址方式  3.3  数据传送指令    3.3.1  内部数据传送指令    3.3.2  外部传送指令    3.3.3  堆栈操作指令    3.3.4  数据交换指令  3.4  算术与逻辑运算和移位指令    3.4.1  算术运算指令    3.4.2  逻辑运算指令  3.5控制转移和位操作指令    3.5.1  控制转移指令    3.5.2  位操作指令第4章  汇编语言程序设计  4.1  汇编语言的构成    4.1.1  程序设计语言    4.1.2  汇编语言的格式    4.1.3  伪指令  4.2  汇编语言源程序的设计与汇编    4.2.1  汇编语言源程序的设计步骤    4.2.2  汇编语言程序的汇编  4.3  简单程序与分支程序的设计    4.3.1  简单程序设计    4.3.2  分支程序设计  4.4  循环与查表程序设计    4.4.1  循环程序设计    4.4.2  查表程序设计  4.5  子程序与运算程序设计    4.5.1  子程序设计    4.5.2  运算程序设计第5章  C51程序设计基础  5.1  标识符与关键字  5.2  数据类型  5.3  常量  5.4  变量及其存储模式  5.5  用typedef重新定义数据类型  5.6  运算符与表达式  5.7  基本语句    5.7.1  表达式语句    5.7.2  复合语句    5.7.3  if条件语句    5.7.4  开关语句    5.7.5  循环语句  5.8  函数    5.8.1  函数的定义    5.8.2  函数的调用    5.8.3  函数的递归调用和再入函数    5.8.4  中断服务函数与寄存器组定义    5.8.5  函数变量的存储方式    5.8.6  函数的参数和局部变量的存储器模式  5.9  数组与指针    5.9.1  数组的定义与引用    5.9.2  字符数组    5.9.3  数组作为函数的参数    5.9.4  指针    5.9.5  数组的指针    5.9.6  指针的地址计算    5.9.7  函数类型指针变量    5.9.8  返回指针型数据的函数    5.9.9  指针数组与指向指针的指针  5.10  结构体、联合体与枚举    5.10.1  结构体变量的定义与引用    5.10.2  结构体类型变量的初始化    5.10.3  结构体类型数组    5.10.4  结构体类型指针变量    5.10.5  结构体与函数    5.10.6  联合体变量的定义与引用    5.10.7  枚举类型  5.11  预处理器    5.11.1  宏定义    5.11.2  文件包含    5.11.3  条件编译第6章  lxVision2集成开发环境    6.1  关于开发环境    6.2  菜单栏、工具栏和快捷键    6.3  创建项目实例    6.4  LLVision2功能    6.5  编写优化代码    6.6  技巧与窍门第7章  Cx51编译器  7.1  Cx51编译器的数据调用协议    7.1.1  数据在内存中的存储格式    7.1.2  再入函数的栈结构    7.1.3  与PL/M-51语言程序的接口    7.1.4  配置文件    7.1.5  Cx5l编译器的限制第8章  宏汇编Ax51  8.1  符号与表达式    8.1.1  符号    8.1.2  标号    8.1.3  操作数    8.1.4  特殊汇编符号    8.1.5 表达式  8.2  汇编伪指令    8.2.1  符号定义伪指令    8.2.2  保留和初始化存储器空间的指令    8.2.3  控制程序连接的指令    8.2.4  段控制的伪指令    8.2.5  过程声明伪指令(仅用于Ax51和A251)    8.2.6  地址控制伪指令    8.2.7  其他伪指令  8.3  宏处理    8.3.1  宏定义    8.3.2  宏调用    8.3.3  应用实例第9章  目标文件的连接与转换  9.1  连接器/定位器LX51  9.2  组间转换    9.2.1  公共代码区域    9.2.2  代码组区域    9.2.3  最合适的具有组间切换的程序结构    9.2.4  组和公共代码区域中的程序代码    9.2.5  组区域中的段    9.2.6  组间切换配置  9.3  符号转换程序    9.3.1  IntelcHEX文件转换程序OHx51    9.3.2  分组目标文件转换程序OC51  9.4  库管理器LIBx51第10章  C语言和汇编语言混合编程  10.1  C语言嵌套汇编语言的规则    10.1.1  Cx51函数名的转换及其命名规则    10.1.2  Cx51函数及其相关段的命名规则    10.1.3  Cx51函数的参数传递规则  10.2  在Cx51中调用汇编程序应用举例第11章  单片机C语言与汇编语言应用实例  11.1  I/O并行口直接驱动LED显示  11.2  一键多功能按键的识别  11.3  可预置可逆4位计数器  11.4  识别4x4矩阵式键盘  11.5  拉幕式数码的显示  11.6  99s马表的设计  11.7  “嘀、嘀、嘀”报警声  11.8  ADC0809A/D转换器的应用  11.9  点阵式LED简单图形的显示  11.10  电子琴的设计第12章  单片机在微型打印机系统中的应用  12.1  KP系列微型打印机性能和主要性能指标  12.2  软硬件设计特点  12.3  打印原理及控制程序  12.4  打印机接口  12.5  打印命令分析    12.5.1  文本打印命令    12.5.2  图形打印命令    12.5.3  其他命令  12.6  打印机程序编制方法应用举例附录A  8051指令集附录B  Keilc Cx51与ANSIC的差别参考文献

章节摘录

  第1章 单片机的发展  单片机是把组成微型计算机的各个功能部件,如中央处理器CPU、只读存储器ROM、随机存取存储器RAM、输入/输出接口(I/O)电路、定时器/计数器以及串行通信及口电路等功能部件集成在一块芯片上,构成的一个完整的微型计算机。因此单片机早期的含义为单片微型计算机(SinglechipMicrocomputer),它的专业名称为微控制器件(MicroControllerUnit)。单片机的出现和发展使计算机技术从通用型数值计算领域进入到智能化的控制领域,已经应用在工业控制、仪器仪表、交通、航运、通信、家电等领域,而且这些应用越来越广泛。  1.1 单片机技术的发展概况  单片机是Intel公司开发出来的,在微型计算机研制成功后1971年Intel公司推出了4位单片机4004,它的结构简单、功能单一、控制能力较弱;随后,Intel公司又开发了MCS.48系列单片机,它的体积小、功能全、价格较低,基于这些特点,MCS.48系列单片机得到了广泛地应用,成为单片机发展过程中的一个重要阶段,可以称为第一代单片机。  在MCS-48系列单片机的基础上,Intel公司又开发了MCS.51系列单片机。MCS-51单片机的主要技术特征是配置了外部并行总线和串行通信接口,规范了特殊功能寄存器的控制模式,强化了布尔处理系统和相关的指令系统,从而增强了单片机的控制功能。  20世纪80年代中后期,Intel推出了MCS一96系列等16位单片机。16位单片机功能很强大,而价格与原来的单片机相差不大,片内有A/D转换器,提高了网络通信的能力,可用于高速的控制系统,因此得到了广泛地应用。  20世纪90年代以来,移动通信、多媒体技术、网络技术等高端产品逐步进入普通家庭,Intel等公司开发出了32位单片机,并得到了大力推广,如ARM、PowerPC等32位单片机。现在市场上8位机、16位机、32位机共存,共同发展,因为各种单片机新品迭出,而且有各自广泛应用的领域。  目前单片机品种繁多,而MCS-51系列单片机是最典型的单片机。其功能强大,兼容性强,软硬件资源丰富,因此本书以MCS-51系列单片机为硬件基础展开叙述。

编辑推荐

  《单片机C语言及汇编语言实用程序设计》内容全面、结构紧凑、实例丰富。适合51系列单片机的初学者,对具有一定开发经验的设计人员也具有很好的参考价值。

图书封面

评论、评分、阅读与下载


    单片机C语言及汇编语言实用程序设计 PDF格式下载


用户评论 (总计0条)

 
 

 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7