?? 點(diǎn)陣漢字20080106.lst
字號(hào):
C51 COMPILER V8.05a 點(diǎn)陣漢字20080106 01/07/2008 15:30:50 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE 點(diǎn)陣漢字20080106
OBJECT MODULE PLACED IN 點(diǎn)陣漢字20080106.OBJ
COMPILER INVOKED BY: C:\Keilc51\C51\BIN\C51.EXE 點(diǎn)陣漢字20080106.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg52.h>
2 #include <intrins.h>
3 #define int8 unsigned char
4 #define int16 unsigned int
5 #define int32 unsigned long
6 //============================
7 sbit LED1=P3^4;
8 sbit GRE=P1^7;
9 sbit s1=P0^3;
10 sbit s2=P2^3;
11 sbit SCK=P2^4;
12 sbit RCK=P2^5;
13 sbit nG=P2^6;
14 sbit SER=P2^7;
15 int8 tab[16][6]={
16 {0x40,0x00,0x00,0x00,0x08,0x00},
17 {0x27,0xF0,0x12,0x10,0x0B,0xFC},
18 {0x24,0x10,0x12,0x10,0x49,0x08},
19 {0x14,0x10,0x12,0x10,0x49,0x10},
20 {0x07,0xF0,0x12,0x10,0x48,0xA0},
21 {0x94,0x10,0xFF,0xFE,0x48,0x40},
22 {0x54,0x10,0x12,0x10,0x48,0xB0},
23 {0x17,0xF0,0x12,0x10,0x49,0x08},
24 /**/{0x2F,0xFC,0x12,0x10,0x0A,0x04},
25 {0xC9,0x24,0x13,0xF0,0x09,0x00},
26 {0x49,0x24,0x10,0x00,0x3F,0xF8},
27 {0x49,0x24,0x10,0x00,0x01,0x00},
28 {0x49,0x24,0x10,0x04,0x01,0x00},
29 {0x49,0x24,0x1F,0xFC,0x01,0x00},
30 {0x5F,0xFE,0x00,0x00,0xFF,0xFE},
31 {0x40,0x00,0x00,0x00,0x00,0x00},
32 };
33 /*
34
35
36 0x40,0x00,0x27,0xF0,0x24,0x10,0x07,0xF0,0x94,0x10,0x54,0x10,0x17,0xF0,0x20,0x00,
37 0x2F,0xFC,0xC9,0x24,0x49,0x24,0x49,0x24,0x49,0x24,0x49,0x24,0x5F,0xFE,0x40,0x00,"溫"
38 0x00,0x00,0x12,0x10,0x12,0x10,0x12,0x10,0x12,0x10,0xFF,0xFE,0x12,0x10,0x12,0x10,
39 0x12,0x10,0x13,0xF0,0x12,0x10,0x10,0x00,0x10,0x08,0x1F,0xFC,0x00,0x00,0x00,0x00,"世"
40 0x08,0x00,0x0B,0xFC,0x49,0x08,0x49,0x10,0x48,0xA0,0x48,0x40,0x48,0xB0,0x49,0x0E,
41 0x0A,0x04,0x09,0x00,0x3F,0xF8,0x01,0x00,0x01,0x00,0x01,0x00,0xFF,0xFE,0x00,0x00,"堅(jiān)"
42
43 */
44 //==========================
45
46 void delay(int8 N);
47 void sendbyte(int8 byte);
48 void display(int8 n);
49 void Save595(void);
50 void WriteByte(int8 val);
51 void lay(int8 n);
52 void delays(int8 n);
53 void XianShiX(void);
54 //==========================
55
C51 COMPILER V8.05a 點(diǎn)陣漢字20080106 01/07/2008 15:30:50 PAGE 2
56
57 /*主函數(shù)*/
58 void main(void)
59 {
60 1 int8 i;
61 1 i=0;
62 1 P1=0x00;
63 1 P3=0x00;
64 1 nG=0;
65 1 display(0);
66 1
67 1 while(1)
68 1 {
69 2 XianShiX();
70 2
71 2 }
72 1
73 1 }
74
75 /* 列選擇*/
76 void lay(int8 n)
77 {
78 1 int8 i;
79 1 i=n;
80 1 s1=0;
81 1 s2=0;
82 1 if(n<8)
83 1 {
84 2 _nop_();
85 2 P0=(P0&0xf8)|(~i);
86 2 }
87 1 else
88 1 { i=i-7;
89 2 i=i&0x07;
90 2 i=i|0xf0; //保護(hù)nG位
91 2 P2=(P2&0xf8)|(~i);
92 2 }
93 1
94 1 }
95 /*延時(shí)*/
96 void delay(int8 N)
97 {
98 1 int8 i,j,k;
99 1 for(i=0;i<100;i++)
100 1 for(j=0;j<10;j++)
101 1 for(k=0;k<N;k++);
102 1
103 1 }
104 /*發(fā)送字節(jié),移位發(fā)送*/
105 void WriteByte(int8 val)
106 {
107 1 int8 i,m;
108 1 m=~val;
109 1 for (i = 8; i > 0; i --)
110 1 {
111 2 SCK = 0;//拉低74HC595時(shí)鐘
112 2 SER = m&0x01;//發(fā)送74HC595一位串行數(shù)據(jù)
113 2 SCK = 1;//拉高74HC595時(shí)鐘
114 2 m=m>>1;
115 2 _nop_();//延時(shí)
116 2 }
117 1 SER = 1;//釋放數(shù)據(jù)總線
C51 COMPILER V8.05a 點(diǎn)陣漢字20080106 01/07/2008 15:30:50 PAGE 3
118 1 //========================
119 1 // 以下3條指令若在多字節(jié)時(shí),應(yīng)該移入多字節(jié)全發(fā)送完后在執(zhí)行此3條指令
120 1 // RCLK = 0;
121 1 // _nop_();//延時(shí)
122 1 // RCLK = 1;//打入并行數(shù)據(jù)
123 1 }
124
125 /*保存串行發(fā)送的數(shù)據(jù),并打入到并行引腳寄存器*/
126 //void Save595(void)
127 //{
128 // RCK=0; //保存并行數(shù)據(jù)
129 // _nop_();
130 // RCK=1;
131 //}
132
133 /*發(fā)送字*/
134 void display(int8 n )
135 {
136 1 int8 i;
137 1 for(i=0;i<6;i++)
138 1 WriteByte(tab[n][i]);
139 1 RCK=0; //保存并行數(shù)據(jù)
140 1 _nop_();
141 1 RCK=1;
142 1 }
143
144 void delays(int8 n)
145 {
146 1 int8 i;
147 1 n=n;
148 1 for(i=10;i>0;i--);
149 1 }
150
151 void XianShiX(void)
152 {
153 1 /**/display(0);//行0
154 1 lay(14); //列
155 1 delays(1); //短延時(shí)
156 1 /**/display(1);//行1
157 1 lay(13);
158 1 delays(1);
159 1 /**/display(2);//行2
160 1 lay(12);
161 1 delays(1);
162 1 /**/display(3);//行3
163 1 lay(11);
164 1 delays(1);
165 1 /**/display(4);//行4
166 1 lay(10);
167 1 delays(1);
168 1 /**/display(5);//行5
169 1 lay(9);
170 1 delays(1);
171 1 /**/display(6);//行6
172 1 lay(8);
173 1 delays(1);
174 1 /**/display(7);//行7
175 1 lay(15);
176 1 delays(1);
177 1 /**/display(8);//行8
178 1 lay(7);
179 1 delays(1);
C51 COMPILER V8.05a 點(diǎn)陣漢字20080106 01/07/2008 15:30:50 PAGE 4
180 1 /**/display(9);//行9
181 1 lay(6);
182 1 delays(1);
183 1 /**/display(10);//行10
184 1 lay(5);
185 1 delays(1);
186 1 /**/display(11);//行11
187 1 lay(4);
188 1 delays(1);
189 1 /**/display(12); //行12
190 1 lay(0);
191 1 delays(1);
192 1 /**/display(13); //行13
193 1 lay(1);
194 1 delays(1);
195 1 /**/display(14); //行14
196 1 lay(2);
197 1 delays(1);
198 1 /**/display(15); //行15
199 1 lay(3);
200 1 delays(1);
201 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 312 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 96 1
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -