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

📄 main.lst

📁 无线单片机CC1110的一些使用源代码
💻 LST
字号:
C51 COMPILER V8.08   MAIN                                                                  01/11/2008 17:22:57 PAGE 1   


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

line level    source

   1          
   2          #include "iocc1110.h"
   3          #define uint unsigned int
   4          #define uchar unsigned char
   5          
   6          #define ConversionNum 20
   7          //定义控制灯的端口
   8          sbit led1 = P1^0;       
   9          sbit led2 = P1^1;
  10          
  11          void Delay(uint);
  12          void initUARTtest(void);
  13          void InitialAD(void);
  14          void UartTX_Send_String(char *Data,int len);
  15          
  16          
  17          uchar adcdata[]="0.000V";
  18          
  19          /****************************************************************
  20          *函数功能 :延时                                                                                                *
  21          *入口参数 :定性延时                                                                                    *
  22          *返 回 值 :无                                                                                                  *
  23          *说    明 :                                                                                                    *
  24          ****************************************************************/
  25          void Delay(uint n)
  26          {
  27   1              uint i;
  28   1              for(i=0;i<n;i++);
  29   1              for(i=0;i<n;i++);
  30   1              for(i=0;i<n;i++);
  31   1              for(i=0;i<n;i++);
  32   1              for(i=0;i<n;i++);
  33   1      }
  34          
  35          /****************************************************************
  36          *函数功能 :初始化串口1                                                                                 *
  37          *入口参数 :无                                                                                                  *
  38          *返 回 值 :无                                                                                                  *
  39          *说    明 :57600-8-n-1                                                                                 *
  40          ****************************************************************/
  41          void initUARTtest(void)
  42          {
  43   1      
  44   1          SLEEP &= ~0x04;              //晶振
  45   1          while(!(SLEEP & 0x40));      //等待晶振稳定  
  46   1          CLKCON &= ~0x47;             //TICHSPD128分频,CLKSPD不分频
  47   1          SLEEP |= 0x04;                               //关闭不用的RC振荡器
  48   1      
  49   1              PERCFG = 0x00;                          //位置1 P0口
  50   1              P0SEL = 0x3c;                           //P0用作串口
  51   1              
  52   1              U0CSR |= 0x80;                          //UART方式
  53   1              U0GCR |= 11;                            //baud_e = 11;
  54   1              U0BAUD |= 34;                           //波特率设为57600
C51 COMPILER V8.08   MAIN                                                                  01/11/2008 17:22:57 PAGE 2   

  55   1              UTX0IF = 1;
  56   1      }
  57                       
  58          
  59          /****************************************************************
  60          *函数功能 :初始化ADC                                                                                   *
  61          *入口参数 :无                                                                                                  *
  62          *返 回 值 :无                                                                                                  *
  63          *说    明 :参考电压AVDD,转换对象是1/3AVDD                                             *
  64          ****************************************************************/
  65          void InitialAD(void)
  66          {
  67   1              //P1 out
  68   1              P1DIR = 0x03;           //P1控制LED
  69   1              led1 = 1;
  70   1              led2 = 1;                       //关LED
  71   1      
  72   1              ADCH &= 0X00;           //清EOC标志     
  73   1              ADCCON3=0xbf;           //单次中断参考电压为电源电压,对1/3 AVDD进行A/D转换
  74   1                                                      //12位分辨率
  75   1              ADCCON1 = 0X30;         //停止A/D
  76   1      
  77   1              ADCCON1 |= 0X40;        //启动A/D
  78   1      }
  79          
  80          /****************************************************************
  81          *函数功能 :串口发送字符串函数                                                                  *
  82          *入口参数 : data:数据                                                                                   *
  83          *                       len :数据长度                                                                           *
  84          *返 回 值 :无                                                                                                  *
  85          *说    明 :                                                                                                    *
  86          ****************************************************************/
  87          void UartTX_Send_String(char *Data,int len)
  88          {
  89   1        int j;
  90   1        for(j=0;j<len;j++)
  91   1        {
  92   2          U0DBUF = *Data++;
  93   2          while(UTX0IF == 0);
  94   2          UTX0IF = 0;
  95   2        }
  96   1      }
  97          
  98          
  99          /****************************************************************
 100          *函数功能 :主函数                                                                                              *
 101          *入口参数 :无                                                                                                  *
 102          *返 回 值 :无                                                                                                  *
 103          *说    明 :无                                                                                                  *
 104          ****************************************************************/
 105          void main(void)
 106          {       
 107   1              uchar temp[2];
 108   1              float num;
 109   1              uchar i;
 110   1              initUARTtest();
 111   1              InitialAD();
 112   1              
 113   1              adcdata[0] = 0x01;
 114   1              adcdata[1] = 0x02;
 115   1              adcdata[2] = 0xAA;
 116   1              led1 = 1;
C51 COMPILER V8.08   MAIN                                                                  01/11/2008 17:22:57 PAGE 3   

 117   1      
 118   1              i = ConversionNum;
 119   1              while(i>0)
 120   1              {
 121   2                      if(ADCCON1>=0x80)
 122   2                      {
 123   3                              led1 = !led1;                                   //转换完毕指示
 124   3                              adcdata[1] = ADCL;
 125   3                              adcdata[0] = ADCH;
 126   3                              ADCCON1 |= 0x40;                                //开始下一转换
 127   3      
 128   3                              temp[0] = adcdata[0]>>4;            //数据处理
 129   3                              temp[1] = adcdata[1]>>4;
 130   3                              temp[1] |= adcdata[0]<<4;
 131   3      
 132   3                              num = (temp[0]*256+temp[1])/2047*5.00;
 133   3      
 134   3                              adcdata[0] = (char)num;
 135   3                              adcdata[2] = (char)(num*10%10);
*** ERROR C193 IN LINE 135 OF SOURCE\MAIN.C: '%': bad operand type
 136   3                              adcdata[3] = (char)(num*100%10);
 137   3                              adcdata[4] = (char)(num*1000%10);
 138   3      
 139   3                              
 140   3              
 141   3                              ADCCON1 |= 0x40;                                //开始下一转换
 142   3                              UartTX_Send_String(adcdata,3);  //串口送数
 143   3      
 144   3                              Delay(30000);
 145   3                              led1 = !led1;   
 146   3                              Delay(30000);   
 147   3      
 148   3                              i--;
 149   3                      }                                                                        //20次转换
 150   2              }
 151   1              while(1);       //程序停在这里 方便使用串口调试助手
 152   1      }
 153          

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

⌨️ 快捷键说明

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