?? left_right.lst
字號:
C51 COMPILER V7.50 LEFT_RIGHT 10/28/2008 15:53:41 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE LEFT_RIGHT
OBJECT MODULE PLACED IN left_right.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE left_right.c BROWSE DEBUG OBJECTEXTEND
line level source
1 //A,B,C,D,分別為P1.1 P1.2 P1.3 P1.4
2 //STB為P1.7 EN為P1.0 CLK為P3.1 SDA為P3.0
3 #include <reg52.h>
4 sbit STB=P1^7;
5 sbit EN=P1^0;
6 #define uchar unsigned char
7 #define uint unsigned int
8 uchar yid,h; //YID為移動計數器,H為行段計數器。
9 uint zimuo; //字模計數器
10 void sbuf_out(); //16段掃描
11 void in_data(void); //調整數據
12 void rxd_data(void); //發送數據
13 void Large_word(void);
14 void Small_word(void);
15
16 uchar choice,choice1,Flag;
17 uchar BUFF[12]; //緩存 定義為5*2+2,如果是顯示3個字則為3*2+2;右移時緩存加大
18
19 uchar code hanzi[]={
20 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
21 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
22 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
23 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
24 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
25 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
26 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
27 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
28
29 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
30 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
31 /*-- 寬度x高度=16x16 --*/
32 //圖片
33 0x00,0x00,0x38,0x3C,0x7E,0x7E,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
34 0xFF,0xFF,0x7F,0xFE,0x3F,0xFC,0x1F,0xF8,0x0F,0xF0,0x07,0xE0,0x03,0xC0,0x00,0x00,
35
36 /*歡 CBBB6 */
37 0x01,0x00,0x01,0x00,0x01,0x3F,0x7F,0xA0,0x20,0xA1,0x12,0x52,0x02,0x14,0x02,0x08,
38 0x02,0x18,0x06,0x18,0x05,0x24,0x09,0x24,0x18,0x82,0x70,0x61,0x20,0x1C,0x00,0x00,
39
40 /*迎 CD3AD */
41 0x00,0x02,0x01,0x84,0x3E,0x6C,0x22,0x24,0x22,0x20,0x22,0x20,0x22,0x27,0x22,0x24,
42 0x22,0xA4,0x2A,0x64,0x12,0x24,0x02,0x04,0x02,0x04,0x00,0x0A,0x7F,0xF1,0x00,0x00,
43
44 /*光 CB9E2 */
45 0x00,0x80,0x08,0x84,0x18,0x98,0x08,0xB0,0x04,0x90,0x20,0x80,0x7F,0xFE,0x02,0x20,
46 0x02,0x20,0x02,0x20,0x02,0x20,0x42,0x10,0x42,0x10,0x42,0x08,0x7C,0x04,0x00,0x02,
47
48 /*臨 CC1D9 */
49 0x00,0x80,0x01,0x90,0x00,0x90,0x7F,0x92,0x04,0x52,0x08,0x52,0x08,0x32,0x20,0x92,
50 0x7F,0x92,0x24,0x92,0x24,0x92,0x24,0x92,0x24,0x92,0x3F,0x90,0x20,0x90,0x00,0x00,
51
52 /*中 CD6D0 */
53 0x00,0x80,0x00,0x80,0x10,0x84,0x3F,0xFC,0x10,0x84,0x10,0x84,0x10,0x84,0x10,0x84,
54 0x10,0x84,0x1F,0xFC,0x10,0x84,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,
55
C51 COMPILER V7.50 LEFT_RIGHT 10/28/2008 15:53:41 PAGE 2
56 /*山 CC9BD */
57 0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x20,0x84,0x20,0x84,0x20,0x84,
58 0x20,0x84,0x20,0x84,0x20,0x84,0x20,0x84,0x20,0x84,0x3F,0xFE,0x20,0x04,0x00,0x00,
59
60 /*焯 CECCC */
61 0x04,0x08,0x04,0x08,0x7C,0x08,0x04,0x28,0x3F,0xA8,0x20,0x9A,0x3F,0x8A,0x20,0x89,
62 0x20,0x88,0x3F,0x88,0x04,0x14,0x04,0x24,0x7F,0xC2,0x04,0x02,0x04,0x01,0x04,0x00,
63
64 /*科 CBFC6 */
65 0x10,0x60,0x11,0x1E,0x12,0x10,0x12,0x10,0x10,0x7F,0x11,0x18,0x12,0x38,0x12,0x54,
66 0x70,0x14,0x1E,0x12,0x11,0xD1,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
67
68 /*電 CB5E7 */
69 0x00,0x80,0x00,0x80,0x00,0x80,0x1F,0xFC,0x10,0x84,0x10,0x84,0x1F,0xFC,0x10,0x84,
70 0x10,0x84,0x10,0x84,0x1F,0xFC,0x10,0x84,0x40,0x80,0x40,0x80,0x7F,0x00,0x00,0x00,
71
72 /*子 CD7D3 */
73 0x00,0x00,0x0F,0xFC,0x04,0x00,0x02,0x00,0x01,0x00,0x00,0x80,0x00,0x80,0x20,0x80,
74 0x7F,0xFF,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0xA0,0x00,0x40,
75
76 /*有 CD3D0 */
77 0x00,0x80,0x00,0x80,0x7F,0xFE,0x00,0x40,0x00,0x20,0x0F,0xF0,0x08,0x18,0x08,0x14,
78 0x0F,0xF2,0x08,0x11,0x08,0x10,0x0F,0xF0,0x08,0x10,0x09,0x10,0x0E,0x10,0x04,0x10,
79
80 /*限 CCFDE */
81 0x00,0x00,0x1F,0xDF,0x10,0x49,0x1F,0xC9,0x10,0x45,0x10,0x45,0x1F,0xC9,0x01,0x51,
82 0x12,0x51,0x0A,0x55,0x04,0x49,0x04,0x41,0x08,0x41,0x71,0x41,0x20,0xC1,0x00,0x41,
83
84 /*公 CB9AB */
85 0x00,0x00,0x02,0x20,0x02,0x60,0x02,0x20,0x04,0x10,0x08,0x10,0x18,0x08,0x70,0x44,
86 0x20,0xC2,0x00,0x40,0x04,0x20,0x08,0x10,0x1F,0x88,0x18,0xFC,0x08,0x08,0x00,0x00,
87
88 /*司 CCBBE */
89 0x00,0x00,0x3F,0xFC,0x20,0x00,0x20,0x00,0x27,0xFE,0x20,0x00,0x20,0x00,0x23,0xFC,
90 0x22,0x04,0x22,0x04,0x23,0xFC,0x22,0x04,0x20,0x04,0x28,0x00,0x10,0x00,0x00,0x00,
91
92
93
94
95 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
96 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
97 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
98 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
99 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
100 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
101 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
102 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
103
104
105
106 };
107 //關行段碼的時候要把EN信號關掉,讓74HC138不工作;
108 unsigned code sw[16]={
109 0x61,0x63,0x65,0x67,0x69,0x6b,0x6d,0x6f,
110 0x71,0x73,0x75,0x77,0x79,0x7b,0x7d,0x7f,
111 }; /*16行段碼*/
112
113
114 void Small_word(void) //右移
115 {
116 1
117 1 uint j;
C51 COMPILER V7.50 LEFT_RIGHT 10/28/2008 15:53:41 PAGE 3
118 1 yid=0;
119 1 zimuo=0;
120 1 for(j=0;j<672;j++) //顯示21個字
121 1 {
122 2 while(yid<16) //數據移位。
123 2 {
124 3
125 3 sbuf_out();
126 3
127 3 yid++; //移動一步
128 3 }
129 2 yid=0;
130 2 zimuo=zimuo+32; //后移一個字,
131 2 if(zimuo>=672) //21個字3072個字節;
132 2 zimuo=0;
133 2 choice++;
134 2 if(choice==20) {Flag=1;choice=0;break;}
135 2 }
136 1 }
137
138
139 void Large_word(void) //左移
140 {
141 1 uint j;
142 1 yid=0;
143 1 zimuo=0;
144 1 for(j=0;j<672;j++) //顯示21個字
145 1 {
146 2 while(yid<16) //數據移位。
147 2 {
148 3
149 3 sbuf_out();
150 3
151 3 yid++; //移動一步
152 3 }
153 2 yid=0;
154 2 zimuo=zimuo+32; //后移一個字,
155 2 if(zimuo>=672) //21個字3072個字節;
156 2 zimuo=0;
157 2 choice1++;
158 2 if(choice1==20) {Flag=0;choice1=0;break;}
159 2 }
160 1 }
161
162
163
164 //掃描一行子程序
165 void hang(uchar i)
166 {
167 1 EN=1;
168 1 STB=0;
169 1 P1=i;
170 1 STB=1;
171 1 EN=0;
172 1 }
173
174
175 /********************************/
176 void sbuf_out()
177 {
178 1 for(h=0;h<16;h++) //16行掃描
179 1 {
C51 COMPILER V7.50 LEFT_RIGHT 10/28/2008 15:53:41 PAGE 4
180 2
181 2 in_data(); //調整數據
182 2 rxd_data(); //串口發送數據
183 2 P1=0xff; //關閉顯示。
184 2 hang(sw[h]); //送段碼
185 2 }
186 1 }
187
188 /******************************************************/
189 void in_data(void)
190 {
191 1 char s;
192 1 if(Flag==0)
193 1 {
194 2 for(s=5;s>=0;s--) //h為向后先擇字節計數器,zimuoo為向后先字計數器
195 2 {
196 3 BUFF[2*s]=hanzi[zimuo+32*s+2*h];//把第一個字模的第一個字節放入BUFF0中,第二個字模的第一個
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -