单片机原理及应用——C语言程序设计与实现(第2版)课件.pptx
单片机原理及应用C语言程序设计与实现(第2版),演讲人,2025-11-11,单片机原理及应用C语言程序设计与实现(第2版)演讲人20,第2版前言,01,Part One,第2版前言01Part One,第2版前言,第2版前言,1 51单片机结构及工作原理,02,Part One,1 51单片机结构及工作原理02Part One,1 51单片机结构及工作原理,习题与思考,本章小结,1.4 51 系列单片机的工作方式,1.3 51 单片机的内部结构,1.2 51 单片机的基本组成和功能,1.1 微型计算机基础,1 51单片机结构及工作原理习题与思考本章小结1.4 51,1 51单片机结构及工作原理,1.1 微型计算机基础,1.1.1 单片机及其发展概况,1.1.2 计算机中的数制及相互转换,1.1.3 二进制数的运算,1.1.4 计算机中数的表示方法,1 51单片机结构及工作原理1.1 微型计算机基础1.1.1,M.94275.CN,1 51单片机结构及工作原理,1.2 51 单片机的基本组成和功能,1,1.2.1 51系列单片机的主要功能,2,1.2.2 51系列单片机基本结构,3,1.2.3 51系列单片机外部引脚,LOGOM.94275.CN1 51单片机结构及工作原理1.,1 51单片机结构及工作原理,1.3 51 单片机的内部结构,01,02,03,04,05,1.3.1 中央处理单元,1.3.2 存储器,1.3.3 定时器/计数器,1.3.4 I/O口,1.3.5 中断系统,1 51单片机结构及工作原理1.3 51 单片机的内部结构0,1 51单片机结构及工作原理,1.4 51 系列单片机的工作方式,1.4.1 时钟和时钟电路,01,1.4.2 CPU时序,02,1.4.3 复位状态和复位电路,03,1 51单片机结构及工作原理1.4 51 系列单片机的工作方,2 51单片机指令系统及汇编语言程序设计基础,03,Part One,2 51单片机指令系统及汇编语言程序设计基础03Part O,2 51单片机指令系统及汇编语言程序设计基础,2.1 51 单片机指令格式,2.2 51 单片机寻址方式,2.3 51 单片机指令,习题与思考,本章小结,2.4 汇编语言程序设计基础,2 51单片机指令系统及汇编语言程序设计基础2.1 51 单,M.94275.CN,2 51单片机指令系统及汇编语言程序设计基础,2.1 51 单片机指令格式,2.1.2 指令的字节数,02,2.1.3 指令的分类,03,2.1.1 指令格式,01,LOGOM.94275.CN2 51单片机指令系统及汇编语言,2 51单片机指令系统及汇编语言程序设计基础,2.2 51 单片机寻址方式,2.2.1 立即寻址,2.2.2 直接寻址,2.2.3 寄存器寻址,2.2.4 寄存器间接寻址,2.2.5 变址寻址,2.2.6 相对寻址,2 51单片机指令系统及汇编语言程序设计基础2.2 51 单,2 51单片机指令系统及汇编语言程序设计基础,2.2 51 单片机寻址方式,2.2.7 位寻址,2 51单片机指令系统及汇编语言程序设计基础2.2 51 单,2.3 51 单片机指令,2 51单片机指令系统及汇编语言程序设计基础,2.3.1 数据传送类指令,2.3.2 算术运算类指令,2.3.3 逻辑运算及移位指令,2.3.6 伪指令,2.3.5 位操作类指令,2.3.4 控制转移类指令,2.3 51 单片机指令2 51单片机指令系统及汇编语言程序,M.94275.CN,2 51单片机指令系统及汇编语言程序设计基础,2.4 汇编语言程序设计基础,2.4.1 汇编语言程序的格式,2.4.2 汇编语言程序的基本结构,2.4.3 顺序结构程序设计,2.4.4 分支程序设计,2.4.5 循环程序设计,2.4.6 查表程序设计,LOGOM.94275.CN2 51单片机指令系统及汇编语言,2 51单片机指令系统及汇编语言程序设计基础,2.4 汇编语言程序设计基础,2.4.7 子程序设计,2 51单片机指令系统及汇编语言程序设计基础2.4 汇编语言,3 51单片机的硬件资源,04,Part One,3 51单片机的硬件资源04Part One,3 51单片机的硬件资源,3.2 51 单片机中断系统,3.4 51 单片机串行通信,习题与思考,3.1 51 单片机并行I/O 口,3.3 51 单片机定时器/计数器,本章小结,3 51单片机的硬件资源3.2 51 单片机中断系统3.4,3 51单片机的硬件资源,3.1 51 单片机并行I/O 口,C,B,A,3.1.1 I/O口的作用,3.1.2 内部并行I/O口,3.1.3 内部并行I/O口的应用,3 51单片机的硬件资源3.1 51 单片机并行I/O 口C,3.2 51 单片机中断系统,3 51单片机的硬件资源,3.2.1 中断的定义,3.2.2 中断源,3.2.3 中断控制,3.2.4 中断优先级结构,3.2.5 中断响应,3.2.6 中断响应时间,3.2 51 单片机中断系统3 51单片机的硬件资源3.2.,3 51单片机的硬件资源,3.2 51 单片机中断系统,C,B,A,3.2.7 中断请求的撤除,3.2.8 中断系统的初始化,3.2.9 外部中断源的扩展,3 51单片机的硬件资源3.2 51 单片机中断系统CBA3,3 51单片机的硬件资源,3.3 51 单片机定时器/计数器,1,3.3.1 定时器/计数器的结构及工作原理,2,3.3.2 控制定时器/计数器的寄存器,3,3.3.3 定时器/计数器的初始化,4,3.3.4 定时器/计数器的工作方式,3 51单片机的硬件资源3.3 51 单片机定时器/计数器1,3 51单片机的硬件资源,3.4 51 单片机串行通信,3.4.1 串行通信,01,3.4.2 51单片机串行接口,02,3.4.3 51单片机串行通信的工作方式,03,3 51单片机的硬件资源3.4 51 单片机串行通信3.4.,4 C51程序设计基础,05,Part One,4 C51程序设计基础05Part One,4 C51程序设计基础,4.1 C51 语言的符号类型,4.2 常量与变量,习题与思考,本章小结,4.3 C51 语句,4 C51程序设计基础4.1 C51 语言的符号类型4.2,4 C51程序设计基础,4.1 C51 语言的符号类型,4.1.1 标识符,4.1.2 关键字,4.1.4 分隔符,4.1.3 运算符,4 C51程序设计基础4.1 C51 语言的符号类型4.1.,4 C51程序设计基础,4.2 常量与变量,4.2.1 基本数据类型,4.2.2 常量,4.2.3 变量,4.2.4 变量的作用范围,4 C51程序设计基础4.2 常量与变量4.2.1 基本数据,4.3 C51 语句,4 C51程序设计基础,4.3.1 说明语句与空语句,4.3.2 表达式语句,4.3.3 条件语句,4.3.6 复合语句,4.3.5 循环语句,4.3.4 开关、跳转语句,4.3 C51 语句4 C51程序设计基础4.3.1 说明语,4.3 C51 语句,4 C51程序设计基础,4.3.7 函数调用语句,4.3.8 预处理,4.3 C51 语句4 C51程序设计基础4.3.7 函数调,5 C51数据结构,06,Part One,5 C51数据结构06Part One,5 C51数据结构,5.1 数组,01,5.4 联合,04,5.2 指针,02,5.5 枚举,05,5.3 结构,03,本章小结,06,5 C51数据结构5.1 数组015.4 联合045.2 指,5 C51数据结构,习题与思考,5 C51数据结构习题与思考,5 C51数据结构,5.1 数组,5.1.1 数组的定义和引用,5.1.2 字符数组,5.1.3 数组元素赋初值,5.1.4 数组作为函数的参数,5 C51数据结构5.1 数组5.1.1 数组的定义和引用5,5 C51数据结构,5.2 指针,5.2.1 指针与地址,1,5.2.2 指针变量,2,5 C51数据结构5.2 指针5.2.1 指针与地址15.2,5 C51数据结构,5.3 结构,C,B,A,5.3.1 结构说明和结构变量定义,5.3.2 结构变量的使用,5.3.3 结构数组和结构指针,5 C51数据结构5.3 结构CBA5.3.1 结构说明和结,6 C51编译器及简介,07,Part One,6 C51编译器及简介07Part One,6 C51编译器及简介,6.1.1 KEIL C51开发套件6.1.2 KEIL C51的安装6.1.3 KEIL C51开发实例,1,6.1 KEIL C51 编译器简介,6.2.1 本征库函数和非本征库函数6.2.2 几类重要库函数6.2.3 C51库函数原型列表,2,6.2 C51 库函数概述,3,本章小结,4,习题与思考,6 C51编译器及简介6.1.1 KEIL C51开发套件1,7 51单片机人机交互,08,Part One,7 51单片机人机交互08Part One,7 51单片机人机交互,7.1 外部显示元件设计,7.2 键盘输入设计,习题与思考,本章小结,7.3 外接打印机接口设计,7 51单片机人机交互7.1 外部显示元件设计7.2 键盘输,M.94275.CN,7 51单片机人机交互,7.1 外部显示元件设计,7.1.1 LED数码管,7.1.2 16 2字符型液晶显示器编程,LOGOM.94275.CN7 51单片机人机交互7.1 外,7 51单片机人机交互,7.2 键盘输入设计,7.2.1 键盘接口类型,7.2.2 键盘的防抖技术,7.2.3 键盘扫描方式编程,7.2.4 键盘中断方式编程,7 51单片机人机交互7.2 键盘输入设计7.2.1 键盘接,7.3 外接打印机接口设计,7 51单片机人机交互,7.3.2 字符和汉字编码,7.3.4 外接打印机接口电路设计,7.3.1 打印机接口信号,7.3.3 打印命令,7.3.5 外接打印机驱动程序设计,7.3 外接打印机接口设计7 51单片机人机交互7.3.2,8 51单片机数据采集,09,Part One,8 51单片机数据采集09Part One,8 51单片机数据采集,8.1 传感器技术概述,8.2 常用的A/D 转换元件,8.3 温度数据采集元件设计,习题与思考,本章小结,8.4 压力数据采集元件设计,8 51单片机数据采集8.1 传感器技术概述8.2 常用的A,8 51单片机数据采集,8.1 传感器技术概述,8.1.2 传感器的基本特性,8.1.1 传感器的组成,8 51单片机数据采集8.1 传感器技术概述8.1.2 传感,8.2 常用的A/D 转换元件,8 51单片机数据采集,8.2.2 A/D转换元件的接口电路,8.2.1 A/D转换元件的结构和工作原理,8.2.3 单片机A/D转换软件编程,8.2 常用的A/D 转换元件8 51单片机数据采集8.2.,8 51单片机数据采集,8.3 温度数据采集元件设计,8.3.1 温度数据采集元件的结构和工作原理,8.3.2 温度数据采集元件的接口电路,8.3.3 单片机温度数据采集软件编程,8 51单片机数据采集8.3 温度数据采集元件设计8.3.1,8 51单片机数据采集,8.4 压力数据采集元件设计,8.4.1 压力数据采集元件的结构和工作原理,8.4.2 压力数据采集元件接口电路,8.4.3 单片机压力数据采集软件编程,8 51单片机数据采集8.4 压力数据采集元件设计8.4.1,9 51单片机串行通信,10,Part One,9 51单片机串行通信10Part One,9 51单片机串行通信,01,9.1 单片机串行通信设计,03,本章小结,02,*9.2 Windows.NET 环境下计算机与单片机串行通信程序设计,04,习题与思考,9 51单片机串行通信019.1 单片机串行通信设计03本章,9 51单片机串行通信,9.1 单片机串行通信设计,9.1.2 单片机串行通信电路设计,贰,9.1.1 常用接口芯片结构和工作原理,壹,9.1.3 单片机串行通信软件编程,叁,9 51单片机串行通信9.1 单片机串行通信设计9.1.2,*9.2 Windows.NET 环境下计算机与单片机串行通信程序设计,9 51单片机串行通信,9.2.2 计算机与下位机通信协议,9.2.4 单片机串行通信程序的设计,9.2.1 Windows.NET串行类介绍,9.2.3 计算机的串行通信程序的设计,*9.2 Windows.NET 环境下计算机与单片机串行通,10 51单片机外部存储器扩展,11,Part One,10 51单片机外部存储器扩展11Part One,10 51单片机外部存储器扩展,10.1 外部I/O 的扩展,10.2 存储器概述,习题与思考,本章小结,10.3 外部存储器扩展,10 51单片机外部存储器扩展10.1 外部I/O 的扩展1,M.94275.CN,10 51单片机外部存储器扩展,10.1 外部I/O 的扩展,A,10.1.1 I/O口扩展概述,10.1.2 I/O地址译码技术,B,LOGOM.94275.CN10 51单片机外部存储器扩展1,10.2 存储器概述,10 51单片机外部存储器扩展,10.2.2 常用的存储器,10.2.1 存储器的类型,10.2.3 存储器扩展电路的工作方式,10.2 存储器概述10 51单片机外部存储器扩展10.2.,M.94275.CN,10 51单片机外部存储器扩展,10.3 外部存储器扩展,10.3.1 扩展程序存储器,10.3.2 扩展数据存储器及编程,10.3.3 程序存储器与数据存储器同时扩展,LOGOM.94275.CN10 51单片机外部存储器扩展1,11 51单片机输出控制,12,Part One,11 51单片机输出控制12Part One,11 51单片机输出控制,11.2 常用D/A 转换器设计,本章小结,11.1 常用输出接口电路,*11.3 直流电动机的控制设计,习题与思考,11 51单片机输出控制11.2 常用D/A 转换器设计本章,11 51单片机输出控制,11.1 常用输出接口电路,11.1.1 单片机与光电隔离元件的接口电路,11.1.2 单片机与模拟开关元件的接口电路,11.1.3 单片机与继电器的接口电路,11 51单片机输出控制11.1 常用输出接口电路11.1.,11 51单片机输出控制,11.2 常用D/A 转换器设计,11.2.2 D/A转换器的接口电路,贰,11.2.1 D/A转换器的结构和工作原理,壹,11.2.3 D/A转换器的单片机编程,叁,11 51单片机输出控制11.2 常用D/A 转换器设计11,11 51单片机输出控制,*11.3 直流电动机的控制设计,11.3.3 直流电动机驱动的编程,3,11.3.1 直流电动机驱动电路的基本工作原理,1,11.3.2 采用单片机的直流电动机控制电路设计,2,11 51单片机输出控制*11.3 直流电动机的控制设计11,12 51单片机智能车设计实例,13,Part One,12 51单片机智能车设计实例13Part One,12 51单片机智能车设计实例,12.1 智能车总体方案设计,12.2 智能车硬件电路设计,12.3 智能车软件系统设计,本章小结,12 51单片机智能车设计实例12.1 智能车总体方案设计1,M.94275.CN,12 51单片机智能车设计实例,12.1 智能车总体方案设计,12.1.2 系统总体方案的选定,贰,12.1.1 系统总体设计思路,壹,12.1.3 系统总体方案设计,叁,LOGOM.94275.CN12 51单片机智能车设计实例1,12.2 智能车硬件电路设计,12 51单片机智能车设计实例,12.2.2 视频图像采集及处理模块,12.2.4 舵机驱动模块,12.2.6 无线数据传输模块,12.2.1 电源模块,12.2.3 速度检测模块,12.2.5 直流电机驱动模块,12.2 智能车硬件电路设计12 51单片机智能车设计实例1,M.94275.CN,12 51单片机智能车设计实例,12.2 智能车硬件电路设计,A,12.2.7 无线视频发射模块,12.2.8 上位机接口部分,B,LOGOM.94275.CN12 51单片机智能车设计实例1,12.3 智能车软件系统设计,12 51单片机智能车设计实例,12.3.2 视频图像采集及处理算法,12.3.4 速度控制和舵机控制算法,12.3.6 速度检测算法,12.3.1 系统软件总体架构,12.3.3 图像信息处理,12.3.5 主驱动电机的PD控制,12.3 智能车软件系统设计12 51单片机智能车设计实例1,12.3 智能车软件系统设计,12 51单片机智能车设计实例,12.3.8 人机交互界面,12.3.7 无线数据传输,12.3 智能车软件系统设计12 51单片机智能车设计实例1,附录A 51单片机指令系统表,14,Part One,附录A 51单片机指令系统表14Part One,附录A 51单片机指令系统表,附录A 51单片机指令系统表,附录B C51语言的库函数,15,Part One,附录B C51语言的库函数15Part One,附录B C51语言的库函数,附录B C51语言的库函数,感谢聆听,2020,感谢聆听2020,