硬件驱动——51单片机:独立按键、中断、定时器/计数器

目录

一、独立按键

1.原理

2.封装函数

[3.按键控制点灯+ 数码管](#3.按键控制点灯+ 数码管)

二、中断

1.原理

2.步骤

3.中断寄存器IE

4.控制寄存器TCON

5.打开外部中断0和1

三、定时器/计数器

1.原理

2.控制寄存器TCON

3.工作模式寄存器TMOD

4.按键控制频率的动态闪烁


一、独立按键


1.原理

单片机通电后,51单片机的40个引脚均为高电平(即值均为1),其中引脚5~8为寄存器P1 的后四个 引脚P14~P17,负责控制独立按键模块的4个按键开关。

按键按下后 ,对应线路导通 ,电压接低变为低电平。

2.封装函数

3.按键控制点灯+ 数码管

按下特定按键,对应的LED灯亮起,同时数码管显示对应数字

二、中断


1.原理

  • 中断向量表:

即一个函数指针的数组。

void (*pfn)(void) interrupt n

2.步骤

中断处理六大步骤:

3.中断寄存器IE

4.控制寄存器TCON

5.打开外部中断0和1

打开外部中断0和外部中断1,当外部中断0执行时,点亮所有LED灯,当外部中断1执行时,熄灭所有LED灯

三、定时器/计数器


1.原理

定时器/计数器的核心部件是一个加法计数器,其本质是对脉冲进行计数。

本人使用的51单片机的系统时钟频率为11.0592MHz,定时器每12个时钟 得到一个计数脉冲,计数值加1。计数值的类型为unsigned short ,大小为两个字节 ,计数范围为0~65535。

故实际有效频率为:11.0592*1000*1000÷12=921600Hz

周期为:1÷921600=1.08507e^-6秒,接近1微秒。

若需要1毫秒计数一次,则定时器的初值应为65535-(921600÷1000)=64613

2.控制寄存器TCON

3.工作模式寄存器TMOD

4.按键控制频率的动态闪烁

以16位定时器模式工作,按下不同的按键,使LED灯分别按照1s,500ms,200ms,100ms动态闪烁

相关推荐
无敌贵点大王8 小时前
从寄存器层面重学STM32(7)——定时器
stm32·单片机·嵌入式硬件
碧海银沙音频科技研究院9 小时前
粉色笔记本电脑每次要等把电池电耗尽才能开机问题解决方法
嵌入式硬件
wuyk5551 天前
Keil工具链-第05讲-启动文件与__main到底做了什么
c语言·stm32·单片机·嵌入式硬件·物联网
shijuejianceliu1 天前
传统规则视觉与嵌入式AI智能相机的技术差异
人工智能·嵌入式硬件·视觉检测·相机
不脱发的程序猿1 天前
GD32串口数据收进内存之后DMA如何处理?
单片机·嵌入式硬件·dma·嵌入式·串口通信·gd32
FPGA小迷弟2 天前
FPGA 与千兆以太网校验和:从原理到 Verilog 实现
嵌入式硬件·fpga开发·无人机·ai编程·fpga
国科安芯2 天前
83 倍:ASC0108S 在推挽和开漏之间,差的不是速度,是回程
单片机·嵌入式硬件·架构·电平转换·抗辐射
国科安芯2 天前
从遥控到自治:ASP4644S2B支撑星载电源健康管理与容错配电
网络·单片机·嵌入式硬件·安全·dcdc·低轨卫星·商业航天
rhythm-ring2 天前
《汽车热管理系统:电子水泵单线PWM双向诊断机制》
单片机·嵌入式硬件·汽车
Dev_XH2 天前
【成品设计】基于物联网的车间安全生产监控系统设计
stm32·单片机·嵌入式硬件·物联网