C51 COMPILER V7.06 16X16DOT 08/03/2017 11:19:16 PAGE 1 C51 COMPILER V7.06, COMPILATION OF MODULE 16X16DOT OBJECT MODULE PLACED IN 16x16DOT.OBJ COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 16x16DOT.c BROWSE DEBUG OBJECTEXTEND stmt level source 1 /******************************************************************************/ 2 /* 项目名称 : TX-1D 16x16点阵动态显示 */ 3 /* 主控芯片 : STC89C52 */ 4 /* 文件名称 : 16x16Led_Static */ 5 /* 文件功能 : 16x16点阵显示 */ 6 /* 文件版权 : 北京海克智动科技开发有限公司 */ 7 /* 文件版本 : */ 8 /******************************************************************************/ 9 /**********************************包含头文件**********************************/ 10 #include 11 #include 12 uchar dot_row, cont; 13 /********************************定义变量和数组********************************/ 14 uchar idata display_temp[2][COL]; 15 /******************************************************************************/ 16 /* 函数名称 : Delay1ms() */ 17 /* 函数描述 : 1毫秒延时函数 */ 18 /* 输入参数 : 无 */ 19 /* 参数描述 : 无 */ 20 /* 返回值 : 无 */ 21 /******************************************************************************/ 22 void Delay1ms(unsigned int t) //@11.0592MHz 23 { 24 1 unsigned char i, j; 25 1 for(;t;t--) 26 1 { 27 2 _nop_(); 28 2 i = 2; 29 2 j = 199; 30 2 do 31 2 { 32 3 while (--j); 33 3 } while (--i); 34 2 } 35 1 } 36 /******************************************************************************/ 37 /* 函数名称 : main */ 38 /* 函数描述 : 主函数 */ 39 /* 输入参数 : 无 */ 40 /* 参数描述 : 无 */ 41 /* 返回值 : 无 */ 42 /******************************************************************************/ 43 void main(void) 44 { 45 1 uchar i; 46 1 uint j,k; 47 1 P2 &= 0x3f; //关数码管 48 1 TMOD = 0x01; 49 1 TH0 = (65536-1000) / 256; 50 1 TL0 = (65536-1000) % 256; 51 1 TR0 = 1; 52 1 ET0 = 1; 53 1 EA=1; 54 1 for(i=0;i<16;i++) //将显示缓存清零 55 1 { C51 COMPILER V7.06 16X16DOT 08/03/2017 11:19:16 PAGE 2 56 2 display_temp[0][i] = 0xff; 57 2 display_temp[1][i] = 0xff; 58 2 } 59 1 while(1) 60 1 { 61 2 for(cont=0;cont<5;cont++) 62 2 { 63 3 for(k=0;k<16;k++) 64 3 { 65 4 for(i=0;i<16;i++) 66 4 { 67 5 j=Digit_Tab1[cont*2][i] | (Digit_Tab1[cont*2+1][i]<<8); 68 5 display_temp[0][i] = (display_temp[0][i]>>1) | ((display_temp[1][i]&0x01)<<7); 69 5 display_temp[1][i] = (display_temp[1][i]>>1) | (((j>>k)&0x01)<<7); 70 5 } 71 4 Delay1ms(50); 72 4 } 73 3 } 74 2 } 75 1 } 76 /******************************************************************************/ 77 /* 函数名称 : Timer0 */ 78 /* 函数描述 : T0中断函数 */ 79 /* 输入参数 : 无 */ 80 /* 参数描述 : 无 */ 81 /* 返回值 : 无 */ 82 /******************************************************************************/ 83 void Timer0(void) interrupt 1 84 { 85 1 static uchar dot_row; 86 1 TH0 = (65536 - 1000) / 256; 87 1 TL0 = (65536 - 1000) % 256; 88 1 _138_EN = 1; //关显 89 1 P0 = (P0&0xf0)|dot_row; //输出行码 90 1 Ser_IN(display_temp[1][(dot_row)%16]); //16位数据输出 91 1 Ser_IN(display_temp[0][(dot_row++)%16]); 92 1 Par_OUT(); 93 1 _138_EN = 0; //输出显示 94 1 } 95 /******************************************************************************/ MODULE INFORMATION: STATIC OVERLAYABLE CODE SIZE = 348 ---- CONSTANT SIZE = 160 ---- XDATA SIZE = ---- ---- PDATA SIZE = ---- ---- DATA SIZE = 3 2 IDATA SIZE = 32 ---- BIT SIZE = ---- ---- END OF MODULE INFORMATION. C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)