单片机原理及C51应用
2009-1
华东理工大学出版社
刘小成 等 著
299
1976年,Intel公司推出第一款8位单片机MCS一48,宣告了单片机时代的到来。短短几十年里,单片机技术获得了长足的发展,在越来越广泛的领域内大显身手。 随着科学技术的日新月异变化,单片机也从刚开始的8位单片机发展到16位、32位等诸多系列。其中,51系列单片机由于其灵活方便、价格便宜的优点,在众多制造厂商的支持下发展成为具有上百个品种的大家族。至今为止,其他任何一个单片机系列均未发展到如此的规模。 采用单片机C51语言编程具有很多的优越性。如果你不懂得单片机的指令集,也能够编写完美的单片机程序;无须懂得单片机的具体硬件,也能够编出符合硬件实际的专业水平的程序;不同函数的数据实行覆盖,有效利用片上有限的RAM空间;程序具有坚固性:数据被破坏是导致程序运行异常的重要因素,C语言对数据进行了许多专业性的处理,避免了运行中间非异步的破坏;C语言提供复杂的数据类型(数组、结构、联合、枚举、指针等),极大地增强了程序处理能力和灵活性;提供auto、static、const等存储类型和专门针对8051单片机的data、idata、pdata、xdata、code等存储类型,自动为变量合理地分配地址;提供small、com-pact、large等编译模式,以适应片上存储器的大小;中断服务程序的现场保护和恢复,中断向量表的填写,是直接与单片机相关的,都由c编译器代办:提供常用的标准函数库,以供用户直接使用;头文件中定义宏、说明复杂数据类型和函数原型,有利于程序的移植和支持单片机的系列化产品的开发;有严格的句法检查,错误很少且可容易地在高级语言的水平上迅速地被排除;可方便地接受多种实用程序的服务:如片上资源的初始化有专门的实用程序自动生成;再如,有实时多任务操作系统可调度多道任务,简化用户编程,提高运行的安全性等。 本书是在多年来从事单片机课程教学的基础上编写的。书中总结了教学中的经验和教训,并针对学生在学习过程中遇到的困难和提出的问题。该书的特点是:通俗易懂,适于自学;由浅入深,便于理解;概念明确,语言简洁;例题丰富,内容全面。由于在教学中发现一些学生偏重于C语言学习,而另一些学生又偏向于汇编语言学习,因此为了更有利于初学者或本科学生学习单片机,本书不仅同时详述了C语言及汇编语言,并且在书中例题程序都给出了C语言及汇编语言两种程序解答,这样一来,无论学生偏向于何种语言都能理解书中例题,另一方面也可以对两种语言的编写方式、结构、实现效率等特点做出比较,让学生能自主选择编程语言,提高编程效率。本书编写时在详细阐述理论知识的同时,也相当注重对学生知识应用和研究的培养,所以在书中给出了许多典型实例供学生自主学习和实践。 本书共分为两个部分,第一部分为控制技术发展状况;第二部分详述单片机知识(分为十一章),基本覆盖了51单片机的主要方面。
《单片机原理及C51应用》是在多年来从事单片机课程教学的基础上编写的。书中总结了教学中的经验和教训,并针对学生在学习过程中遇到的困难和提出的问题。为了更有利于初学者或本科学生学习单片机,《单片机原理及C51应用》不仅同时详述了C语言及汇编语言,并且在书中例题程序都给出了C语言及汇编语言两种程序解答,《单片机原理及C51应用》在详细阐述理论知识的同时,也在书中给出了许多典型实例供学生自主学习和实践。 《单片机原理及C51应用》共分为两个部分,第一部分为控制技术发展状况;第二部分详述单片机知识(分为十一章),基本覆盖了51单片机的主要方面。
绪论控制技术发展状况1.继电逻辑控制2.过程仪表控制3.集散控制系统(DCS)4.可编程控制器(PLC)5.微型计算机(PC和IPC)6.可编程逻辑器件(CPLD和FPGA)单片机简述1.CUP的发展2.片内存储器的发展3.片内输入输出接口功能4.在线编程目前有两种不同方式5.功耗、封装及电源电压的进步6.工艺上的进步7.可靠性技术发展8.单片机常用外围接口介绍9.单片机软件的发展第一章 单片机基础知识1.1 单片机中的数1.2 单片机的硬件基础1.3 单片机的特点1.4 单片机在机电一体化中的应用小结思考题与习题第二章 MCS 51单片机结构2.1 单片机的引脚功能2.2 存储空间2.3 CPU时序小结思考题与习题第三章 指令系统3.1 程序设计语言简介3.2 指令格式和寻址方式3.3 指令系统3.4 程序设计小结思考题与习题第四章 C51基础4.1 C语言简介4.2 数据及运算4.3 C程序结构4.4 函数4.5 数组、指针和结构第五章 并行I/O口5.1 PO口5.2 P1口5.3 P2口5.4 P3口5.5 应用举例思考题与习题第六章 定时器6.1 定时器的结构及工作原理6.2 定时器的控制6.3 定时器的工作方式6.4 定时器的应用思考题与习题第七章 串行接口7.1 串行通信7.2 8051单片机的串行口7.3 串行接口通信举例思考题与习题第八章 中断系统8.1 中断的概念8.2 51单片机的中断系统中断源及其优先级管理8.3 单片机中断处理过程8.4 中断请求的撤除8.5 关于外部中断8.6 中断程序编程举例思考题与习题第九章 RAM/ROM扩展系统9.1 概述9.2 最小系统与程序存储器的扩展9.3 数据存储器扩展思考题与习题第十章 I/O扩展系统及应用设计10.1 I/O地址译码技术10.2 简单I/O口扩展10.3 8255A可编程并行I/O口扩展10.4 8155可编程并行I/O口扩展10.5 通过串行口扩展10.6 单片机系统扩展10.7 单片机的接口应用思考题与习题第十一章 单片机系统的开发11.1 单片机系统开发工具总体介绍11.2 原理图和PCB设计的计算机辅助软件11.3 调试仿真软件附录 MCS-51指令速查表参考文献
第一章 单片机基础知识 1.1 单片机中的数 计算机最基本的特点是用电信号来表示二进制信息,这些二进制信息可以是数据、地址、控制命令等。从某种意义上说,整个计算机系统的工作就是对这些二进制信息进行存储、传送、运算和逻辑判断。 在单片机系统的设计与应用中,我们常采用十进制数、二进制数和十六进制数。 1.1.1 十进制数 在日常生活中,人们通常使用十进制数(用D表示),它有十个不同的数字:0,1,2,3,4,5,6,7,8,9。在表示数时,处于不同位置(或数位)的数字代表的值是不同的。例如1001表示一千零一。我们称这是一个四位(十进制)数。一般地讲,任何十进制数都可以写成基数十的各次幂的和式,如:1024D=1×103+0×102+2X101+4×100更一般可写成: D3D2D1D0=D3×103+D2×102+D1×101+D0×100 在这里,D3表示l03的权,D。表示102的权等。上式我们称为按权展开式。 ……