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

📄 main.lst

📁 EasyStudy51-II单片机开发系统的库函数源代码.包含了EasyStudy51-II硬件的全部驱动.
💻 LST
字号:
C51 COMPILER V7.06   MAIN                                                                  10/14/2004 21:37:10 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE c51\main.c BROWSE INCDIR(C:\EZST\EasyStudy51\ES51-II\Target\INC\) DEBUG OBJ
                    -ECTEXTEND PRINT(.\main.lst) OBJECT(main.obj)

stmt level    source

   1          //      EasyStudy51-II 综合测试程序     
   2          //      编写:wolfe
   3          //      日期:2008.10
   4          
   5          #include "ES51_II.h"
   6          
   7          
   8          
   9          unsigned char SIO_BUFF[16];
  10          
  11          unsigned char BUFF[4];
  12          
  13          #define TEST_24C                '1'
  14          #define TEST_UART               '2'
  15          #define TEST_BUZZ               '3'
  16          #define TEST_LED                '4'
  17          #define TEST_INT0KEY    '6'
  18          #define TEST_COUNTKEY   '5'
  19          
  20          
  21          //      初始化
  22          void ES51_II_Init(void);
  23          
  24          //      KEY1~KEY4处理函数
  25          void Key_Poll(void);
  26          
  27          
  28          void Uncall(void)
  29          {
  30   1              unsigned char i;
  31   1              LoopLEDON(LEDMIDDLELOOP,7);
  32   1              LoopLEDOFF();
  33   1              INT0_Init_KeyINT0();                    
  34   1              INT1_Init_KeyShare();
  35   1              DelayS(1);
  36   1      
  37   1              for( i=0;i<8;i++)
  38   1                      SIO_BUFF[i] = i+'0';
  39   1              PutData_(8,&SIO_BUFF);
  40   1              while( bTxDone != TRUE);
  41   1      
  42   1              GetData_(1,&SIO_BUFF);
  43   1              while( bRxDone != TRUE);
  44   1      
  45   1              PutStr_("Hello,World!");
  46   1              while( bTxDone != TRUE);
  47   1      
  48   1              GetStr_(&SIO_BUFF);
  49   1              while( bRxDone != TRUE);
  50   1              
  51   1              GetStr_(&SIO_BUFF);
  52   1              while( bRxDone != TRUE);
  53   1      
  54   1              GetStr(&SIO_BUFF);
C51 COMPILER V7.06   MAIN                                                                  10/14/2004 21:37:10 PAGE 2   

  55   1              PutStr("123");
  56   1      
  57   1              TurnOnLED(1);
  58   1              TurnOffLED(1);
  59   1              SMGDisplayOFF();
  60   1      }
  61          
  62          void main()
  63          {
  64   1      
  65   1              bit none=0;
  66   1              
  67   1              ES51_II_Init();
  68   1              EA = 1;                                                 //      允许中断
  69   1      
  70   1              SMGBuffWrite(1,4,0,"8888");             //      数码管全部显示:8888
*** WARNING C206 IN LINE 70 OF C51\MAIN.C: 'SMGBuffWrite': missing function-prototype
*** ERROR C267 IN LINE 70 OF C51\MAIN.C: 'SMGBuffWrite': requires ANSI-style prototype
  71   1              SMGDisplayON();                                 //      打开数码管显示
  72   1      
  73   1      
  74   1              if( none == 1)
  75   1                      Uncall();
  76   1      
  77   1              while(1)
  78   1                      {
  79   2      
  80   2                      Key_Poll();                                     //      按键处理
  81   2                      }
  82   1      }
  83          
  84          //      初始化
  85          void ES51_II_Init(void)
  86          {
  87   1              unsigned char i;
  88   1              
  89   1              for(i=0; i<4;i++)
  90   1                      BUFF[i] = 0;                            //      缓冲区初始化
  91   1              
  92   1              //INT0_Init_KeyINT0();                  //      中断0初始化             
  93   1              //INT1_Init_KeyShare();                 //      中断1初始化
  94   1              InitSerialPort();                               //      串行口初始化
  95   1      }
  96          
  97          
  98          
  99          //      
 100          void Key_Poll(void)
 101          {
 102   1              unsigned char keyval,tmp;
 103   1      
 104   1              static unsigned char ledtype = 0;                               //      
 105   1              static unsigned int count_keyint0 = 0;                  //      INT0键计数
 106   1              static unsigned int count_keycount = 0;                 //      COUNT键计数
 107   1              static unsigned int count_Txd = 0;                              //      字符串发送计数
 108   1              static unsigned int count_WR24 = 0;                             //      
 109   1              static unsigned int count_Bell = 0;
 110   1      
 111   1              keyval = GetKeyVal();
 112   1      
 113   1              if( keyval != VAL_KEYNULL )                                             //      是否有键按下            
 114   1                      {                       
C51 COMPILER V7.06   MAIN                                                                  10/14/2004 21:37:10 PAGE 3   

 115   2                      switch( keyval )
 116   2                              {
 117   3                              case VAL_KEY4:                                                  //      执行流水灯
 118   3                                              BUFF[0] = TEST_LED;
 119   3                                              LoopLEDON(ledtype,5);
 120   3                                              BUFF[1] = BUFF[2] = '0';
 121   3                                              BUFF[3] = ledtype+'0';                  //      最低位显示跑马灯样式
 122   3                                              if( ++ledtype > 3 )
 123   3                                                      ledtype = 0;
 124   3                                              break;
 125   3                              case VAL_KEY3:                                                  //      执行蜂鸣器
 126   3                                              BUFF[0] = TEST_BUZZ;
 127   3                                              if( ++count_Bell == 999 )               //      计数加1
 128   3                                                      count_Bell = 0;
 129   3                                              tmp = count_Bell/100;
 130   3                                              BUFF[1] = tmp+'0';                              //      百
 131   3                                              BUFF[2] = (count_Bell-tmp*100)/10+'0';//        十
 132   3                                              BUFF[3] = count_Bell%10+'0';    //      个      
 133   3                                              SMGBuffWrite(1,4,0,&BUFF);              //
 134   3                                              SMGBuffWrite(1,1,1,&BUFF);                      
 135   3                                              Buzzer(1,2);            
 136   3                                              break;  
 137   3                              case VAL_KEY2:                                                  //      执行串行口发送数据
 138   3                                              BUFF[0] = TEST_UART;                    //
 139   3                                              if( bTxDone == TRUE )                   //      判断前一字符串是否发送完毕
 140   3                                                      {
 141   4                                                      count_Txd++;                            //      发送次数加1;
 142   4                                                      PutStr_("Welcome to EasyStudy51-II!\n\r");                                              
 143   4                                                      }
 144   3                                              tmp = count_Txd/100;
 145   3                                              BUFF[1] = tmp+'0';                              //      百
 146   3                                              BUFF[2] = (count_Txd-tmp*100)/10+'0';// 十
 147   3                                              BUFF[3] = count_Txd%10+'0';             //      个      
 148   3      
 149   3                                              break;  
 150   3                              case VAL_KEY1:                                                  //      执行24C01读写程序
 151   3                                              BUFF[0] = TEST_24C;
 152   3                                              EA = 0;                                                 //      关闭中断,在读写24时若被中断会引起读写不正常
 153   3                                              WriteEEPROM_OneByte(ADDR_24,0x00,0x55);
 154   3                                              DelayMS(10);
 155   3                                              tmp = ReadEEPROM_OneByte(ADDR_24,0x00);
 156   3                                              EA = 1;                                                 //
 157   3                                              if( tmp == 0x55)
 158   3                                                      {
 159   4                                                      count_WR24++;
 160   4                                                      tmp = count_WR24/100;
 161   4                                                      BUFF[1] = tmp+'0';                              //      百
 162   4                                                      BUFF[2] = (count_WR24-tmp*100)/10+'0';//        十
 163   4                                                      BUFF[3] = count_WR24%10+'0';            //      个
 164   4                                                      }
 165   3                                              else                                                    //      错误
 166   3                                                      BUFF[1] = BUFF[2]= BUFF[3] = '0';                                               
 167   3                                              break;
 168   3                              case VAL_KEYINT0:
 169   3                                              if( ++count_keyint0 == 999 )    //      计数加1
 170   3                                                      count_keyint0 = 0;
 171   3                                              BUFF[0] = TEST_INT0KEY;
 172   3                                              tmp = count_keyint0/100;
 173   3                                              BUFF[1] = tmp+'0';                              //      百
 174   3                                              BUFF[2] = (count_keyint0-tmp*100)/10+'0';//     十
 175   3                                              BUFF[3] = count_keyint0%10+'0'; //      个                                      
 176   3                                              break;
C51 COMPILER V7.06   MAIN                                                                  10/14/2004 21:37:10 PAGE 4   

 177   3                              case VAL_KEYCOUNT:
 178   3                                              if( ++count_keycount == 999 )   //      计数加1
 179   3                                                      count_keycount = 0;
 180   3                                              BUFF[0] = TEST_INT0KEY;
 181   3                                              tmp = count_keycount/100;
 182   3                                              BUFF[1] = tmp+'0';                              //      百
 183   3                                              BUFF[2] = (count_keycount-tmp*100)/10+'0';//    十
 184   3                                              BUFF[3] = count_keycount%10+'0';//      个                                      
 185   3                                              break;
 186   3                              default:
 187   3                                              break;
 188   3                              }
 189   2                      SMGBuffWrite(1,4,0,&BUFF);                                      //
 190   2                      SMGBuffWrite(1,1,1,&BUFF);                                      //      
 191   2                      }
 192   1      }

C51 COMPILATION COMPLETE.  1 WARNING(S),  1 ERROR(S)

⌨️ 快捷键说明

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