📄 zlg7290demo.lst
字号:
C51 COMPILER V7.50 ZLG7290DEMO 08/23/2007 14:24:12 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE ZLG7290DEMO
OBJECT MODULE PLACED IN ZLG7290Demo.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ZLG7290Demo.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /*
2 ZLG7290演示程序
3 */
4
5 #include "I2C.h"
6 #include "ZLG7290.h"
7 sbit p00=P0^0;
8 void Port_IO_Init()
9 {
10 1
11 1
12 1 SFRPAGE = CONFIG_PAGE;
13 1 XBR1 = 0x04;
14 1 XBR2 = 0x40;
15 1 }
16
17 void Oscillator_Init()
18 {
19 1 SFRPAGE = CONFIG_PAGE;
20 1 OSCICN = 0x83;
21 1 }
22
23 void Init_Device(void)
24 {
25 1 Port_IO_Init();
26 1 Oscillator_Init();
27 1 }
28
29
30 //定义键盘p00=0表示有键按下
31
32
33
34 /*
35 函数:Delay()
36 功能:延时10ms~655.36s
37 参数:
38 t>0时,延时(t*0.01)s
39 t=0时,延时655.36s
40 说明:
41 晶振采用11.0592MHz
42 */
43 void Delay(unsigned int t)
44 {
45 1
46 1 while (--t);
47 1 }
48
49 /*
50 函数:SystemInit()
51 功能:系统初始化
52 */
53 void SystemInit()
54 {
55 1 I2C_Init();
C51 COMPILER V7.50 ZLG7290DEMO 08/23/2007 14:24:12 PAGE 2
56 1
57 1 Delay(30); //等待ZLG7290复位完毕
58 1 }
59
60 /*
61 函数:ClearAll()
62 功能:清除所有显示
63 */
64 void ClearAll()
65 {
66 1 unsigned char x;
67 1 for ( x=0; x<8; x++ )
68 1 {
69 2 ZLG7290_Download(x,0,0,31);
70 2 }
71 1 }
72
73 void main()
74
75 {
76 1 unsigned char KeyValue,keyValue,i=0,a=0,b=0,c,d,simbol=0,j;
77 1 unsigned char valuedeal[28]={0x0d,17,0,15,0,0,0,0,0x0c,9,8,7,0,0,0,0,0x0b,6,5,4,0,0,0,0,0x0a,3,2,1};
78 1 unsigned char store[8];
79 1 WDTCN=0xde;
80 1 WDTCN=0xad;
81 1 Init_Device( );
82 1 SystemInit(); //系统初始化
83 1 ClearAll();
84 1 ZLG7290_Download(0,1,1,0);
85 1
86 1
87 1
88 1 for (;;)
89 1 {
90 2 if ( p00==0) //如果有键按下
91 2 {
92 3 //清除中断标志
93 3 p00= 1;
94 3 //读取键值、连击计数器值、功能键值
95 3 ZLG7290_ReadReg(ZLG7290_Key,&KeyValue);
96 3 keyValue=valuedeal[KeyValue-1]; /*读键值*/
97 3
98 3
99 3 if(keyValue==0x0d) /*清除键*/
100 3 {ClearAll();
101 4 ZLG7290_Download(0,1,1,0);
102 4 break ;
103 4 }
104 3
105 3 if(keyValue==17) /*确定键的处理*/
106 3 { if(i==0) break;
107 4 if(d==0)
108 4 { for(j=0;j<=i-1;j++)
109 5 if(j!=c)
110 5 ZLG7290_Download(j,0,0,store[j]);
111 5 else if(simbol!=0) ZLG7290_Download(j,1,0,store[j]) ;
112 5
113 5 d=1 ;}
114 4 keyValue=31;
115 4 }
116 3
117 3
C51 COMPILER V7.50 ZLG7290DEMO 08/23/2007 14:24:12 PAGE 3
118 3
119 3 if(i==0&&keyValue==0)
120 3 a=1;
121 3 if(keyValue==15)
122 3 {
123 4 if(i==0) {a=1;} /*小数点显示在该位 */
124 4 else i--;
125 4 keyValue=b; /*原值不变*/
126 4 if(simbol==0)
127 4 { c=i;
128 5 simbol=1;
129 5 a=1;
130 5 }
131 4 }
132 3
133 3
134 3 if(d==1||i>=8) continue;
135 3 if(simbol==1&&i==c) a=1;
136 3 ZLG7290_Download(i++,a,0,keyValue);
137 3 a=0;
138 3 b=keyValue;
139 3 store[i-1]=b;
140 3
141 3 }
142 2
143 2 }
144 1
145 1
146 1 }
147
148
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 341 ----
CONSTANT SIZE = 28 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 46
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 + -