📄 51
字号:
C51 COMPILER V8.18 8X8GD 01/04/2010 16:29:17 PAGE 1
C51 COMPILER V8.18, COMPILATION OF MODULE 8X8GD
OBJECT MODULE PLACED IN 8X8GD.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 8X8GD.C BROWSE DEBUG OBJECTEXTEND
line level source
1 /*--------------------------------------------------------------*/
2 //LED8*8滚动显示
3 //列扫描,低电平有效
4
5
6 /*--------------------------------------------------------------*/
7 //包含头文件
8 #include <reg52.h>
9 #include "74HC595.H"
10
11
12 /*--------------------------------------------------------------*/
13 //全局变量定义
14 unsigned char i;
15 unsigned int m,n;
16
17
18 /*--------------------------------------------------------------*/
19 //代码库
20 #define num sizeof(table) //代码长度
21 unsigned char code aa[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
22 unsigned char code table[]= {
23 //取模方式 阴码 列扫描 逆向
24 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",0*/
25 0x00,0x7F,0x7F,0x39,0x6F,0x46,0x00,0x00,/*"R",1*/
26 0x00,0x41,0x7F,0x7F,0x41,0x00,0x00,0x00,/*"I",2*/
27 0x00,0x3E,0x7F,0x41,0x63,0x22,0x00,0x00,/*"C",3*/
28 0x00,0x7F,0x7F,0x08,0x7F,0x7F,0x00,0x00,/*"H",4*/
29 0x00,0x7F,0x7F,0x06,0x7F,0x7F,0x00,0x00,/*"M",5*/
30 0x00,0x3E,0x7F,0x41,0x63,0x22,0x00,0x00,/*"C",6*/
31 0x00,0x3F,0x7F,0x40,0x7F,0x3F,0x00,0x00,/*"U",7*/
32 0x00,0x36,0x7F,0x49,0x7F,0x36,0x00,0x00,/*"8",9*/
33 0x00,0x63,0x7F,0x1C,0x7F,0x63,0x00,0x00,/*"X",10*/
34 0x00,0x36,0x7F,0x49,0x7F,0x36,0x00,0x00,/*"8",11*/
35 0x00,0x01,0x7F,0x7F,0x01,0x01,0x00,0x00,/*"T",13*/
36 0x00,0x7F,0x7F,0x49,0x49,0x41,0x00,0x00,/*"E",14*/
37 0x00,0x26,0x6F,0x49,0x7B,0x32,0x00,0x00,/*"S",15*/
38 0x00,0x01,0x7F,0x7F,0x01,0x01,0x00,0x00,/*"T",16*/
39 0x00,0x7F,0x7F,0x39,0x6F,0x46,0x00,0x00,/*"R",18*/
40 0x00,0x61,0x79,0x5D,0x4F,0x43,0x00,0x00,/*"Z",19*/
41 0x00,0x08,0x08,0x08,0x08,0x08,0x00,0x00,/*"-",20*/
42 0x00,0x62,0x73,0x59,0x4F,0x46,0x00,0x00,/*"2",21*/
43 0x00,0x3E,0x7F,0x41,0x7F,0x3E,0x00,0x00,/*"0",22*/
44 0x00,0x3E,0x7F,0x41,0x7F,0x3E,0x00,0x00,/*"0",23*/
45 0x00,0x26,0x6F,0x49,0x7F,0x3E,0x00,0x00,/*"9",24*/
46 0x00,0x7F,0x7F,0x41,0x7F,0x3E,0x00,0x00,/*"D",26*/
47 0x00,0x7F,0x7F,0x49,0x49,0x41,0x00,0x00,/*"E",27*/
48 0x00,0x7F,0x7F,0x06,0x7F,0x7F,0x00,0x00,/*"M",28*/
49 0x00,0x7F,0x7F,0x41,0x7F,0x7F,0x00,0x00,/*"O",29*/
50 0x00,0x26,0x6F,0x49,0x7B,0x32,0x00,0x00,/*"S",31*/
51 0x03,0x07,0x7C,0x7C,0x07,0x03,0x00,0x00,/*"Y",32*/
52 0x00,0x26,0x6F,0x49,0x7B,0x32,0x00,0x00,/*"S",33*/
53 0x00,0x01,0x7F,0x7F,0x01,0x01,0x00,0x00,/*"T",34*/
54 0x00,0x7F,0x7F,0x49,0x49,0x41,0x00,0x00,/*"E",35*/
55 0x00,0x7F,0x7F,0x06,0x7F,0x7F,0x00,0x00,/*"M",36*/
C51 COMPILER V8.18 8X8GD 01/04/2010 16:29:17 PAGE 2
56 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",37*/
57
58
59 };
60
61
62 /*--------------------------------------------------------------*/
63 //显示函数
64 void Display(void)
65
66 {
67 1 Ser_IN((aa[i])); //列扫描数据
68 1 Ser_IN(table[i + n]); //查表取出行扫描数据
69 1 Par_OUT(); //输出显示
70 1 i++; if(i == 8) i = 0; //循环扫描
71 1 m++; if(m == 500) {m = 0; n++;} //滚动速度控制
72 1 if(n == num-7) n = 0; //循环显示
73 1 }
74
75
76 /*--------------------------------------------------------------*/
77 //定时器初始化
78 void T0_init(void)
79 {
80 1 TMOD = 0xf8;
81 1 TH0 = 0xcc; //5000us
82 1 TL0 = 0x00;
83 1 IE = 0x82;
84 1 TR0 = 1;
85 1 }
86
87
88 /*--------------------------------------------------------------*/
89 //定时器中断服务
90 void T0_intservice(void) interrupt 1 using 0
91 {
92 1 TH0 = 0xf8;
93 1 TL0 = 0xcc;
94 1 Display();
95 1 }
96
97
98 /*--------------------------------------------------------------*/
99 //主函数
100 void main (void)
101 {
102 1 T0_init();
103 1 while(1);
104 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 168 ----
CONSTANT SIZE = 272 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 5 ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -