51单片机应用基础 C51版
作者:胡进德,丁如春,刘爱荣主编
出版时间:2011年版
内容简介
本书以8051/80C51系列单片机为主体,从初学者最熟悉的生活情景出发,以形象化、比喻化等方式详尽介绍了单片机的功能、工作原理和应用方法等方面的知识和技能,内容包括单片机内部结构、指令系统、定时与计数、串行通信、与部分典型器件接口等,书中还结合实例介绍了很多流行的工具软件如Keil、Medwin、Protells等的使用方法。本书是编者5年来在对单片机课程进行教学改革的基础上编写而成的,它以初学者的认知规律为主线组织学习内容,摒弃了以学科体系为主线的编排方式。本书也融进了很多高职学校主讲教师多年的教学经验和工程实践经验。本书可作为高职院校、中职学校、电视大学和网络大学电子技术专业、机电一体化专业、自动化专业、通信专业、计算机专业及其他相关专业的教材,也可作为一些普通高校和社会培训机构的教材或教学参考书,也是业余电子爱好者和电脑编程爱好者自学单片机的良师益友,书中的新技术、新器件、新的解决方案也适合工程技术人员作为参考书。
目录
封面
扉页
版权页
《51单片机应用基础(C51版)》编委会
内容简介
前言
目录
学习情景一 寻找生活中的单片机
学习单元一 单片机在哪里
学习单元二 单片机是什么样子
学习单元三 单片机如何控制外部器件
学习单元四 如何将程序“装入”单片机
一、利用编程器将程序写入单片机
二、利用下载线将程序写入单片机
学习单元五 学习哪些单片机
思考与练习
学习情景二 如何使用单片机
学习单元一 使用单片机前的准备工作
一、硬件准备
二、工具软件的准备
三、单片机的应用过程
学习单元二 构建与测试单片机基本硬件电路
一、认识引脚功能
二、构建电源电路
三、构建时钟电路
四、构建复位电路
五、构建程序存储器选择电路
六、单片机最小系统的构建与测试实例
学习单元三 建立软件实训环境(1)——Keil软件的安装与使用
一、Keil软件的安装
二、Keil软件的使用
学习单元四 建立软件实训环境(2)——MedWin软件的安装与使用
一、MedWin软件的安装
二、MedWin软件的使用
学习单元五 程序仿真——Proteus仿真软件的使用
一、软件功能概述
二、软件使用方法
学习单元六 烧写程序(1)——用STC-ISP软件烧写程序
一、软件安装方法
二、软件使用方法
学习单元七 烧写程序(2)——用AtmelMCUISP软件烧写程序
一、软件概述
二、软件使用方法
思考与练习
学习情景三 解剖单片机
学习单元一 解剖单片机I/O口
一、I/O口的内部结构和工作原理
二、I/O口的抽象结构
学习单元二 单片机的“解剖图”
一、单片机的抽象结构
二、深入“解剖”单片机的CPU
学习单元三 半导体存储器
一、半导体存储器概述
二、存储单元地址、存储单元内容与存储器容量
三、存储器的两种基本操作
学习单元四 单片机的程序存储器
一、观察程序存储器
二、选择片内程序存储器还是片外程序存储器
三、中断服务程序地址区
学习单元五 单片机的数据存储器
一、数据存储器RAM的用途
二、片内数据存储器和片外数据存储器
三、00H~1FH——工作寄存器区
四、20H~2FH——位寻址区
五、30H~7FH——用户RAM区
学习单元六 单片机的特殊功能寄存器
一、特殊功能寄存器SFR分布图
二、特殊功能寄存器功能简介
思考与练习
学习情景四 给单片机下命令——指令畅谈
学习单元一 指令概述
一、单片机指令、指令系统与程序
二、指令的长度与指令的执行时间
三、机器语言、汇编语言和高级语言
四、手工编译和机器编译
五、汇编语言格式
学习单元二 寻址方式
一、立即数寻址
二、直接寻址
三、寄存器寻址
四、寄存器间接寻址方式
五、变址寻址(基址寄存器加变址寄存器构成间接寻址)
六、相对寻址
七、位寻址
学习单元三 指令系统
一、数据传送类指令
二、算术运算类指令
三、逻辑运算和移位类指令
四、控制转移类指令
五、位操作类指令
学习单元四 汇编语言程序设计
一、汇编语言程序设计步骤
二、伪指令
三、顺序程序设计
四、分支程序设计
五、循环程序设计
六、子程序设计
思考与练习
学习情景五 计数与定时
学习单元一 单片机的计数与定时
一、定时/计数的基本概念
二、51单片机的定时/计数器
学习单元二 计数与定时的控制者
一、工作方式寄存器TMOD
二、控制寄存器TCON
学习单元三 定时/计数器的4种工作方式
一、工作方式0
二、工作方式1
三、工作方式2
四、工作方式3
学习单元四 定时与计数的程序设计及应用
一、定时与计数的范围
二、定时/计数器初值的计算
三、定时与计数的程序设计
四、T0和T1的应用
思考与练习
学习情景六 中断的魅力
学习单元一 初识中断
一、中断概述
二、初识中断
学习单元二 中断服务的指挥官——中断入口地址
学习单元三 中断系统的结构
一、5个中断源
二、中断的控制者
学习单元四 中断响应过程分析
一、中断响应条件
二、中断响应
三、中断请求信号的撤除
学习单元五 中断的魅力——中断程序设计及应用
一、查询方式与中断方式的比较
二、中断程序设计
三、中断的应用
思考与练习
学习情景七 与外界通信
学习单元一 初识串行通信
一、串行通信概述
二、初识串行口通信
学习单元二 单片机串行口的控制者
一、串行口数据缓冲器SBUF
二、串行口控制寄存器SCON
三、电源及波特率选择寄存器PCON
四、波特率发生器(定时/计数器T1)
五、串行口的工作原理
学习单元三 串行口的工作方式
一、工作方式0
二、工作方式1
三、工作方式2
四、工作方式3
学习单元四 串行口的波特率
一、工作方式0和工作方式2的波特率
二、工作方式1和工作方式3的波特率
学习单元五 串行口的应用
一、利用串行口扩展并行口
二、串行口的单工通信
三、串行口的双工通信
四、串行口的多机通信
五、单片机与计算机的串行通信
思考与练习
学习情景八 与外部器件接口
学习单元一 与LED数码管接口
一、LED数码管显示原理
二、数码管的静态显示
三、数码管的动态显示
学习单元二 与键盘接口
一、键盘工作原理
二、独立式按键
三、矩阵式按键
学习单元三 与A/D转换器接口
一、A/D转换器的主要性能指标
二、ADC0809的特点及引脚功能
三、ADC0809的应用
学习单元四 与D/A转换器接口
一、D/A转换器的主要性能指标
二、DAC0832的特点及引脚功能
三、DAC0832的工作方式与应用
四、D/A转换器的输出方式
思考与练习
学习情景九 单片机应用系统的设计与开发
学习单元一 单片机应用系统开发的一般方法
一、总体设计
二、硬件设计
三、软件设计
四、系统调试
学习单元二 软件仿真实现数字时钟
一、项目目标
二、项目实现过程
学习单元三 数字温度计和数字万年历
一、项目目标
二、数学温度传感器DS18B20工作原理
三、程序设计
四、软件仿真
学习单元四 简易角度检测与报警器
一、功能说明
二、设计要求
三、电路原理图
四、程序设计
五、软件仿真
学习单元五 自动往返电动小车
一、任务描述
二、功能要求
三、硬件电路设计
四、程序设计
学习单元六 水温及水位控制系统
一、系统功能及原理
二、方案比较与论证
三、系统设计
思考与练习
学习情景十 C51程序设计
学习单元一 单片机的C语言特点
一、C51程序开发概述
二、C51程序结构
学习单元二 C51的数据类型
一、C51的标识符、关键字
二、数据与数据类型
三、C51数据的存储类型
四、80C51硬件结构的C51定义
学习单元三 C51的运算符、表达式及其规则
一、算术运算符和算术表达式
二、关系运算符、关系表达式及优先级
三、逻辑运算符和逻辑表达式及优先级
四、C51位操作及其表达式
学习单元四 C51流程控制语句
一、C51的顺序结构
二、C51的选择结构
三、C51的循环结构
学习单元五 C51的数组
一、一维数组
二、二维数组
三、字符数组
四、查表
学习单元六 指针
一、指针的基本概念
二、指针变量的使用
三、数组指针和指向数组的指针变量
四、指向多维数组的指针和指针变量
五、关于KeilC51的指针类型
学习单元七 C51的函数
一、函数的分类
二、函数的参数传递和函数值
三、函数的调用
四、C51函数的定义
思考与练习
附录1 单片机中的数制与码制
附录2 ISP技术和IAP技术
附录3 ATMEL公司51系列单片机简介
附录4 STC公司51系列单片机简介
附录5 教材实例的C语言程序
附录6 51单片机指令集
参考文献