单片机入门

51底层其实主要就是对寄存器的配置

单片机基础知识

数据存储器(RAM)
片内为128个字节(52系列为256个字节),片外最多扩展至64k。128字节的数据存储器以高速RAM的形式集成在单片机内,以加快单片机运行的速度,而且这种结构RAM还可以降低功耗。

程序存储器(ROM/EPROM)
8031无此部件;8051为4k字节ROM;8751为4k字节EPROM

中断系统
具有5个中断源,2级中断优先权

定时器/计时器
片内有2个16为的定时器/计数器,具有四种工作方式。在单片机的应用中,往往需要精确的定时,或对外部事件进行计数,为提高单片机的实时控制能力,因而需要在单片机内部设置定时器/计时器部件

串行口
1个全双工的串行口,具有四种工作方式。可用来进行串行通讯,扩展并行I/O口,甚至与多个单片机构成舵机系统,从而使单片机的功能更强且应用更广

在这里插入图片描述
40只引脚按其功能来分,可分为3类:
(1)电源及时钟引脚:Vcc,Vss,XTAL1,XTAL2
(2)控制引脚:PSEN,ALE,EA,RESET
(3)I/O口引脚:P0,P1,P2,P3为4个8为I/O口的外部引脚

引脚定义

电源及时钟引脚

电源引脚
电源引脚接入单片机的工作电源。
(1)Vcc(40脚):接+5v电源
(2)Vss(20脚):接地

时钟引脚
两个时钟引脚XTAL1,XTAL2外界晶体与片内的反向放大器构成了振荡器,它为单片机提供lyige时钟控制信号。2个时钟引脚,也可以外接晶体振荡器。
(1)XTAL1:接外部晶体的一个引脚。该引脚是内部反相放大器的输入端。如果采用外接晶体振荡器,此引脚应当接地。
(2)XTAL2:接外部晶体的一个引脚。该引脚是内部反相放大器的输出端。如果采用外接晶体振荡器,此引脚应当接收时钟振荡器的信号,即吧该引脚直接接到内部时钟发生器的输入端。

控制引脚

RST/ V P D V_{PD} VPD(九脚)
RST(RESET)是复位信号输入端,高电平有效。当单片机运行时,在此引脚上加持续时间大于两个机器周期(24个时钟振荡周期)的高电平时,就可以完成复位操作。在单片机正常工作时,该引脚为0.5v低电平
V P D V_{PD} VPD是本引脚的第二个功能,即备用电源的输入端。当主电源Vcc发生故障,降低到某一规定值的低电平时,将+5v电源自动接入RST端,为内部RAM提供备用电源,以保证片内RAM中的信息不丢失,从而使单片机复位后还能继续正常工作

ALE/PROG(30脚)
ALE为地址锁存允许信号,当单片机上电正常工作后,ALE引脚不断输出正脉冲信号。当访问单片机外部存储器是,ALE输出信号的负跳沿用作低8位地址的锁存信号。即使不访问外部锁存器,ALE仍有正脉冲信号输出,此频率为时钟振荡器频率fosc的1/6。 如果想判断单片机芯片的好坏,可用示波器查看ALE端是否有正脉冲输出。如果有脉冲信号输出,则单片机基本上是好的。
PROG为本引脚的第二功能。对片内EPROM型单片机(例如8751)编程写入时,此引脚作为编程脉冲输入端。

PSEN(29脚)
程序存储器允许输出控制端。单片机访问外部程序存储器时,此引脚输出的负脉冲作为读外部程序存储器的选通信号。此脚接外部程序存储器的OE(输出允许)端。PSEN端可以驱动8个LS型的TTL负载。

EA
EA功能为内外程序存储器选择控制端。当EA端为高电平时,单片机访问内部程序存储器,但在PC(程序计数器)值超过0FFFH时(对于8051,8751为4kb),将自动转向执行外部程序存储器内的程序。当保持低电平时,则只访问外部程序存储器,这样只能选择内部程序存储器。

机器周期

时钟周期
时钟周期是单片机的基本时间。若时钟的晶体的振荡频率为fosc,则时钟周期Tosc为1/fosc。

机器周期
CPU完成一个基本操作所需要的时间为机器周期,单片机中常常把执行一条指令的过程分为若干阶段。每个阶段为一个基本操作,如取指令,读或写数据等等。MCS-51单片机每12个时钟周期为一个机器周期,即Tcy=12/fosc。

中断系统

