📄 ledcontrol.lst
字号:
C51 COMPILER V7.02a LEDCONTROL 05/26/2005 13:15:53 PAGE 1
C51 COMPILER V7.02a, COMPILATION OF MODULE LEDCONTROL
OBJECT MODULE PLACED IN ledcontrol.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ledcontrol.C OPTIMIZE(4,SPEED)
stmt level source
1 /************************************************************************************************/
2 /***** LED matrix display screen ***********************/
3 /***** designed by lingfeng 2004-9-3 ***********************/
4 /***** changed by caocong 2005-5-18 ***********************/
-
5 /***** main chips: W77E58,DS18B20, PCF8563,27C020, IDT7134 ***********************/
-
6 /***** main function:1.Communication with the computer ***********************/
7 /***** 2.Get the RTC &Temperature ***********************/
8 /***** 3. Send data to IDT7134 ***********************/
9 /************************************************************************************************/
10 /**************************checked by lingfeng 2005-5-26*****************************************/
11 /***********************************include files************************************************/
12
13 #include<absacc.h>
14 #include<intrins.h>
15 #include"ledcontrol.h"
16
17 uchar code num_model[11][16] = {
18 0x00,0x00,0x00,0x18,0x24,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x24,0x18,0x00,0x00, //numb
-er 0
19 0x00,0x00,0x00,0x10,0x70,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x7C,0x00,0x00, //numb
-er 1
20 0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x04,0x04,0x08,0x10,0x20,0x42,0x7E,0x00,0x00, //numbe
-r 2
21 0x00,0x00,0x00,0x3C,0x42,0x42,0x04,0x18,0x04,0x02,0x02,0x42,0x44,0x38,0x00,0x00, //number
- 3
22 0x00,0x00,0x00,0x04,0x0C,0x14,0x24,0x24,0x44,0x44,0x7E,0x04,0x04,0x1E,0x00,0x00, //numbe
-r 4
23 0x00,0x00,0x00,0x7E,0x40,0x40,0x40,0x58,0x64,0x02,0x02,0x42,0x44,0x38,0x00,0x00, //number
- 5
24 0x00,0x00,0x00,0x1C,0x24,0x40,0x40,0x58,0x64,0x42,0x42,0x42,0x24,0x18,0x00,0x00, //number
- 6
25 0x00,0x00,0x00,0x7E,0x44,0x44,0x08,0x08,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00, //number
- 7
26 0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x24,0x18,0x24,0x42,0x42,0x42,0x3C,0x00,0x00, //number
-8
27 0x00,0x00,0x00,0x18,0x24,0x42,0x42,0x42,0x26,0x1A,0x02,0x02,0x24,0x38,0x00,0x00, // number
- 9
28 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x00 // miuns
- '-'
29 };
30
31 uchar code format_time[6][16] = {
32 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //sign "--"
33 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //sign "--"
34 0x00,0x00,0x00,0x00,0x10,0x10,0xD6,0x38,0x38,0xD6,0x10,0x10,0x00,0x00,0x00,0x00, //sign "*"
35 0x00,0x00,0x00,0x00,0x06,0x06,0x00,0x00,0x00,0x00,0x06,0x06,0x00,0x00,0x00,0x00, //sign " :"
36 0x00,0x00,0x00,0x00,0x60,0x60,0x00,0x00,0x00,0x00,0x60,0x60,0x00,0x00,0x00,0x00, //sign ": "
37 0x00,0x00,0x00,0x00,0x10,0x10,0xD6,0x38,0x38,0xD6,0x10,0x10,0x00,0x00,0x00,0x00 //sign "*"
38 };
39
40
41 uchar code format_temp[9][32] = {
42 0x01,0x00,0x01,0x00,0x02,0x80,0x04,0x40,0x08,0x20,0x12,0x18,0x21,0x8E,0xC0,0x84, // "今"
C51 COMPILER V7.02a LEDCONTROL 05/26/2005 13:15:53 PAGE 2
43 0x00,0x00,0x1F,0xF0,0x00,0x20,0x00,0x20,0x00,0x40,0x00,0x40,0x00,0x80,0x01,0x00,
44 0x00,0x00,0x1F,0xF0,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x1F,0xF0,0x10,0x10, // "日"
45 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x1F,0xF0,0x10,0x10,0x00,0x00,0x00,0x00,
46 0x40,0x00,0x27,0xF0,0x24,0x10,0x07,0xF0,0x94,0x10,0x54,0x10,0x17,0xF0,0x20,0x00, // "温"
47 0x2F,0xFC,0xC9,0x24,0x49,0x24,0x49,0x24,0x49,0x24,0x49,0x24,0x5F,0xFE,0x40,0x00,
48 0x01,0x00,0x00,0x80,0x3F,0xFE,0x22,0x20,0x22,0x20,0x2F,0xFC,0x22,0x20,0x23,0xE0, //"度"
49 0x20,0x00,0x27,0xF8,0x22,0x10,0x21,0x20,0x20,0xC0,0x41,0x30,0x46,0x0E,0x98,0x04,
50 0x00,0x00,0x0F,0xF0,0x08,0x10,0x0F,0xF0,0x08,0x10,0x0F,0xF0,0x00,0x00,0xFF,0xFE, //"是"
51 0x01,0x00,0x09,0x00,0x09,0xF8,0x09,0x00,0x15,0x00,0x23,0x00,0x40,0xFE,0x00,0x00,
52 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 无
53 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
54 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //无
55 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
56 0x01,0x00,0x00,0x80,0x3F,0xFE,0x22,0x20,0x22,0x20,0x2F,0xFC,0x22,0x20,0x23,0xE0, //"度"
57 0x20,0x00,0x27,0xF8,0x22,0x10,0x21,0x20,0x20,0xC0,0x41,0x30,0x46,0x0E,0x98,0x04,
58 0x1F,0xF8,0x01,0x00,0x7F,0xFE,0x41,0x04,0x1D,0x70,0x01,0x00,0x1D,0x70,0x02,0x80, //"零"
59 0x04,0x60,0x1A,0x1E,0xE1,0x08,0x1F,0xE0,0x00,0x40,0x02,0x80,0x01,0x00,0x01,0x00
60 };
61
62 /*********************************program************************************/
63
64 void main(void)
65 {
66 1 /***************************inital*******************************************/
-
67 1 cpu_ini();
68 1 variable_ini();
69 1 pcf8563_init();
70 1 ds1820_ini();
71 1 watchdog();
72 1
73 1 get_c_code(COMBUF.charbuf, 8);
74 1 watchdog();
75 1
76 1 Wrt_IDT7134_Buf1();
77 1 watchdog();
78 1 /************************main loop****************************************/
79 1
80 1 while(1)
81 1 {
82 2 if (flag_5min)
83 2 {
84 3 flag_5min = False;
85 3 get_time(time);
86 3 watchdog();
87 3 get_temp(time);
88 3 watchdog();
89 3 put_format_dispbuf(format_time,format_temp);
90 3 watchdog();
91 3 Wrt_IDT7134_Buf2();
92 3 watchdog();
93 3 }
94 2 commu();
95 2 watchdog();
96 2 if (flag_30sec)
97 2 {
98 3 flag_30sec = 0;
99 3 DISPBUF.buf_num = 1;
100 3 flag_begin = False;
101 3 }
102 2 }
103 1 }
C51 COMPILER V7.02a LEDCONTROL 05/26/2005 13:15:53 PAGE 3
104
105
106
107
108
109
110
111
112
113
114
115 /************cpu_ini************************/
116 void cpu_ini(void)
117 {
118 1 TMOD=0x21; //timer1 mode2 timer0 mode1
119 1 TL1=0xfd; //9600bps
120 1 TH1=0xfd;
121 1 PCON=0; //SMOD=0
122 1 SCON=0x50; //serial mode 1
123 1 TL0=0x00; //timer is 50ms
124 1 TH0=0x4c;
125 1 EX0=1; //Enable int0
126 1 IT0=1; //falling edge trigle
127 1 ET0=1; //Enable time0
128 1 ES=1; //Enable serial
129 1 EA=1;
130 1 TR0=1;
131 1 TR1=1;
132 1
133 1
134 1 }
135
136
137 void variable_ini(void)
138 {
139 1 fd_dog= 0; // count for watchdog
140 1 RECBUF.flag = (uchar)0; // inital the communcation buffer
141 1 SEDBUF.flag = (uchar)0;
142 1 RECBUF.len = 0;
143 1 SEDBUF.len = 0;
144 1 RECBUF.loc = 0;
145 1 SEDBUF.loc = 0;
146 1 flag_5min = False;
147 1 flag_30sec =False;
148 1 flag_begin = False;
149 1 count_sec = 0;
150 1 count_min = 0;
151 1
152 1
153 1 }
154
155 void int0_process(void) interrupt 0 using 1
156 {
157 1 flag_5min =True;
158 1 flag_begin = True;
159 1 }
160
161
162
163 void put_format_dispbuf(uchar format_time1[][16],uchar format_temp1[][32]) //using displ
-ay buffer 2
164 {
C51 COMPILER V7.02a LEDCONTROL 05/26/2005 13:15:53 PAGE 4
165 1
166 1
167 1 uchar i,j;
168 1 //fill time's format to dsiplay buffer
169 1 for (i=0; i<4; i=i+3)
170 1 {
171 2 for (j=0; j<16; j++)
172 2 {
173 3 DISPBUF.disp_buf2[j][2+i] = ~format_time1[0+i/3][j-16]; // fill "--" "--"
174 3 DISPBUF.disp_buf2[j][8+i] = ~format_time1[2+i/3][j-16]; // fill "*" " :"
175 3 DISPBUF.disp_buf2[j][12+i]= ~format_time1[4+i/3][j-16]; // fill ": " "*"
176 3 }
177 2 }
178 1 //fill temperature's foramt to display buffer
179 1 for (i=0; i<8; i++)
180 1 {
181 2 for(j=16; j<32; j++)
182 2 {
183 3 DISPBUF.disp_buf2[j][i*2] = ~format_temp1[i][(j-16)*2];
184 3 DISPBUF.disp_buf2[j][i*2+1] = ~ format_temp1[i][(j-16)*2+1];
185 3 }
186 2 }
187 1 }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -