描述
<p><span style="color:#2dc26b;"><strong><span style="font-size:18pt;">基于STM32G030K6T6单片机的温湿度检测计(数码管显示)</span></strong></span></p>
<p><span style="color:#000000;"><strong><span style="font-size:18pt;">硬件配置:</span></strong></span></p>
<p><span style="color:#000000;"><strong><span style="font-size:18pt;"> 额定电压3.7V(充满4.2V,容量1000mAh)锂电池</span></strong></span></p>
<p><span style="color:#000000;"><strong><span style="font-size:18pt;"> 电池管理电路(外部供电与电池供电自由切换,输出5V)</span></strong></span></p>
<p><span style="color:#000000;"><strong><span style="font-size:18pt;"> BUCK电路(5V to 3V)</span></strong></span></p>
<p><span style="color:#000000;"><strong><span style="font-size:18pt;"> 支持usb接口充电</span></strong></span></p>
<p><strong><span style="font-size:18pt;">实物图:</span></strong></p>
<p><strong><span style="font-size:18pt;"> <img src="//image.lceda.cn/oshwhub/874a40404cd243409410121a61880273.jpg" alt="" width="406" height="304"></span></strong></p>
<p><strong><span style="font-size:18pt;">电池管理电路:</span></strong></p>
<p><strong><span style="font-size:18pt;"> <img src="//image.lceda.cn/oshwhub/01ed366f6d414e2eafcbf86fb845097f.jpg" alt="" width="233" height="310"></span></strong></p>
<p><strong><span style="font-size:18pt;">电池管理电路独立于主电路板,电路原理、Layout规则详情请参阅ETA9740芯片说明手册,里面说的很详细。</span></strong></p>
<p> </p>
<p><strong><span style="font-size:18pt;">关于数码管显示问题:</span></strong></p>
<p><strong><span style="font-size:18pt;">数码管显示用到的芯片:SN74HC595</span></strong></p>
<ul>
<li><strong><span style="font-size:18pt;">驱动数码管</span></strong></li>
</ul>
<p><strong><span style="font-size:18pt;"> <span style="font-size:14pt;">SN74HC595驱动时序很简单,首先输入高电平或低电平到SER引脚中,随后产生一个SCLK的上升沿,将数据发送出去,这里是8位数据移位寄存器,所以循环8次,最后一个RCLK的上升沿将数据锁存住,保持不变,直到下一次发送;</span><br><span style="font-size:14pt;">这里模拟一下发送时序;首先待发送的数据是0xFE(1111 1110);</span><br><span style="font-size:14pt;">此时先发送最高位,也就是0xFE&0x80,判断高低电平;随后数据被送入QA;</span><br><span style="font-size:14pt;">然后继续,发送次高位,也就是(0xFE<<1)&0x80,判断高低电平,随后之前的数据被挤到QB,这个数据移位到QA。</span><br><span style="font-size:14pt;">依次类推...</span></span></strong></p>
<ul>
<li><span style="font-size:18pt;"><strong>指定位置显示数字</strong></span></li>
</ul>
<p><span style="font-size:14pt;"><strong> 知道如何驱动数码管后就是想办法在指定位置显示数据了,根据前面的原理图可知,这两个数码管的阴极总共是6个阴极,全部连接在SN74HC595-U6上,通过这一个595芯片,可以指定某一个位导通,同时,两个数码管的阳极,又分别连接在另外两个595芯片上,通过这两个芯片配合,就可以实现单个位显示数据;并根据数码管中LED导通的顺序,从而使数码管显示不一样的值;这里将1到9对应的16进制数据放入数组中,通过数组下标进行调用。</strong></span></p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p style="line-height:1.8;"> </p>
<p style="line-height:1.8;"> </p>
评论(0)