51单片机知识重点汇总一,学单片机必须要了解的知识。

发布者:缘到泉最新更新时间:2022-11-17 来源: zhihu关键字:51单片机  汇总 手机看文章 扫描二维码
随时随地手机看文章

主要性能:

  与MCS-51单片机产品兼容 、8K字节在系统可编程Flash存储器、 1000次擦写周期、全静态操作:0Hz~33Hz 、三级加密程序存储器 、 32个可编程I/O口线、三个16位定时器/计数器八个中断源、全双工UART串行通道、 低功耗空闲和掉电模式 、掉电后中断可唤醒 、看门狗定时器 、双数据指针、掉电标识符 。




一、STC89C51单片机外部引脚简介

电源及时钟引脚:Vcc(40脚)、GND(20脚)、XTAL1(19脚)、XTAL2(18脚)。


Vcc、GND——单片机电源引脚,不同的型号单片机接入对应电压电源,常压为+5V,低压为

+3.3V。


XTAL1、XTAL2——外接时钟引脚。XTAL1为片内震荡电路的输入端,XTAL2为片内震荡电路的输出端。8051的时钟有两种方式,一种是片内时钟震荡方式,需要在这两个脚外接石英晶体和震荡电容,震荡电容的值一般取10p~30p;另一种是外部时钟方式,将XTAL1接地,外部时钟信号从XTAL2脚输入。


编程控制引脚。如RST(复位)、PSEN(29脚)、ALE/PROG(30脚)、EA/Vpp(31脚)。


RST(9脚)——单片机复位引脚。当输入连续两个机器周期以上高点平时有效,用来完成单片机的复位初始化操作,复位后程序计数器PC=0000H,单片机从程序储存器的0000H单元读取第一条指令码。即单片机从头开始执行程序。


PSEN(29脚)—— 程序存储器允许输出控制端。读取外部程序存储器时PSEN低电平有效,以实现外部程序存储器单元的读操作(了解即可)。


ALE/PROG(30脚)—— 在单片机扩展外部RAM时,ALE用于控制把P0口的输出低8位地址送锁存器锁存器来,以实现地位地址和数据的隔离。(了解即可)。


EA/Vpp(31脚)—— EA接高电平时,单片机读取内部程序存储器。当扩展有外部ROM时,当读取完内部ROM后自动读取外部ROM。EA接低电平时,单片机直接读取外部ROM。


I/O口引脚 —— P0口、P1口、P2口、P3口。


P0口(39-32脚)——双向8位I/O口,每个口可独立控制,没有上拉电阻,为高阻态,所以不能正常的输出高低电平,因此该组IO口在使用时务必要接上拉电阻,一般选10千欧。


P1口(1-8脚)——准双向8位IO口,每个口可独立控制,内带上拉电阻,这种接口输出没有高阻状态,输入也不能锁存,故不是真正的双向IO口。之所以称它为准双向,是因为该口在作为输入使用前,要先向该口进行写1操作,然后单片机内部才可正确的读出外部信号,也就是要使其先有个“准”备的过程,所以说才是准双向接口。


P2口(21-28脚)—— 准双向8位I/O口,每个口可独立控制,内带上拉电阻,与P1口相似。


P3口(10-17脚)——准双向8位IO口,每个口可独立控制,内带上拉电阻。作为第一功能可以当做普通I/O口,与P1口相似。P3口可做第二功能使用。参照下表:



二、电平特性

单片机的输入输出电平为TTL电平,其中高电平为+5V,低电平为0V。计算机串口为RS-232电平,其中高电平为-12V,低电平为+12V。注意,RS-232为负逻辑电平。


三、单片机的几个周期介绍

(1)时钟周期。也称为震荡周期,定义为时钟频率的倒数(可以这样来理解,时钟周期就是单片机外接晶振的倒数,

如12MHz的晶振,它的时钟周期就是1/12us)它是单片机中最基本的、最小的时间单位;在一个时钟周期内,CPU

仅完成一个最基本的动作。对于某个单片机来讲,若采用了1MHz的时钟频率,则时钟周期就是1us;若采用4MHz

的时钟频率,则时钟周期就是250us。由于时钟脉冲是CPU的基本脉冲,它控制着CPU的工作节奏(使CPU的每一步

都统一到它的步调上来)。显然,对同一种单片机,时钟频率越高,单片机的工作速度就越快。但是,由于不同的

单片机内部硬件电路和电气结构不完全相同,所以其所需的时钟频率范围也不一定相同。我们使用的STC89C系列的

时钟范围约在1MHz~40MHz。

(2)状态周期。它是时钟周期的两倍。

(3)机器周期。单片机的基本操作周期,在一个操作周期内,单片机完成一项基本操作,如取指令、存储器读/写等。它由12个时钟周期(6个状态周期)组成。


