?? main.lst
字號:
C51 COMPILER V8.02 MAIN 08/08/2008 10:07:06 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /*************************************************************
2 程序名稱:示波器OSC
3 功 能:示波器上顯示漢字字符(可移動) PS2 串口調試
4 日 期:2008.7.19
5 *************************************************************/
6 #include <at89x51.h>
7 //#include<reg52.h> //這里調用reg52.h文件PS2無法用 ????
8 #include"zifu.h"
9 #include"PS2.h"
10 //#include"chuankou.h"
11
12 #define uint unsigned int
13 #define uchar unsigned char
14
15 #define XDATALINE P1 //0832輸出
16 #define YDATALINE P2
17
18 sbit ZLocation = P3^5;
19 unsigned char Key_code;
20 //void put_date(unsigned dat);
21
22 unsigned char tabx[10];
23 unsigned char taby[10];
24 unsigned char Scale = 2;
25 unsigned char XOffset =0;
26 unsigned char YOffset =0;
27 char XAdd=0;
28 char YAdd=0;
29
30 /***********************************************************
31 函數名稱:
32 函數功能:確定x坐標
33 入口參數:
34 出口參數:
35 備 注: 120x120
36 ***********************************************************/
37 void XLocation( unsigned char X )
38 {
39 1 XDATALINE = X;
40 1 }
41 /***********************************************************
42 函數名稱:
43 函數功能:確定y坐標
44 入口參數:
45 出口參數:
46 備 注: 120x120
47 ***********************************************************/
48 void YLocation( unsigned char Y )
49 {
50 1
51 1 YDATALINE = Y;
52 1 }
53
54 /***********************************************************
55 函數名稱:
C51 COMPILER V8.02 MAIN 08/08/2008 10:07:06 PAGE 2
56 函數功能: 延時
57 入口參數:
58 出口參數:
59 備 注:
60 ***********************************************************/
61 /*void Delay( unsigned int t )
62 {
63 while(t--);
64 }
65 */
66 /***********************************************************
67 函數名稱:
68 函數功能:繪一個點
69 入口參數:
70 出口參數:
71 備 注:
72 ***********************************************************/
73 void DisPoint(unsigned char x,unsigned char y)
74 {
75 1 ZLocation = 1;
76 1 XLocation(x);
77 1 YLocation(y);
78 1 ZLocation = 0;
79 1 }
80
81 /***********************************************************
82 函數名稱:
83 函數功能: 顯示一個8x16的字符
84 入口參數:
85 出口參數:
86 備 注:
87 ***********************************************************/
88 void Dis8x16Char (unsigned x, unsigned y,unsigned m)
89 {
90 1 unsigned char i,j,k;
91 1 switch(flag)
92 1 {
93 2 case 1:
94 2 YAdd=YAdd-4; //上移四個單位
95 2 break;
96 2 case 2:
97 2 YAdd=YAdd+4; //下移四個單位
98 2 break;
99 2 case 3:
100 2 XAdd=XAdd-4; //左移
101 2 break;
102 2 case 4:
103 2 XAdd=XAdd+4; //右移
104 2 break;
105 2 }
106 1 for(k=0;k<2;k++) //K=0 顯示在上8列 K=1 顯示在下8列
107 1 for(i=0;i<8;i++)
108 1 for(j=0;j<8;j++)
109 1 {
110 2 if((ZIMU[m+j+8*k]>>i)&0x01)
111 2 {
112 3 DisPoint(x+(j*Scale)+XOffset,(y+(8*k+i)*Scale)+YOffset);
113 3 }
114 2 else
115 2 {
116 3 ZLocation = 1;
117 3 }
C51 COMPILER V8.02 MAIN 08/08/2008 10:07:06 PAGE 3
118 2 }
119 1
120 1 flag=0;
121 1 }
122
123 /***********************************************************
124 函數名稱:
125 函數功能: 顯示一個16x16的字符
126 入口參數:
127 出口參數:
128 備 注:
129 ***********************************************************/
130 void Dis16x16Char(unsigned x,unsigned y,unsigned char *zifu)
131 {
132 1 unsigned char i,j,k;
133 1 for(k=0;k<2;k++)
134 1 for(i=0;i<8;i++)
135 1 for(j=0;j<16;j++)
136 1 {
137 2 if((zifu[j+16*k]>>i)&0x01)
138 2 {
139 3 DisPoint(x+(j*Scale)+XOffset,(y+(8*k+i)*Scale)+YOffset);
140 3 }
141 2 else
142 2 {
143 3 ZLocation = 1;
144 3 }
145 2 }
146 1 }
147
148 /***********************************************************
149 函數名稱:
150 函數功能:主函數
151 入口參數:
152 出口參數:
153 備 注:
154 ***********************************************************/
155 void main( void )
156 {
157 1 // uart_rest();
158 1 IT0 = 0; //設外部中斷0為低電平觸發
159 1 EA = 1;
160 1 EX0 = 1; //開中斷
161 1
162 1 while(1)
163 1 {
164 2 Dis8x16Char(192+XAdd,128+YAdd,Key_code);
165 2 Dis16x16Char(0+64, 128,huan);
166 2 Dis16x16Char(32+64,128,ying);
167 2 Dis16x16Char(64+64,128,luo);
168 2 Dis16x16Char(96+64,128,tao);
169 2 Dis8x16Char(192+XAdd,128+YAdd,Key_code);
170 2
171 2 if (BF)
172 2 {
173 3 Decode(KeyV);
174 3
175 3 }
176 2 else
177 2 EA = 1; //開中斷
178 2
179 2 }
C51 COMPILER V8.02 MAIN 08/08/2008 10:07:06 PAGE 4
180 1
181 1
182 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 672 ----
CONSTANT SIZE = 871 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 32 17
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 + -