谢谢朋友这么热心。
这个是我的原理图,图中三极管最后没用,COM直接接地了
附件是.c和.h文件,你可以参考下
jiaswang 发表于 2015-6-7 11:42
这个是我的原理图,图中三极管最后没用,COM直接接地了
附件是.c和.h文件,你可以参考下
...
谢谢!很好的资料。能在论坛里结识这么多高手挺好的。 ts2000 发表于 2015-6-6 10:39
我做过。用独立的端口处理。比较麻烦的说。
不麻烦的呀……你是怎么处理的? jiaswang 发表于 2015-6-7 11:42
这个是我的原理图,图中三极管最后没用,COM直接接地了
附件是.c和.h文件,你可以参考下
...
不用同一组IO,的确没做过,多谢了 同意2楼的说法 请不要认为一个口输出就高大上。。
你可以换个角度看问题,会更美。。
一次不行,那么,咱们来8次。。。
一个口一次送数据不成。咱们一个笔画一个笔画来。
先消影。字选全关,然后把段数据一个一个刷成你要的。然后,开启对应的字选。那么,你的数码管就亮了。
妥妥的,毫无问题。至少,俺就是这么干的。
void Dis_scan()
{//2ms 矩阵扫描显示处理
dis_index++;
if(dis_index>3)dis_index=0;
COM_Led1=0;
COM_Led2=0;
COM_Led3=0;
COM_Led4=0;
IO_Led1=1;
IO_Led2=1;
IO_Led3=1;
IO_Led4=1;
IO_Led5=1;
IO_Led6=1;
if(dis_index==0)temp=dis_map1;
else if(dis_index==1)temp=dis_map2;
else if(dis_index==2)temp=dis_map3;
else temp=dis_map4;//(dis_index==3)
if(temp_b0)IO_Led1=0;
if(temp_b1)IO_Led2=0;
if(temp_b2)IO_Led3=0;
if(temp_b3)IO_Led4=0;
if(temp_b4)IO_Led5=0;
if(temp_b5)IO_Led6=0;
if(dis_index==0)COM_Led1=1;
else if(dis_index==1)COM_Led2=1;
else if(dis_index==2)COM_Led3=1;
else COM_Led4=1;//(dis_index==3)
}
多清爽。多小白。
请忽略语法,因为这程序不是用在stm8上面的。但是改改就能用。 非常感谢。。。。
页:
1
[2]