标题:
8*8点阵的显示问题
[打印本页]
作者:
科技论2
时间:
2018-2-7 21:00
标题:
8*8点阵的显示问题
这是我写的代码:
#include<reg52.h>
unsigned char lie[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe}; //从高位到低位流水
unsigned char hang1[]={0x00,0x18,0x24,0x24,0x24,0x24,0x18,0x00}; //数字3
unsigned char hang2[]={0x00,0x3c,0x20,0x38,0x04,0x24,0x38,0x00}; //数字5
unsigned char hang3[]={0x18,0x24,0x24,0x18,0x24,0x24,0x18,0x00}; //数字8
void delay_50us(int t) //延时程序
{
int j;
for(;t>0;t--)
for(j=19;j>0;j--);
}
void main() //主函数
{
int i;
while(1)
{
for(i=0;i<8;i++)
{
P2=hang2[i]; //行扫描
P3=lie[i]; //列流水
delay_50us(40);
}
}
}
为什么8是好的,5是不好的???这是我用仿真软件后的结果希望各位看看
58.JPG
(99.45 KB, 下载次数: 35)
下载附件
2018-2-7 20:57 上传
59.JPG
(76.78 KB, 下载次数: 41)
下载附件
2018-2-7 20:57 上传
作者:
wc86110
时间:
2018-2-7 23:41
显示得好不好跟编码有关系
作者:
科技论2
时间:
2018-2-9 16:42
加个消影语句就行了
作者:
wacke
时间:
2018-2-16 21:23
void main() //主函数
{
int i;
while(1)
{
for(i=0;i<8;i++)
{
P3=0xff; //关输出
P2=hang2[i]; //行扫描
P3=lie[i]; //列流水
delay_50us(40);
}
}
}
作者:
jizi
时间:
2018-2-17 01:22
把延时拉长点看看
不是太多逻辑ic做的点阵是不会闪的
就尽情的拉长吧
作者:
忘川秋水
时间:
2019-11-28 22:47
你P3定义的是段码,P2定义的是位码,需要先将位码语句执行,才可执行段码语句,将你 P2=hang2[i];
P3=lie[i]; 这两句调换顺序就不会出现乱码的情况了
作者:
小小小白。
时间:
2021-9-15 13:32
我做出来的跳的很快,是编码问题吗
作者:
xianfajushi
时间:
2021-9-15 17:09
http://www.51hei.com/bbs/dpj-205824-1.html
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1