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

📄 uart.lst

📁 FAT32文件系统源码
💻 LST
字号:
C51 COMPILER V7.02a   UART                                                                 12/22/2010 21:07:57 PAGE 1   


C51 COMPILER V7.02a, COMPILATION OF MODULE UART
OBJECT MODULE PLACED IN uart.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE uart.c LARGE BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1                                    //UART 相关函数------------------------
   2          
   3          /*----------------------------------------------
   4          函数名:UART_Init()
   5          功能:   串口初始化
   6                  通讯有关参数初始化
   7                  将串口波特率设定为9600bps(TC35i专用波特率)
   8          作者:  于振南
   9          -----------------------------------------------*/
  10          #include "uart.h"
  11          
  12          void UART_Init()        /* 通讯有关参数初始化 */
  13          {
  14   1        ES=0;
  15   1        SCON=0x50;
  16   1        T2CON=0x34;
  17   1        RCAP2H=0xFF;
  18   1        RCAP2L=0xD8;//0xB2//D8
  19   1        ES=1;
  20   1      
  21   1      
  22   1      }
  23          
  24          /*-------------------------------------------------------
  25          函数名:send()
  26          功能:用户函数,发送一个字节的数据
  27          作者:于振南
  28          ----------------------------------------------------------*/
  29          
  30          void send(unsigned char mydata) 
  31          {
  32   1              ES=0;
  33   1              TI=0;
  34   1              SBUF=mydata;
  35   1              while(!TI);
  36   1              TI=0;
  37   1          ES=1;
  38   1      }
  39          
  40          /*-------------------------------------------------------
  41          函数名:send_s()
  42          功能:用户函数,发送一个字符串
  43          作者:于振南
  44          ----------------------------------------------------------*/
  45          
  46          void send_s(char *s)
  47          {
  48   1       int len=strlen(s);
  49   1       int i;
  50   1       for(i=0;i<len;i++)
  51   1       send(s[i]);
  52   1       send(0x0d);
  53   1       send(0x0a);
  54   1      }
  55          
C51 COMPILER V7.02a   UART                                                                 12/22/2010 21:07:57 PAGE 2   

  56          /*----------------------------------------------------
  57           函数名:ftoa()
  58           功能  :将一个浮点数转为一个精度为jd的字符串,存于s中
  59          ------------------------------------------------------*/
  60          char * ftoa(float dat,char *s,unsigned char jd)
  61          {
  62   1       int len,temp,flag=dat<0?dat=-dat,1:0,i;
  63   1       char t[10];
  64   1       temp=(int)dat;
  65   1       for(len=0;temp>0;temp/=10,len++)
  66   1       t[len]=temp%10+48;
  67   1       for(i=0;i<=len;i++)
  68   1       s[len-i-1]=t[i];
  69   1       s[len++]='.';
  70   1      // for(i=0,temp=(int)((dat-(int)dat)*pow(10,jd));temp>0;temp/=10,i++)
  71   1       t[i]=temp%10+48;
  72   1       for(i=0;i<jd;i++)
  73   1       s[len++]=t[jd-i-1];
  74   1       s[len++]=0x0d;
  75   1       s[len++]=0x0a;
  76   1       s[len]=0;
  77   1       return s;
  78   1      }
  79           int szzh16(unsigned char datax, char *p)
  80          {
  81   1       unsigned char temp;
  82   1       temp=datax;
  83   1       p[0]=((temp>>4)>=10)?(temp>>4)+55:(temp>>4)+48;
  84   1       p[1]=((temp&0x0f)>=10)?(temp&0x0f)+55:(temp&0x0f)+48;
  85   1       p[2]=0;
  86   1       return 1;
  87   1      }
  88          
  89          void PutLong(unsigned long dat)
  90          {
  91   1       while(dat)
  92   1       {
  93   2        send(dat%10+0x30);
  94   2        dat/=10;
  95   2       }
  96   1      }
  97          
  98          void PutHex(unsigned char x)
  99          {
 100   1       unsigned char temp[10];
 101   1       szzh16(x,temp);
 102   1       send_s(temp);
 103   1      }
 104          
 105          void Printf(char *s,unsigned long d)
 106          {
 107   1       while(*s != '\0')
 108   1            {     
 109   2               send(*s++);
 110   2            }
 111   1       send(':');
 112   1       send(' ');
 113   1       send(d/1000+0x30);
 114   1       send(d%1000/100+0x30);
 115   1       send(d%1000%100/10+0x30);
 116   1       send(d%1000%100%10+0x30);
 117   1       send('\n');
C51 COMPILER V7.02a   UART                                                                 12/22/2010 21:07:57 PAGE 3   

 118   1       send('\r');
 119   1       //unsigned char temp[30];
 120   1       //send_s(s);
 121   1       //PutLong(d);
 122   1      }
 123          
 124          void Printf_File_Name(unsigned char *p)
 125          {
 126   1       unsigned char temp[12];
 127   1       unsigned char i;
 128   1       for(i=0;i<11;i++)
 129   1       {
 130   2        temp[i]=p[i];
 131   2       }
 132   1       temp[i]=0;
 133   1       send_s(temp);
 134   1      }
 135          
 136          //UART----END-------------------------------


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