⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 led.lst

📁 基于89s52的空调模拟系统的实现
💻 LST
📖 第 1 页 / 共 4 页
字号:
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 + -