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

📄 display.lst

📁 使用单片机控制两片串行A/D芯片TLC5615输出字模电压值
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V8.05a   DISPLAY                                                              03/03/2008 08:29:39 PAGE 1   


C51 COMPILER V8.05a, COMPILATION OF MODULE DISPLAY
OBJECT MODULE PLACED IN .\obj\DisPlay.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE source\DisPlay.c BROWSE DEBUG OBJECTEXTEND PRINT(.\lis\DisPlay.lst) OBJECT(
                    -.\obj\DisPlay.obj)

line level    source

   1          #include"AO_Display.H"
   2          extern unsigned char KeyBoardInData;
   3          //bit flag = 0; 
   4          unsigned char Scale = 1; //1为128*64,2为64*32
   5          unsigned char XOffset =0;
   6          unsigned char YOffset =0;
   7          extern unsigned char CharConter; 
   8          unsigned char dx;
   9          unsigned char dy;
  10          
  11          //unsigned char RXCount;
  12          unsigned char RXBuffers[3];
  13          
  14          unsigned char RXCount = 2;
  15          unsigned char jcount=0;
  16          
  17          
  18          unsigned char code XAdd [6] ={32,48,64,80,96,112};
  19          unsigned char code YAdd [2] ={128,96};
  20          unsigned char CharBuffer[16]={200,200,200,200,
  21                                                                    200,200,200,200};
  22          //unsigned char tabx[]={32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,5
             -9,60};
  23          //unsigned char taby[]={32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,5
             -9,60};
  24          extern void zuobiao1(void);     
  25          
  26          /*********************************************************** 
  27          函数名称: 
  28          函数功能:显示字符数组 
  29          入口参数: 
  30          出口参数: 
  31          备 注: 
  32          ***********************************************************/
  33          /*void DisCharBuffer( void )
  34          {
  35                  unsigned i,j;
  36                  for(i=0;i<2;i++)
  37                          for(j=0;j<4;j++)
  38                                  {
  39                                  DisOneLetterInAO(XAdd[j],YAdd[i],CharBuffer[i*4+j]);
  40                                  }
  41          }  */
  42          
  43          
  44          
  45          /****************************************************** 
  46          函数名称:串口初始化函数
  47          入口参数:void
  48          修改时间:
  49          ******************************************************/         
  50          void UartInit( void )
  51          {
  52   1                      EA = 0;
C51 COMPILER V8.05a   DISPLAY                                                              03/03/2008 08:29:39 PAGE 2   

  53   1                      TR1 = 0;
  54   1                      RXD = 1;
  55   1                      TXD = 1;
  56   1                      SCON = 0x50;      //串口方式1,允许接收
  57   1                      PCON = 0x00;    
  58   1                      TMOD = 0x21;
  59   1                      TH1 = 0xfd;
  60   1                      TL1 = 0xfd;          //设置波特率9600
  61   1                      TR1 = 1;
  62   1                      ES = 1;                  //允许串行口中断  
  63   1                      EA = 1;                  //允许中断
  64   1      }
  65          
  66          /***********************************************************
  67          函数名称:串口中断函数
  68          修改时间:
  69          ***********************************************************/
  70          void sioproc() interrupt 4     // using 1
  71          {       unsigned char i;
  72   1              unsigned char m; 
  73   1              unsigned char tabx[2];
  74   1          unsigned char taby[2];
  75   1          if (RI)                              //接收中断
  76   1             {
  77   2                     RI = 0;                                             
  78   2                         
  79   2                         if(RXCount)
  80   2                         {  
  81   3                             m = SBUF; 
  82   3                                 RXCount--;                  
  83   3                                 RXBuffers[1-RXCount] = m;    
  84   3                                                        
  85   3                                 if(RXCount==0)
  86   3                                   {
  87   4                                      RXCount = 2;          //当接收到的数据为2时给接收次数清零
  88   4                                              dx = RXBuffers[0];
  89   4                                      dy = RXBuffers[1]; 
  90   4                                              tabx[jcount] = dx;
  91   4                                      taby[jcount] = dy;
  92   4                                      jcount++; 
  93   4                                          if(jcount==40)//采集40个点
  94   4                                     {
  95   5                                                   
  96   5                                                       while(1)
  97   5                                                       {
  98   6      
  99   6                                                              zuobiao1();
 100   6                                          for(i=0;i<100;i++)
 101   6                                            {           
 102   7                                                            DisPoint(tabx[i],taby[i]);           
 103   7                                 
 104   7                                             }         
 105   6                                                        jcount = 0; 
 106   6                                                                      
 107   6                                                }
 108   5                                
 109   5                                                  }
 110   4      
 111   4      
 112   4                                        }    
 113   3                                               
 114   3                   }
C51 COMPILER V8.05a   DISPLAY                                                              03/03/2008 08:29:39 PAGE 3   

 115   2                  }
 116   1       }
 117          
 118          
 119          /*********************************************************** 
 120          函数名称: 
 121          函数功能: 显示一个16x16的字符
 122          入口参数: 
 123          出口参数: 
 124          备 注: 
 125          ***********************************************************/
 126          void Dis16x16Char(unsigned x,unsigned y,unsigned char *zifu)
 127          {
 128   1         unsigned char i,j,k;
 129   1         for(k=0;k<2;k++)
 130   1              for(i=0;i<8;i++)
 131   1               for(j=0;j<16;j++)
 132   1                {
 133   2                      if((zifu[j+16*k]>>i)&0x01)
 134   2                      {
 135   3                        DisPoint(x+(j*Scale)+XOffset,(y+(8*k+i)*Scale)+YOffset);         //
 136   3                      }
 137   2                      else 
 138   2                      {
 139   3                        ZLocation = 0;
 140   3                      }                       
 141   2              }
 142   1      }
 143          /*********************************************************** 
 144          函数名称: 
 145          函数功能: 显示一个8x16的字符
 146          入口参数: 
 147          出口参数: 
 148          备 注: 
 149          ***********************************************************/
 150          void Dis8x16Char(unsigned x,unsigned y,unsigned char *zifu)
 151          {
 152   1              unsigned char i,j,k;
 153   1              for(k=0;k<2;k++)
 154   1              for(i=0;i<8;i++)
 155   1               {
 156   2                      for(j=0;j<8;j++)
 157   2                      {
 158   3                       if((zifu[j+8*k]>>i)&0x01)
 159   3                       {                                      
 160   4                              DisPoint(x+(j*Scale)+XOffset,(y+(8*k+i)*Scale)+YOffset);        
 161   4                       }
 162   3                      else
 163   3                       {
 164   4                              ZLocation = 1;
 165   4                       }
 166   3             }
 167   2              }
 168   1      }
 169          /*********************************************************** 
 170          函数名称: 
 171          函数功能:绘一个点 
 172          入口参数: 
 173          出口参数: 
 174          备 注: 
 175          ***********************************************************/
 176          void DisPoint(unsigned char x,unsigned char y)
C51 COMPILER V8.05a   DISPLAY                                                              03/03/2008 08:29:39 PAGE 4   

 177          {
 178   1              //      ZLocation = 0;  
 179   1                      XLocation(x);            
 180   1                      YLocation(y);   
 181   1              //      ZLocation = 1;
 182   1      }
 183          
 184          
 185          void shurushow( void )
 186          {
 187   1         unsigned char i;  
 188   1      
 189   1              for(i=0;i<20;i++)
 190   1              {
 191   2      //      Dis16x16Char(XAdd[0],YAdd[0],shu);
 192   2      //      Dis16x16Char(XAdd[1],YAdd[0],ru);

⌨️ 快捷键说明

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