描述
<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)