单片机原理及应用-基于Proteus和Keil C(第四版)知识点总结
第1章 单片机基础知识概述
1.什么是单片机?特点?
- 将通用微计算机基本功能部件集成在一块芯片上构成的一种专用微计算机系统(嵌入式系统),用于解决小型被控对象的智能化问题(SCM或MCU)
- 特点:
体积小(便于嵌入到小型被控对象中);
扩展性好(便于组成各种应用系统);
可靠性高(集成后外部连线减少,抗干扰能力增强);
价格低廉(便于普及应用)
2.单片机的发展趋势?
- 单片机发展趋势:高集成度、高性能、低功耗、高性价比
机器位数不断增加:4位→8位→16位→32位→…
外设接口日益内置化:ADC、DAC、PGA、USB…
丰富的产品系列:51、PIC、AVR、ARM、DSP
3.1000 1010B的十进制数和十六进制数?4FH的二进制数和十进制数?
- 十进制数:138 十六进制:8AH
二进制数:1001111B十进制数:79
4.与门、或门和非门的逻辑符号?
- &&、||、!
5.Proteus是什么软件?主要功能?
- 电路及单片机系统设计与仿真软件
数字电路、模拟电路及微控制器系统与外设的混合电路系统的电路仿真、软件仿真、系统协同仿真和PCB设计功能。
第2章 MCS-51单片机的结构及原理
2-1 MCS-51单片机的结构
1.80C51的内部资源?
- 80C51= (8位) CPU+4KB ROM+128B RAM+(2×16) T/C+(4×8) IO+1个UART+5个INT+2个64KB EC
2.程序计数器PC的主要特点?
- 作用:指向ROM单元的地址指针,引导程序运行。
- 16位寄存器→可寻址范围216(=65536B=64KB)2^{16}(=65536B=64KB)216(=65536B=64KB)
- 存放下一条指令的首地址
- 具有自动加一功能(顺序运行程序功能)
- 具有可被指令修改功能(跳转运行程序功能)
- 复位时,PC=0,复位后CPU将从程序存储器的0000H地址处的指令开始运行
3.数据指针DPTR特点?
- 作用:指向ROM或RAM单元的地址指针,引导数据传送
- 16位寄存器→可寻址范围$2^{16}
- 可拆为两个8位寄存器DPH和DPL
- 具有可被指令修改的功能→可变更数据地址
4.累加器A的主要特点?
- 作用:存放操作数或中间运算结果的寄存器
- 8位寄存器
- 其值可由指令修改
- 是最繁忙的寄存器
5.程序状态字寄存器PSW的主要特点?
- 存放程序运行过程中的各种状态信息
- 8位寄存器
- 各位都有特殊含义
- 状态值可由硬件形成或有指令修改
2-2MCS-51的存储器结构
1.存储器的两种结构形式?51单片机的物理存储空间和逻辑存储空间?
- 普林斯顿(冯诺依曼)结构-RAM和ROM统一编址
- 哈佛结构-RAM和ROM分别编址
- 51单片机采用哈佛结构,共有四个物理存储空间和3个逻辑存储空间
2.低128字节的片内RAM的三种不同区间?各自特点?
- ①工作寄存器区(32个字节)
具有字节地址和寄存器名两种表示方法;具有4组RO~R7寄存器,当前组由PSW中RSO和RS1指定(上电默认0组); - ②可位寻址区(16个字节)
具有字节地址和位地址两种表示方法; - ③用户RAM区(80个字节)
只有字节地址1种表示方法。
3.高128字节片内RAM的特点?
- ①每个存储单元都有一个字节地址,但只有21个单元可以使用;
- ②这21个单元都有字节地址和寄存器名(SFR)两种表示方法;
2-3 单片机的复位、时钟与时序
1.单片机复位条件?复位电路?
- 复位条件-在RST引脚出现满足复位时间要求(≥10ms\geq10ms≥10ms )的高电平(≥3V\geq3V≥3V)状态
- 复位电路
常用由上电复位和按键复位两种电路组合而成
2.何谓时序?时序图的结构?
- 时序是按时间顺序显示的对象序列关系。
- 引脚标识、电平变化、数据有效范围、持续时间
2-4 并行IO口
P0~P3口都可作为准双向通用IO口,其中只有P0口需要外接上拉电阻,在需要扩展片外设备时,P2口可作为其地址线接口,P0口可作为其地址/数据线复用接口,此时它是真正的双向口。
第3章 单片机的汇编语言与程序设计
1.汇编语言重要概念
- 汇编语言——用助记(字)符代替操作码,用地址符号代替
地址码的一种面向机器的程序设计语言; - 汇编语言特点———代码精炼、执行速度快,但不便于编写
较复杂的程序; - 51单片机共有111条指令,按功能可划分为四大类:
数据传送与交换类(31条)
算术运算类(24条)
逻辑运算类(34条)转移控制类(22条)
2.汇编指令语句格式要点
- 汇编指令语句格式可包括四个区段,即:
▶\blacktriangleright▶标号区段——代表当前指令的首字节存放地址,由用户定义的1~6个字符组成,以英文字母开始,冒号结尾,可省略。
▶\blacktriangleright▶操作码区段—指令的操作行为,由42种标准助记字符组成。
▶\blacktriangleright▶操作数区段—指令的操作对象,可有0~3个操作数,以英文逗号隔开(操作数大于0时)。
▶\blacktriangleright▶注释区段—指令的解释或说明,可用任何文字描述。以英文分号开始,无需结束符号。
3.寄存器间接寻址和变址寻址的概念
- 寄存器间接寻址——以@Ri或@DPTR的形式表示操作数的存在方式
- 变址寻址——以@A+DPTR或@A+PC的形式表示操作数的存在方式
4.数据传送与交换类指令要点 - 用途:RAM、SFR和ROM之间的数据互传或交换。
- 基本规律:将源单元(src)的内容传送给目的单元(dest),传送后源单元中内容不变。
- 重要操作码:MOV(片内RAM)、MOVX (片外RAM)、MOVC (ROM)
第4章 单片机的C51语言
1.C51编程语言的特点?与C的异同点?
- 特点:
▶\blacktriangleright▶结构化语言,代码紧凑
▶\blacktriangleright▶接近真实语言,程序可读性强
▶\blacktriangleright▶库函数丰富,编程工作量小
▶\blacktriangleright▶机器级控制能力,控制功能很强
▶\blacktriangleright▶与汇编指令无关,易于掌握 - 相同之处:语法规则、程序结构、编程方法不同之处:数据结构、中断处理、端口扩展
2.C51变量的定义格式?包括内容?
- 存储种类:auto、extern、static、register
- 数据类型:char、int、long、float、bit、sfr(16)、sbit
- 存储类型:[data]、bdata、idata、[pdata]、[xdata]、code
- 变量名:首字符为字母或下划线,大小写有区别
3.C51指针变量定义
数据类型【存储类型1】*【存储类型2】指针变量名(=&被指向变量名)
- 数据类型——被指向变量的类型,如int或char型
- 存储类型1——被指向变量所在存储区,缺省时由地址赋值关系决定
- 存储类型2——指针变量所在存储区,缺省时为编译器默认的存储区
第5章 单片机的中断系统
1、中断的概念?中断服务函数与一般函数的区别?
- 中断是指在突发事件到来时先中止当前正在进行的王作,转而去处理突发事件。待处理完成后,再返回到原先被中止的工作处,继续进行随后的工作。
- ▶\blacktriangleright▶前者是程序设计者事先安排的(断点是明确的),而后者却是系统根据工作环境随机决定的(断点则是随机的)。
▶\blacktriangleright▶主函数与调用函数之间具有主从关系,而主函数与中断函数之间则是平行关系;
▶\blacktriangleright▶一般函数调用是纯粹软件处理过程,而中断函数调用却是需要软、硬件配合才能完成的过程。
2、中断源、中断请求、中断允许、中断优先、中断触发
方式?
3、C51中断函数声明的一般格式?
void 函数名(void)interrupt n (using m)
{函数体语句}
n是与中断源对应的中断号,对于80C51单片机,n=0~4
using表示指定m号工作寄存器组存放中断相关数据,m=0~3
4、外部中断编程要点
- 1.在主函数中进行中断初始化
▶\blacktriangleright▶中断触发方式(TCON):ITX(=0→电平 =1→脉冲)
▶\blacktriangleright▶中断优先级(IP):PX0,PT0,PX1,PT1,PS(=0→低级 =1→高级)
▶\blacktriangleright▶中断允许(IE):EX0,ET0,EX1,ET1,ES,EA(=0→允许 =1→禁止) - 中断函数体必须独立存在
第6章 单片机的定时/计数器
1.单片机定时/计数器的基本工作原理?
- 利用加1计数器对时钟脉冲或外来脉冲进行自动计数。计满溢出时引起中断标志( TFx)硬件置位。
- 定时时间t=(加1计数器的最大值-计数初值)×机器周期=(2n−a)×12/focs(us)(2^n-a)×12/focs(us)(2n−a)×12/focs(us)
- 计数初值a=2n−t×fosc/12a=2^n-t×fosc/12a=2n−t×fosc/12
2.定时/计数器的控制关系?
3.定时/计数器的编程要点?
①设置TMOD———GATE、CT、M1、MO
②确定计数初值——a=2n−t×fosc/12,THx=a/256,TLx=2/256a=2^n-t×fosc/12,THx=a/256,TLx=2/256a=2n−t×fosc/12,THx=a/256,TLx=2/256
③处理溢出结果方式:中断法、查询法
④启动定时器:TRO=1或 TR1=1
⑤定时/计数服务工作
⑥为下次定时l计数做准备:清TFx标志(中断法除外)
重装载计数初值(方式2除外)
▶\blacktriangleright▶中断法
ETx=1; //开定时x中断,x=0或1
EA=1; //开总中断
…
tx_srv() interrupt n{ //n=1或3
…
}
▶\blacktriangleright▶查询法
do {}while (!TFx){
…
}
第7章 单片机的串行口及应用
1.基本概念
- 并行通信——数据的各位同时发送或同时接收仕输速度快,但需要占用较多系统端口,且只适合于近距离使用;
- 串行通信一—数据的各位依次发送或依次接收,传输速度慢,但只需较少传输线,适合于远距离通信,且占用系统端口较少;
- 单工通信——收发双方角色固定不能互换
- 半双工通信——收发双方角色可换但需切换
- 全双工通信——收发双方互不影响双向通信
- 波特率——每秒发送二进制数码的位数,bps
- 异步通信——以字符为单位组成字符帧(起始位、数据位、可编程位、停止位)进行的数据传送,对收发双方的时钟精度要求较低,传输速度慢;
- 同步通信——数据以块为单位进行的数据传送,传输效率高,但对通信硬件要求高。
2.串行口控制寄存器
第8章 单片机接口技术
1.总线的概念
- 总线(BUS)——传送同类信息的公共通道
- 三总线——地址总线AB、数据总线DB、控制总线CB
- 51单片机的外部总线引脚
▶\blacktriangleright▶控制总线——P3口(/WR和/RD)+控制引脚(ALE)
▶\blacktriangleright▶地址总线——PO口(低8位地址)+P2口(高8位地址)
▶\blacktriangleright▶数据总线——PO口(8位数据) - 51单片机两种外设访问方法
▶\blacktriangleright▶总线方式——采用片外RAM指令(MOVx)
▶\blacktriangleright▶IO方式——采用片内RAM指令(MOV)
2.地址锁存的要点
- 同时使用低8位地址和8位数据信息时,需要通过地址锁存器将PO口的地址信息与数据信息分开;
- 在ALE正脉冲触发下,74LS373先锁存输出P0口送出的低8位地址,然后与P0口信号隔离。
3.利用总线扩展I/O端口的要点
- 利用总线指令产生的/WR和/RD脉冲作为外设控制信号
- 利用或门将/WR或/RD信息与地址信息(P2+P0)合成为外设选通信号(“0”解锁,“1”加锁原理)
- 利用74LS273(8个带清零功能的D触发器)扩展输出端
- 外设地址:
- P2+P0的16位信息
U2:01xx xxxx xxxx xxxx
U2:10xx xxxx xxxx xxxx
判断直通、单缓冲、双缓冲
第9章 单片机应用系统的设计与开发
时钟周期,只有p0口有上拉电阻,中断不考大题,主要是简答;定时器考大题,初始化,最常用方式1,方式2;串行通信,简答,选择;地址的确定;
如何在C51中调用汇编程序?
①程序的寻址,通过在汇编文件中定义的同名的函数来实现
②参数传递,将参数存放于寄存器使汇编语言能获取它们的值
③返回值传递,汇编语言通过寄存器或存储器传递给C语言程序
C51数据结构存储类型及特点?
①data:片内低128B存储区
②bdata:片内可位寻址存储区
允许位与字节混合访问
③idata:片内高128B存储区(只有52系列有)
④pdata:片外页RAM
常用于外部设备访问
⑤xdata:片外64KBRAM
常用于存放不常用的变量或等待处理的数据
⑥code:程序ROM
常用于存放数据表格等固定信息
单片机原理及应用-基于Proteus和Keil C(第四版)知识点总结相关推荐
- hc05与单片机连接图_基于proteus的51单片机开发实例(13)-LED指示那个按键被按下
1. 基于proteus的51单片机开发实例(13)-LED指示那个按键被按下 1.1. 实验目的 本实例将实现两路外部中断的检测和识别,让我们能够更好地理解51单片机的外部中断以及中断优先级的概念. ...
- hc05与单片机连接图_基于proteus的51单片机开发实例37-DAC0832
学习手记 1. 基于proteus的51单片机开发实例37-DAC0832 1.1. 实验目的 之前我们学习了数模转换芯片DAC0808,今天我们继续学习另一种D/A转换芯片DAC0832. 1.2. ...
- 基于单片机的功放protues_基于Proteus的音频放大器电路设计与仿真详解.doc
毕 业 论 文 学生姓名尹有友学 号171107078学院 物理与电子电气工程学院专 业电子信息工程题 目基于Proteus的音频放大电路设计与仿真 指导教师付浩 副教授/学士 2015年5月 论文原 ...
- 单片机原理与应用—基于C51及Proteus仿真 答案
复习思考题 8051单片机指令系统有哪几种寻址方式? 1. 寄存器寻址2. 直接寻址3. 立即寻址4. 寄存器间接寻址5. 变址寻址6. 相对寻址7. 位寻址 2.写出下列指令的寻址方式 (1) JZ ...
- 单片机原理及接口技术(C51微课第3版)张毅刚课后习题答案
教材:单片机与原理及接口技术(C51编程)(微课版第3版) 主编:张毅刚 副主编:刘连胜 崔秀海 出版社:人民邮电出版社 下载地址:https://pan.baidu.com/s/1uqT7hfcx ...
- 数据库原理第六章课后题答案(第四版)
一.选择题 1. B 2. C 3. C 4. A 5. C 6. B 7. C 8. B 9. D 10. C 11. D 12. B 13. ...
- 单片机怎么通过按键控制计时器的开始和停止_学习电路仿真:基于proteus电路仿真软件的交通灯控制电路设计...
电路仿真软件是当代重要软件之一,缺乏电路仿真软件,模拟运行环境将无法搭建.对于电路仿真软件,虽然市面上类别众多,但知名电路仿真软件为proteus.本文对于电路仿真软件的介绍,为基于proteus的交 ...
- 《PHP与MySQL程序设计(第四版)》中第73页4.2.6节分期还贷计算器数学原理分析
-----------------------------<PHP与MySQL程序设计(第四版)>中第73页4.2.6节分期还贷计算器数学原理分析. <PHP与MySQL程序设计(第 ...
- c++程序设计_基于proteus的51单片机开发实例30-模块化程序设计
1. 基于proteus的51单片机开发实例30-模块化程序设计 1.1. 实验目的 模块化程序设计 不知不觉我们的51单片机开发实例已经进行到第三十篇了,是时候进行一个总结和反思了,总结什么?反思什 ...
最新文章
- SQL Server 执行计划
- windows环境下python怎么安装mlxtend-python连接QQ实现自动回复python 机器学习库
- 再观手游市场新风口-二次元游戏
- SAP Cloud for Customer(C4C) HTML mashup的运行时单步调试
- 时间模块,带Python示例
- tensorflow之读取jpg图像保存为tfrecord再读取
- DevExpress v18.1新版亮点——WPF篇(一)
- [Linux] 通过shell给unix socket发送数据
- QQlook--QQ空间密码 相册密码查看工具 国庆版 V2.4
- maven安装及配置
- 基于ThinkPHP5框架知识付费系统网站源码含PC+移动+小程序
- 更改桌面壁纸_使用DeskSlide轻松更改桌面墙纸
- ecshop linux 大小写,ecshop敏感词管理
- MySQL数据库基础知识12,MySQL单列索引和联合索引
- ARGB颜色快速取大对比度色(保留原本透明度)
- 牛客小白月赛25 C-白魔法师 ( 图论 + 并查集 )
- 初学者都能看懂的MYSQL索引基础
- mybatis关系映射之一对多和多对一
- mysql校验日期是否有效_Mysql 根据出生日期计算年龄 判断起始日期是否在某个有效时间段内等日期Hack汇总...
- C++--读取txt文件中的多行数据