?? display.lst
字號:
C51 COMPILER V8.05a DISPLAY 03/03/2008 08:29:39 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE DISPLAY
OBJECT MODULE PLACED IN .\obj\DisPlay.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE source\DisPlay.c BROWSE DEBUG OBJECTEXTEND PRINT(.\lis\DisPlay.lst) OBJECT(
-.\obj\DisPlay.obj)
line level source
1 #include"AO_Display.H"
2 extern unsigned char KeyBoardInData;
3 //bit flag = 0;
4 unsigned char Scale = 1; //1為128*64,2為64*32
5 unsigned char XOffset =0;
6 unsigned char YOffset =0;
7 extern unsigned char CharConter;
8 unsigned char dx;
9 unsigned char dy;
10
11 //unsigned char RXCount;
12 unsigned char RXBuffers[3];
13
14 unsigned char RXCount = 2;
15 unsigned char jcount=0;
16
17
18 unsigned char code XAdd [6] ={32,48,64,80,96,112};
19 unsigned char code YAdd [2] ={128,96};
20 unsigned char CharBuffer[16]={200,200,200,200,
21 200,200,200,200};
22 //unsigned char tabx[]={32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,5
-9,60};
23 //unsigned char taby[]={32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,5
-9,60};
24 extern void zuobiao1(void);
25
26 /***********************************************************
27 函數名稱:
28 函數功能:顯示字符數組
29 入口參數:
30 出口參數:
31 備 注:
32 ***********************************************************/
33 /*void DisCharBuffer( void )
34 {
35 unsigned i,j;
36 for(i=0;i<2;i++)
37 for(j=0;j<4;j++)
38 {
39 DisOneLetterInAO(XAdd[j],YAdd[i],CharBuffer[i*4+j]);
40 }
41 } */
42
43
44
45 /******************************************************
46 函數名稱:串口初始化函數
47 入口參數:void
48 修改時間:
49 ******************************************************/
50 void UartInit( void )
51 {
52 1 EA = 0;
C51 COMPILER V8.05a DISPLAY 03/03/2008 08:29:39 PAGE 2
53 1 TR1 = 0;
54 1 RXD = 1;
55 1 TXD = 1;
56 1 SCON = 0x50; //串口方式1,允許接收
57 1 PCON = 0x00;
58 1 TMOD = 0x21;
59 1 TH1 = 0xfd;
60 1 TL1 = 0xfd; //設置波特率9600
61 1 TR1 = 1;
62 1 ES = 1; //允許串行口中斷
63 1 EA = 1; //允許中斷
64 1 }
65
66 /***********************************************************
67 函數名稱:串口中斷函數
68 修改時間:
69 ***********************************************************/
70 void sioproc() interrupt 4 // using 1
71 { unsigned char i;
72 1 unsigned char m;
73 1 unsigned char tabx[2];
74 1 unsigned char taby[2];
75 1 if (RI) //接收中斷
76 1 {
77 2 RI = 0;
78 2
79 2 if(RXCount)
80 2 {
81 3 m = SBUF;
82 3 RXCount--;
83 3 RXBuffers[1-RXCount] = m;
84 3
85 3 if(RXCount==0)
86 3 {
87 4 RXCount = 2; //當接收到的數據為2時給接收次數清零
88 4 dx = RXBuffers[0];
89 4 dy = RXBuffers[1];
90 4 tabx[jcount] = dx;
91 4 taby[jcount] = dy;
92 4 jcount++;
93 4 if(jcount==40)//采集40個點
94 4 {
95 5
96 5 while(1)
97 5 {
98 6
99 6 zuobiao1();
100 6 for(i=0;i<100;i++)
101 6 {
102 7 DisPoint(tabx[i],taby[i]);
103 7
104 7 }
105 6 jcount = 0;
106 6
107 6 }
108 5
109 5 }
110 4
111 4
112 4 }
113 3
114 3 }
C51 COMPILER V8.05a DISPLAY 03/03/2008 08:29:39 PAGE 3
115 2 }
116 1 }
117
118
119 /***********************************************************
120 函數名稱:
121 函數功能: 顯示一個16x16的字符
122 入口參數:
123 出口參數:
124 備 注:
125 ***********************************************************/
126 void Dis16x16Char(unsigned x,unsigned y,unsigned char *zifu)
127 {
128 1 unsigned char i,j,k;
129 1 for(k=0;k<2;k++)
130 1 for(i=0;i<8;i++)
131 1 for(j=0;j<16;j++)
132 1 {
133 2 if((zifu[j+16*k]>>i)&0x01)
134 2 {
135 3 DisPoint(x+(j*Scale)+XOffset,(y+(8*k+i)*Scale)+YOffset); //
136 3 }
137 2 else
138 2 {
139 3 ZLocation = 0;
140 3 }
141 2 }
142 1 }
143 /***********************************************************
144 函數名稱:
145 函數功能: 顯示一個8x16的字符
146 入口參數:
147 出口參數:
148 備 注:
149 ***********************************************************/
150 void Dis8x16Char(unsigned x,unsigned y,unsigned char *zifu)
151 {
152 1 unsigned char i,j,k;
153 1 for(k=0;k<2;k++)
154 1 for(i=0;i<8;i++)
155 1 {
156 2 for(j=0;j<8;j++)
157 2 {
158 3 if((zifu[j+8*k]>>i)&0x01)
159 3 {
160 4 DisPoint(x+(j*Scale)+XOffset,(y+(8*k+i)*Scale)+YOffset);
161 4 }
162 3 else
163 3 {
164 4 ZLocation = 1;
165 4 }
166 3 }
167 2 }
168 1 }
169 /***********************************************************
170 函數名稱:
171 函數功能:繪一個點
172 入口參數:
173 出口參數:
174 備 注:
175 ***********************************************************/
176 void DisPoint(unsigned char x,unsigned char y)
C51 COMPILER V8.05a DISPLAY 03/03/2008 08:29:39 PAGE 4
177 {
178 1 // ZLocation = 0;
179 1 XLocation(x);
180 1 YLocation(y);
181 1 // ZLocation = 1;
182 1 }
183
184
185 void shurushow( void )
186 {
187 1 unsigned char i;
188 1
189 1 for(i=0;i<20;i++)
190 1 {
191 2 // Dis16x16Char(XAdd[0],YAdd[0],shu);
192 2 // Dis16x16Char(XAdd[1],YAdd[0],ru);
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -