⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 8x8-左流动.c

📁 基于8x8点阵的0~9流动显示
💻 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 + -