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

📄 tsp_lcd_movx.lst

📁 89C52单片机12M晶振下DS18B20温度传感器测量温度应用子程序源码
💻 LST
字号:
C51 COMPILER V7.09   TSP_LCD_MOVX                                                          04/30/2005 00:14:05 PAGE 1   


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

line level    source

   1          
   2          
   3          
   4          
   5          //**************************************************************************************//
   6          //                                                   头文件区                                       //
   7          //**************************************************************************************//
   8          #include <SST89x5x4.h>                                  /*关于寄存器、位的定义*/
   9          
  10          #include <intrins.h>                                    /*内部函数调用,如_nop_() 、_crol_()、cror();*/
  11          
  12          #include <absacc.h>                                     /*绝对地址访问,如XBYTE[0x0fff0]*/
  13          
  14          #define write_data_operation            XBYTE[0XCDFF]                   //写数据//E =1 RS=1 RW=0
  15          #define write_commend_operation         XBYTE[0XCCFF]                   //写命令//E=1 RS=0 RW=0
  16          #define read_operation                          XBYTE[0xCEFF]                   //读数据//CS=1 RS=0 RW=1
  17          
  18          
  19          //**************************************************************************************//
  20          //                                                   全局变量定义                                   //
  21          //**************************************************************************************//
  22          unsigned char test_value,temp;
  23          unsigned char code display[]= "                It will take  years of hard work to speak English well!    
             -                    ";
  24          unsigned char code display1[]= "Try our best to study! ";
  25          unsigned char code display2[]= "   to study!    ";
  26          unsigned char code display3[]= " tsp!  English!   ";
  27          unsigned char code display4[]= "   so lovely!   ";
  28          
  29          
  30          //**************************************************************************************//
  31          //                                                   延时程序                                       //
  32          //**************************************************************************************//
  33          void delay5ms(void)
  34          {
  35   1              unsigned int TempCyc = 5552;
  36   1              while(TempCyc--);
  37   1      }
  38          
  39          void delay(unsigned int d)              //延时du秒,延时较短,用于指令间的延时
  40                {
  41   1              while(d--);
  42   1                }
  43          
  44          
  45          //**************************************************************************************//
  46          //                                                 状态字检测程序                                   //
  47          //**************************************************************************************// 
  48          void read_write_test(void)              //状态字检测程序
  49          {                                               //对控制器每次进行读写操作前,都必须进行读写检测
  50   1              temp=read_operation;
  51   1              test_value=(temp&0x80);
  52   1      }
  53          
  54          
C51 COMPILER V7.09   TSP_LCD_MOVX                                                          04/30/2005 00:14:05 PAGE 2   

  55          //**************************************************************************************//
  56          //                                                 写指令子函数                                     //
  57          //**************************************************************************************// 
  58          void write_command_not(unsigned char value)//(不检测忙信号)写指令子函数
  59          {
  60   1              write_commend_operation=value;
  61   1      }
  62          
  63          
  64          void write_command(unsigned char value)//(须检测忙信号)写指令子函数
  65          {
  66   1              do
  67   1              {
  68   2                      read_write_test();             //对控制器每次进行读写操作前,都必须进行读写检测
  69   2          }while(test_value==0x80);  //STA7=P0^7最高们为读/写操作使能端,1:禁止 0:允许
  70   1      
  71   1              write_commend_operation=value;
  72   1      }
  73          
  74          
  75          //**************************************************************************************//
  76          //                                                 写数据子函数                                     //
  77          //**************************************************************************************// 
  78          void write_data(unsigned char value)   
  79          {
  80   1              do
  81   1              {
  82   2                      read_write_test();             //对控制器每次进行读写操作前,都必须进行读写检测
  83   2          }while(test_value==0x80);  //STA7=P0^7最高们为读/写操作使能端,1:禁止 0:允许
  84   1      
  85   1              write_data_operation=value;
  86   1      }
  87          
  88          
  89          //**************************************************************************************//
  90          //                                                 LCD系统初始化                                    //
  91          //**************************************************************************************// 
  92          void System_Init ( void )
  93          {
  94   1              delay5ms();
  95   1              delay5ms();
  96   1              delay5ms();             
  97   1          write_command_not(0x38);    //(不检测忙信号)写指令子函数 
  98   1          delay5ms();
  99   1          write_command_not(0x38);    // 
 100   1          delay5ms();
 101   1          write_command_not(0x38);    //
 102   1      
 103   1              write_command(0x38);    //设置显示模式 ,8位2行5x7点阵
 104   1          write_command(0x08);        // 关显示
 105   1              write_command(0x01);    //清屏    
 106   1          write_command(0x38);        //设置显示模式 ,8位2行5x7点阵
 107   1          write_command(0x06);        //文字不动,光标自动右移 
 108   1              write_command(0x0F);    //显示器开、光标开、闪烁开 
 109   1      }
 110            
 111          
 112          //**************************************************************************************//
 113          //                                                 主MAIN函数区                                     //
 114          //**************************************************************************************//    
 115          void main(void)
 116          {
C51 COMPILER V7.09   TSP_LCD_MOVX                                                          04/30/2005 00:14:05 PAGE 3   

 117   1              unsigned char i,j,k;
 118   1              System_Init ();
 119   1              while(1)
 120   1              {
 121   2              for(k=0;k<3;k++)//闪烁三次
 122   2                      {
 123   3                              write_command(0x01);    //清屏
 124   3                              delay(100);
 125   3                      write_command(0x0f);    //显示器开、光标开、闪烁开 
 126   3      
 127   3                              for(i=0;i<32;i++)
 128   3                              {
 129   4                                      if(i<16)
 130   4                              {
 131   5                                      write_command(0x80|i);
 132   5                                              write_data(display1[i]);
 133   5                                      }
 134   4      
 135   4                                      else
 136   4                                      {
 137   5                                              write_command(0xc0|(i-16));//#0C0H ;写入显示起始地址(第二行第一个位置)
 138   5                                              write_data(display2[i-16]);
 139   5                                      }
 140   4                              }
 141   3                       delay(50000);
 142   3                       delay(50000);
 143   3                      }
 144   2                       delay(300);
 145   2      
 146   2                      for(j=0;j<75;j++)
 147   2                              for(i=0;i<32;i++)
 148   2                              {
 149   3                              if(i<16)
 150   3                              {
 151   4                                      write_command(0x80|i);
 152   4                                              write_data(display3[i]);
 153   4                      
 154   4                                              write_command(0xc0|i);//#0C0H ;写入显示起始地址(第二行第一个位置)
 155   4                                              write_data(display[i+j]);
 156   4                                      }
 157   3                                      delay(700);
 158   3                              }
 159   2                              delay(100);
 160   2      
 161   2                      for(i=0;i<32;i++)
 162   2                      {
 163   3                      if(i<16)
 164   3                      {
 165   4                              write_command(0x80|i);
 166   4                                      write_data(display3[i]);
 167   4                              }
 168   3                              else
 169   3                              {
 170   4                                      write_command(0xc0|(i-16));//#0C0H ;写入显示起始地址(第二行第一个位置)
 171   4                                      write_data(display4[i-16]);
 172   4                              }
 173   3                      }
 174   2                      delay(300);
 175   2      
 176   2                      delay(10);
 177   2              };
 178   1              while(1);
C51 COMPILER V7.09   TSP_LCD_MOVX                                                          04/30/2005 00:14:05 PAGE 4   

 179   1      }


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