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

硬件驱动——51单片机、LED、动态数码管

目录

一、51单片机

1.寄存器 

二、LED点灯

1.原理

2.封装函数

3.顺序点灯 

4.特定位点灯

三、动态数码管

1.原理

2.封装函数 

3.0~9跳变

4.顺序移位0~9跳变


一、51单片机


1.寄存器 

        51单片机共40个引脚,其中P0,P1,P2,P3是四个有8引脚的寄存器,寄存器可视为全局变量,寄存器在keil中以特殊宏的形式储存,例如:

        用C语言规范写法,需将寄存器地址的值强转为指针,然后访问修改指针所指向内容,因此上图中的寄存器代码等价于:

二、LED点灯


1.原理

        单片机通电后,51单片机的40个引脚均为高电平(即值均为1),其中引脚21~28为寄存器P2的八个引脚P20~P27,负责控制LED模块的8个发光二极管

         若将P20置为低电平(即值改为0),则发光二极管D1两端产生电势差,从而产生电流,二极管导通发光。方法为用位运算的方式将寄存器P2的值由1111 1111改为1111 1110,例:

    P2 &= ~(1 << 0);
    // (1 << 0)即二进制数  0000 0001
    //~(1 << 0)按位取反后为1111 1110
    //&=即与等于,执行置0操作

 2.封装函数

        封装一个延时函数

        封装一系列LED相关函数

3.顺序点灯 

        让灯顺序点亮 ,再循环亮回来

4.特定位点灯

        令能被2整除的位数上的灯亮,再让能被3整除的灯亮,交替闪烁

三、动态数码管


1.原理

        单片机通电后,51单片机的40个引脚均为高电平(即值均为1),其中引脚39~32为寄存器P0的八个引脚P00~P07,负责控制数码管a,b,c,d,e,f,g,dp的亮灭。

        另外引脚1~4为寄存器P1的前四个引脚P10~P13,负责控制4位数码管模块的亮灭。

2.封装函数 

        封装一系列数码管相关函数

3.0~9跳变

        从指定数码管由0~9进行跳变 

4.顺序移位0~9跳变

        先第0位数码管从0跳变到9,再第1位数码管从0跳变到9,直到第3位数码管跳变完再循环至第0位数管

相关文章:

  • C# Unity 唐老狮 No.9 模拟面试题
  • 网络安全与七层架构
  • SQL子查询与MyBatis映射
  • plantuml画甘特图gantt
  • AUTOSAR_CP_EthernetSwitchDriver
  • rpc grpc
  • C语言零基础入门教程:操作系统原理(上)
  • 火山引擎云上实战:一键部署 DeepSeek 大模型(蒸馏版)
  • 【工具】ReConPlot一个可视化和解释基因组重排的R包
  • AutoGen学习笔记系列(十六)Examples - Company Research
  • VSTO(C#)Excel开发7:自定义任务窗格
  • 【原创】在高性能服务器上,使用受限用户运行Nginx,充当反向代理服务器[未完待续]
  • 《又是二叉树?递归与回溯的经典应用》
  • 嵌入式人工智能应用- 第七章 人脸识别
  • 什么是OF
  • java学习总结(四):MyBatis
  • 低成本抗衡DeepSeek-R1!QwQ-32B本地部署教程:消费级硬件可部署
  • 分布式事务中TCC、SAGA 或可靠消息事务应该如何理解?
  • WPS的Excel文档如何利用VB脚本批量替换超链接的内容
  • Linux 》》Ubuntu 18 LTS 之后的版本 修改IP地址 主机名
  • 中国华能:1-4月新能源装机突破1亿千瓦,利润总额再创新高
  • 巴西商业农场首次确诊高致病性禽流感,中国欧盟暂停进口巴西禽肉产品
  • 海口警方通报“司机驾车拖行虐猫”:系意外,未发现故意虐猫行为
  • 王毅同丹麦外交大臣拉斯穆森会谈
  • 波兰总统选举第一轮投票结束,出口民调显示将进入第二轮投票
  • 关税影响下沃尔玛想涨价,特朗普施压:自行承担,别转嫁给顾客