📄 hal.lst
字号:
C51 COMPILER V7.00 HAL 09/22/2005 17:15:31 PAGE 1
C51 COMPILER V7.00, COMPILATION OF MODULE HAL
OBJECT MODULE PLACED IN .\out\HAL.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE HAL.C LARGE BROWSE DEBUG OBJECTEXTEND OBJECT(.\out\HAL.obj)
stmt level source
1 #define HAL_FILE
2 #include "include.h"
3
4 //unsigned char xdata SL811H_ADDR _at_ SL811_ADDR_PORT;
5 //unsigned char xdata SL811H_DATA _at_ SL811_DATA_PORT;
6
7 //unsigned char idata ttt[20];
8 //extern unsigned char xdata DBUF[BUFFER_LENGTH];
9
10 uchar getkey(void)
11 {
12 1 uchar i,j,temp=0;
13 1
14 1 while(1){
15 2 i=P1;
16 2 i=((~(i>>4))&0x0f);
17 2 if(!i) break;
18 2 if(i==temp){ j++; if(j>6) break;}
19 2 else { temp=i; j=0;}
20 2 }
21 1 if(i){
22 2 if(i==1) return 1;
23 2 if(i==2) return 2;
24 2 if(i==4) return 3;
25 2 if(i==8) return 4;
26 2 }
27 1 return 0;
28 1 }
29
30 unsigned char SL811Read(unsigned char a)
31 {
32 1 unsigned char nVal;
33 1 SL811H_ADDR=a;
34 1 nVal=SL811H_DATA;
35 1 return nVal;
36 1 }
37
38 void SL811Write(unsigned char a, unsigned char d)
39 {
40 1 SL811H_ADDR=a;
41 1 SL811H_DATA=d;
42 1 }
43
44 void SL811BufRead(unsigned char addr, unsigned char *s, unsigned char c)
45 {
46 1 unsigned char i;
47 1 SL811H_ADDR=addr;
48 1
49 1 for(i=0;i<c;i++)
50 1 {
51 2 *s++ =SL811H_DATA;
52 2 }
53 1 }
54
55 void SL811BufWrite(unsigned char addr, unsigned char *s, unsigned char c)
C51 COMPILER V7.00 HAL 09/22/2005 17:15:31 PAGE 2
56 {
57 1
58 1 SL811H_ADDR=addr;
59 1
60 1 while (c--)
61 1 {
62 2 SL811H_DATA = *s++;
63 2 }
64 1 }
65
66 unsigned short WordSwap(unsigned short input)
67 {
68 1 return(((input&0x00FF)<<8)|((input&0xFF00)>>8));
69 1 }
70
71 void DelayMs(unsigned char nFactor)
72 {
73 1 unsigned char data i;
74 1 unsigned int data j;
75 1
76 1 for(i=0; i<nFactor; i++)
77 1 {
78 2 //子循环共14000个指令周期,24MHZ下为7MS
79 2 // MCU_LED2=0;
80 2 for(j=0;j<1000;j++)
81 2 j=j;
82 2 // MCU_LED2=1;
83 2 }
84 1 }
85
86 void DelayUs(unsigned char nFactor)
87 {
88 1 unsigned char i;
89 1 unsigned int j;
90 1
91 1 for(i=0; i<nFactor; i++)
92 1 for(j=0;j<10;j++)
93 1 j=j;
94 1 }
95 unsigned long SwapINT32(unsigned long dData)
96 {
97 1 dData = (dData&0xff)<<24|(dData&0xff00)<<8|(dData&0xff000000)>>24|(dData&0xff0000)>>8;
98 1 return dData;
99 1 }
100
101 unsigned int SwapINT16(unsigned int dData)
102 {
103 1 dData = (dData&0xff00)>>8|(dData&0x00ff)<<8;
104 1 return dData;
105 1 }
106
107 uchar BitNum(uchar date)
108 {
109 1 switch(date){
110 2 case 1:
111 2 return 0;
112 2 break;
113 2 case 2:
114 2 return 1;
115 2 break;
116 2 case 4:
117 2 return 2;
C51 COMPILER V7.00 HAL 09/22/2005 17:15:31 PAGE 3
118 2 break;
119 2 case 8:
120 2 return 3;
121 2 break;
122 2 case 16:
123 2 return 4;
124 2 break;
125 2 case 32:
126 2 return 5;
127 2 break;
128 2 case 64:
129 2 return 6;
130 2 break;
131 2 case 128:
132 2 return 7;
133 2 break;
134 2 default:
135 2 break;
136 2 }
137 1 return 0xff;
138 1 }
139
140 void memcpy_cur(void *dector,void *source,uint len)
141 {
142 1 uchar *p,*q;
143 1 p=(uchar *)source;
144 1 q=(uchar *)dector;
145 1 while(len){
146 2 *q=*p;
147 2 q++;p++;
148 2 len--;
149 2 }
150 1 }
151
152 void memset_cur(void *source,uchar temp,uint len)
153 {
154 1 uchar *p;
155 1 p=(uchar *)source;
156 1 while(len){
157 2 *p=temp;
158 2 p++;len--;
159 2 }
160 1 }
161
162 char memcmp_cur(void *source,void *dector,uint len)
163 {
164 1 uchar *p,*q;
165 1 p=(uchar *)source;
166 1 q=(uchar *)dector;
167 1 while(len){
168 2 if(*p!=*q){
169 3 if(*p>*q) return -1;
170 3 if(*p<*q) return 1;
171 3 }
172 2 q++;p++;
173 2 len--;
174 2 }
175 1 return 0;
176 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
C51 COMPILER V7.00 HAL 09/22/2005 17:15:31 PAGE 4
CODE SIZE = 843 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- 49
PDATA SIZE = ---- ----
DATA SIZE = ---- 3
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 + -