前言
之前的蓝桥杯单片机基础部分——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的话就是工作的状态
本人水平有限,所有代码都是作者自己的风格书写,但是大致的应该是没有什么问题,如果有哪里出错或者有更好的解法可以与我私信或在评论区里进行讨论
这些代码都只是一个思路,具体都没有烧写到板子里面去实验,不一定好用,有问题大家一定要提出来,大家一起进步