?? 11111111111.lst
字號:
C51 COMPILER V7.08 11111111111 08/26/2005 16:36:41 PAGE 1
C51 COMPILER V7.08, COMPILATION OF MODULE 11111111111
OBJECT MODULE PLACED IN 11111111111.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 11111111111.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg51.h>
2 #include <stdio.h>
3 #include <math.h>
4 #include <absacc.h>
5 #define LCMDW XBYTE[0xf3ff] /*定義數據口*/
6 #define LCMCW XBYTE[0xfbff]
7 #define uint unsigned int
8 #define uchar unsigned char
9 sbit LED=P3^4;
10 uchar code hzcode[8][16]={0x00,0x40,0x37,0x10,0x83,0x60,0x2F,0x08,
11
12 0x13,0x22,0xE3,0x22,0x23,0x22,0x22,0x22,
13 0x40,0x48,0xFC,0x40,0xF8,0x40,0xFE,0x08,
14 0xFC,0x08,0xF8,0x08,0xF8,0x08,0x28,0x10,
15 0x04,0x04,0x08,0x08,0x18,0x29,0x4A,0x08, /* 華 代碼為01*/
16 0x09,0x01,0xFF,0x01,0x01,0x01,0x01,0x01,
17 0x40,0x48,0x58,0x60,0xC0,0x40,0x44,0x44,
18 0x3C,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,
19 0x01,0x01,0x01,0x01,0x01,0xFF,0x01,0x02, /* 大 代碼為02*/
20 0x02,0x02,0x04,0x04,0x08,0x10,0x60,0x00,
21 0x00,0x00,0x00,0x00,0x04,0xFE,0x00,0x80,
22 0x80,0x40,0x40,0x20,0x10,0x0E,0x04,0x00,
23 0x22,0x11,0x11,0x00,0x7F,0x40,0x80,0x1F, /* 學 代碼為03*/
24 0x00,0x01,0xFF,0x01,0x01,0x01,0x05,0x02,
25 0x08,0x08,0x10,0x20,0xFE,0x02,0x04,0xE0,
26 0x40,0x84,0xFE,0x00,0x00,0x00,0x00,0x00};
27 void fnChkST01(void)
28 {
29 1 uchar i;
30 1 for(i=16;i>0;i--)
31 1 {
32 2 if((LCMCW & 0x03)==0x03)
33 2 break;
34 2 }
35 1 }
36
37 void fnChkST3(void)
38 {
39 1 uchar i;
40 1 for(i=16;i>0;i--)
41 1 {
42 2 if((LCMCW & 0x08)==0x08)
43 2 break;
44 2 }
45 1 }
46
47 void fnCmd0(uchar uCmd)
48 {
49 1 fnChkST01();
50 1 LCMCW=uCmd;
51 1 }
52 void fnCmd1(uchar uCmd, uchar uPar1)
53 {
54 1 fnChkST01();
55 1 LCMDW=uPar1;
C51 COMPILER V7.08 11111111111 08/26/2005 16:36:41 PAGE 2
56 1 fnCmd0(uCmd);
57 1 }
58
59 void fnCmd2(uchar uCmd, uchar uPar1,uchar uPar2)
60 {
61 1 fnChkST01();
62 1 LCMDW=uPar1;
63 1 fnCmd1(uCmd,uPar2);
64 1 }
65 void cls_graph(void)
66 {
67 1 uchar i,j;
68 1 fnCmd2(0x24,0x00,0x20);
69 1 fnCmd0(0xB0);
70 1 for(i=0;i<128;i++)
71 1 {
72 2 for(j=0;j<30;j++)
73 2 {fnChkST3();
74 3 LCMDW=0x00;
75 3 }
76 2 }
77 1 fnCmd0(0xB2);
78 1 }
79
80 void cls_text(void)
81 {
82 1 uchar i,j;
83 1 fnCmd2(0x24,0x00,0x20); /*set address pointer*/
84 1 fnCmd0(0xB0); /*data auto write */
85 1 for(i=0;i<16;i++)
86 1 {
87 2 for(j=0;j<30;j++)
88 2 {
89 3 fnChkST3();
90 3 LCMDW=0x0F;
91 3 }
92 2 }
93 1 fnCmd0(0xB2); /* end data auto write */
94 1 }
95
96 void fnLCMInit(void)
97 {
98 1 fnCmd2(0x40,0x00,0x00);
99 1 fnCmd2(0x41,20,0x00);
100 1 fnCmd2(0x42,0x00,0x20);
101 1 fnCmd2(0x43,30,0x00);
102 1 fnCmd0(0xA0|0x01);
103 1 fnCmd0(0x80);
104 1 fnCmd0(0x90|0x0F);
105 1 }
106
107 void fnsetpos(uchar line,uchar lie)
108
109 { uint ipos;
110 1 ipos=line*20+lie;
111 1 fnCmd2(0x24,ipos & 0xFF,ipos/256);
112 1 }
113
114 void fnshowHZ(uchar line,uchar lie ,uchar hzdaima)
115
116
117 {
C51 COMPILER V7.08 11111111111 08/26/2005 16:36:41 PAGE 3
118 1 uchar i;
119 1 uint startaddr;
120 1 startaddr=line*0x20+lie;
121 1 for(i=0;i<16;i++)
122 1 {
123 2 fnCmd2(0x24,startaddr & 0xff,startaddr/256);
124 2 fnCmd1(0xc0,hzcode[hzdaima*2][i]);
125 2 fnCmd1(0xc4,hzcode[hzdaima*2+1][i]);
126 2 startaddr=startaddr+0x20;
127 2 }
128 1 }
129 main()
130 {
131 1 uchar code tab[11]=
132 1 {0x37,0x45,0x4c,0x43,0x4f,0x4d,0x45,0x00,0x39,0x4f,0x55};
133 1 LED=0;
134 1 fnLCMInit();
135 1 cls_text();
136 1 cls_graph();
137 1
138 1 for(; ;)
139 1 { uint i;
140 2
141 2 uint Line;
142 2 uint Lie;
143 2 uchar HZDaim;
144 2 fnsetpos(0x00,0x00);
145 2 fnCmd0(0xB0);
146 2 for(i=0;i<11;i++)
147 2 {
148 3 fnChkST3();
149 3
150 3 LCMDW=tab[i];
151 3 }
152 2 fnCmd0(0xB2);
153 2
154 2
155 2 Line=0x0a;
156 2 Lie=0x17;
157 2 HZDaim=0x00;
158 2
159 2 fnshowHZ(Line,Lie, HZDaim);
160 2 LED=1;
161 2 }
162 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 411 ----
CONSTANT SIZE = 139 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 9
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 + -