51单片机学习笔记

目录

51MCU

1.1.1初识单片机

单片机硬件系统

MCS-51单片机内部结构

引脚及其功能

三总线

单片机最小系统

单片机的时序周期

单片机内部存储器

片内RAM

常用寄存器介绍

片内ROM

2.1.1并口

P0(双向口)

P1(准双向口)

P2(准双向口)

P3(准双向口)

补充

3.1.1中断系统

中断概念

中断内部结构

中断源

中断标志

TCON(定时控制寄存器)

SCON(串口控制寄存器)

中断控制

IE中断允许控制寄存器

中断响应及处理

中断优先级

IP寄存器

中断嵌套

4.1.1定时/计数器

定时器的组成

控制寄存器

TCON

TMOD

工作方式

0

1

2

3

5.1.1串口

通信概念

并行通信

串行通信

传输方式

同步传输

异步传输

通信方式

单工通信

半双工通信

全双工通信

常见的通信标准的通信方式

波特率

通信校验

单片机串行接口的结构

控制串口寄存器

串行数据缓冲器(SBUF)

串行控制器(SCON)

电源控制器(PCON)

串行中断控制寄存器

串口工作方式

0

1

2

3

6.1.1并口扩展

总线拓展方式

串行拓展方式

7.1.1ADC转换

A-D转换

主要性能指标

A-D转换分类

ADC0809结构分析

引脚功能

接口电路

读取方法

D-A转换

主要性能指标

D-A转换分类

DAC0832结构分析

引脚功能

接口电路

直通

单缓冲

双缓冲


51MCU

1.1.1初识单片机

单片机又称单片微控制器(Single Chip Microcomputer),采用大规模集成电路技术把中央处理器CPU、随机存储器RAM、只读存储器ROM、I/O口、中断系统和定时/计数器等功能部件集成到一块电路芯片上的一个小而完善的计算机系统。

单片机硬件系统

1980年Inter推出的MCS-51系列单片机成为了单片机家族的典型代表。以此为基核,推出很多与MCS-51有极好兼容性的CHMOS单片机。如,宏晶 STC89CXX系列,Atmel AT89CXX系列等

MCS-51单片机内部结构

(1)CPU:中央处理器,由运算器和控制器等部件组成,能够完成运算和控制操作

(2)存储器:51单片机包括空间大小为4KB[可扩展]的片内ROM和空间大小为256B的片内RAM

(3)并行I/O口:51单片机共有4个8位的并行I/O口(P0 P1P2 P3 P4)可独立用于输入和输出控制

(4)定时/计数器:51单片机包括两个16位的定时/计数器。用于定时、延时又可以对外部事件进行计数和检测等

(5)中断控制:51单片机内部含有5个中断源和2个中断优先级,用于满足实时控制的需要。

(6)串行接口:51单片机采用通用异步全双工串行通信接口

引脚及其功能

补充:

控制信号引脚

(1)RST/VPD:RST复位信号输入端。当此端保持两个机械周期以上的高电平时,单片机完成复位操作,VPD为内部RAM的备用输入电源。当VCC断电,可以通过VPD为内部RAM供电,以保证信息的不丢失,且上电后能够正常运行

(2)ALE:地址锁存信号。在访问片外内存时,ALE用于控制P0口输出8位地址送入锁存器锁存起来,以实现地位地址的分时传送。在不访问外部地址时,ALE以1/6晶振频率的固定频率来输出正脉冲,可以作为外部时钟或者外部定时脉冲使用。

(3)/PSEN:外部程序内存读选通信号。在访问外ROM时,PSEN会产生负脉冲信号作为外ROM的读选通信号。

(4)/EA:程序内存的控制信号。当此端保持低电平时,CPU只访问片外ROM,保持高电平时,执行片内ROM指令(除非PC计数值超过0FFFH)

三总线

单片机最小系统

(1)电源接口电路:采用+5V供电,接入VCC引脚,同时VSS接地,为了有更好的抗干扰性,一般在VCC和VSS间接入高频和低频滤波电容。

(2)复位电路:复位是指单片机内部各寄存器的值变为初识状态。复位条件:当RST端接入高电平并保持两个机械周期以上时,单片机完成复位操作。复位电路有两种实现方式:

1)上电复位:RST内置下拉电阻,上电瞬间RST和VCC电位相同,随电容充电

,RST端电压逐渐下降,经T=RC后完成复位。

2)按键复位:完成上电复位后,电容充电完成,电路断路,此时RST电位为0,按下开关短路电容,电容放电,RST电压升高,完成复位。

(3)时钟电路:单片机内部有一个用于构成振荡器的高增益放大器,XTAL1和XTAL2分别是放大器的输入端和输出端,只需外接一个晶振和两个电容就可构成自激振荡器。

单片机的时序周期

单片机在CPU的统一指挥下协调工作,CPU根据不同的指令,产生相应的定时信号和控制信号,各部分和各控制信号之间要满足一定的时间顺序

(1)振荡周期(时钟周期):时钟周期就是为单片机提供定时信号的振荡源的周期,即晶振、RC振荡器等提供给单片机的频率的倒数。时钟周期又可以称为节拍或拍,用P表示。一般来说,提供给51单片机的晶振是12MHz或者11.0592MHz,12MHz的周期就是1/12 us。

(2)状态周期:CPU从一个状态转变到另一个状态所需要的时间为状态周期。两个时钟周期为一个状态周期,可以用S表示。第一个时钟周期(节拍)定义为P1,第二个时钟周期(节拍)定义为P2。

