单片机寄存器相关知识及应用(51单片机)

在前面的STM32中我并没有直接对寄存器进行操作,而是通过固件库直接引用进行各个外设的配置和应用,现在,我开始进行寄存器的学习(51单片机)。

我们先简单看一下80C51/52的微控制头文件  <REG52.h>

一、字节寄存器定义

  • 定义了一系列的特殊功能寄存器,如 P0、P1、P2、P3、PSW、ACC、B、SP、DPL、DPH、PCON、TCON、TMOD、TL0、TL1、TH0、TH1、IE、IP、SCON、SBUF。
  • 对于 8052 扩展部分,定义了 T2CON、RCAP2L、RCAP2H、TL2、TH2。

二、位寄存器定义

  1. PSW 相关位
    • 定义了 PSW 寄存器中的各个位,如 CY(进位标志位)、AC(辅助进位标志位)、F0(用户标志位)、RS1 和 RS0(寄存器组选择位)、OV(溢出标志位)、P(8052 特有的奇偶校验位)。
  2. TCON 相关位
    • 定义了 TCON 寄存器中的各个位,如 TF1(定时器 1 溢出标志位)、TR1(定时器 1 运行控制位)、TF0、TR0、IE1、IT1、IE0、IT0。
  3. IE 相关位
    • 定义了 IE 寄存器中的各个位,如 EA(总中断允许位)、ET2(8052 特有的定时器 2 中断允许位)、ES、ET1、EX1、ET0、EX0。
  4. IP 相关位
    • 定义了 IP 寄存器中的各个位,如 PT2、PS、PT1、PX1、PT0、PX0。
  5. P3 相关位
    • 定义了 P3 端口的各个位,如 RD(外部数据存储器读选通位)、WR、T1、T0、INT1、INT0、TXD、RXD。
  6. SCON 相关位
    • 定义了 SCON 寄存器中的各个位,如 SM0、SM1、SM2、REN、TB8、RB8、TI、RI。
  7. P1 相关位(8052 特有的)
    • 定义了 P1 端口的两个位 T2EX 和 T2。
  8. T2CON 相关位
    • 定义了 T2CON 寄存器中的各个位,如 TF2、EXF2、RCLK、TCLK、EXEN2、TR2、C_T2、CP_RL2。

这个微控制器有四个端口,分别是:

  1. P0:8 位并行输入 / 输出端口。
  2. P1:8 位并行输入 / 输出端口。
  3. P2:8 位并行输入 / 输出端口。
  4. P3:8 位并行输入 / 输出端口,同时部分引脚具有第二功能。

比如我们要操作一个蜂鸣器或者一个LED灯的亮暗,我们就可以查看想要在那个引脚处进行驱动,执行高低电平,这里是控制一个低电平触发的蜂鸣器。

sbit等价于set bit,也就是设置引脚的作用,在这个程序中我们设置了P1端口的第1位,并设置为低电平态。

重温继电器:

  • 继电器内部主要由线圈和触点组成。当线圈两端加上合适的电压时,会产生磁场,使触点状态发生改变。在低电平触发的情况下,线圈通过低电平信号驱动电流,从而产生磁场使继电器动作。
  • 继电器的触点可以用于控制外部电路的通断,例如连接高电压、大电流的负载。

使用继电器实现对LED灯的控制

我们如果想写一个延迟的函数可以借助STC—ISP下载器,在这里可以直接生成相对应的代码。

利用震动传感器实现震动感应灯

注:震动传感器为低电平触发

中断知识:

在 51 单片机中,中断是一种重要的机制,它允许单片机在执行主程序的过程中,暂停当前任务,转而去处理更紧急的事件,处理完后再返回原来被中断的地方继续执行主程序

一、中断的作用

  1. 提高系统的实时性:当有紧急事件发生时,能够及时响应,而不必等待主程序循环执行到相应的位置。比如,外部设备发送数据需要立即处理,通过中断可以快速响应,避免数据丢失。
  2. 实现多任务处理:在单一处理器上模拟多任务的效果。不同的中断源可以代表不同的任务,单片机可以根据中断的优先级依次处理这些任务。

二、中断源

51 单片机通常有多个中断源,主要包括:

  1. 外部中断:由外部信号触发,可以设置为低电平触发或下降沿触发。例如,按键按下时产生的外部中断信号。
  2. 定时器中断:当定时器计数溢出时产生中断。可以用于定时控制、产生周期性的信号等。
  3. 串口中断:当串口接收到数据或发送完数据时产生中断,方便进行数据的接收和发送处理。

三、中断优先级

51 单片机具有两级中断优先级,可以设置高优先级和低优先级中断。当多个中断同时发生时,高优先级的中断会先被响应。如果同一优先级的中断同时发生,则按照硬件查询顺序响应。

四、中断的过程

  1. 中断请求:当中断源产生中断信号时,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值