(4)指令周期。它是指CPU执行一条指令所需要的时间。一般一个指令周期含有1~4个机器周期。




四、移位操作

左移。C51操作符为“<<”,最低位补零

右移。同上

循环左移,最高位移入最低位,其他依次向左移一位。

五、数码管显示原理

电路方面有共阴极和共阳极之分,让数码管显示不同的数字就是先定义一个保存16进制数的数组,然后在程序中把这个16进制数赋值给相应的引脚。


六、中断概念

51单片机一共有6个中断源


INT0——外部中断0


INT1——外部中断1


T0/1/2——计时器/定时器中断,由计数器满回零引起。


T1/R1——串行口中断,串行端完成一帧字符发送/接收后引起。




七、单片机的定时器中断

51单片机内部共有两个16位可编程的定时器/计数器,即定时器T0和定时器T1。它们既有定时功能又有计数功能。定时器/计数器的实质是加1计数器(16位),由高8位和底8位两个寄存器组成,TMOD寄存器是定时器/计数器的工作方式寄存器,确定工作方式和功能;TCON是控制寄存器,控制T0,T1的启动和停止以及设置溢出标志。


加一计数器的输入计数脉冲有两个来源,一个是由系统的时钟振荡器输出脉冲经12分频后送来;另一个是T0或T1引脚输入的外部脉冲源。如果定时器/计数器工作在定时模式,则表示时间已到;如果工作在计数模式,则表示计数值已经满了。


定时器初始化过程如下:


①对TMOD赋值,以确定T0和T1的工作方式


②计算初值,并将初值写入TH0、TL0或TH1、TL1中。


③中断方式时,则对IE赋值,开放中断。


④使TR0或TR1置位,启动定时器/计数器定时或计数




八、并行与串行基本通信方式

1、并行通信方式:将数据字节的各位用多条数据线同时进行传输,每位数据都需要一条传输线。

2、串行通信方式:串行通信是将数据字节分成一位一位的形式在一条传输线上逐个的传输,此时只需要一条数据线

3、异步串行通信方式:指通信的接收与发送设备使用各自的时钟控制数据的发送和接收过程。其特点是:不要求发送双方时钟严格一致,容易实现,设备开销小,但每个字符要附加2~3位,用于起始位、校验位、停止位,各帧之间还有间隔,因此传输效率不高。在单片机与单片机之间,单片机与计算机之间通信时,通常采用异步串行通信方式。

4、同步串行通信方式:同步通信时要建立发送方时钟对接收方时钟的直接控制,使双方完全达到同步。



关键字:51单片机  汇总 引用地址:51单片机知识重点汇总一,学单片机必须要了解的知识。

上一篇:单片机led灯闪烁实验总结_玩转51单片机(1):点亮led灯
下一篇:51单片机的内部结构及其功能作用

推荐阅读最新更新时间:2024-11-11 10:36

