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

蓝桥杯单片机基础部分——1.5基础模块代码升级

前言

之前的蓝桥杯单片机基础部分——1、基础模块代码发现有的同学不太会使,这样的话就给他们都封装一下函数,额外封装一下蜂鸣器和继电器,这就全了,到时候的逻辑只要没问题就没啥事了

LED灯模块

在这里插入图片描述
现在,给这里封装一个函数

unsigned char led_buf[] = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
void LED_lnit(unsigned char addr,enable)
{
	P2 = P2 & 0X1F | 0X80;
	if(enable)
	P0 = led_buf[addr];
	else P0 = ~led_buf[addr];
}

蜂鸣器&继电器

在这里插入图片描述
先弄蜂鸣器

void BEEP(unsigned char enable)
{
	P2 = P2 & 0X1F | 0XA0;
	if(enable)P0 = 0X40;
	else P0 = ~0X40;
}

继电器

void relay(unsigned char enable)
{
	P2 = P2 & 0X1F | 0XA0;
	if(enable)P0 = 0X10;
	else P0 = ~0X10;
}

上面几个模块的代码都没有解释,现在大体看一下,不一定是好用的,只是思路
LED灯

unsigned char led_buf[] = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//这里封装了一个数组,通过数组控制位
void LED_lnit(unsigned char addr,enable)//这个地方addr是位置对应0~7,enable是使能,1亮0灭

后面的两个模块都有一个enable的变量,这个变量在这里是一个如果是0就不工作,1的话就是工作的状态

本人水平有限,所有代码都是作者自己的风格书写,但是大致的应该是没有什么问题,如果有哪里出错或者有更好的解法可以与我私信或在评论区里进行讨论
这些代码都只是一个思路,具体都没有烧写到板子里面去实验,不一定好用,有问题大家一定要提出来,大家一起进步

相关文章:

  • 【软件设计】SOLID原则详解与PHP实战示例
  • PageForge v2025.1.6 发布:支持 KaTeX 数学公式渲染
  • Spring AI + 大模型开发应用
  • 爬楼梯问题
  • 【Alertmanager】Alertmanager告警路由,告警静默,告警抑制,高可用的实现
  • CryptoJS库中WordArray对象支持哪些输出格式?除了toString() 方法还有什么方法可以输出吗?WordArray对象的作用是什么?
  • Python入门教程丨3.8 网络编程
  • 计算机毕业设计 ——jspssm504springboot 职称评审管理系统
  • Redis搭建集群
  • linux--多进程开发(4) 进程退出、孤儿进程、僵尸进程、进程回收wait()
  • 从最小依赖角度谈静态库与动态库的选择及配置策略
  • 【大模型学习】Transformer架构解析
  • IDEA集成DeepSeek,通过离线安装解决无法安装Proxy AI插件问题
  • Linux修改Redis密码
  • 编程算法总结
  • 【初阶数据结构】树和二叉树
  • 已有项目添加vitepress
  • 硬件基础(3):三极管(1):理论基础
  • 补题A-E Codeforces Round 953 (Div. 2)
  • 【Qt源码】窥视信号槽实现机制
  • 网站更多分享怎么做/百度联盟广告收益
  • 大量情侣网名网站/让顾客进店的100条方法
  • 中文网站 可以做谷歌推广吗/在线数据分析工具
  • 开封 网站建设/效果最好的推广软件
  • 网站头图设计/网络推广如何收费
  • 宁波做网站哪家公司好/全球网站流量排名查询