51单片机大大大汇总

Without the element of enjoyment, it is not worth trying to excel at anything.---------缺乏兴趣,在任何领域达到卓越都是不值得的。


这篇是自己用来当作笔记的博客,所以很杂乱,结合了很多课程的资料,有兴趣的人可以看一下。
有点抽象派。可以用来大致过一下51单片机的知识体系结构。具体的可以自行百度。

前景知识

体系结构

哈佛结构: 51单片机

普林斯顿结构

微型计算机组成

在这里插入图片描述
在这里插入图片描述

指令集

CISC(Complex Instruction Set Computer ) 8051
更关注通过增加单条指令的能力(提高硬件复杂度或消耗更多资源)来降低整体程序的复杂度。

RISC(Complex Instruction Set Computer ) ARM
更关注降低单条指令的耗时来提高计算性能。通过简化单条指令功能来提升处理器的计算性能。

RISC相比CISC往往具有更高的硬件性价比,更低的功耗,在嵌入式系统应用中具有优势。
RISC系统对编译器的要求更高,一般嵌入式RISC系统的开发常用C语言完成。

7种寻址方式

寄存器寻址
直接寻址
寄存器间接寻址
立即寻址
基址加变址寻址
相对寻址
位寻址

数据传送类指令(8条助记符)

内部传送指令:片内数据存储器、寄存器数据传送
( MOV )
外部传送指令:片外数据存储器数据传送
( MOVX )目的操作数和源操作数中必须有一个是A
交换指令: 片内数据存储器、寄存器数据传送
( XCH,XCHD,SWAP )
堆栈操作指令:片内数据存储器数据传送
( PUSH,POP )
查表指令: 程序存储器数据传送
( MOVC )
在这里插入图片描述

3个周期

时钟周期:单片机工作的基本频率信号,是单片机内的最高频率,由单片机振荡电路产生或外部振荡电路提供。8051的时钟频率范围要求在1.2MHz~12MHz之间。

机器周期:单片机完成一个基本操作所需要的时间,也是单片机完成一条指令所需的最短时间,MCS51单片机中一个机器周期由12个时钟周期组成

指令周期:一条指令的执行时间。指令以机器周期为单位,即所有指令周期都是机器周期的整数倍,如单周期、双周期和四周期指令。

1, 80C51单片机引脚

主电源引脚:Vss; Vcc
外接晶振或外部振荡器引脚:XTAL1; XTAL2(当采用外部振荡器时,1应接地)
控制,选通或电源复用引脚:RST/VPD; ALE/PROG; PSEN; EA/VPD
多功能I/O口引脚:P0; P1; P2; P3口

复位

一般复位电路:
1)上电复位
2)手动复位

  • 几个重要的复位状态:
    PC = 0000H
    P0,P1,P2,P3 = 0FFH
    PSW= 00H
    SP = 07H

2, 单片机存储器结构

  • 8051物理上有4个存储器地址空间:
片内程序存储器空间片外程序存储器空间片内数据存储器空间片外数据存储器空间
4K Byte64K Byte128 Byte+21寄存器64K Byte
3个逻辑地址(取指和MOVC指令访问)( MOV指令和其它取数指令访问)( MOVX指令访问)

2.1 总的结构

在这里插入图片描述

2.2 ROM

在这里插入图片描述

2.3 内部数据存储区

51 系列单片机内部数据存储器地址范围为00~FFH。各区域地址见下图。

1, 字节寻址区
地址范围:00H ~ 7FH

2,工作寄存器区(分4组)
地址范围:00H ~ 1FH(32字节)
Bank0:00-07h
Bank1:08-0fh
Bank2:10-17h
Bank3:18-1fh

3., 位寻址区
字节地址范围:20H ~ 2FH
位地址范围:00H ~ 7FH 共有16个字节寻址单元,按位计算有128位

4., 堆栈区(由程序员设定)
地址范围:30H~ 7FH
SP初值(07F)

在这里插入图片描述

  • 4组工作寄存器由RS1和RS0控制
    在这里插入图片描述
    在这里插入图片描述
    注: 在52子系列中,高128字节RAM和SFR的地址是重叠的,究竟访问哪一块可通过不同的寻址方式加以区分,访问高128字节RAM采用寄存器间址,访问SFR则只能采用直接寻址,访问低128字节RAM时,两种寻址均可采用。

2.3.2 专用寄存器

累加器A
直接与内部总线相连,用于参加各种运算指令,并存放其结果,需要ALU处理的数据和计算结果多数要经过A累加器,是整个单片机运算中最核心的寄存器。
寄存器B
与A累加器配合执行乘、除运算。也可用作通用寄存器。
程序状态字PSW:存放ALU运算过程的标志状态
堆栈指针SP
堆栈是按“先进后出”原则存取数据的存储区。MCS-51堆栈设在片内RAM区。数据入栈/出栈时,SP自动加1/减 1,其内容始终为栈顶地址。复位时 SP=07H。
数据指针DPTR(DPH,DPL)
存放片外存储器地址,访问外部存储器时作为片外存储器的指针。可分成两个8位寄存器DPH、DPL使用,DPH存放地址的高8位,DPL存放地址的低8位。
程序计数器PC(16位):
CPU总是按PC的指示读取程序。PC可自动加1。因此CPU执行程序一般是顺序方式。当发生转移、子程序调用、中断和复位等操作,PC被强制改写,程序执行顺序也发生改变。复位时,PC=0000H。PC寄存器没有分配地址不能被访问。

