📄 8x8-左流动.c
字号:
//595驱动 8x8点阵0~9流动显示
//2012 12 11 E:\DPJ_c\点阵DIY\8X8-左流动\8X8_C.c
//74HC595是具有8位移位寄存器和一个存储寄存器,三态输出的功能。移位寄存器和存储器
//是分别的时钟。数据在SHcp的上升沿输入,在STcp的上升沿进入存储寄存器。移位寄存器
//有一个串行移位输入(Ds)和一个串行输出(Q7')。存储寄存器有一个并行8位的具备三
//态的总线输出,当使能OE时(低电平),存储寄存器的数据输出到总线。
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit SH_CP=P2^0;
sbit DS=P2^1;
sbit ST_CP=P2^2;
uchar num,temp,n,t;
uchar code tab[ ]=
//PCTOLCD2002 取模 字体:Arial 12x12
//顺向、逐列、阴码 MATRIX-8X8-RED 左旋90度 上下翻转
// -GREEN 右旋90度 左右翻转
{
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",0*/
0x00,0x3E,0x41,0x41,0x41,0x41,0x3E,0x00,/*"0",1*/
0x00,0x00,0x20,0x20,0x7F,0x00,0x00,0x00,/*"1",2*/
0x00,0x21,0x43,0x45,0x45,0x49,0x31,0x00,/*"2",3*/
0x00,0x22,0x41,0x49,0x49,0x49,0x36,0x00,/*"3",4*/
0x00,0x04,0x0C,0x14,0x24,0x7F,0x04,0x00,/*"4",5*/
0x00,0x72,0x51,0x51,0x51,0x53,0x4E,0x00,/*"5",6*/
0x00,0x3E,0x6B,0x49,0x49,0x49,0x26,0x00,/*"6",7*/
0x00,0x40,0x41,0x42,0x4C,0x50,0x60,0x00,/*"7",8*/
0x00,0x36,0x49,0x49,0x49,0x49,0x36,0x00,/*"8",9*/
0x00,0x32,0x49,0x49,0x49,0x4B,0x3E,0x00,/*"9",10*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",11*/
};
void delay_ms(unsigned int ms)
{
uchar j;
while(ms--)
for(j=0;j<123;j++);
}
void WriteByte(uchar dat)
{
uchar k;
for(k=0;k<8;k++)
{
dat=dat>>1;
DS=CY;
SH_CP=0;
SH_CP=1;
}
}
void main()
{
while(1)
{
for(n=0;n<88;n++)
{
for(t=0;t<16;t++)//重复显示16次,让流动稍微缓慢
{
temp=0xfe;
{
for(num=n;num<8+n;num++)
{
WriteByte(tab[num+0]);
P1=temp;
ST_CP=0;
ST_CP=1;
delay_ms(1);
temp=_crol_(temp,1);
}
}
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -