教你的方法简单实用,自己动手多试几下就明白了,看你给的电路图已经非常清楚的说明了驱动和显示之间的关系了,这种数码管直接使用单片机I/O口驱动,I/O口输出时有三个状态,高电平低电平和悬空高阻态。这种数码管不同于共阴共阳类的数码管,你可以把他当作LED阵列来显示,简单的说,假设你需要显示123,那么就需要点亮1B.1C.2A.2B.2D.2E.2G.3A.3B.3C3D.3G,一共是12个LED,最简单的方式就是你控制I/O口参照引脚图驱动轮流点亮这12个LED,也就是不同以往的共阴数码管分扫描三个位数,现在需要扫描12个LED。
驱动软件其实可以按照全扫描方式,一共是6*5=30个状态,实际这个数码管使用了其中个22个状态来对应数码管的22个LED,写出来30个状态就是第一组1+2-,1+3-,1+4-,1+5-,1+6-,第二组2+1-,2+3-,2+4-,2+5-,2+6-依次组合,一共六组,需要注意的其余的引脚必须是高阻态。 |