📄 led.lst
字号:
C51 COMPILER V8.08 LED 08/20/2008 16:06:02 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE LED
OBJECT MODULE PLACED IN led.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE led.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /***********************************
2 *MCU:AT89S51
3 *Freq:12M
4 .edit Tab:4
5 driver:ht1621
6 **********************************/
7 //=============================================================
8 //OCMJ8X15D触摸屏中断程序
9 //当触摸事件发生时模块产生中断经INT脚输出信号触发MCU的外部中断0
10 //=============================================================
11 //=============================================
12 //=============================================
13 #include <reg52.h>
14 #include <string.h>
15 #include <stdlib.h>
16 #include <stdio.h>
17 #include <math.h>
18 #include <intrins.h>
19 #include <absacc.h>
20
21
22 sbit lcd_rs =P0^0; //L:存取缓存器,H:存取DDRAM
23 sbit lcd_wr =P0^1; //L有效
24 sbit lcd_rd =P0^2; //L有效
25 //sbit lcd_cs1 =P1^3; //L有效
26 //sbit lcd_cs2 =P1^4; //H有效
27 sbit lcd_busy =P0^3;
28 sbit lcd_int =P0^4;
29 sbit lcd_rst =P0^5; //L有效
30
31 sbit DQ=P3^2;
32 #define lcd_regname P2
33 #define lcd_regdata P2
34 #define lcd_regnada P2
35 #define lcd_data P2
36 #define lcd_control P0
37 #define uchar unsigned char
38 #define uint unsigned int
39
40 uchar taby[4];
41 uchar tabx[4];
42
43 //=============================================
44 uchar code inittab1[]={
45 0x00,0x01,0x02,0x03,0x10,0x11,0x12,0x21,0x31,0x41,0x51,0x20,0x30,0x40,0x50,0x60,
46 0x61,0x70,0x71,0x72,0x80,0x81,0x91,0x90,0xA0,0xA1,0xA2,0xA3,0xB0,0xB1,0xC0,0xC1,
47 0xC8,0xC9,0xCA,0xD0,0xE0,0xF0,0xF1};
48 uchar code inittab2[]={
49 0xC9,0xE2,0x10,0x80,0x2B,0x00,0x91,0x1D,0x7F,0x00,0x00,0x1D,0x7F,0x00,0x00,0x00,
50 0x00,0x00,0x00,0x7F,0xAA,0x00,0x00,0x0F,0x11,0x00,0x00,0x00,0x1D,0x7F,0x00,0x36,
51 0x80,0x80,0x00,0x80,0x00,0xA0,0x0F};
52
53 uchar tabx[4];
54 uchar taby[4];
55 uchar code tab1[]={
C51 COMPILER V8.08 LED 08/20/2008 16:06:02 PAGE 2
56 " 晟天舒适型空调模拟控制 "
57 " "
58 " "
59 " "
60 " "
61 " "
62 " "
63 " 开机 "
64 };
65
66 uchar code tab2[]={
67 " 晟天舒适型空调模拟控制 "
68 "室内温度:24度 遥控:自动运转"
69 "室外温度:31度 + - "
70 "室内湿度:25% + - "
71 "室外湿度:28% + - "
72 "控制目标:24度 + - 25% + -"
73 "当前工作模式:制冷 去湿 "
74 " 关机 "
75 };
76
77 uchar code tab3[] ={
78 " 1、自动运转 "
79 " 2、升温 "
80 " 3、降温 "
81 " 4、增湿 "
82 " 5、降湿 "
83 " 6、换气 关机 "
84 };
85
86 uchar code tab4[]={
87 " 晟天舒适型空调模拟控制 "
88 "室内温度:24 度 遥控:升温 "
89 "室外温度:31 度 + - "
90 "室内湿度:25 % + - "
91 "室外湿度:28 % + - "
92 "控制目标:24 度 25 % "
93 "当前工作模式:制冷 去湿 "
94 " 关机 "
95 };
96
97 uchar code tab5[]={
98 " 晟天舒适型空调模拟控制 "
99 "室内温度:24 度 遥控: 降温 "
100 "室外温度:31 度 + - "
101 "室内湿度:25 % + - "
102 "室外湿度:28 % + - "
103 "控制目标:24 度 25 % "
104 "当前工作模式:制冷 去湿 "
105 " 关机 "
106 };
107
108 uchar code tab6[]={
109 " 晟天舒适型空调模拟控制 "
110 "室内温度:24 度 遥控: 增湿 "
111 "室外温度:31 度 + - "
112 "室内湿度:25 % + - "
113 "室外湿度:28 % + - "
114 "控制目标:24 度 25 % "
115 "当前工作模式:制冷 去湿 "
116 " 关机 "
117 };
C51 COMPILER V8.08 LED 08/20/2008 16:06:02 PAGE 3
118
119 uchar code tab7[]={
120 " 晟天舒适型空调模拟控制 "
121 "室内温度:24 度 遥控: 降湿 "
122 "室外温度:31 度 + - "
123 "室内湿度:25 % + - "
124 "室外湿度:28 % + - "
125 "控制目标:24 度 25 % "
126 "当前工作模式:制冷 去湿 "
127 " 关机 "
128 };
129
130 uchar code tab16[]={
131 " 晟天舒适型空调模拟控制 "
132 "室内温度:24 度 遥控: 换气 "
133 "室外温度:31 度 + - "
134 "室内湿度:25 % + - "
135 "室外湿度:28 % + - "
136 "控制目标:24 度 25 % "
137 "当前工作模式:制冷 去湿 "
138 " 关机 "
139 };
140
141 uchar code tab8[]={
142 " 当前需要升温! "
143 };
144
145 uchar code tab9[]={
146 " 升温停止! "
147 };
148
149 uchar code tab10[]={
150 " 当前需要降温! "
151 };
152
153 uchar code tab11[]={
154 " 降温停止! "
155 };
156
157 uchar code tab12[]={
158 " 当前需要加湿! "
159 };
160
161 uchar code tab13[]={
162 " 加湿停止! "
163 };
164
165 uchar code tab14[]={
166 " 当前需要去湿! "
167 };
168
169 uchar code tab15[]={
170 " 去湿停止! "
171 };
172
173
174 char temp[2]={3,1}; //outside temperrate
175 uchar show[2]={0,0}; //inner
176 char humidity[2]={2,5}; //inner humidity
177 char out_humidity[2]={2,8}; //outside
178 uchar function=0;
179 uchar dest_temp=24;
C51 COMPILER V8.08 LED 08/20/2008 16:06:02 PAGE 4
180 uchar dest_humidity=25;
181 uchar real_temp=0;
182 uchar real_out_temp=0;
183 uchar real_humidity=0;
184 uchar real_out_humidity=0;
185 uchar lcd_page=0;
186
187 uchar dest_tem[2]={3,2};
188 uchar dest_humid[2]={2,5};
189
190
191 //=============================================
192 void lcd_regwr(uchar regnada) small;
193 void delay(int k);
194 void gotoxy(uchar x,uchar y) small;
195 //=============================================
196
197
198 void init1820();
199 void write1820(uchar a);
200 void gettemp(void);
201 unsigned char read1820(void);
202 void auto_control(void);
203 //13_LED 0,1...8,9
204 //uchar code Ht1621Tab1[]={0xeb,0x0a,0xad,0x8f,0x4e,0xc7,0xe7,0x8a,0xef,0xcf};
205 //uchar data DispBuffer;
206
207
208
209
210 void delay_us(uchar a)//when crystal is 12M ,a*2+5 us ,??????5us,while ???DJNZ??
211 {
212 1 while(--a);
213 1 }
214 //=============================================
215 void lcd_regwrite(uchar regname,uchar regdata) small
216 { //写资料到缓存器
217 1 lcd_regwr(regname);
218 1 delay(1);
219 1 lcd_regwr(regdata);
220 1 }
221 void lcd_regwr(uchar regnada) small
222 {
223 1 lcd_regnada = regnada;
224 1 // lcd_cs1 =0; // chip enable.
225 1 lcd_rd = 1; //
226 1 lcd_rs = 0; // rs = 0;
227 1 lcd_wr = 0; // wr = 0;
228 1 ;
229 1 delay(5);
230 1 lcd_wr = 1; // wr = 1;
231 1 lcd_rs = 1; // rs = 1;
232 1 // lcd_cs1 =1; // chip disable.
233 1 }
234 //.............................................
235 void lcd_datawrite(uchar wrdata) small
236 { //写资料到DDRAM
237 1 while(lcd_busy == 0);
238 1 lcd_data = wrdata;
239 1 //lcd_cs1 =0; // chip enable.
240 1 lcd_rd = 1; //
241 1 lcd_rs = 1; // rs = 1;
C51 COMPILER V8.08 LED 08/20/2008 16:06:02 PAGE 5
242 1 lcd_wr = 0; // wr = 0;
243 1 ;
244 1 delay(5);
245 1 lcd_wr = 1; // wr = 1;
246 1 // lcd_rs = 1; // rs = 1;
247 1 //lcd_cs1 =1; // chip disable.
248 1 }
249 //.............................................
250 uchar lcd_regread(uchar regname) small
251 { //读缓存器
252 1 uchar reg_rddata;
253 1 lcd_regwr(regname);
254 1
255 1 lcd_data = 0xff;
256 1 // lcd_cs1 =0; // chip enable.
257 1 lcd_wr = 1; // wr = 1;
258 1 lcd_rs = 0; // rs = 0;
259 1 lcd_rd = 0; // rd = 0;
260 1 ;
261 1 delay(5);
262 1 reg_rddata = lcd_data;
263 1 lcd_rd = 1; // rd = 1;
264 1 lcd_rs = 1; // rs = 1;
265 1 // lcd_cs1 =1; // chip disable.
266 1 return(reg_rddata);
267 1 }
268 //=============================================
269 void delay(int k)
270 {
271 1 int i;
272 1 for(i=0;i<k;i++);
273 1 }
274 void delay1 (int ms)
275 {
276 1 int i,j;
277 1 for(i=0;i<ms;i++)
278 1 for(j=0;j<123;j++);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -