51单片机基础教程
2008-3
北京航空航天大学出版社
宁凡,王宇 著
252
随着电子技术和自动控制技术的飞速发展,单片机的应用已经渗透到国民经济的各个行业。各个院校都在开设《单片机原理和接口技术》等相关课程,这门课程已经成为现代工科院校的必修课程之一;另外很多电子爱好者在学习电子技术等学科的过程中,也特别青睐单片机方面的内容。鉴于这个原因,我们从初学者的角度出发,编写了《51单片机基础教程》这本书。希望这本书的出版可以给广大单片机的爱好者带来帮助。 本书在编写的过程中有以下几个特点: 一、根据教学中遇到的难点,对学习者难理解的部分进行了注解,使本书具有广泛性和易懂性。 二、本书在编写的过程中理论联系实际,把单片机的硬件和软件结合起来。硬件以单片机为主要器件,其他元件作为辅助器件形成一个完整的硬件系统。学习者在学习的过程中要具备模拟电子技术和数字电子技术等方面的知识。单片机的软件由一系列的指令构成,采用一定的算法,解决实际问题。 三、在本书的编写过程中,征询了很多教该门课程的教师的意见,以实践来带动理论的学习,列举大量的例题,初学者可以通过例题的学习来理解比较难理解的指令。 目前,市场上单片机的型号很多,开发工具也是琳琅满目,学习者在学习的过程中很难选择。本书在编写的过程中以51系列的单片机为教学芯片,可以选择市场上普遍的开发工具,如达爱思等。书中涉及的程序都可以在实验系统上完成。 本书由杭州职业技术学院宁凡担任主编,编写了第1-4章,第5-11章由金华交通职业技术学院的王宇老师编写。郭志红、施慧莉、朱光灿、朱万里等老师在本书编写的过程中提出了许多意见和建议,在此表示感谢。 由于作者的水平有限,本教材在编写的过程中还存在不足之处,希望读者批评指正。
《高职高专规划教材:51单片机基础教程》是专门为高等职业技术学校教学或相应层次的教学而编写的教材。在内容编排上针对“高职高专”教学及自学者学习的特点,从基础着手,深入浅出,循序渐进;结构紧凑,知识面广;举例丰富,实用性强。在叙述上重点突出,条理清晰,语言精练流畅,通俗易懂,便于知识点的理解和进一步掌握。 全书共11章,第1、2章是理论基础,讲解单片机芯片的基本硬件,为后面章节的应用打基础;第3、4章系统叙述指令系统和程序设计的基础;第5~7章讲述单片机的中断系统、定时/计数器和串行口的组成及应用;第8、9章通过各种应用实例阐述单片机的系统扩展和应用系统的接口技术;第10章介绍应用系统的研制过程、应用系统的开发及常用的抗干扰技术;第11章介绍Kei1 C51的用法,目的是让读者从基础知识到实际应用有个完整的掌握。 《高职高专规划教材:51单片机基础教程》可作为应用电子专业、信息电子专业及相关专业的教材,不同专业在学习过程中可根据具体情况进行合理取舍。同时,也可供对单片机有兴趣的学生和其他非专业技术人员学习。
第1章 微型计算机系统的基本知识1.1 概述1.1.1 微型计算机1.1.2 单片机的发展概述1.2 单片机系统的组成1.2.1 微处理器(CPU)1.2.2 总线1.2.3 存储器1.3 单片机的应用思考与练习第2章 51单片机的硬件结构2.1 51单片机的内部结构2.1.1 内部结构框图2.1.2 引脚功能2.1.3 时钟电路和时序2.2 51单片机的内部存储器分配2.2.1 51单片机的内部存储器结构以及地址空间2.2.2 51单片机的内部数据存储器2.2.3 51单片机的内部程序存储器2.2.4 特殊功能寄存器SFR2.2.5 堆栈指针SP2.3 51单片机的并行输入/输出口2.3.1 端口的功能2.3.2 端口的结构和应用2.4 51单片机复位电路思考与练习第3章 51单片机的指令系统3.1 指令的格式及常用符号3.1.1 指令的基本格式3.1.2 指令分类3.1.3 指令中常用符号3.1.4 寻址方式3.2 单片机的指令系统3.2.1 数据传送类指令3.2.2 算术运算类指令3.2.3 逻辑运算与移位类指令3.2.4 控制转移类指令3.2.5 位操作类指令思考与练习第4章 51单片机的汇编语言程序设计4.1 程序设计的基本方法4.1.1 汇编语言基本结构4.1.2 伪指令4.1.3 汇编4.1.4 程序设计的基本步骤4.2 汇编语言程序设计举例4.2.1 顺序程序4.2.2 分支程序4.2.3 循环程序4.2.4 子程序4.2.5 其他常见程序思考与练习第5章 51单片机的中断系统5.1 中断的定义5.2 中断机构5.2.1 中断源5.2.2 中断开放禁止寄存器5.2.3 中断优先级寄存器5.2.4 中断系统内部结构5.2.5 中断的入口地址5.3 中断的处理过程5.3.1 中断响应条件5.3.2 中断响应过程5.3.3 中断处理5.4 中断程序编程要点及举例5.4.1 设置中断的初始化工作5.4.2 中断服务程序5.4.3 中断编程示例思考与练习第6章 51单片机的定时器/计数器6.1 定时器/计数器的结构6.1.1 计数功能6.1.2 定时功能6.1.3 计数器溢出及定时/计数实现6.2 定时器/计数器的初始化6.2.1 定时方式寄存器(TMOD)6.2.2 定时控制寄存器(TCON)6.2.3 中断允许寄存器(IE)6.2.4 定时器/计数器初值计算6.2.5 定时器/计数器初始化步骤6.3 定时器/计数器的工作方式6.3.1 方式06.3.2 方式16.3.3 方式26.3.4 方式36.4 定时器/计数器程序举例思考与练习第7章 51单片机串行口7.1 串行口的基本概念7.1.1 同步串行通信7.1.2 异步串行通信7.1.3 I2C总线数据传送7.1.4 USB总线传送7.2 异步串行口的结构和工作原理7.2.1 异步串行通信的两项规定7.2.2 串行通信中数据的传送方向7.2.3 通用异步接收/发送器UART7.2.4 信号的调制与解调7.3 串行口控制寄存器7.3.1 SCON控制寄存器7.3.2 电源控制寄存器PcON(字节地址为87H)7.4 串行口的控制方式7.4.1 工作方式0——移位寄存器方式7.4.2 工作方式1——8位数据位方式7.4.3 工作方式2和3——9位数据位方式7.4.4 方式0、1、2、3之间的区别7.4.5 波特率的设定7.4.6 多机通信7.5 串行口的应用思考与练习第8章 单片机的系统扩展8.1 程序存储器的扩展8.1.1 常用程序存储器芯片介绍8.1.2 程序存储器扩展方法8.2 数据存储器的扩展8.2.1 静态存储器介绍8.2.2 数据存储器扩展方法8.2.3 CPU对数据存储器访问方法8.3 并行I/O口的扩展8.3.1 简单的并行口I/O扩展8.3.2 8255A可编程并行I/O扩展接口8.4 SPI串行接口的软件实现8.4.1 SPI总线介绍8.4.2 SPI在51系列单片机中的软件实现方法思考与练习第9章 接口技术9.1 LED显示接口9.1.1 LED显示结构9.1.2 LED显示方式9.2 键盘接口9.2.1 键盘输入要解决的问题9.2.2 键盘接法的选择及编程方法9.3 A/D转换器接口9.3.1 A/D转换器原理9.3.2 A/D转换器应用实例9.4 D/A转换器接口9.4.1 D/A转换器原理9.4.2 DAC0832与8031的接口设计及编程思考与练习第10章 单片机应用系统的开发10.1 开发工具10.1.1 单片机集成开发环境10.1.2 烧写工具10.2 常用软件子程序设计实例10.3 单片机应用实例思考与练习第11章 Keil C51编译器及其应用11.1 概述11.2 51型单片机的映射11.2.1 Keil C51的数据类型11.2.2 Keil C51存储类型及存储模式11.2.3 Keil C51中的变量定义11.3 Keil C51编译器的使用11.3.1 Keil c51的组成及各部分的功能11.3.2 Keil C51集成开发环境的使用思考与练习参考文献