人工智能及机器人领域一周投融资事件汇总
本周人工智能及机器人领域共发生19起投融资事件。 有消息传地平线机器人将以30亿至40亿美元的估值获得最多10亿美元B轮融资。针对这一消息,在有关媒体问询后,地平线机器人回应称融资信息不准确。不过,此前地平线机器人创始人兼CEO余凯曾表示,他们将在今年年底完成新一轮融资,金额为5-10亿美元,投资方包括一家与现有投资者英特尔规模相当的芯片公司,以及一家顶级汽车厂商。由此看来,地平线将获得一笔新融资是“事实”,但是具体如何,还得等官方消息。 Topica Edtech Group 越南教育科技创企Topica Edtech Group完成5000万美元的D轮融资,领投方为Northstar Group。 Topica Edtec
[机器人]
51单片机温度控制调速风扇仿真设计
原理图:Altium Designer 仿真版本:proteus 7.8 程序编译器:keil 4 / keil 5 编程语言:C语言 设计编号:S0010 功能说明: 1.本设计基于STC89C51/52(与AT89S51/52、AT89C51/52通用,可任选)单片机 2.采用DS18B20温度传感器测温,74HC573驱动数码管显示温度和风扇的档位。 3.共3个按键:设置、加、减。按一下设置可以设置上限,再按下设置下限,均可以按键加减调整。 4.利用PWM调速,当温度低于下限时,风扇不转动,当温度处于上、下限之间时1档转动(50%的转速),当温度超过上限时,全速转动。 仿真电路: 打开仿真工程,双击proteus中的单片
[单片机]
<font color='red'>51单片机</font>温度控制调速风扇仿真设计
51单片机PC数据传输 温度 距离 监控系统设计
通过串口PC和单片机通信,可以询问单片机测得的温度,可以询问声呐测距的测量距离,同时把测量温度显示在数码管上。 _ :PC部分 这里com.cpp和com.h是串口通信的函数封装,在主函数中: 刚开始调用封装好的串口通信函数,设置打开串口COM4,波特率设置为9600,超时设置: 1 if(openport( com4 )) 2 printf( open comport success\n ); 3 if(setupdcb(9600)) 4 printf( setupDCB success\n ); 5 if(setuptimeout(0,0,0,0,0)) //如果所有写超时参数均为0
[单片机]
<font color='red'>51单片机</font>PC数据传输 温度 距离 监控系统设计
51单片机PID算法程序(二)位置式PID控制算法
由51单片机组成的数字控制系统控制中,PID控制器是通过PID控制算法实现的。51单片机通过AD对信号进行采集,变成数字信号,再在单片机中通过算法实现PID运算,再通过DA把控制量反馈回控制源。从而实现对系统的伺服控制。 位置式PID控制算法 位置式PID控制算法的简化示意图 上图的传递函数为: (2-1) 在时域的传递函数表达式 (2-2) 对上式中的微分和积分进行近似 (2-3) 式中n是离散点的个数。 于是传递函数可以简化为: (2-4) 其中 u(n) 第k个采样时刻的控制; KP 比例放大系数;
[单片机]
<font color='red'>51单片机</font>PID算法程序(二)位置式PID控制算法
基于AT89C51单片机的频率计的C源程序及频率计实现的主要功能
本文是基于AT89C51单片机的频率计的C源程序。该频率计主要实现的功能有如下几个:   1. 测试功能   它表明数字频率计所具备的全部测试功能,一般包括测频, 周期 ,累计脉冲数,频率比,时间间隔及自较等功能。   2. 测量范围   它说明不同功能的有效测量范围。如测频率时,测量范围是数字频率计处于正常工作条件下,被测信号的 频率范围 ,一般用频率的上,下限值表示,低端大部分从10 Hz 开始;高端因不同的频率计而异。因此高端频率是确定低,中,高速计数器的依据。在测量周期时,测量范围常用周期的最大值,最小值表示。   3. 输入特性   数字频率计一般有2~3个输入通道,测试不同项目时,被测
[单片机]
基于AT89C<font color='red'>51单片机</font>的频率计的C源程序及频率计实现的主要功能
51单片机之寄存器-3.1单片机定时器
前面我们讲解了如何通过软件来延时,从而达到了提升了灯亮与灭的间隔时间,其过程是让cpu干别的事情,从而达到延时的效果。但是软件延时不是很精确,这里我们学习一种比较精确的硬件延时,也叫定时器。定时器怎么理解呢?这里举个简单的例子来说明。 图1 闹钟的操作 讲定时器之前我们来看看如何操作闹钟,这个生活中的小例子,相信大家都很熟悉。首先我们要设定定时时间,定时多久呢?我们通过调节如图中红色区域指针来告诉闹钟定时多久。然后开启闹钟,怎么样开启呢?如上图中蓝色部分,按下按钮让闹钟知道现在要开启定时的功能了。很简单的两个动作,闹钟设置就完成了。之后就是闹钟自己的事情了。你就可以去干别的事情了,比如看电影,睡觉,喝茶等等。那么定时的时间
[单片机]
<font color='red'>51单片机</font>之寄存器-3.1单片机定时器
解决51单片机复位触发的4种方法
51内核的单片机有个比较恼人的特性就是复位期间,IO口呈高电平状态,万一IO口控制的设备是使用高电平触发的话,在复位的瞬间会造成设备触发。 总结一下接触过的解决方法: 1、把MCU换成别的体系的,譬如AVR、PIC等,这些单片机复位时IO口呈浮空高阻状态,不会造成触发。 2、使用反相驱动,MCU输出低电平反相成高电平再去控制设备。复位时的高电平反相后变成低电平,不会触发。这是比较常用的方法,稳定,但布线复杂了不少。 3、使用光耦隔离。光耦隔离后MCU也是输出低电平打开光耦再驱动被控设备,复位时的高电平不会打开光耦,不会造成误触发。 4、使用多余的IO口锁定,这种方法比较奇怪,在没用的IO口里挑一个出来接到NPN管的基极,
[单片机]
解决<font color='red'>51单片机</font>复位触发的4种方法
51单片机寄存器详解
51单片机的特殊功能寄存器 定时器: 定时方式寄存器TMOD(地址89H); TMOD被分成两部份,每部份4位。分别用于控制T1和T0。 GATE C/T M1 M0 GATE C/T M1 M0 1. M1、M0:定时/计数器的工作方式 1. 工作方式0:13位定时/计数方式(8192)。 2. 工作方式1:16位定时/计数方式(65536)。 3. 工作方式2和工作方式3, 8位的定时/计数方式(256)。 2. 如果C/T为0就是用作定时器,如果C/T为1就是用作计数器。 3. 门控位GATE(GATE=0与INT0无关,GATE=1与INT0有关):
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved