/******************************************************************************/ /* 项目名称 : TX-1C扩展板 8x8点阵静态显示0-9 */ /* 主控芯片 : STC89C52 */ /* 文件名称 : 8x8Led_Static */ /* 文件功能 : 8x8点阵显示 */ /* 文件版权 : 天祥电子 */ /* 文件版本 : */ /******************************************************************************/ /**********************************包含头文件**********************************/ #include /***********************************函数声明***********************************/ //void Ser_IN(unsigned char Data); //串行数据输入 //void Par_OUT(void); //串行数据输出 /********************************定义变量和数组********************************/ uchar code dot_table[] = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; uchar code Digit_Tab[10][8] = { {0x00,0x00,0x3E,0x41,0x41,0x3E,0x00,0x00},/*"0",0*/ {0x00,0x00,0x42,0x7F,0x40,0x00,0x00,0x00},/*"1",1*/ {0x00,0x00,0x62,0x51,0x49,0x46,0x00,0x00},/*"2",2*/ {0x00,0x00,0x22,0x49,0x49,0x36,0x00,0x00},/*"3",3*/ {0x00,0x00,0x38,0x26,0x7F,0x20,0x00,0x00},/*"4",4*/ {0x00,0x00,0x4F,0x49,0x49,0x31,0x00,0x00},/*"5",5*/ {0x00,0x00,0x3E,0x49,0x49,0x32,0x00,0x00},/*"6",6*/ {0x00,0x00,0x03,0x71,0x09,0x07,0x00,0x00},/*"7",7*/ {0x00,0x00,0x36,0x49,0x49,0x36,0x00,0x00},/*"8",8*/ {0x00,0x00,0x26,0x49,0x49,0x3E,0x00,0x00},/*"9",9*/ }; /******************************************************************************/ /* 函数名称 : Ser_IN */ /* 函数描述 : 串行数据输入 */ /* 输入参数 : Data */ /* 参数描述 : 串行输入的数据 */ /* 返回值 : 无 */ /******************************************************************************/ void Ser_IN(unsigned char Data) { unsigned char i; for(i = 0; i < 8; i++) { SH_CK = 0; //CLOCK_MAX=100MHz DATA_IN = Data & 0x80; Data <<= 1; SH_CK = 1; } } /******************************************************************************/ /* 函数名称 : Par_OUT */ /* 函数描述 : 并行数据输出 */ /* 输入参数 : 无 */ /* 参数描述 : 无 */ /* 返回值 : 无 */ /******************************************************************************/ void Par_OUT(void) { ST_CK = 0; ST_CK = 1; } /******************************************************************************/ /* 函数名称 : main */ /* 函数描述 : 主函数 */ /* 输入参数 : 无 */ /* 参数描述 : 无 */ /* 返回值 : 无 */ /******************************************************************************/ void dot_main(void) { uchar cnta=0,cntb=0, j, k; system_init(); while(message=='9') { for(cntb=0;cntb<10;cntb++) { if(message!='9') break; _nop_(); j = 250; k = 250; do { while (--k); for(cnta=0;cnta<8;cnta++) { //REN=0; Ser_IN(dot_table[cnta]); //8X8点阵列扫描 Ser_IN(Digit_Tab[cntb][cnta]); //8X8点阵行送扫描数据 Par_OUT(); //REN=1; //74HC595输出显示 } } while(--j) ; } } } /******************************************************************************/