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

📄 main.lst

📁 基于51平台的串口一扩五芯片GM8125的测试程序
💻 LST
字号:
C51 COMPILER V7.50   MAIN                                                                  03/09/2005 21:43:20 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: E:\学习工具\Keil51\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /********************************************************************************
   2          * 文件:MAIN.C
   3          * 功能:主函数
   4          * 作者:宋智宁
   5          * 日期:2005.3.8
   6          * 备注:测试串口一扩五芯片GM8125读写
   7          *********************************************************************************/
   8          #include "config.h" 
   9          
  10          
  11          //区分CPU类型
  12          #ifndef C51_MX   //AT89S52
  13          
  14          GM8125BUF SerBuf; //接收缓冲区
  15          
  16          /**********************************************************************
  17          ;功能:主函数
  18          ;说明:
  19          ;*********************************************************************/
  20          void main(void)
  21          {          
  22   1        uint8 i=1,buffer[16]="Hello, world\n";
  23   1      
  24   1        GM8125_Init(1,57600);
  25   1        //GM8125_Send(0,i,buffer,16);
  26   1        
  27   1        while(1)
  28   1        {
  29   2              //GM8125_Rev(&SerBuf,10);
  30   2        }
  31   1      }
  32           
  33          #else  //P89C669 
              
              /******************数据变量定义*****************/ 
              static unsigned char SendBuff[]="XDATA...\n"; //{0x55,0x45,0x67,0xbc,0x00}; 
              static unsigned char ReceiveBuff[5]={0x00,0x00,0x00,0x00,0x00}; 
              
              /******************************************************/
              /*函数名称: MAIN.C */ 
              /*函数功能: 主机主程序 */ 
              /*********************************************/ 
              void main(void) 
              {
                unsigned char dat, c=0;
                unsigned char *datp=&dat,*cp=&c;
                unsigned int i;
              //--------------------------------------------
                MXCON |= 0x04; //EAM = 1 允许访问超出64K部分
                AUXR |= 0x02;  //EXTRAM = 1 访问外部数据存储器(关闭片内)
              
                Uart_Init(uart_num,9600); //uart
              
                SetMS();//MS=1; //GM8125工作在单通道工作模式下 
                SelectUart(5);  //选择8125子通道5工作
C51 COMPILER V7.50   MAIN                                                                  03/09/2005 21:43:20 PAGE 2   

              
                Uart_Send_Str(uart_num, "Start...\n");  
                Uart_Send_Str(uart_num, "comm");
                Uart_Send_Byte(uart_num, 0x30+(unsigned char)uart_num); //display comm no
                Uart_Send_Str(uart_num, ": 9600bps\n");
              
                while(1)
                {
                  c = Uart_Rev(uart_num);  //wait for cmd
              
                      switch(c) 
                  {
                    case 0:{
                          Uart_Send_Str(uart_num, "\nCH ");
                              Uart_Send_Byte(uart_num, 0x31+c); //display channel no
                              Uart_Send_Str(uart_num, ": 1200bps\n");
                      Uart_Init(uart_num,1200);
                              SelectUart(1); //选择8125子通道1工作    
                              break;
                    }
                    case 1:{
                          Uart_Send_Str(uart_num, "\nCH ");
                              Uart_Send_Byte(uart_num, 0x31+c); //display channel no
                              Uart_Send_Str(uart_num, ": 2400bps\n");
                              Uart_Init(uart_num,2400);
                              SelectUart(2); //选择8125子通道2工作    
                              break; 
                   } 
                   case 2:{ 
                         Uart_Send_Str(uart_num, "\nCH ");
                              Uart_Send_Byte(uart_num, 0x31+c); //display channel no
                              Uart_Send_Str(uart_num, ": 4800bps\n");
                              Uart_Init(uart_num,4800);
                              SelectUart(3);//选择8125子通道3工作     
                              break; 
                   } 
                   case 3:{ 
                          Uart_Send_Str(uart_num, "\nCH ");
                              Uart_Send_Byte(uart_num, 0x31+c); //display channel no
                              Uart_Send_Str(uart_num, ": 9600bps\n");
                      Uart_Init(uart_num,9600);
                              SelectUart(4); //选择8125子通道4工作    
                              break; 
                   } 
                   case 4:{   
                          Uart_Send_Str(uart_num, "\nCH ");
                              Uart_Send_Byte(uart_num, 0x31+c); //display channel no
                              Uart_Send_Str(uart_num, ": 19200bps\n");
                              Uart_Init(uart_num,19200);
                              SelectUart(5); //选择8125子通道5工作  
                              break; 
                   } 
                       case 10:{  //LCD test
                      Uart_Send_Str(uart_num, "Wait for LCD data\n");
                              dat = Uart_Rev(uart_num);
                              Lcd_Data = dat;
                              Uart_Send_Str(uart_num, "Wait for LCD Ctrl\n");
                              dat = Uart_Rev(uart_num);
                              Lcd_Ctrl = dat;
                              continue;
                       }
                       case 0xff:{   //change uart port
C51 COMPILER V7.50   MAIN                                                                  03/09/2005 21:43:20 PAGE 3   

                      Uart_Send_Str(uart_num, "\ncomm");
                          Uart_Send_Byte(uart_num, 0x30+(unsigned char)(~uart_num)); //display comm no 
                              Uart_Send_Str(uart_num, "\nCH ");
                              Uart_Send_Byte(uart_num, 0x31+3); //display channel no
                              Uart_Send_Str(uart_num, ": 9600bps\n");
              
                              uart_num = ~uart_num; //change uart port(0/1)
                      Uart_Init(uart_num,9600);
                              SelectUart(4); //选择8125子通道4工作        
                              continue;
                       } 
                   default: break; 
                 }      
              
                 /*主控MCU发送/接收程序*/   
                 dat = Uart_Rev(uart_num); //wait for cmd
              
                 Uart_Send_Byte(uart_num, dat);
               
                } 
              }  
              #endif 


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =     33    ----
   CONSTANT SIZE    =     16    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     65      17
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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