距离蓝桥杯开赛还有29天,我一定能拯救我的300块。
首先,这块板子很特殊,一开始我按正常代码的方式尝试点亮她的时候,发现这个板子的 LED灯为全亮状态且蜂鸣器为爆响状态(谁懂在图书馆社死的感受),刚开始我以为是板子硬件问题,于是我去淘宝买了个芯片用来替换她,发现没什么用,最后B站观看西风大大的视频发现这板子上电的时候需要关闭它的LED和蜂鸣器,也就是初始化。
图片一,LED一是关闭所以数据传输为P0=0xFF(1111 1111),下条代码P2=P2&0x1f|0x80;为对寄存器的配置0x1f是因为这个寄存器特殊,他只用写前3位,所以先给后5位为11111(任何数与0等于0,与1等于1),或0x80是为了让第一位为1,最终能让寄存器打开也就是使能, P2&=0x1f;就是为了关闭这个寄存器,让p0数据存进去。接下来的是关闭蜂鸣器,蜂鸣器关闭是0.其他同理。
图片2为LED的函数,不用
void Led_Disp(unsigned LED)
{P2=LED;
P2=P2&0x1f|0x80;
P2&=0x1f;}的原因是蜂鸣器会有电流声,且后续常用考点存在着冲突。
这段函数的讲解可以去听西风大大,我也是听了两遍才懂。
最后便是简单的引用,点亮。