在这里插入图片描述

3, P引脚

  • P0口-(32-39脚):作I/O口时为8位漏极开路的I/O端口,当单片机访问外部存储器时为低8位地址总线和数据总线的复用总线。P0口的字节地址为80H,位地址为80H~87H。

  • P1口-(1-8脚):8位准双向并行I/O端口。P1口的字节地址为90H,位地址为90H~97H。

  • P2口-(21-28脚):作I/O口时为8位准双向I/O端口,当单片机访问外部存储器时,作高8位地址总线。

  • P3口-(10-17脚):做I/O口时,为8位准双向I/O端口;每一位还有第二特殊功能,具体功能如下:
    P3.0-(10脚)RXD:串行数据接收端。
    P3.1-(11脚)TXD:串行数据发送端。
    P3.2-(12脚)INT0:外部中断0请求端,低电平有效。
    P3.3-(13脚)INT1:外部中断1请求端,低电平有效。
    P3.4-(14脚)T0:定时计数器0外部时钟输入端。
    P3.5-(15脚)T1:定时计数器1外部时钟输入端。
    P3.6-(16脚)WR:外部数据存储器写选通信号,低电平有效。
    P3.7-(17脚)RD:外部数据存储器读选通信号,低电平有效。

  • 归纳四个并行口使用的注意事项如下
    1.如果单片机内部有程序存贮器,不需要扩展外部存贮器和I/O接口,单片机的四组口均可做I/O口用。
    2.四组口在做输入口使用时,均应先对其写“1”,以避免误读。
    3.P0口做I/O口使用时应外接10K的上拉电阻,其它口则可不必。
    4.P2可某几根线作地址使用时,剩下的线不能作I/O口线使用。
    5.P3口的某些口线作第二功能时,剩下的口线可以单独作I/O口线使用。

4, 定时/计数器

其实定时和计数是同个东西,

秒针计数(跳动)60下,不就是定时1分钟,

定时在硬件上是看不见的,另外计数功能也很少用。

下面是两个寄存器

在这里插入图片描述
在这里插入图片描述

5, 中断

中 断:在执行程序的过程中,由于某种外界的原因,必须尽快暂停当前的程序执行,而去执行相应的处理程序,待处理结束后,在返回继续执行被暂停的程序。这个过程叫中断。

在这里插入图片描述
1、外中断
由外部原因引起的中断,包括外部中断0、1分别由外部引脚INT0、INT1引入。外部中断请求对引脚信号有两种规定,电平方式和脉冲方式:
电平方式的中断请求是低电平有效
脉冲方式的中断请求是脉冲的后沿(负跳变)有效
2、定时器中断
为了满足单片机内部的定时/计数需要而设置的中断。当计数器发生溢出时,就表明定时时间到了或者计数值已经计满了,由计数溢出信号向CPU发出中断请求,它是单片机的内部中断。
3、串行中断
为单片机的串行口接收和发送数据而设置的中断。每当串行口接收或发送一组数据完以后,就可以产生一个中断请求,单片机即发送或接收一个新的数据,它是单片机的内部中断。

在这里插入图片描述
在这里插入图片描述

6, 串行通信

串行通信就是通过一条线和另外一台计算机或单片机通信的过程

6.1 分类

同步通信
异步通信
单工
半双工
全双工

在这里插入图片描述

6.2 相关寄存器

1.数据缓冲器SBUF
发送SBUF和接收SBUF共用一个地址99H。
1)发送: SBUF存放待发送的8位数据,写入SBUF将同时启动发送。发送指令:MOV SBUF,A
2)接收: 存放已接收成功的8位数据,供CPU读取。读取串行口接收数据指令:MOV A,SBUF

2.节电控制寄存器PCON

SMOD(PCON.7):波特率加倍控制位。

SMOD=1,波特率加倍, SMOD=0,则不加倍。

在这里插入图片描述

3.串行口控制/状态寄存器SCON(98H)

在这里插入图片描述

在这里插入图片描述

6.3 波特率

单位时间内传送的信息量。在计算机中,以每秒传送的二进制位数为单位。
例如:100字符/秒,1个字符10位,
波特率为:100×10=1000(波特)
平均每位传送占用时间:Td = 1/1000=1ms
在这里插入图片描述
在这里插入图片描述

7, AD与DA

因为单片机是不能处理模拟信号的,只会识别010101这样的信号,所以必须需要数模转换和模数转换。
在这里插入图片描述

9, LCD液晶显示屏

这个不用多说,生活中到处都是液晶显示屏,

液晶控制器内部存储器有两种寄存器:
1.指令寄存器IR(Instruction Register)
IR寄存器用于保存指令代码,例如:屏幕清除、光标移动、地址指针,IR只能由处理器写入。
2.数据寄存器DR(Data Register)
DR用于保存写入到DDRAM(display data RAM)和CGRAM(character generator RAM)中去的数据。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值