?? 7290test.lst
字號:
C51 COMPILER V8.02 7290TEST 03/14/2007 18:59:14 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE 7290TEST
OBJECT MODULE PLACED IN 7290test.OBJ
COMPILER INVOKED BY: D:\Program Files\keil uv3\C51\BIN\C51.EXE 7290test.c BROWSE INTVECTOR(0X8000) DEBUG OBJECTEXTEND
line level source
1 /****************************************Copyright (c)**************************************************
2 ** 廣州周立功單片機發展有限公司
3 ** 研 究 所
4 ** 產品一部
5 **
6 ** http://www.zlgmcu.com
7 **
8 **--------------文件信息--------------------------------------------------------------------------------
9 **文 件 名: PCF8563.C
10 **創 建 人: 葉皓賁
11 **最后修改日期: 2003-3-4
12 **描 述: DP-1581的8563T及7289a鍵盤LED演示程序
13 **
14 **--------------歷史版本信息----------------------------------------------------------------------------
15 ** 創建人: 葉皓賁
16 ** 版 本: 1.0
17 ** 日 期: 2003-3-4
18 ** 描 述: DP-1581演示程序
19 **
20 **------------------------------------------------------------------------------------------------------
21 ** 修改人:
22 ** 版 本:
23 ** 日 期:
24 ** 描 述:
25 **
26 **--------------當前版本修訂------------------------------------------------------------------------------
27 ** 修改人:
28 ** 日 期:
29 ** 描 述:
30 **
31 **------------------------------------------------------------------------------------------------------
32 ********************************************************************************************************/
33 #include "REG52.h"
34 #include <intrins.h>
35 #include <absacc.h>
36 #include "VIIC_C51.h"
37 #include "ZLG7290.h"
38
39 #define PCF8563 0XA2
40 #define WRADDR 0x00
41 #define RDADDR 0x02
42
43 sbit KEY_INT=P3^2;
44
45 /* 全局變量 */
46
47 unsigned char disp_buf[8]={0,0,0,0,0,0,0,0};
48
49 /*********************************************************************************************************
50 ** 函數名稱: display
51 ** 功能描述: 7298A led顯示
52 ** 輸 入: *sd : 顯示緩沖區的頭地址
53 **
54 ** 輸 出: 0 : OK;
55 ** 1 : FAIL;
C51 COMPILER V8.02 7290TEST 03/14/2007 18:59:14 PAGE 2
56 ** 全局變量: 無
57 ** 調用模塊: ZLG7289_SendBuf
58 **
59 ** 作 者: 葉皓賁
60 ** 日 期: 2003-3-4
61 **-------------------------------------------------------------------------------------------------------
62 ** 修改人:
63 ** 日 期:
64 **------------------------------------------------------------------------------------------------------
65 ********************************************************************************************************/
66 unsigned char display(unsigned char *sd)
67 {
68 1 disp_buf[0] = (disp_buf[0]&0xf0)|(sd[0]%16); // 裝載" dp-932"
69 1 disp_buf[1] = (disp_buf[1]&0xf0)|(sd[0]/16);
70 1 disp_buf[2] = 31;
71 1 disp_buf[3] = (disp_buf[3]&0xf0)|(sd[1]%16);
72 1 disp_buf[4] = (disp_buf[4]&0xf0)|(sd[1]/16);
73 1 disp_buf[5] = 31;
74 1 disp_buf[6] = (disp_buf[6]&0xf0)|(sd[2]%16);
75 1 disp_buf[7] = (disp_buf[7]&0xf0)|(sd[2]/16);
76 1 ZLG7290_SendBuf(disp_buf,8);
77 1 return 0;
78 1 }
79
80 /*********************************************************************************************************
81 ** 函數名稱: DelayNS
82 ** 功能描述: 長軟件延時
83 ** 輸 入: no : 延時參數,值越大時延時越久
84 **
85 ** 輸 出: 0 : OK;
86 ** 1 : FAIL;
87 ** 全局變量: 無
88 ** 調用模塊: 無
89 **
90 ** 作 者: 葉皓賁
91 ** 日 期: 2003-3-4
92 **-------------------------------------------------------------------------------------------------------
93 ** 修改人:
94 ** 日 期:
95 **------------------------------------------------------------------------------------------------------
96 ********************************************************************************************************/
97 unsigned char DelayNS(unsigned char no)
98 {
99 1 unsigned char i,j; //延時參數
100 1
101 1 for(; no>0; no--)
102 1 {
103 2 for(i=0; i<100; i++)
104 2 for(j=0; j<100; j++);
105 2 }
106 1 return 0;
107 1 }
108
109 /*********************************************************************************************************
110 ** 函數名稱: delay
111 ** 功能描述: 短軟件延時
112 ** 輸 入: j : 延時參數,值越大時延時越久
113 **
114 ** 輸 出: 0 : OK;
115 ** 1 : FAIL;
116 ** 全局變量: 無
117 ** 調用模塊: 無
C51 COMPILER V8.02 7290TEST 03/14/2007 18:59:14 PAGE 3
118 **
119 ** 作 者: 葉皓賁
120 ** 日 期: 2003-3-4
121 **-------------------------------------------------------------------------------------------------------
122 ** 修改人:
123 ** 日 期:
124 **------------------------------------------------------------------------------------------------------
125 ********************************************************************************************************/
126 unsigned char delay(unsigned char j)
127 {
128 1 unsigned char k,l;
129 1 for(l=0;l<=j;l++)
130 1 for(k=0;k<=250;k++);
131 1 return 0;
132 1 }
133
134 void main()
135 {
136 1 /*定義發送緩沖區*/
137 1 unsigned char td[5]={0x00,0x12,0x48,0x30,0x12};
138 1 unsigned char rd[5]={0x00,0x01,0x02,0x03,0x04};
139 1 unsigned char key,flash,i,k;
140 1
141 1 ISendStr(PCF8563,WRADDR,td,0x5);
142 1 flash=1;
143 1 //ZLG7290_Rest(); // 復位ZLG7289
144 1 DelayNS(10);
145 1 while(1)
146 1 {
147 2 IRcvStr(PCF8563,RDADDR,rd,0x3);
148 2 if(rd[2]>0x30)
149 2 rd[2]=rd[2]-0x40;
150 2 delay(100);
151 2 display(rd);
152 2 delay(100);
153 2 if(KEY_INT==0)
154 2 {
155 3 key=ZLG7290_GetKey();
156 3 switch(key)
157 3 {
158 4 case 1 ://確定
159 4 for(k=0;k<8;k++)
160 4 {
161 5 disp_buf[k] = disp_buf[k]&0xbf;//去除閃爍
162 5 }
163 4 break;
164 4 case 2 : //光標左移
165 4 disp_buf[flash]= disp_buf[flash]&0xbf;
166 4 flash=flash+1;
167 4 if(flash==8)
168 4 flash=0;
169 4 disp_buf[flash]= disp_buf[flash]|0x40;
170 4 //ZLG7290_SendData(0x88, flash);
171 4 break;
172 4 case 3 : //光標右移
173 4 disp_buf[flash]= disp_buf[flash]&0xbf;
174 4 flash=flash-1;
175 4 if(flash==0)
176 4 flash=8;
177 4 disp_buf[flash]= disp_buf[flash]|0x40;
178 4 break;
179 4 case 4 : //光標值加一
C51 COMPILER V8.02 7290TEST 03/14/2007 18:59:14 PAGE 4
180 4 if(flash==2||flash==5) break;
181 4 IRcvStr(PCF8563,RDADDR,rd,0x3);
182 4 if((flash%3)==0)
183 4 {
184 5 i=flash;
185 5 i=(i/3);
186 5 rd[i]=rd[i]+1;
187 5 }
188 4 else if((flash%3)!=0)
189 4 {
190 5 i=flash;
191 5 i=(i/3);
192 5 rd[i]=rd[i]+16;
193 5 }
194 4 delay(50);
195 4 ISendStr(PCF8563,RDADDR,rd,0x3);
196 4 delay(50);
197 4 break;
198 4 case 5 : //光標值減一
199 4 if(flash==2||flash==5) break;
200 4 IRcvStr(PCF8563,RDADDR,rd,0x3);
201 4 //key=flash;
202 4 if((flash%3)==0)
203 4 {
204 5 i=flash;
205 5 i=(i/3);
206 5 rd[i]=rd[i]-1;
207 5 }
208 4 else if((flash%3)!=0)
209 4 {
210 5 i=flash;
211 5 i=(i/3);
212 5 rd[i]=rd[i]-16;
213 5 }
214 4 delay(50);
215 4 ISendStr(PCF8563,RDADDR,rd,0x3);
216 4 delay(50);
217 4 break;
218 4 case 6 :
219 4
220 4 break;
221 4 case 7 :
222 4
223 4 break;
224 4 case 8 :
225 4 break;
226 4 default :
227 4 break;
228 4 }
229 3 while(KEY_INT==0);
230 3 }
231 2 }
232 1 }
233
234
235
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 551 ----
CONSTANT SIZE = 10 ----
XDATA SIZE = ---- ----
C51 COMPILER V8.02 7290TEST 03/14/2007 18:59:14 PAGE 5
PDATA SIZE = ---- ----
DATA SIZE = 8 12
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 + -