标题:
有没有人能帮我看看我这个单片机程序怎么写成8乘8点阵流动显示啊
[打印本页]
作者:
萌萌萌新aa
时间:
2020-4-12 17:03
标题:
有没有人能帮我看看我这个单片机程序怎么写成8乘8点阵流动显示啊
#include <STC12C5A60S2.H>
#define uchar unsigned char
#define uint unsigned int
sbit DU = P2^0; //数码管段选
sbit WE = P2^1; //
数码管位选
sbit CS88 = P2^2; //8X8点阵使能
sbit LCDEN=P2^5;
unsigned char code seg[8]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};//列选通控制
unsigned char code segm[2][8]=
{0x00,0x6C,0x92,0x82,0x44,0x28,0x10,0x00,
0x7c,0x48,0x48,0xff,0x48,0x48,0x7c,0x00};
void delay(uint z) //毫秒级延时
{
uint x,y;
for(x=z;x>0;x--)
for(y=114;y>0;y--);
}
void main()
{
uchar tab,j;
uint i;
LCDEN=0;//关掉LCD1602
WE=1;
P0=0Xff;
WE=0; //关掉数码管显示
while(1)
{
for(i=0;i<50;i++)
{
for(tab=0;tab<8;tab++)
{
DU=1;
P0=segm[j][tab];//取显示数据
DU=0;
CS88=1;
P0=seg[tab]; //取段码
CS88=0;
delay(15); //扫描间隙延时
}
}
j++;
if(j==2)
{
j=0;
}
}
}
作者:
man1234567
时间:
2020-4-12 18:05
定义的和数码管一样是不可以的,要按点阵字库的方式进行。网上和实验板都有现成的抄抄就可以。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1