?? 8x8-左流動.c
字號:
//595驅(qū)動 8x8點陣0~9流動顯示
//2012 12 11 E:\DPJ_c\點陣DIY\8X8-左流動\8X8_C.c
//74HC595是具有8位移位寄存器和一個存儲寄存器,三態(tài)輸出的功能。移位寄存器和存儲器
//是分別的時鐘。數(shù)據(jù)在SHcp的上升沿輸入,在STcp的上升沿進入存儲寄存器。移位寄存器
//有一個串行移位輸入(Ds)和一個串行輸出(Q7')。存儲寄存器有一個并行8位的具備三
//態(tài)的總線輸出,當(dāng)使能OE時(低電平),存儲寄存器的數(shù)據(jù)輸出到總線。
#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度 上下翻轉(zhuǎn)
// -GREEN 右旋90度 左右翻轉(zhuǎn)
{
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++)//重復(fù)顯示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);
}
}
}
}
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -