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

📄 mian.lst

📁 无线单片机CC1110的一些使用源代码
💻 LST
字号:
C51 COMPILER V8.08   MIAN                                                                  12/28/2007 14:03:47 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE MIAN
OBJECT MODULE PLACED IN mian.obj
COMPILER INVOKED BY: d:\program files\Keil\C51\BIN\C51.EXE source\mian.c BROWSE INCDIR(D:\Program Files\Keil\C51\INC\CHI
                    -PCON) DEFINE(CC1110) DEBUG OBJECTEXTEND PRINT(.\mian.lst) OBJECT(mian.obj)

line level    source

   1          #include <chipcon/iocc1110.h>
   2          #include <string.h>
   3          
   4          #define uint unsigned int
   5          #define uchar unsigned char
   6          #define FALSE 0
   7          #define TURE 1
   8          
   9          //定义控制灯的端口
  10          sbit led1 = P1^0;       
  11          sbit led2 = P1^1;
  12          
  13          void Delay(uint);
  14          void initUARTtest(void);
  15          void InitialAD(void);
  16          void UartTX_Send_String(char *Data,int len);
  17          
  18          
  19          uchar Recdata[30]="ChenDu WuXianLong TongXun";
  20          uchar RFflag = 1;
  21          uchar temp;
  22          uint  datanumber = 0;
  23          uint  stringlen;
  24          
  25          /****************************************************************
  26          *函数功能 :延时                                                                                                *
  27          *入口参数 :定性延时                                                                                    *
  28          *返 回 值 :无                                                                                                  *
  29          *说    明 :                                                                                                    *
  30          ****************************************************************/
  31          void Delay(uint n)
  32          {
  33   1              uint i;
  34   1              for(i=0;i<n;i++);
  35   1              for(i=0;i<n;i++);
  36   1              for(i=0;i<n;i++);
  37   1              for(i=0;i<n;i++);
  38   1              for(i=0;i<n;i++);
  39   1      }
  40          
  41          /****************************************************************
  42          *函数功能 :初始化串口1                                                                                 *
  43          *入口参数 :无                                                                                                  *
  44          *返 回 值 :无                                                                                                  *
  45          *说    明 :57600-8-n-1                                                                                 *
  46          ****************************************************************/
  47          void initUARTtest(void)
  48          {
  49   1      
  50   1          SLEEP &= ~0x04;              //晶振
  51   1          while(!(SLEEP & 0x40));      //等待晶振稳定  
  52   1          CLKCON &= ~0x47;             //TICHSPD128分频,CLKSPD不分频
  53   1          SLEEP |= 0x04;                               //关闭不用的RC振荡器
  54   1      
C51 COMPILER V8.08   MIAN                                                                  12/28/2007 14:03:47 PAGE 2   

  55   1              PERCFG = 0x00;                          //位置1 P0口
  56   1              P0SEL = 0x3c;                           //P0用作串口
  57   1              
  58   1              U0CSR |= 0x80;                          //UART方式
  59   1              U0GCR |= 11;                            //baud_e = 11;
  60   1              U0BAUD |= 34;                           //波特率设为57600
  61   1              UTX0IF = 1;
  62   1      
  63   1              U0CSR |= 0X40;                          //允许接收
  64   1              IEN0 |= 0x84;                           //开总中断,接收中断
  65   1      }
  66          
  67          /****************************************************************
  68          *函数功能 :串口接收一个字符                                                                    *
  69          *入口参数 : 无                                                                                                  *
  70          *返 回 值 :无                                                                                                  *
  71          *说    明 :接收完成后打开接收                                                                  *
  72          ****************************************************************/
  73          void USART0Rec(void) interrupt 2
  74          {
  75   1              URX0IF = 0;                                     //清中断标志
  76   1              temp = U0DBUF;
  77   1      }
  78          
  79          
  80          
  81          
  82          /****************************************************************
  83          *函数功能 :串口发送字符串函数                                                                  *
  84          *入口参数 : data:数据                                                                                   *
  85          *                       len :数据长度                                                                           *
  86          *返 回 值 :无                                                                                                  *
  87          *说    明 :                                                                                                    *
  88          ****************************************************************/
  89          void UartTX_Send_String(char *Data,int len)
  90          {
  91   1        int j;
  92   1        for(j=0;j<len;j++)
  93   1        {
  94   2          U0DBUF = *Data++;
  95   2          while(UTX0IF == 0);
  96   2          UTX0IF = 0;
  97   2        }
  98   1      }
  99          
 100          
 101          /****************************************************************
 102          *函数功能 :主函数                                                                                              *
 103          *入口参数 :无                                                                                                  *
 104          *返 回 值 :无                                                                                                  *
 105          *说    明 :无                                                                                                  *
 106          ****************************************************************/
 107          void main(void)
 108          {       
 109   1              //P1 out
 110   1              P1DIR = 0x03;                                   //P1控制LED
 111   1              led1 = 1;
 112   1              led2 = 1;                                               //关LED
 113   1      
 114   1              initUARTtest();
 115   1              stringlen = strlen(Recdata);
 116   1              UartTX_Send_String(Recdata,stringlen);    //AD
C51 COMPILER V8.08   MIAN                                                                  12/28/2007 14:03:47 PAGE 3   

 117   1      
 118   1              while(1)
 119   1              {
 120   2                      if(RFflag == 1)                         //接收
 121   2                      {
 122   3                              led2=0;                                 //接收状态指示
 123   3                              if((temp!= '#')&&(datanumber<=30))
 124   3                              {       
 125   4                                      if(temp != 0)Recdata[datanumber++] = temp;
 126   4                                      temp = 0;
 127   4                              }
 128   3                              else
 129   3                              {
 130   4                                      RFflag = 3;                     //收到结束标志
 131   4                                                                              //或者已经达到收数上限
 132   4                                                                              //进入发送状态
 133   4                                      datanumber--;
 134   4                                      led2 = 1;                   //关接收指示
 135   4                              }
 136   3                       }
 137   2      
 138   2                      if(RFflag == 3)                         //发送
 139   2                      {
 140   3                              led1 = 0;                               //发送状态指示
 141   3                              U0CSR &= ~0x40;                 //不能收数
 142   3                              UartTX_Send_String(Recdata,datanumber);
 143   3                              U0CSR |= 0x40;                  //允许收数 
 144   3                              RFflag = 1;                             //
 145   3                              datanumber = 0;                 //指针归0
 146   3                              led1 = 1;                               //关发送指示
 147   3                      }
 148   2      
 149   2              }
 150   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    319    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     36       5
   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 + -