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

📄 debug.lst

📁 51单片机收发短信的程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
C51 COMPILER V7.02a   DEBUG                                                                04/01/2005 10:28:51 PAGE 1   


C51 COMPILER V7.02a, COMPILATION OF MODULE DEBUG
OBJECT MODULE PLACED IN D:\我的设~2\程序\DEBUGV~1\DEBUG.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE D:\我的设~2\程序\DEBUGV~1\DEBUG.C DB SB OE

stmt level    source

   1          
   2          #include"DEBUG.H"
   3          
   4          //////////////////////////////////////////////////////////////////////////////////////
   5          ///////////////延时函数///////////////////////////////////////////////////////////////
   6          //////////////////////////////////////////////////////////////////////////////////////
   7          void delay()      //less than 1ms
   8          {
   9   1          uchar  i;
  10   1          for(i=0;i<100;i++)
  11   1          _nop_();
  12   1      }
  13          
  14          void delay_160ms()    //160ms
  15          {
  16   1          uchar  i,j;
  17   1          for(i=0;i<255;i++)
  18   1          {
  19   2              for(j=0;j<255;j++)
  20   2              {
  21   3                  _nop_();
  22   3      
  23   3              }
  24   2          }
  25   1      }
  26          
  27          //延时500ms秒
  28          void delay_500ms()
  29          {
  30   1        uchar  i;
  31   1        for(i=0;i<2;i++)
  32   1          delay_160ms();
  33   1      }
  34          
  35          //延时1S
  36          void delay_1s()     //1s
  37          {
  38   1          uint i;
  39   1          for(i=0;i<45000;i++)
  40   1          {
  41   2                _nop_();
  42   2                _nop_();
  43   2          }
  44   1      }
  45          
  46          ////////////////////////////////////////////////////////////////////////////////////////
  47          /////////////液晶相关函数//////////////////////////////////////e/////////////////////////
  48          ////////////////////////////////////////////////////////////////////////////////////////
  49          //write command to LCM//
  50          void write_cmd( uchar  cmdData)
  51          {
  52   1        uint idata i;
  53   1        SID=1;
  54   1        for(i=0;i<5;i++)      //5个1
  55   1        {
C51 COMPILER V7.02a   DEBUG                                                                04/01/2005 10:28:51 PAGE 2   

  56   2          SCLK=0;SCLK=1;
  57   2        }
  58   1        SCLK=0;SID=0;SCLK=1;    //RW
  59   1        SCLK=0;SCLK=1;         //RS
  60   1        SCLK=0;SCLK=1;         //0
  61   1        SCLK=0;SID=cmdData&0x80;SCLK=1;
  62   1        SCLK=0;SID=cmdData&0x40;SCLK=1;
  63   1        SCLK=0;SID=cmdData&0x20;SCLK=1;
  64   1        SCLK=0;SID=cmdData&0x10;SCLK=1;
  65   1        SCLK=0;SID=0;SCLK=1;   //四个0
  66   1        SCLK=0;SCLK=1;
  67   1        SCLK=0;SCLK=1;
  68   1        SCLK=0;SCLK=1;
  69   1        SCLK=0;SID=cmdData&0x08;SCLK=1;
  70   1        SCLK=0;SID=cmdData&0x04;SCLK=1;
  71   1        SCLK=0;SID=cmdData&0x02;SCLK=1;
  72   1        SCLK=0;SID=cmdData&0x01;SCLK=1;
  73   1        SCLK=0;SID=0;SCLK=1;    //四个0
  74   1        SCLK=0;SCLK=1;
  75   1        SCLK=0;SCLK=1;
  76   1        SCLK=0;SCLK=1;
  77   1        SCLK=0;
  78   1        delay();
  79   1      }
  80          
  81          //write data to LCD//
  82          void write_data( char  datData)
  83          {
  84   1        uint idata i;
  85   1        SID=1;                 //五个 1
  86   1        for(i=0;i<5;i++)
  87   1        {
  88   2          SCLK=0;SCLK=1;
  89   2        }
  90   1        SCLK=0;SID=0;SCLK=1;      //RW
  91   1        SCLK=0;SID=1;SCLK=1;     //RS
  92   1        SCLK=0;SID=0;SCLK=1;
  93   1        SCLK=0;SID=datData&0x80;SCLK=1;
  94   1        SCLK=0;SID=datData&0x40;SCLK=1;
  95   1        SCLK=0;SID=datData&0x20;SCLK=1;
  96   1        SCLK=0;SID=datData&0x10;SCLK=1;
  97   1        SCLK=0;SID=0;SCLK=1;
  98   1        SCLK=0;SCLK=1;
  99   1        SCLK=0;SCLK=1;
 100   1        SCLK=0;SCLK=1;
 101   1        SCLK=0;SID=datData&0x08;SCLK=1;
 102   1        SCLK=0;SID=datData&0x04;SCLK=1;
 103   1        SCLK=0;SID=datData&0x02;SCLK=1;
 104   1        SCLK=0;SID=datData&0x01;SCLK=1;
 105   1        SCLK=0;SID=0;SCLK=1;
 106   1        SCLK=0;SCLK=1;
 107   1        SCLK=0;SCLK=1;
 108   1        SCLK=0;SCLK=1;
 109   1        SCLK=0;
 110   1        //reset();
 111   1        delay();
 112   1      }
 113          
 114          
 115          //液晶初始化函数
 116          void init_LCD()
 117          {
C51 COMPILER V7.02a   DEBUG                                                                04/01/2005 10:28:51 PAGE 3   

 118   1        write_cmd(0x30);  //功能设定:八位控制界面,基本指令集
 119   1        write_cmd(0x0c);  //显示状态开关:整体显示
 120   1        write_cmd(0x01);  //清除显示
 121   1        write_cmd(0x06);  //进入点设定:光标的移动方向(光标右移位址计数器加一)
 122   1        write_cmd(0x01);  //clear lcm screen
 123   1      }
 124          
 125          //print string to LCD///////
 126          void  put_string( uchar display_start_addr,char *str_source)
 127          {
 128   1         char idata i;
 129   1         write_cmd(display_start_addr);
 130   1         delay();
 131   1         for( i=0;*str_source!='\0';i++)
 132   1         {
 133   2           write_data(*str_source);
 134   2           delay();
 135   2           str_source++;
 136   2         }
 137   1      }
 138          
 139          //show vegetalbe type screen
 140          void type_screen()
 141          {
 142   1        put_string(0x90,"  ");  //显示定位
 143   1        switch(vege_page_index)
 144   1        {
 145   2          case 0:put_string(0x80,"01白萝卜02菠菜  05大白菜06大葱  03菜花  04长茄子");break;
 146   2          case 1:put_string(0x80,"07大蒜  08冬瓜  11荷兰豆12红尖椒09豆角  10佛手  ");break;
 147   2          case 2:put_string(0x80,"13胡萝卜14黄豆芽17鸡腿菇18尖椒  15黄瓜  16茴香  ");break;
 148   2          case 3:put_string(0x80,"19茭白  20芥菜  23空心菜24苦瓜  21金针菇22韭菜  ");break;
 149   2          case 4:put_string(0x80,"25莲藕菜26绿豆芽29木耳  30南瓜  27绿尖椒28毛豆  ");break;
 150   2          case 5:put_string(0x80,"31平菇  32茄子  35山药  36生菜  33芹菜  34青椒  ");break;
 151   2          case 6:put_string(0x80,"37生姜  38丝瓜  41茼蒿  42土豆  39蒜苗  40蒜薹  ");break;
 152   2          case 7:put_string(0x80,"43莴笋  44西红柿47西洋芹48香菜  45西葫芦46西兰花");break;
 153   2          case 8:put_string(0x80,"49香椿  50香菇  53洋白菜54洋葱头51小白菜52小葱  ");break;
 154   2          case 9:put_string(0x80,"55油菜  56油麦菜                57圆茄子58竹笋  ");break;
 155   2          default: break; //put_string(0x80,"page does not exist"); break;
 156   2        }
 157   1        put_string(0x98,"选择代号:");
 158   1        write_cmd(0x9d);                    //显示地址设为第4行第6列
 159   1        put_string(0x9d,vege_type) ;          //显示当前所选择的蔬菜类型
 160   1      }
 161          
 162          //蔬菜价格界面显示
 163          void price_screen()
 164          {
 165   1        char idata a[3]={0xa3,0xaf,'\0'} ;   ////////////中文字符'/'的中文字库编码
 166   1        write_cmd(0x01);    //全部清除显示
 167   1        put_string(0x90,"  ");  //用于显示定位,如果没有这句就经常不会正常显示
 168   1        if(vege_type[0]=='0')
 169   1          switch(vege_type[1])
 170   1          {
 171   2            case'1':put_string(0x90,"输入白萝卜价格:"); break;
 172   2            case'2':put_string(0x90,"输入菠菜价格:")  ; break;
 173   2            case'3':put_string(0x90,"输入菜花价格:")  ; break;
 174   2            case'4':put_string(0x90,"输入长茄子价格:"); break;
 175   2            case'5':put_string(0x90,"输入大白菜价格:"); break;
 176   2            case'6':put_string(0x90,"输入大葱价格:")  ; break;
 177   2            case'7':put_string(0x90,"输入大蒜价格:")  ; break;
 178   2            case'8':put_string(0x90,"输入冬瓜价格:")  ; break;
 179   2            case'9':put_string(0x90,"输入豆角价格:")  ; break;
C51 COMPILER V7.02a   DEBUG                                                                04/01/2005 10:28:51 PAGE 4   

 180   2            default: break;
 181   2          }
 182   1        else if(vege_type[0]=='1')
 183   1          switch(vege_type[1])
 184   1          {
 185   2            case'0':put_string(0x90,"输入佛手价格:")  ; break;
 186   2            case'1':put_string(0x90,"输入荷兰豆价格:"); break;
 187   2            case'2':put_string(0x90,"输入红尖椒价格:"); break;
 188   2            case'3':put_string(0x90,"输入胡萝卜价格:"); break;
 189   2            case'4':put_string(0x90,"输入黄豆牙价格:"); break;
 190   2            case'5':put_string(0x90,"输入黄瓜价格:")  ; break;
 191   2            case'6':put_string(0x90,"输入茴香价格:")  ; break;
 192   2            case'7':put_string(0x90,"输入鸡腿菇价格:"); break;
 193   2            case'8':put_string(0x90,"输入尖椒价格:")  ; break;
 194   2            case'9':put_string(0x90,"输入茭白价格:")  ; break;
 195   2            default: break;
 196   2          }
 197   1        else if(vege_type[0]=='2')
 198   1          switch(vege_type[1])
 199   1          {
 200   2            case'0':put_string(0x90,"输入芥菜价格:")  ; break;
 201   2            case'1':put_string(0x90,"输入金针菇价格:"); break;
 202   2            case'2':put_string(0x90,"输入韭菜价格:")  ; break;
 203   2            case'3':put_string(0x90,"输入空心菜价格:"); break;
 204   2            case'4':put_string(0x90,"输入苦瓜价格:")  ; break;
 205   2            case'5':put_string(0x90,"输入莲藕菜价格:"); break;
 206   2            case'6':put_string(0x90,"输入绿豆牙价格:"); break;
 207   2            case'7':put_string(0x90,"输入绿尖椒价格:"); break;
 208   2            case'8':put_string(0x90,"输入毛豆价格:")  ; break;
 209   2            case'9':put_string(0x90,"输入木耳价格:")  ; break;
 210   2            default: break;
 211   2          }
 212   1        else if(vege_type[0]=='3')
 213   1          switch(vege_type[1])
 214   1          {
 215   2            case'0':put_string(0x90,"输入南瓜价格:"); break;
 216   2            case'1':put_string(0x90,"输入平菇价格:"); break;
 217   2            case'2':put_string(0x90,"输入茄子价格:"); break;
 218   2            case'3':put_string(0x90,"输入芹菜价格:"); break;
 219   2            case'4':put_string(0x90,"输入青椒价格:"); break;
 220   2            case'5':put_string(0x90,"输入山药价格:"); break;
 221   2            case'6':put_string(0x90,"输入生菜价格:"); break;
 222   2            case'7':put_string(0x90,"输入生姜价格:"); break;
 223   2            case'8':put_string(0x90,"输入丝瓜价格:"); break;
 224   2            case'9':put_string(0x90,"输入蒜苗价格:"); break;
 225   2            default: break;
 226   2          }
 227   1        else if(vege_type[0]=='4')
 228   1          switch(vege_type[1])
 229   1          {
 230   2            case'0':put_string(0x90,"输入蒜薹价格:")  ; break;
 231   2            case'1':put_string(0x90,"输入茼蒿价格:")  ; break;
 232   2            case'2':put_string(0x90,"输入土豆价格:")  ; break;
 233   2            case'3':put_string(0x90,"输入莴笋价格:")  ; break;
 234   2            case'4':put_string(0x90,"输入西红柿价格:"); break;
 235   2            case'5':put_string(0x90,"输入西葫芦价格:"); break;
 236   2            case'6':put_string(0x90,"输入西兰花价格:"); break;
 237   2            case'7':put_string(0x90,"输入西洋芹价格:"); break;
 238   2            case'8':put_string(0x90,"输入香菜价格:")  ; break;
 239   2            case'9':put_string(0x90,"输入香椿价格:")  ; break;
 240   2            default: break;
 241   2          }
C51 COMPILER V7.02a   DEBUG                                                                04/01/2005 10:28:51 PAGE 5   

 242   1        else if(vege_type[0]=='5')
 243   1          switch(vege_type[1])
 244   1          {
 245   2            case'0':put_string(0x90,"输入香菇价格:")  ; break;
 246   2            case'1':put_string(0x90,"输入小白菜价格:"); break;
 247   2            case'2':put_string(0x90,"输入小葱价格:")  ; break;
 248   2            case'3':put_string(0x90,"输入洋白菜价格:"); break;
 249   2            case'4':put_string(0x90,"输入洋葱头价格:"); break;
 250   2            case'5':put_string(0x90,"输入油菜价格:")  ; break;
 251   2            case'6':put_string(0x90,"输入油麦菜价格:"); break;
 252   2            case'7':put_string(0x90,"输入圆茄子价格:"); break;
 253   2            case'8':put_string(0x90,"输入竹笋价格:")  ; break;
 254   2            default: break;
 255   2          }
 256   1        write_cmd(0x9a);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -