2020年 06月 28日 星期日
您的位置: 威廉希尔主页 > 单片机技术 >

51单片机学习总结系列(0)之单片机最小系统

来源:未知     作者:威廉希尔     发布时间:2020-06-28 07:01         

  学习51单片机接近两年了,最近总结一下51单片机学习,加上明年3月报了蓝桥杯大赛单片机类,也算是对比赛的准备。后续主要以蓝桥杯配的CT107D更新,还会加上平时遇到的模块以及自己做的一些小项目,每周保持更新,如果以下内容有问题,欢迎。()

  对于一个初学者来说,我个人认为第一个要了解的就是单片机最小系统,任何开发板也是在此基础上外加一系列外围电模块。所以足以说明它的重要性。

  如图中所示,51单片机最小系统包括复位电、时钟电、EA拉高。图中P0口接了一个10K上拉电阻,主要是P0口驱动能力比较弱。下面分析最小系统各个部分。

  时钟电:单片机各外围部件运行都以时钟控制信号为基准,有条不紊,一拍一拍的工作。时钟电为单片机工作提供基本时钟信号,在51系列单片机内部有一个高增益反相放大器,其输入引脚为XTAL1,输出端引脚为XTAL2,只需在XTAL1和XTAL2之间跨接晶振和微调电容,就可以构成一个稳定的自激振荡器。常用的晶振主要为12M、11.0592M,11.0592M主要在串口通信时用,得到一个精准的波特率,电容常用30pF。

  时钟周期T就是振荡周期,是由单片机片内振荡电OSC产生,若时钟晶体的振荡频率为fosc,T=1/fosc。在8051系列单片机中,一个振荡周期为一个节拍,用P表示,2个节拍定义为1个状态周期,用S表示,如图所示。机器周期由12个时钟周期组成,指令周期是执行一条指令所需要的时间。不同的指令所包含的周期数是不一定的,单字节和双字节一般为单机器周期和双机器周期,三字节是双字节周期,只有乘除指令占4个机器周期。

  51单片机复位原理,只要在RST引脚上加一个持续时间为24个振荡周期(即两个机器周期)的高电平就可以了。一个机器周期为12个振荡周期(12*1/12M),为1us。所以需要2us高电平。

  复位电:先不管按键,看上电复位的情况:通电瞬间电容可以当短(瞬间是交流)所以RST脚为高电平。随着时间的飞逝(电容充电),稳定后VCC的电压实际上是加在电容上的。电容下极板也就是RST脚最终为0V。这样RST持续一段时间高电平后最终稳定在低电平,高电平持续时间由RC时间决定。这就是上电高电平复位。在说按键。按键按下去就相当于上电那一瞬,让电容短。后面原理都一样。

  查芯片手册复位要求两个机器周期,复位端电压超过0.7倍的VCC即认为高电平。即超过0.7VCC(3.5V)的高电 平持续时间超过2us,系统复位。

  EA=1,CPU从片内0000H开始取指令,当PC(程序计数器)值没有超0FFFH(0000H~0FFFH为片内4KB Flash 存储器的地址范围)时,CPU只访问片内的Flash程序存储器,当PC值超出0FFFH会自动转向读取片外程序存储器空间1000~FFFFH内的程序。

  本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

  一、 51单片机串行口工作原理MCS-51系列单片机片内有一个串行I/O端口,通过引脚RXD(P3.0)和TXD(P3.1)可与外设电进行全双工的串行异步通信。1.串行端口的基本特点8031单片机的串行端口有4种基本工作方式,通过编程设置,可以使其工作在任一方式,以满足不同应用场合的需要。其中,方式0主要用于外接移位寄存器,以扩展单片机的I/O电;方式1多用于双机之间或与外设电的通信;方式2,3除有方式l的功能外,还可用作多机通信,以构成分布式多微机系统。串行端口有两个控制寄存器,用来设置工作方式、发送或接收的状态、特征位、数据传送的波特率(每秒传送的位数)以及作为中断标志等。串行端口有一个数据寄存器SBUF(在特殊

  ; 号}//=======以下非代码==========//原理,利用h,i,j,k循环指令消耗掉一定时间来达到延时,为什么利用循环延时的做法,在12M晶振延时1秒中需要h,i,j,k四个变量,且各变量的值是代码中那样呢?这要从单片机的周期说起,单片机有指令周期,机器周期,状态周期,时钟周期;时钟周期:也就晶振的振荡周期,以12MHz为例,时钟周期为 1/ 12000000 = 1/12us;机器周期:1个机器周期=6个状态周期=12个时钟周期=1us;指令周期:单片机执行一条指令所需要的时间称为指令周期,指令周期是以机器周期为单位的,不同的指令所需要的机器周期不一定相同(1-4个),单片机执行一条单周期指令需要1us,执行

  PSW是一个8位寄存器,用于设定CPU的状态和指令执行后的状态。CY(PSW.7):进位标志。在执行加减运算指令时,如果运算结果的最高位(D7)发生了进位或借位,则CY由硬件自动置1。AC(PSW.6):半进位标志位,也称为辅助标志位。在执行加减运算指令时,如果运算结果的低半字节(D3)发生了向高半字节进位或借位,则AC由硬件自动置1。F0、F1(PSW.5 和PSW.1):用户标志位。用户可以根据需要对F0、F1赋予一定的含义,由用户置1和清0,作为软件标志。RS1、RS0(PSW.4 和PSW.3):工作寄存器组选择控制位。通过对这两位设定,可以从4个工作寄存器组中选择一组作为当前工作寄存器。OV(PSW.2):溢出标志位,

  在电设计中,为了将电阻钳位维持在高电平,会借助上拉电阻来实现电阻的稳定,因此上拉电阻开始大量出现在电设计中。本文从以键盘电实例为切入点,为大家分析一种由于上拉电阻原因导致51单片机电无法正常运行的情况。首先让我们来看一看这个键盘电的原理图,如图1所示。图1在按键没有被按下时,端口为低电平,按下按键的时候端口上接高电平。但电却没有正常工作,出现了问题。下面就来分析一下问题所在。首先,将电源直接接到端口上是绝对不可以的。当按下按键时,会有很大的电流进入单片机。在工程上,这种往往应该加限流电阻,一般选择1K即可。但也不能选择太大的电阻,因为电阻压降太大,造成输入低于应有的高电平,造成错误。其次,即便添加限流,电也是

  基本的 51单片机有四个并行口,其中还包含了一个串行口。当接口不够用的时候,大家就会想到,使用什么外接芯片来扩充。但是,各种教材、参考书、网络文章,介绍扩充并行口的花样不少,扩充串行口的方法,几乎无人问津。偶尔见到一个,也是使用 8250、8251 等“巨型”芯片来扩充的使用这些芯片,就要占用单片机很多的更为紧缺的并行口,基本上就是得不偿失。更别说还要设置复杂的控制字了。使用简单的三态门,即可为单片机扩充串行口,仅仅占用单片机的一、二个引脚作为控制引线而已。实际上是很简单的,就像使用 74LS373、74LS244 扩充并行口一样,为串行口,配上合适三态门就行了。选用 74LS125(低电平开门)、74LS126

  65536个数,假设我们转入的初值为65534,那么定时器计两个数就会进入中断,这样会使程序紊乱而其他功能无法正常地执行,所以一般要留50-100个数的裕量。2.2 定时器工作方式在定时器工作方式的选择上,可以选择定时器的工作方式0、1、2都可以,本文采用的是工作方式1,即16位定时器,这样可以获得较宽的调频范围。2.3 定时器初值的计算设占空比为α,频率为f产生高电平时装时器高8位的值应为产生高电平时装时器低8位的值应为显然,产生低电平时的公式只要把α换成(1-α)就行了。然而在51单片机中,浮点数运算需要消耗cpu很长的时间,为了提高程序效率,通常用100倍的占空比来计算。同时,要注意数据类型,避免超出范围,影响计算结果

  有直播:人机互动介面和机器视觉应用上的最佳助手--瑞萨电子 RZ/G, RZ/A 和 RZ/V SoC系列

  PIC单片机AVR单片机ARM单片机嵌入式系统汽车电子消费电子数据处理视频教程电子百科其他技术STM32MSP430单片机资源下载单片机习题与教程

      威廉希尔