当前位置: 首页 > news >正文

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

目录

一、独立按键

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

相关文章:

  • LinuX---压缩和解压类
  • stable-diffusion-webui-docker 构建 comfy-ui
  • 【极光 Orbit·STC8AH】04. 深度探索 GPIO 底层逻辑
  • clickhouse网络安全日志 网络安全日志保存时间
  • Python第四章07:continue 和 break 关键字控制循环 ( 中断与终止)
  • 前端存储-indexdb封装:dexie.js的使用
  • 从 YOLOv1 到 YOLOv2:目标检测的进化之路
  • 深度学习正则化技术之权重衰减法、暂退法(通俗易懂版)
  • 【RISCV LAB】0x01-安装实验仿真辅助工具
  • iOS OC使用正则表达式去除特殊符号并加粗文本,适用于接入AI大模型的流模式数据的文字处理
  • 深度学习 Deep Learning 第1章 深度学习简介
  • ByteByteGo学习笔记:通知系统设计
  • Redis分布式锁深度剖析:从原理到Redisson实战,破解脑裂与高并发锁难题
  • jupyter无法转换为PDF,HTMLnbconvert failed: Pandoc wasn‘t found.
  • 如何更新 Oh My Zsh
  • k8s中的控制器的使用
  • NetLink内核套接字案例分析
  • 黄金还能再涨吗?
  • 虚拟健身教练小程序:AI动作识别与个性化训练计划生成
  • 3.14周报
  • 优质文化资源下基层,上海各区优秀群文团队“文化走亲”
  • 4月份国民经济顶住压力稳定增长
  • 上海百年龙华码头开启新航线,弥补浦江游览南段空缺
  • 专利申请全球领先!去年我国卫星导航与位置服务产值超5700亿
  • 外企聊营商|上海仲裁:化解跨国企业纠纷的“上海路径”
  • 美国新泽西客运公司遭遇罢工:40年来首次,35万人受影响