(3)机械周期:计算机完成一次完整的、基本的操作所需要的时间为机械周期。8051规定一个机器周期有6个状态周期,分别表示为S1、S2……S6。一个状态周期包含两个时钟周期,所以一个机器周期包含12个时钟周期,即机器周期是时钟周期的12分频。如果使用12MHz的时钟频率,一个机器周期就是1微秒。

(4)指令周期:执行一条指令所需要的时间为指令周期。指令周期以机器周期为单位,不同的指令按指令周期的不同,分为单机器周期指令,双机器周期指令和四机器周期指令。注意,没有三机器周期指令。对于单机器周期指令来说,如果单片机使用12MHz晶振,那么指令周期就是1us。注意,ARM是没有指令周期这一说法的。

单片机内部存储器

片内RAM

主要用于数据缓冲和中间数据的暂存,RAM使用过程中可以随时写入和读取信息。51单片机内部RAM共256字节(字节地址00H~FFH),可分为3个部分:低128字节RAM(与传统8051兼容)、高128字节RAM(lntel在8052中扩展了高128字节RAM)及特殊功能寄存器区。低128字节的数据存储器既可直接寻址也可间接寻址。高128字节RAM与特殊功能寄存器区貌似共用相同的地址范围,都使用80H~FFH,地址空间虽然貌似重叠,但物理上是独立的,使用时通过不同的寻址方式加以区分。高128字节RAM只能间接寻址,特殊功能寄存器区只可直接寻址一部分可按位寻址。

1)低128字节RAM也称通用RAM区。通用RAM区又可分为工作寄存器组区,可位寻址区,用户RAM区和堆栈区。工作寄存器组区地址从00H~1FH共32B(字节)单元,分为4组(每一组称为一个寄存器组),每组包含8个8位的工作寄存器,编号均为R0~R7,但属于不同的物理空间。通过使用工作寄存器组,可以提高运算速度。RO~R7是常用的寄存器。程序状态字PSW寄存器中的RS1和RS0组合决定当前使用的工作寄存器组。可位寻址区的地址从20H~2FH共16个字节单元。20H~2FH单元既可向普通RAM单元一样按字节存取,也可以对单元中的任何一位单独存取,共128位,所对应的位地址范围是00H~7FH。位地址范围是00H~7FH,内部RAM低128字节的地址也是00H~7FH:从外表看,二者地址是一样的,实际上二者具有本质的区别:位地址指向的是一个位,而字节地址指向的是一个字节单元,在程序中使用不同的指令区分。内部RAM中的30H~FFH单元是用户RAM和堆栈区。一个8位的堆栈指针(SP),用于指向堆栈区。单片机复位后,堆栈指针SP为07H,指向了工作寄存器组0中的R7,因此,用户初始化程序都应对SP设置初值,一般设置在80H以后的单元为宜。

2)高128字节RAM(字节地址80H~FFH),在这128个单元中离散分布这若干个特殊功能寄存器(SFR),专用于控制、选择、管理、存放单片机内部各部分的工作状态、条件、状态和结果。

SFR字节地址如果可以被8整除则可按位寻址

常用寄存器介绍

①程序计数器PC:PC是一个16位的计数器,其内容为将要执行的指令地址,寻址范围达64KB。PC在物理上是独立的,不属于SFR。PC没有地址,是不可寻址的,无法进行读写。执行指令时能自动改变内容,以改变程序的执行顺序。单片机上电或复位后,PC=0000H,强制单片机从程序的零单元开始执行程序。

②累加器ACC及B寄存器:ACC寄存器简称A寄存器。常用于存放参加算数或逻辑运算的操作数及运算结果。B寄存器主要用于乘法和除法运算,必须搭配A寄存器使用。

③数据指针DPTR:数据指针(DPTR)是一个16位专用寄存器,由DPL(低8位)和DPH(高8位)组成。DPTR是传统8051机中唯一可以直接进行16位操作的寄存器也可分别对DPL和DPH按字节进行操作。DPTR通常用于存放外部数据存储器的存储单元地址。

④堆栈指针SP:堆栈指针是一个8位专用寄存器。它指示出堆栈顶部在内部RAM块中的位置。系统复位后,SP初始化位07H,使得堆栈由08H单元开始,08H~1FH单元分别属于工作寄存器组1~3,若在程序设计中用到这些区,则最好把SP值改变为80H或更大的值为宜。51系列单片机的堆栈是向上生长的,即将数据压入堆后,SP内容增大。当数据被压栈时,SP+1;数据出栈时SP-1。

⑤I/O口寄存器:P0、P1、P2、P3寄存器,用于锁存通过端口的数据

⑥程序状态字寄存器PSW:

CY:标志位。进行加法运算时,当最高位即B7位有进位,或执行减法运算最高位有借位时,CY为1,反之为0

AC:进位辅助位。进行加法运算时,当B3位有进位,或执行减法运算B3有借位时,AC为1;AC :反之为0。设置辅助进位标志AC的目的是为了便于BCD码加法、减法运算的调整。

F0 :用户定义标志位,可通过为操作指令将其置位或清零。

RS1、RS0:工作寄存器组的选择位。

OV : 溢出标志位。在计算机内,带符号的数一律用补码表示。在8位二进制中补码能表示的范围为-128~+127,当运算结果超出范围时,OV置1;否则清零。

B1:保留位

P:奇偶标志位。用于指示ACC中1的个数的奇偶性。奇数置1,偶数置0。

片内ROM

主要用来存放计算机中所事先编制好的程序和表格常数。51单片机中有4KB的片内ROM单元,地址为0000H~0FFFH。

地址0000~0002H的3个单元时系统的启动单元,在单片机复位后会自动从0000H开始执行程序,但实际上这三个单元不存放任何程序,用户在使用时,需要在单元中房一条无条件的跳转指令,跳转到指定程序地址执行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值