wordpress改颜色,兰州优化官网,出名的网站有哪些,网站群建设费用0 系列文章入口
嵌入式入门学习——0快速入门#xff0c;Let‘s Do It#xff01; 首先新建基于Arduino UNO的protues工程#xff0c;见本系列第3篇文章 1 点“P”按钮找器件 2 输入“seg”或“digit”查找数码管器件 3 找到我们想要的6位7段数码管 4如图A、B…DP都是段码…0 系列文章入口
嵌入式入门学习——0快速入门Let‘s Do It 首先新建基于Arduino UNO的protues工程见本系列第3篇文章 1 点“P”按钮找器件 2 输入“seg”或“digit”查找数码管器件 3 找到我们想要的6位7段数码管 4如图A、B…DP都是段码1、2…6是位码段码位码我不再这里解释了网上教程很多让我们试试他是共阴还是共阳共阴还是共阳网上解释也很多我这图上的接法少串连了一个限流电阻实际这么接可能电流过大烧毁发光二极管然后我们开始仿真发现没动静那就把电源和地换个方向。 换了方向可见二极管都点亮了顺便也可以知道具体引脚对应的位置。实际工作中如果遇到不确定型号的数码管也可以使用这种方法上电测试。 对了连接完成电路后要点击左下角的仿真按钮才能让电路开始工作哦。 知道这些了我们就可以用Arduino UNO控制LED显示了下图展示了流水灯程序可以直观的看出每位数字的每个段码被依次点亮当段码为高电平红色位码为低电平蓝色LED就被点亮啦。 程序如下
void clearall()
{for(int seg0;seg8;seg){digitalWrite(seg, LOW); // 段码清零}for(int num8;num14;num){digitalWrite(num, HIGH); // 位码清零}}
void setup() {for(int seg0;seg8;seg){pinMode(seg, OUTPUT); // 设置为输出模式digitalWrite(seg, LOW); // 段码清零}for(int num8;num14;num){pinMode(num, OUTPUT); // 设置为输出模式digitalWrite(num, HIGH); // 位码清零}
}
void loop() {for(int j8;j14;j){digitalWrite(j, LOW); // 依次将位选设置成低电平for(int i0;i8;i){digitalWrite(i, HIGH); // 依次把段选设置为高电平delay(100);} clearall();}
}不过这样控制可不优雅这样要显示数字也太难了吧还要去算那个数字由哪些段码组成比如8就是0xFE不显示小数点7就是0xE0只显示A、B、C对应的LED而且Arduino还不支持C51或者STM32那样按组给GPIO赋值只能用循环的方式挨个比特赋值。下期教程引入第三方库SevSeg让我们优雅的显示数字吧。顺便看看这个库底层是怎么设计的。