📄 shift.lst
字号:
C51 COMPILER V7.06 SHIFT 05/09/2008 09:11:39 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE SHIFT
OBJECT MODULE PLACED IN shift.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE shift.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include<reg51.h>
2 #define uchar unsigned char
3 #define uint unsigned char
4
5 void timerinit(void);
6 void sioinit(void);
7 void initial(void);
8 void clrscree(void);
9 void senddata(uchar i);
10 void row_dis(void);
11 void full_databuf(uchar effict);
12 void l_databuf(uchar i);
13 void full_index(uchar *prt,uchar effict);
14 void display(uchar *a,uchar effict);
15
16 void timerinit(void)//3ms timer
17 {
18 1 TMOD=0x01;
19 1 TH0=(65535-3000)/256;
20 1 TL0=(65535-3000)%256;
21 1 IE=0x82;
22 1 }
23 void sioinit(void)// 方式0
24 {
25 1 SCON=0x00;
26 1 TI=0;
27 1 }
28 void initial(void)
29 {
30 1 timerinit();
31 1 sioinit();
32 1 inter_init();
*** WARNING C206 IN LINE 32 OF SHIFT.C: 'inter_init': missing function-prototype
33 1 TR0=1;
34 1 }
35
36 /*********application function*******
37 静态显示、左移、右移
38 ************************************/
39
40 uchar databuf[18];
41 uint dataindex[12];
42 uchar cbuf_flag,fullindex_flag,fulldata_flag;
43 uchar row_count,shift_count,shift_add,disen;
44 uchar *indexprt;
45
46 void clrscree(void)
47 {
48 1 int i;
49 1 for(i=0;i<18;i+=2)
50 1 {
51 2 databuf[i]=0;
52 2 databuf[i+1]=0;
53 2 }
54 1 }
C51 COMPILER V7.06 SHIFT 05/09/2008 09:11:39 PAGE 2
55 void senddata(uchar i) //sio 口发送数据
56 {
57 1 SBUF=i;
58 1 while(TI==0);
59 1 TI=0;
60 1 }
61 void row_dis(void) //p1.0-a,p1.1-b,p1.2-c,p1.3-d st-p1.4 p1.5-en
62 {
63 1 uchar i=0;
64 1 for(i=0;i<16;i++)
65 1 senddata(databuf[i]);
66 1 P1=row_count+0x20+0x10;
67 1 P1=row_count+0x20;
68 1 row_count++;
69 1 }
70 //*************************databuf 更新
71 void full_databuf(uchar effict)
72 {
73 1 uchar i;
74 1 uchar *ptr;
75 1 if(fulldata_flag==1)
76 1 {
77 2 fulldata_flag=0;
78 2 if(effict==staticdis||effict==left)
*** ERROR C202 IN LINE 78 OF SHIFT.C: 'staticdis': undefined identifier
79 2 {
80 3 for(i=0;i<18;i+=2)
81 3 {
82 4 *ptr=dataindex[i/2];
83 4 databuf[i]=*(ptr+2+row_count*2);
84 4 databuf[i+1]=*(ptr+2+row_count*2+1);
85 4 }
86 3 if(effict==left)
*** ERROR C202 IN LINE 86 OF SHIFT.C: 'left': undefined identifier
87 3 {
88 4 l_databuf(shift_add);
89 4 }
90 3 }
91 2 else if(effict==up)
*** ERROR C202 IN LINE 91 OF SHIFT.C: 'up': undefined identifier
92 2 {
93 3 for(i=0;i<18;i+=2)
94 3 {
95 4 *ptr=dataindex[i/2];
96 4 databuf[i]=*(ptr+2+shift_add+row_count*2);
97 4 databuf[i+1]=*(ptr+2+shift_add+row_count*2+1);
98 4 }
99 3 }
100 2 }
101 1 }
102 void l_databuf(uchar i)//左移时数据BUF处理
103 {
104 1 uchar h;
105 1 int j,k;
106 1 if(i>=8)
107 1 {
108 2 for(h=0;h<17;h++)
109 2 databuf[h]=databuf[h+1];
110 2 i-=8;
111 2 }
112 1 for(h=0;h<16;h++)
113 1 {
C51 COMPILER V7.06 SHIFT 05/09/2008 09:11:39 PAGE 3
114 2 j=databuf[h];
115 2 k=databuf[h+1];
116 2 j=j<<i;
117 2 k=k>>(8-i);
118 2 databuf[h]=j|k;
119 2 }
120 1 }
121
122 void full_index(uchar *prt,uchar effict)
123 {
124 1 uchar str1,str1;
*** ERROR C231 IN LINE 124 OF SHIFT.C: 'str1': redefinition
125 1 if(fullindex_flag==1)
126 1 {
127 2 fullindex_flag=0;
128 2 if(effict==staticdis)indexprt=prt;
*** ERROR C202 IN LINE 128 OF SHIFT.C: 'staticdis': undefined identifier
129 2 else if(effict==up)indexprt=prt+8;
*** ERROR C202 IN LINE 129 OF SHIFT.C: 'up': undefined identifier
130 2 else if(effict==up)indexprt=prt+2;
*** ERROR C202 IN LINE 130 OF SHIFT.C: 'up': undefined identifier
131 2 for(uchar i=0;i<12;i++,prt+=2)
*** ERROR C141 IN LINE 131 OF SHIFT.C: syntax error near 'unsigned'
*** ERROR C202 IN LINE 131 OF SHIFT.C: 'i': undefined identifier
*** ERROR C202 IN LINE 131 OF SHIFT.C: 'i': undefined identifier
*** ERROR C202 IN LINE 131 OF SHIFT.C: 'i': undefined identifier
*** ERROR C141 IN LINE 131 OF SHIFT.C: syntax error near ')'
132 2 {
133 3 str1=*prt;
134 3 str2=*(prt+1);
*** ERROR C202 IN LINE 134 OF SHIFT.C: 'str2': undefined identifier
135 3 if(str1==' '&&str2==' ') {disen=1;break;}
*** ERROR C202 IN LINE 135 OF SHIFT.C: 'str2': undefined identifier
*** ERROR C171 IN LINE 135 OF SHIFT.C: 'break': missing enclosing loop
136 3 for(uchar j=0;j<sizeof(GB_16)/sizeof(GB_16[0]);j++)
*** ERROR C141 IN LINE 136 OF SHIFT.C: syntax error near 'unsigned'
*** ERROR C202 IN LINE 136 OF SHIFT.C: 'j': undefined identifier
*** ERROR C202 IN LINE 136 OF SHIFT.C: 'j': undefined identifier
*** ERROR C202 IN LINE 136 OF SHIFT.C: 'j': undefined identifier
*** ERROR C141 IN LINE 136 OF SHIFT.C: syntax error near ')'
137 3 {
138 4 if(c1 == GB_16[j].Index[0] && c2 == GB_16[j].Index[1])
139 4 break;
*** ERROR C171 IN LINE 139 OF SHIFT.C: 'break': missing enclosing loop
140 4 }
141 3 prt=GB_16[j].Index[];
*** ERROR C202 IN LINE 141 OF SHIFT.C: 'j': undefined identifier
*** ERROR C141 IN LINE 141 OF SHIFT.C: syntax error near ']'
142 3 dataindex[i]=prt+2;
143 3 }
144 2 }
145 1 }
146 void timeIRQ(void) interrupt 4
147 {
148 1 TH0=(65535-3000)/256;
149 1 TL0=(65535-3000)%256;
150 1 if(row_count==16)row_count=0;
151 1 row_dis();
152 1 shift_count++;
153 1 if(shift_count==100)
154 1 {
155 2 fulldata_flag=1;
C51 COMPILER V7.06 SHIFT 05/09/2008 09:11:39 PAGE 4
156 2 shift_add++;
157 2 if(shift_add==16)
158 2 {
159 3 shift_add=0;
160 3 fullindex_flag=1;
161 3 }
162 2 }
163 1 }
164
165 void display(uchar *a,uchar effict)
166 {
167 1 indexprt=a;
168 1 disen=0;
169 1 while(!disen)
170 1 {
171 2 full_index(indexprt,effict);
172 2 full_databuf(effict);
173 2 }
174 1 }
C51 COMPILATION COMPLETE. 1 WARNING(S), 23 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -