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

📄 text145.lst

📁 在C8051F040上成功一直了UCOS操作系统
💻 LST
字号:
C51 COMPILER V7.06   TEXT145                                                               03/30/2009 21:07:39 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE TEXT145
OBJECT MODULE PLACED IN Text145.OBJ
COMPILER INVOKED BY: F:\Keil C51\C51\BIN\C51.EXE Text145.C LARGE BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          /////////////////////////////////////                                                                     
             -                                 
   2          //  Generated Initialization File  //                                                                     
             -                                 
   3          /////////////////////////////////////                                                                     
             -                                 
   4          #include "reg52.h"                                                                                        
             -                              
   5          #include"data.h"                                                                                          
             -                                    
   6          //unsigned char N=17; //要显示的汉字的个数  
   7          #define   N 18
   8          #include <stdio.h>   
   9          #define uchar unsigned char
  10          #define uint unsigned int     
  11          
  12          #define MAX_LEN 34//每次接收/发送字符串的长度   
  13          bit     readFlag = 0;//读标志
  14          uchar readCounts = 0;//已经读取的字符个数,与MAX_LEN比较
  15          uchar idata trdata[MAX_LEN];//要接收/发送的字符串
  16                                                                                                                    
             -  
  17          long int  yidong=0;                                                                                       
             -                                           
  18          sbit  clk=P1^4;                                                                                           
             -                                   
  19          sbit  com=P1^3;                                                                                           
             -                                      
  20          sbit  RCLK1=P1^0;                                                                                         
             -                               
  21          sbit  SRCLK =P1^1;                                                                                        
             -                             
  22          sbit  DATA =P1^2;     
  23          
  24          unsigned char lie=0;   
  25          unsigned int sum=0;   
  26          unsigned char a;                                                                                          
             -                        
  27          
  28          void UART0_ISR();//串口中断服务程序,接收字符   
  29          void Send_Char(uchar ch);//发送单个字符
  30          
  31          
  32          void Send_Char(unsigned char ch)
  33          {
  34   1      SBUF = ch;//送入缓冲区
  35   1      while(TI == 0);//等待发送完毕
  36   1      TI = 0;//软件清零
  37   1      }
  38          
  39          void delay(unsigned char k)
  40          {
  41   1         
  42   1                   while(k--);
  43   1      }
C51 COMPILER V7.06   TEXT145                                                               03/30/2009 21:07:39 PAGE 2   

  44          
  45          //*****************************************************************
  46          //向595发送16位数据
  47          // y  为偏移量
  48          //****************************************************************
  49          void send(unsigned char *D,unsigned char l,unsigned char y)
  50          {
  51   1        unsigned char m=0,a=y/16,b=y%16,c=0,dat1,dat2,cen[17]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
  52   1       
  53   1        if(l<(16-b))c=0;
  54   1          else
  55   1          {
  56   2              c=1;
  57   2              l=l+b-16;
  58   2              b=0;
  59   2              }
  60   1              dat1=*(D+a*32+l+c*32+b);
  61   1              dat2=*(D+a*32+l+c*32+b+16);          
  62   1              P3=0xff;
  63   1              P2=0xfe;
  64   1                            for(m=0;m<8;m++)
  65   1                            {
  66   2                              cen[8+m]=(dat1>>m)&0x01;
  67   2                             }
  68   1                    
  69   1                     for(m=0;m<8;m++)
  70   1                            {
  71   2                          cen[m]=(dat2>>m)&0x01;
  72   2                            } 
  73   1               cen[16]=cen[0];          
  74   1            RCLK1=0;
  75   1            for(m=0;m<16;m++)
  76   1                       {
  77   2                SRCLK=0;
  78   2                        SRCLK=1;
  79   2                        DATA=cen[m+1];
  80   2               }
  81   1                 RCLK1=1;      
  82   1      }
  83          
  84          //UART0中断服务程序. 接收字符
  85          
  86          void UART_ISR(void) interrupt 4 using 1
  87          {
  88   1       uchar rxch;
  89   1       if(RI)//中断标志 RI0=1 数据完整接收
  90   1       {
  91   2        RI = 0;//软件清零
  92   2        rxch = SBUF;//读缓冲
  93   2        //SBUF0=rxch;
  94   2       if(readCounts>MAX_LEN) 
  95   2        {
  96   3        readCounts = 0;
  97   3        readFlag = 1;
  98   3        }
  99   2        if(readCounts=MAX_LEN)
*** WARNING C276 IN LINE 99 OF TEXT145.C: constant in condition expression
 100   2        {
 101   3         a=rxch;
 102   3        }
 103   2        trdata[readCounts] = rxch;//存入数组,供发送
 104   2        readCounts++;
C51 COMPILER V7.06   TEXT145                                                               03/30/2009 21:07:39 PAGE 3   

 105   2        //N=1;
 106   2       }
 107   1       for(readCounts=1;readCounts<MAX_LEN-1; readCounts++)
 108   1        {
 109   2         sum=sum+trdata[readCounts];
 110   2        }
 111   1        if(sum!=trdata[MAX_LEN-1])
 112   1        {
 113   2         Send_Char(15);
 114   2        }
 115   1      }
 116          
 117          
 118          void main(void)
 119          {
 120   1        unsigned char m=0;
 121   1        /*IE        = 0x92;
 122   1        TMOD       =0x21;
 123   1        TCON      = 0x10;
 124   1      // unsigned int i;
 125   1        SCON=0x50;
 126   1        PCON=0;
 127   1       // REN=1;
 128   1        TH1=0xfd;
 129   1        TL1=0xfd;
 130   1        TI=1;
 131   1        TR1=1;
 132   1        PS=1;
 133   1        TL0       = 0x76;
 134   1        TH0       = 0xd6;*/
 135   1        IE=0x82;
 136   1         TCON      = 0x10;
 137   1          TMOD      = 0x09;
 138   1          TL1       = 0x12;
 139   1          TH1       = 0x00;
 140   1        while(1)
 141   1        { 
 142   2           com=1;     
 143   2         for(lie=0;lie<16;lie++)
 144   2                 {
 145   3                   send(DAT,lie,yidong);
 146   3                   clk=0;
 147   3                   clk=1;     
 148   3                       com=0;
 149   3                       delay(5);
 150   3                 }
 151   2         }
 152   1      }
 153          
 154          
 155          
 156          void aa(void) interrupt 1
 157          {
 158   1          yidong++;
 159   1          if(yidong>=16*(N-1)) yidong=0;
 160   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    673    ----
   CONSTANT SIZE    =    561    ----
   XDATA SIZE       =      9      28
C51 COMPILER V7.06   TEXT145                                                               03/30/2009 21:07:39 PAGE 4   

   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =     34    ----
   BIT SIZE         =      1    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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