本书以Intel公司生产的MCS-51系列单片机为例,系统讲解了单片机的结构及原理。全书共十个项目,依次介绍了单片机基本常识,MCS-51单片机的硬件结构、存储器配置、I/0端口使用、时钟电路与时序、工作方式,MCS-51指令系统与汇编程序设计,MCS-51中断控制与应用,MCS-51定时器肼数器结构、原理及应用,MCS-51串行接口结构及应用,MCS-51存储器与I/O接口扩展,:MCS-51显示器接口设计与编程,MCS-51键盘接口设计与编程,A/D与D/A转换器接口设计与编程等。
此外,为了便于没有数字电路基础的读者学习,我们在项目一中简要介绍了数制、编码和数字电路方面的知识。
随着人们对智能化产品需求的提高,单片机的应用范围越来越广泛,前景越来越广阔。学好单片机是今后从事硬件及嵌入式系统开发的基础。
本书以Intel公司生产的MCS-51系列单片机为例,系统讲解了单片机的结构及原理。全书共分十个项目,内容包括数字电路基础知识、单片机硬件结构、指令系统、汇编程序设计基础、中断应用、定时,计数器应用、串行接口应用、系统扩展、显示器接口设计与编程、键盘接口设计与编程、A/D与D/A转换器接口设计与编程。
本教材结构新颖、条理清晰、叙述简洁,可作为高职高专电子、电气、自动化、机电一体化等专业的教材,也可作为从事单片机开发的工程技术人员的参考用书。
项目一 单片机入门——信号灯闪烁系统设计
任务一 单片机简介
一、什么是单片机
二、单片机的发展历史与常见产品
三、单片机的应用领域与未来发展趋势
四、MCS-51系列单片机的特点
任务二 单片机中的数制与编码
一、单片机中的数制
二、数制间的转换
三、信息编码
任务三 数字电路入门
一、逻辑门电路
二、传送门电路
三、译码器
四、触发器
五、寄存器和锁存器
任务四 单片机应用系统开发——信号灯闪烁系统软硬件设计
一、单片机应用系统开发流程
二、信号灯闪烁系统设计
三、利用Keil C51集成开发软件编辑、编译和链接程序
四、利用Proteus系统仿真软件调试系统和程序
项目总结
思考与练习
项目二 MCS-51单片机入门——流水灯模拟系统设计
任务一 MCS-51系列单片机的基本结构
一、MCS-51的外部引脚
二、MCS-51的内部结构
任务二 MCS-51系列单片机的存储器配置
一、程序存储器
二、数据存储器
任务三 MCS-51 I/O端口的使用
一、I/O端口的结构
二、I/O端口的负载能力
任务四 时钟电路与时序
一、时钟电路
二、机器周期与指令周期
三、典型指令执行时序
任务五 MCS-51系列单片机的工作方式
一、复位方式
二、程序执行方式
三、低功耗方式
四、编程和加密方式
任务六 典型应用——流水灯模拟系统设计
一、系统整体设计
二、硬件设计
三、软件设计
项目总结
思考与练习
项目三 MCS-51程序设计——交通信号灯模拟系统设计
任务一 MCS-51指令系统入门
一、指令系统概述
二、指令格式
三、指令中常用符号
四、指令分类
五、寻址方式
任务二 指令系统
一、数据传送类指令
二、算术运算类指令
三、逻辑运算与移位指令
四、控制转移类指令
五、位操作指令
任务三 汇编语言程序设计基础
一、汇编语言格式
二、伪指令
三、汇编程序设计的一般步骤
四、汇编程序设计方法
任务四 典型应用——交通信号灯模拟系统设计
一、系统整体设计
二、硬件设计
三、软件设计
项目总结
思考与练习
项目四 MCS-51中断应用——报警器设计
任务一 中断入门
一、中断的基本原理
二、中断的好处
三、中断源
四、中断控制寄存器
任务二 中断处理过程
一、中断响应
二、中断处理
三、中断返回
任务三 典型应用——报警器设计
一、硬件设计
二、软件设计
项目总结
思考与练习
项目五 MCS-51定时/计数器应用——电子秒表设计
任务一 定时/计数器的结构
任务二 定时/计数器的工作原理
任务三 定时/计数器的控制寄存器
一、模式控制寄存器1MOD
二、控制寄存器TCON
任务四 定时,计数器的工作方式
一、方式0
二、方式1
三、方式2
四、方式3
任务五 定时/计数器的初始化
一、初始化的步骤
二、预置初值的计算
三、初始化应用举例
任务六 定时/计数器扩展外部中断
任务七 典型应用——电子秒表设计
一、硬件设计
二、软件设计
项目总结
思考与练习
项目六 MCS-51串行口应用——单片机与PC机通信
任务一 串行通信概述
一、串行通信方式
二、串行通信的制式
三、串行通信的波特率
四、RS-232C串行通讯协议
任务二 MCS-51串行接口
一、串行口的结构
二、串行口的工作原理
三、串行口的控制寄存器
四、串行口的工作方式
五、串行口的波特率设定
任务三 利用串行口扩展并行口
任务四 典型应用——单片机与PC通信
一、硬件设计
二、软件设计
三、仿真通信
项目总结
思考与练习
项目七 MCS-51系统扩展
任务一 存储器扩展
一、单片机的系统总线
二、存储器扩展方法
三、程序存储器扩展
四、数据存储器扩展
任务二 74系列芯片扩展I/O
一、并行接口输入扩展
二、并行接口输出扩展
三、同时扩展输入与输出口
任务三 8255A可编程并行输入输出接口
一、8255A的结构和引脚功能
二、8255A的控制字
三、8255A的工作方式
四、8255A与MCS-51的典型连接
五、8255A应用举例
项目总结
思考与练习
项目八 显示器接口设计与编程
任务一 LED显示器接口设计
一、数码管基础知识
二、LED静态显示方法
三、LED动态显示方法
任务二 LcD显示器接口设计
一、LCD显示器基础知识
二、基于HD44780的字符型芯片的功能及使用方法
三、接口设计
四、软件设计
项目总结
思考与练习
项目九 键盘接口设计与编程
任务一 独立式键盘的接口设计与编程
一、独立式键盘接口设计
二、按键抖动问题产生的原因及解决方法
三、键盘扫描方式及相关程序
任务二 矩阵式键盘的接口设计与编程
一、矩阵式键盘接口设计——基于行反转法
二、矩阵式键盘接口设计——基于扫描法
项目总结
思考与练习
项目十A/D与D/A转换器接口设计与编程——数字电压表设计和数模转换电路设计
任务一 A/D转换器
一、A/D转换器的基本原理
二、A/D转换器的种类
三、A/D转换器的主要性能指标
四、ADC0809(8位)引脚功能与内部结构
任务二 典型应用——数字电压表设计
一、硬件设计
二、软件设计
任务三 D/A转换器
一、D/A转换器的原理
二、D/A转换器的种类
三、D/A转换器的主要性能指标
四、DAC0832引脚功能与内部结构
五、DAC0832的三种工作方式
任务四 典型应用——数模转换电路设计
一、硬件设计
二、软件设计
项目小结
思考与练习
附录
附录A MCS-51指令表
附录B ASCⅡ码表