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

📄 lcd_send.lst

📁 书中详细说明了多路数据采集的方法,以及怎么样用AD来采集数据哟,大家不妨看看嘛,说不定有所帮助哟?
💻 LST
字号:
C51 COMPILER V7.50   LCD_SEND                                                              03/17/2007 10:53:09 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE LCD_SEND
OBJECT MODULE PLACED IN LCD_send.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE LCD_send.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /*=================================================================================*/
   2          //LCD显示函数
   3          /*=================================================================================*/
   4          #include <c8051f020.h> // SFR 声明
   5          #include <intrins.h>
   6          #include <ABSACC.H>
   7          #include "LCD_send.h"
   8          
   9          /*************************************************************************************
  10            函数功能:us延时
  11            输入参数:延时时间timer
  12            输出参数:无
  13          *************************************************************************************/         
  14          void delay_us(int timer)//us沿时
  15          {  
  16   1        timer*=20;//时钟周期调整
  17   1        for(;timer>0;timer--)
  18   1        _nop_();
  19   1      }
  20          
  21          /*************************************************************************************
  22            函数功能:ms延时
  23            输入参数:延时时间timer
  24            输出参数:无
  25          *************************************************************************************/ 
  26          void delay_ms(unsigned int i)//ms沿时
  27          { 
  28   1         while(--i)
  29   1         delay_us(500);
  30   1      }
  31          
  32          /************************************************************************************
  33            函数功能:LCD 初始化
  34            输入参数:无
  35            输出参数:无                              
  36          ************************************************************************************/
  37          void lcd_init(void)
  38          {
  39   1        LCDRES=0;
  40   1        delay_ms(5);
  41   1        LCDRES=1;
  42   1        LCDREQ=0;
  43   1        LCDBUSY=0;
  44   1        delay_ms(5);
  45   1      }
  46          
  47          /************************************************************************************
  48           函数功能:写数据到LCD
  49           输入参数:写数据 (char) writedata                               
  50           输出参数:无
  51          *************************************************************************************/
  52          void write_data(unsigned  char data writedata) 
  53          {
  54   1       LCDBUSY=1;
  55   1       while(LCDBUSY!=0);
C51 COMPILER V7.50   LCD_SEND                                                              03/17/2007 10:53:09 PAGE 2   

  56   1       OE573=0;
  57   1       LCDDATA=writedata;
  58   1       delay_us(2);
  59   1       LCDREQ=1;
  60   1       delay_us(10);
  61   1       LCDBUSY=1;
  62   1       while(LCDBUSY==0);             
  63   1       LCDREQ=0;
  64   1       OE573=1;
  65   1      }
  66          /*************************************************************************************
  67          函数功能:显示8*8ASCII字符 
  68          输入参数:X坐标X从0x04到0x13共16个字符以字符为单位递增;(0--15)                       
  69                   Y坐标Y从0到0x3F共64个点以点为单位递增;        (0--63)
  70          输出参数:无
  71          *************************************************************************************/
  72          void send_ascii8(unsigned char x,unsigned char y,unsigned char ascii)
  73            
  74          { 
  75   1       write_data(0xf1);
  76   1       write_data(x+0x04);
  77   1       write_data(y);
  78   1       write_data(ascii);//写要显示的ASCII码;
  79   1      }
  80          /**************************************************************************************
  81           
  82           函数功能:显示8*16ASCII字符变量
  83           输入参数:X坐标X从0x04到0x13共16个字符以字符为单位递增;(0--15)                       
  84                    Y坐标Y从0到0x3F共64个点以点为单位递增;        (0--63)
  85           输出参数:无
  86          **************************************************************************************/
  87          void send_ascii16(unsigned char x,unsigned char y,unsigned char ascii)
  88          {
  89   1        write_data(0xF9);
  90   1        write_data(x+0x04);
  91   1        write_data(y);
  92   1        write_data(ascii);//写要显示的ASCII码;
  93   1      }
  94          
  95          /*************************************************************************************
  96           函数功能:显示8*8ASCII字符串
  97           输入参数:X坐标从0x04到0x13共16个字符以字节为单位递增  (0--15)                            
  98                    Y坐标从0到0x3F共64个点以点为单位递增         (0--63)
  99           输出参数:无
 100          *************************************************************************************/
 101          void send_asc8str(unsigned char x,unsigned char y,unsigned char *ascii)  
 102          { 
 103   1         while((*ascii)!=0)
 104   1         {
 105   2            write_data(0xf1);
 106   2            write_data(x+0x04);
 107   2            write_data(y);
 108   2            write_data(*ascii);//写要显示的ASCII码;
 109   2            ascii++;
 110   2                if(x<0x0f)
 111   2                x++;
 112   2                else
 113   2            {
 114   3                   x=0x00;
 115   3                   y+=8;
 116   3                   if(y==0x40)
 117   3                   y=0;
C51 COMPILER V7.50   LCD_SEND                                                              03/17/2007 10:53:09 PAGE 3   

 118   3            }
 119   2          }
 120   1      }
 121          
 122          /**************************************************************************************
 123           函数功能:显示8*16ASCII字符串
 124           输入参数:X坐标X从0x04到0x13共16个字符以字符为单位递增;(0--15)                       
 125                    Y坐标Y从0到0x3F共64个点以点为单位递增;        (0--63)
 126           输出参数:无
 127          **************************************************************************************/
 128          void send_asc16str(unsigned char x,unsigned char y,unsigned char *ascii)
 129          {
 130   1        while((*ascii)!=0)
 131   1        {
 132   2          write_data(0xF9);
 133   2          write_data(x+0x04);
 134   2          write_data(y);
 135   2          write_data(*ascii);//写要显示的ASCII码;
 136   2              ascii++;
 137   2          if(x<0x0f)
 138   2              x++;
 139   2              else
 140   2          {
 141   3                 x=0x00;
 142   3                 y+=16;
 143   3                 if(y==0x40)
 144   3                 y=0;
 145   3           }
 146   2        }
 147   1      }
 148          
 149          /*************************************************************************************
 150           函数功能:显示16*16汉字
 151           输入参数:x为横坐标(0x02-0x09);    (0--7)                      
 152                    y为纵坐标(0x00-0x03);    (0--3)
 153           输出参数:无
 154          *************************************************************************************/
 155          void send_hz(unsigned char x,unsigned char y,unsigned char *hz_p)  
 156          {
 157   1        while((*hz_p)!=0)
 158   1        {
 159   2          write_data(0xf0);
 160   2          write_data(x+0x02);
 161   2          write_data(y);
 162   2          write_data(*hz_p-0xa0);
 163   2          hz_p++;
 164   2          write_data(*hz_p-0xa0);
 165   2          hz_p++;
 166   2          if(x<0x07)
 167   2              x++;
 168   2              else
 169   2          {
 170   3                x=0x00;
 171   3                y++;
 172   3                if(y==0x05)
 173   3                y=0;
 174   3           }
 175   2         }
 176   1      } 
 177           
 178          /*********************************************************************************************************
             -*
C51 COMPILER V7.50   LCD_SEND                                                              03/17/2007 10:53:09 PAGE 4   

 179           函数功能:显示字节点阵
 180           输入参数:x为横轴起始坐标(0x04-0x13)        (0--17)                                
 181                    y为纵轴起始坐标(0x00-0x3f)        (0--63)
 182                    显示字节点阵宽度为widh共16个字节  (0--16)
 183                            高度为high(0x00-0x3f)共64个点     (0--64)  
 184           输出参数:无
 185          **********************************************************************************************************
             -/
 186          void send_zjdz(unsigned char x,unsigned char y,unsigned char widh,unsigned char high,unsigned char *bmp_p)
 187          {
 188   1         unsigned char high_extent,widh_extent;
 189   1         for(high_extent=0;high_extent<high;high_extent++)
 190   1           {
 191   2             for(widh_extent=0;widh_extent<widh;widh_extent++)
 192   2                 {
 193   3                   write_data(0xf3);
 194   3                   write_data(x+0x04);
 195   3                       write_data(y);
 196   3                       write_data(*bmp_p);
 197   3               bmp_p++;
 198   3                               x++;
 199   3             }
 200   2            x-=widh;
 201   2            y++;
 202   2           }
 203   1      }
 204          
 205          
 206          


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