📄 7290test.lst
字号:
C51 COMPILER V8.02 7290TEST 08/18/2007 10:11:46 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE 7290TEST
OBJECT MODULE PLACED IN 7290test.OBJ
COMPILER INVOKED BY: E:\Keil\C51\BIN\C51.EXE 7290test.c BROWSE INTVECTOR(0X8000) DEBUG OBJECTEXTEND
line level source
1 /****************************************Copyright (c)**************************************************
2 **
3 **------------------------------------------------------------------------------------------------------
4 ** 修改人:
5 ** 版 本:
6 ** 日 期:
7 ** 描 述:
8 **
9 **--------------当前版本修订------------------------------------------------------------------------------
10 ** 修改人:
11 ** 日 期:
12 ** 描 述:
13 **
14 **------------------------------------------------------------------------------------------------------
15 ********************************************************************************************************/
16 #include "REG52.h"
17 #include <intrins.h>
18 #include <absacc.h>
19 #include "VIIC_C51.h"
20 #include "ZLG7290.h"
21
22
23 sbit KEY_INT=P3^2;
24
25 /* 全局变量 */
26
27 unsigned char disp_buf[8]={0,0,0,0,0,0,0,0};
28
29 /*********************************************************************************************************
30 ** 函数名称: display
31 ** 功能描述: 7298A led显示
32 ** 输 入: *sd : 显示缓冲区的头地址
33 **
34 ** 输 出: 0 : OK;
35 ** 1 : FAIL;
36 ** 全局变量: 无
37 ** 调用模块: ZLG7289_SendBuf
38 **-------------------------------------------------------------------------------------------------------
39 ** 修改人:
40 ** 日 期:
41 **------------------------------------------------------------------------------------------------------
42 ********************************************************************************************************/
43 unsigned char display(unsigned char *sd)
44 {
45 1 disp_buf[0] = (disp_buf[0]&0xf0)|(sd[0]%16); // 装载" dp-932"
46 1 disp_buf[1] = (disp_buf[1]&0xf0)|(sd[0]/16);
47 1 disp_buf[2] = 31;
48 1 disp_buf[3] = (disp_buf[3]&0xf0)|(sd[1]%16);
49 1 disp_buf[4] = (disp_buf[4]&0xf0)|(sd[1]/16);
50 1 disp_buf[5] = 31;
51 1 disp_buf[6] = (disp_buf[6]&0xf0)|(sd[2]%16);
52 1 disp_buf[7] = (disp_buf[7]&0xf0)|(sd[2]/16);
53 1 ZLG7290_SendBuf(disp_buf,8);
54 1 return 0;
55 1 }
C51 COMPILER V8.02 7290TEST 08/18/2007 10:11:46 PAGE 2
56
57 /*********************************************************************************************************
58 ** 函数名称: DelayNS
59 ** 功能描述: 长软件延时
60 ** 输 入: no : 延时参数,值越大时延时越久
61 **
62 ** 输 出: 0 : OK;
63 ** 1 : FAIL;
64 ** 全局变量: 无
65 ** 调用模块: 无
66 **-------------------------------------------------------------------------------------------------------
67 ** 修改人:
68 ** 日 期:
69 **------------------------------------------------------------------------------------------------------
70 ********************************************************************************************************/
71 unsigned char DelayNS(unsigned char no)
72 {
73 1 unsigned char i,j; //延时参数
74 1
75 1 for(; no>0; no--)
76 1 {
77 2 for(i=0; i<100; i++)
78 2 for(j=0; j<100; j++);
79 2 }
80 1 return 0;
81 1 }
82
83 /*********************************************************************************************************
84 ** 函数名称: delay
85 ** 功能描述: 短软件延时
86 ** 输 入: j : 延时参数,值越大时延时越久
87 **
88 ** 输 出: 0 : OK;
89 ** 1 : FAIL;
90 ** 全局变量: 无
91 ** 调用模块: 无
92 **-------------------------------------------------------------------------------------------------------
93 ** 修改人:
94 ** 日 期:
95 **------------------------------------------------------------------------------------------------------
96 ********************************************************************************************************/
97 unsigned char delay(unsigned char j)
98 {
99 1 unsigned char k,l;
100 1 for(l=0;l<=j;l++)
101 1 for(k=0;k<=250;k++);
102 1 return 0;
103 1 }
104
105 void main()
106 {
107 1 /*定义发送缓冲区*/
108 1 unsigned char rd[5]={0x12,0x48,0x30,0x03,0x04};
109 1 unsigned char key,flash,i,k;
110 1
111 1 flash=1;
112 1 DelayNS(10);
113 1 while(1)
114 1 {
115 2 delay(100);
116 2 display(rd);
117 2 delay(100);
C51 COMPILER V8.02 7290TEST 08/18/2007 10:11:46 PAGE 3
118 2 if(KEY_INT==0)
119 2 {
120 3 key=ZLG7290_GetKey();
121 3 switch(key)
122 3 {
123 4 case 1 ://确定
124 4 for(k=0;k<8;k++)
125 4 {
126 5 disp_buf[k] = disp_buf[k]&0xbf;//去除闪烁
127 5 }
128 4 break;
129 4 case 2 : //光标左移
130 4 disp_buf[flash]= disp_buf[flash]&0xbf;
131 4 flash=flash+1;
132 4 if(flash==8)
133 4 flash=0;
134 4 disp_buf[flash]= disp_buf[flash]|0x40;
135 4 break;
136 4 case 3 : //光标右移
137 4 disp_buf[flash]= disp_buf[flash]&0xbf;
138 4 flash=flash-1;
139 4 if(flash==0)
140 4 flash=8;
141 4 disp_buf[flash]= disp_buf[flash]|0x40;
142 4 break;
143 4 case 4 : //光标值加一
144 4 if(flash==2||flash==5) break;
145 4 if((flash%3)==0)
146 4 {
147 5 i=flash;
148 5 i=(i/3);
149 5 rd[i]=rd[i]+1;
150 5 }
151 4 else if((flash%3)!=0)
152 4 {
153 5 i=flash;
154 5 i=(i/3);
155 5 rd[i]=rd[i]+16;
156 5 }
157 4 delay(50);
158 4 break;
159 4 case 5 : //光标值减一
160 4 if(flash==2||flash==5) break;
161 4 if((flash%3)==0)
162 4 {
163 5 i=flash;
164 5 i=(i/3);
165 5 rd[i]=rd[i]-1;
166 5 }
167 4 else if((flash%3)!=0)
168 4 {
169 5 i=flash;
170 5 i=(i/3);
171 5 rd[i]=rd[i]-16;
172 5 }
173 4
174 4 break;
175 4 case 6 :
176 4
177 4 break;
178 4 case 7 :
179 4
C51 COMPILER V8.02 7290TEST 08/18/2007 10:11:46 PAGE 4
180 4 break;
181 4 case 8 :
182 4 break;
183 4 default :
184 4 break;
185 4 }
186 3 while(KEY_INT==0);
187 3 }
188 2 }
189 1 }
190
191
192
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 428 ----
CONSTANT SIZE = 5 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 8 7
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 + -