51单片机IO功能及寄存器

目录

51单片机

IO功能

中断系统


51单片机

IO功能

P0.0~P0.7

双向8位三态IO,做“地址/数据总线”(地址总线低8位)时为分时复用口,可在内部没有ROM(如8031)的单片机或者编写的程序超过了单片机内部的存储器容量,需要外扩存储器时,P0口就作为‘地址//数据’总线使用。

做GPIO的时,没有内部上拉,为开漏输出。需要外接上拉电阻。

P1.0~P1.7

8位准双向IO,内部上拉,做输入时需要先向该端口写入1。

P2.0~P2.7

8位准双向IO,内部上拉,可做地址总线使用(高8位)

P3.1~P3.7

8位准双向I,双功能复用端口

IO标号复用功能
P3.0RxD(串口1数据接收端)
P3.1TxD(串口1数据发送端)
P3.2INT0(外部中断0,下降沿或低电平中断)
P3.3INT1(外部中断1,下降沿或低电平中断)
P3.4T0(定时器/计数器中断0的外部输入)
P3.5T1(定时器/计数器中断1的外部输入)
P3.6WR(外部储存器的写脉冲)
P3.7RD(外部储存器的读脉冲)

中断系统

5个中断,可分为两个外部中断INT0、INT1,内部中断包括两个片内定时器中断TF0,TF1,一个串行口中断。其中INT0、INT1,定时器中断是由控制寄存器TCON控制,而串行口中断由串口控制寄存器SCON控制。

1、中断屏蔽寄存器IE

对中断系统所有中断 以及某个中断源的开放和屏蔽。

名称D7D6D5D4D3D2D1D0
IEEA-ET2ESET1EX1ET0EX0

EA:CPU中断开放标志,EA=1,打开中断使能;EA=0,关闭中断使能

ET2:定时器/计数器T2溢出中断允许位,ET2=1,打开T2中断;ET2=0,关闭T2中断

ES:串口中断允许位。ES=1,打开串口中断,ES=0关闭串口中断

ET1:同ET2

EX1:外部中断1允许位。EX=1,打开外部中断1,EX=0,关闭外部中断

ET0:同ET1

EX0:同EX1

2、中断优先级寄存器IP

名称D7D6D5D4D3D2D1D0
IP--PT2PSPT1PX1PT0PX0

IP中的某位如果为1,则该位所对应的中断定义为高优先级中断;反之,IP中的某位如果为0,则该为所对应的中断定义为低优先级中断。如果只设置IP,那么中断优先级就只有两级。下图中的中断的查询次号即为中断号,这个中断号在编程时非常重要,当中断来临时,只有中断号正确才能进入中断。

中断源相同优先级内查询次序
INT00
Timer01
INT12
Timer13
UART4
Timer35
INT26
INT37

3、中断请求标志TCON

名称D7D6D5D4D3D2D1D0
TCONTF1TR1TF0TR0IE1IT1IE0IT0
  • TCON低四位用于控制外部中断

IE1:外部中断1跳变中断请求标志,当检测到INT1发生1到0的跳变时,由硬件置位;当主机响应中断,转向中断服务程序时,由硬件清零

IT1:外部中断1触发方式控制位,由软件置位或清零来选择外部中断1的跳变/电平触发中断请求。IT1=0时,外部中断1为电平触发方式,当INT1输入低电平时,置位IE1。采用电平触发方式时,外部中断源必须保持低电平有效,直到该中断被CPU响应,同时在该中断服务程序执行完之前,外部中断源必须被清除,否则将产生另一次中断。IT1=1 时, 外部中断 1 为边沿触发方式,在对 INT1 的相邻两次采样中,如果一个周期中为高电平,接 下来的周期为低电平,则置位 IE1,表示外部中断 1 正在向 CPU 申请中断。直到该中断被 CPU 响应时,才被硬件清零

IE0:同IE1

IT0:同IT1

  • TCON高四位用于控制定时/计数器的启动和中断申请。

TF1:T1 溢出中断请求标志位。T1 计数溢出时由硬件自动置 TF1 为 1。CPU 响应中断后 TF1 由硬件自动清 0。T1 工作时,CPU 可随时查询 TF1 的 状态。所以,TF1 可用作查询测试的标志。TF1 也可以用软件置 1 或清 0,同硬 件置 1 或清 0 的效果一样。

TR1:T1 运行控制位。TR1 置 1 时,T1 开始工作;TR1 置 0 时, T1 停止工作。TR1 由软件置 1 或清 0。所以,用软件可控制定时/计数器的启动与停止。

TF0:同TF1

TR0:同TR1

定时器对片内时钟计数,计数器对外部脉冲计数

4、工作方式寄存器TMOD

名称D7D6D5D4D3D2D1D0
TMODGATEC/TM1M0GATEC/TM1M0
  • GATE: 门控位, GATE=0 时,用于控制定时器的启动是否受外部中断源信号 的影响。只要用软件使 TCON 中的 TR0 或 TR1 为 1,就可以启动定时/计数器工作; GATA=1 时,要用软件使 TR0 或 TR1 为 1,同时外部中断引脚 INT0/1 也为高电时,才能启动定时/计数器工作。即此时定时器的启动条件,加上了 INT0/1 引脚 为高电平这一条件。

  • C/T :定时/计数模式选择位。C/T =0 为定时模式;C/T =1 为计数模式

  • M1M0:工作方式设置位。定时/计数器有四种工作方式

    M1M0工作方式说明
    00方式013位定时/计数器
    01方式116位定时/计数器
    10方式28位自动重装定时/定时计数器
    11方式3T0分成两个独立的8位定时/计数器;T1此方式停止计数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值