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

news/2025/3/20 8:36:41/

目录

一、独立按键

1.原理

2.封装函数 

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动态闪烁


http://www.ppmy.cn/news/1580551.html

相关文章

Oracle数据库与MySQL数据库的全面对比分析

文章目录 **一、概述与定位****1. Oracle数据库****2. MySQL数据库** **二、架构设计对比****1. 存储引擎** **三、功能特性对比****1. 数据类型****2. 事务支持** **四、性能优化对比****1. 查询优化****2. 分区表** **五、安全性对比****1. 数据加密****2. 权限管理** **六、…

华为中小型企业项目案例

实验目的(1) 熟悉华为交换机和路由器的应用场景 (2) 掌握华为交换机和路由器的配置方法 实验拓扑实验拓扑如图所示。 华为中小型企业项目案例拓扑图 实验配置市场部和技术部的配置创建VLANLSW1的配置 [LSW1]vlan batch 10 20 [LSW1]q…

数据结构之链表(双链表)

目录 一、双向带头循环链表 概念 二、哨兵位的头节点 优点: 头节点的初始化 三、带头双向链表的实现 1.双链表的销毁 2.双链表的打印 3.双链表的尾插和头插 尾插: 头插: 4.双链表的尾删和头删 尾删: 头删: …

企业数通网络解决方案全面详解

随着企业数字化转型的快速发展,企业的网络基础设施逐渐成为支撑数字化转型的重要基石。企业数通网络不仅仅是企业内部通讯的通道,更是连接云端与终端、实现数据交互与业务智能的桥梁。本文将从园区网络、WLAN网络、数据中心网络和广域网络四个方面&#…

DNS解析查询工具

dig命令 1 常用命令 命令:dig 您的域名(示例:dig www.baidu.com) 2、根据解析记录查询,比如MX,CNAME,NS,PTR等,只需将类型加在命令后面即可。 示例:dig bai…

在k8s中利用Helm部署Prometheus+Grafana和Loki日志系统

背景 在初步的完成k8s集群的安装后,接下来需要做的事情之一便是为集群安装一套的Metrics和Log的监控系统。 通过Helm安装是最简单方便的方式,而PrometheusGrafana 完成metircs的收集和可视化展示,已经是最成熟最原生的方案,没有之…

基于Python的天气预报数据可视化分析系统-Flask+html

开发语言:Python框架:flaskPython版本:python3.8数据库:mysql 5.7数据库工具:Navicat11开发软件:PyCharm 系统展示 系统登录 可视化界面 天气地图 天气分析 历史天气 用户管理 摘要 本文介绍了基于大数据…

Android PC 要来了?Android 16 Beta3 出现 Enable desktop experience features 选项

在之前的 《Android 桌面窗口新功能推进》 我们就聊过,Google 就一直在努力改进 Android 的内置桌面模式,例如添加了适当的窗口标题、捕捉窗口的能力、悬停选项、窗口大小调整、最小化支持、app-to-web 等。 比如在搭载 Android 15 QPR 1 Beta 2 的 Pix…