当CPU正在处理某件事情(例如正在执行主程序)的时候,外部或内部正在发生某一件事情(如某个引脚上电平的变化,一个脉冲沿的发生或计数器的计数溢出)请求CPU迅速去处理,于是CPU暂时中止当前的工作,转去处理所发生的事件。中断服务处理程序处理完该事件后,再回到原来被中止的地方,继续原来的工作,这样的过程称为中断。处理事情的过程称为中断响应过程。对事件的整个处理过程,称为中断服务(或者中断处理
实现这种功能的部件称为中断系统,产生中断的请求源称为中断源。中断源向CPU提出的处理请求,称为中断请求或中断申请。CPU暂时中止执行的程序,转去执行中断服务程序,除了硬件会自动把断点地址压入堆栈之外,用户还得注意保护有关的工作寄存器,累加器,标志位等信息,这叫保护现场。在完成中断服务程序后,回复有关的工作寄存器,累加器,标志位内容,这称为恢复现场。最后执行中断返回指令,从堆栈中自动弹出断点地址到PC,继续执行被中断的程序,这就是中断返回

中断请求源

51有5个中断请求源

  1. INT0——外部中断0请求,由INT0引脚输入,中断请求标志位IE0
  2. INT1——外部中断1请求,由INT1引脚输入,中断请求标志位IE1
  3. 定时器/计数器T0溢出中断请求,中断请求标志位TF0
  4. 定时器/计数器T1溢出中断请求,中断请求标志位TF1
  5. 串行口中断请求,中断请求标志位为TI或RI
两个特殊寄存器TCON和SCON

TCON
在这里插入图片描述
具体:
(1)IT0——选择外部中断请求INT0为跳沿出发方式还是电平触发方式
IT0=0,为电平触发方式,引脚INT0上低电平有效
IT0=1,为跳沿触发方式,引脚INT0上电平从高到低的负跳变有效
(2)IE0——外部中断0的中断请求标志位
当IT0=0,为电平触发方式,每个机器周期的S5P2采样INT0引脚,若INT0脚为低电平则置1IE0,否则清0(也就是说IE0=1就进入中断)
当IT0=0,为跳沿触发方式,当第一个机器周期采样到低电平时,则置1 IE0。当CPU响应中断时,硬件自动清0 IE0。
(3)IT1和IT0类似
(4)IE1和IE0类似
(5)TF0——MCS-51片内定时器/计数器T0溢出中断请求标志位
当启动T0计数后,定时器/计数器T0从处置开始加1 计数,当最高位产生溢出时,由硬件置1 TF0,向CPU发出请求中断,CPU响应中断后,自动清0 TF0。
(6)TF1与TF0类似

TR0和TR1为定时器开启位,与中断无关

SCON
在这里插入图片描述
具体
(1)TI——串行口的发送中断请求标志位。CPU将一个字节的数据写入发送缓冲器SBUF时,就启动一帧串行数据的发送,没发送完一帧串行数据后,硬件自动置1 TI,但CPU响应中断时,CPU并不清除TI,必须在中断服务程序中用软件对TI清0
(2)RI——串行口接收中断中断请求标志位。在串行口允许接收时,每接收完一个串行帧,硬件自动置1 RI。CPU在响应本中断时,并不清除RI,必须在中断服务程序中用软件对RI清 0

中断控制

中断允许寄存器IE

在这里插入图片描述

具体:
(1)EA:中断允许总控制位
EA=0,总中断关闭,屏蔽所有中断
EA=1,总中断打开
(2)ES:串行口中断允许位:
ES=0,禁止串行口中断
ES=1,允许串行口中断
(3)ET1:定时器/计数器T1的溢出中断允许位
ET1=0,禁止T1中断
ET1=1,允许T1中断
(4)EX1:外部中断1的中断允许位
EX1=0,禁止外部中断1中断
EX1=1,允许外部中断1中断
(5)ET0和ET1类似
(6)EX0和EX1类似

中断优先级寄存器IP

MCS-51的中断请求源有两个中断优先级。在这里插入图片描述
(1)PS——串行口中断优先级控制位
PS=1,串行口定义为高优先级中断
PS=0,串行口定义为低优先级中断
(2)PT1——定时器T1中断优先级控制位
PT1=1,定时器T1定义为高优先级中断
PT1=0,定时器T1定义为低优先级中断
(3)PX1——外部中断1中断优先级控制位
PX1=1,外部中断1定义为高优先级中断
PX1=0,外部中断1定义为低优先级中断
(4)PT0与PT1类似
(5)PX0与PX1类似

定时器/计数器

一些寄存器

工作方式寄存器TMOD

在这里插入图片描述
(修改T2为T0)

(1)GATE——门控位
GATE=0时,仅由控制位TRX(X=0,1)来启动定时器/计数器运行。
GATE=1时,由TRX(X=0,1)和中断引脚(INT0和INT1)上的高电平共同来启动定时器/计数器运行。
(2)M0、M1——工作方式选择位
M0、M1共有四种编码,对应于4种工作方式。对应关系

M1M0工作方式
00方式0,为13位定时器/计数器
01方式1,为16位定时器/计数器
10方式2,8位初值自动重新装入的8位定时器/计数器
11方式3,仅适用于T0,分为两个8位计数器,T1停止计数

(3)C/T——计数器模式和定时器模式选择位
C/T=0,为定时器模式
C/T=1,为计数器模式,计数器对外部输入引脚T0(P3.4脚)或T1(P3.5脚)的外部脉冲(负跳变)计数。

定时器/计数器控制寄存器TCON

TCON的字节地址为88H,可进行位寻址,位地址为88H~8FH。
在这里插入图片描述
低四位和中断有关,高四位
(1)TF0,TF1——T0,T1计数溢出标志位
当计数器计数溢出时,该位置“1”。使用查询方式时,此位作为状态位供CPU查询,但应当注意在查询该位有效后应当以软件方法及时将该位清0.使用中断方式时,此位作为中断申请标志位,进入中断服务程序后由硬件自动清0.
(2)TR0,TR1——计数运行控制位
TR1位(或TR0位)=1,启动定时器/计数器工作的必要条件,还与GATE位有关。
TR1位(或TR0位)=0,关闭定时器/计数器工作。

定时器工作方式

方式0

当M1,M0为00时,定时器/计数器被设置为工作方式0,这时定时器/计数器的等效

串行口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值