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

📄 function.lst

📁 液晶显示程序
💻 LST
📖 第 1 页 / 共 4 页
字号:
           =1 /*------------------------------------------------
           =1 PCON Bit Values
           =1 ------------------------------------------------*/
           =1 #define IDL_    0x01
           =1 
           =1 #define STOP_   0x02
           =1 #define PD_     0x02    /* Alternate definition */
           =1 
           =1 #define GF0_    0x04
           =1 #define GF1_    0x08
           =1 #define SMOD_   0x80
           =1 
           =1 /*------------------------------------------------
           =1 TCON Bit Registers
           =1 ------------------------------------------------*/
           =1 sbit IT0  = 0x88;
           =1 sbit IE0  = 0x89;
           =1 sbit IT1  = 0x8A;
           =1 sbit IE1  = 0x8B;
           =1 sbit TR0  = 0x8C;
           =1 sbit TF0  = 0x8D;
           =1 sbit TR1  = 0x8E;
           =1 sbit TF1  = 0x8F;
           =1 
           =1 /*------------------------------------------------
           =1 TMOD Bit Values
           =1 ------------------------------------------------*/
           =1 #define T0_M0_   0x01
           =1 #define T0_M1_   0x02
C51 COMPILER V7.50   FUNCTION                                                              11/21/2006 14:47:20 PAGE 7   

           =1 #define T0_CT_   0x04
           =1 #define T0_GATE_ 0x08
           =1 #define T1_M0_   0x10
           =1 #define T1_M1_   0x20
           =1 #define T1_CT_   0x40
           =1 #define T1_GATE_ 0x80
           =1 
           =1 #define T1_MASK_ 0xF0
           =1 #define T0_MASK_ 0x0F
           =1 
           =1 /*------------------------------------------------
           =1 P1 Bit Registers
           =1 ------------------------------------------------*/
           =1 sbit P1_0 = P1^0;
           =1 sbit P1_1 = P1^1;
           =1 sbit P1_2 = P1^2;
           =1 sbit P1_3 = P1^3;
           =1 sbit P1_4 = P1^4;
           =1 sbit P1_5 = P1^5;
           =1 sbit P1_6 = P1^6;
           =1 sbit P1_7 = P1^7;
           =1 
           =1 sbit T2   = 0x90;       /* External input to Timer/Counter 2, clock out */
           =1 sbit T2EX = 0x91;       /* Timer/Counter 2 capture/reload trigger & dir ctl */
           =1 
           =1 /*------------------------------------------------
           =1 SCON Bit Registers
           =1 ------------------------------------------------*/
           =1 sbit RI   = 0x98;
           =1 sbit TI   = 0x99;
           =1 sbit RB8  = 0x9A;
           =1 sbit TB8  = 0x9B;
           =1 sbit REN  = 0x9C;
           =1 sbit SM2  = 0x9D;
           =1 sbit SM1  = 0x9E;
           =1 sbit SM0  = 0x9F;
           =1 
           =1 /*------------------------------------------------
           =1 P2 Bit Registers
           =1 ------------------------------------------------*/
           =1 sbit P2_0 = P2^0;
           =1 sbit P2_1 = P2^1;
           =1 sbit P2_2 = P2^2;
           =1 sbit P2_3 = P2^3;
           =1 sbit P2_4 = P2^4;
           =1 sbit P2_5 = P2^5;
           =1 sbit P2_6 = P2^6;
           =1 sbit P2_7 = P2^7;
           =1 
           =1 /*------------------------------------------------
           =1 IE Bit Registers
           =1 ------------------------------------------------*/
           =1 sbit EX0  = 0xA8;       /* 1=Enable External interrupt 0 */
           =1 sbit ET0  = 0xA9;       /* 1=Enable Timer 0 interrupt */
           =1 sbit EX1  = 0xAA;       /* 1=Enable External interrupt 1 */
           =1 sbit ET1  = 0xAB;       /* 1=Enable Timer 1 interrupt */
           =1 sbit ES   = 0xAC;       /* 1=Enable Serial port interrupt */
           =1 sbit ET2  = 0xAD;       /* 1=Enable Timer 2 interrupt */
           =1 
           =1 sbit EA   = 0xAF;       /* 0=Disable all interrupts */
           =1 
           =1 /*------------------------------------------------
C51 COMPILER V7.50   FUNCTION                                                              11/21/2006 14:47:20 PAGE 8   

           =1 P3 Bit Registers (Mnemonics & Ports)
           =1 ------------------------------------------------*/
           =1 sbit P3_0 = P3^0;
           =1 sbit P3_1 = P3^1;
           =1 sbit P3_2 = P3^2;
           =1 sbit P3_3 = P3^3;
           =1 sbit P3_4 = P3^4;
           =1 sbit P3_5 = P3^5;
           =1 sbit P3_6 = P3^6;
           =1 sbit P3_7 = P3^7;
           =1 
           =1 sbit RXD  = 0xB0;       /* Serial data input */
           =1 sbit TXD  = 0xB1;       /* Serial data output */
           =1 sbit INT0 = 0xB2;       /* External interrupt 0 */
           =1 sbit INT1 = 0xB3;       /* External interrupt 1 */
           =1 sbit T0   = 0xB4;       /* Timer 0 external input */
           =1 sbit T1   = 0xB5;       /* Timer 1 external input */
           =1 sbit WR   = 0xB6;       /* External data memory write strobe */
           =1 sbit RD   = 0xB7;       /* External data memory read strobe */
           =1 
           =1 /*------------------------------------------------
           =1 IP Bit Registers
           =1 ------------------------------------------------*/
           =1 sbit PX0  = 0xB8;
           =1 sbit PT0  = 0xB9;
           =1 sbit PX1  = 0xBA;
           =1 sbit PT1  = 0xBB;
           =1 sbit PS   = 0xBC;
           =1 sbit PT2  = 0xBD;
           =1 
           =1 /*------------------------------------------------
           =1 T2CON Bit Registers
           =1 ------------------------------------------------*/
           =1 sbit CP_RL2= 0xC8;      /* 0=Reload, 1=Capture select */
           =1 sbit C_T2 = 0xC9;       /* 0=Timer, 1=Counter */
           =1 sbit TR2  = 0xCA;       /* 0=Stop timer, 1=Start timer */
           =1 sbit EXEN2= 0xCB;       /* Timer 2 external enable */
           =1 sbit TCLK = 0xCC;       /* 0=Serial clock uses Timer 1 overflow, 1=Timer 2 */
           =1 sbit RCLK = 0xCD;       /* 0=Serial clock uses Timer 1 overflow, 1=Timer 2 */
           =1 sbit EXF2 = 0xCE;       /* Timer 2 external flag */
           =1 sbit TF2  = 0xCF;       /* Timer 2 overflow flag */
           =1 
           =1 /*------------------------------------------------
           =1 T2MOD Bit Values
           =1 ------------------------------------------------*/
           =1 #define DCEN_   0x01    /* 1=Timer 2 can be configured as up/down counter */
           =1 #define T2OE_   0x02    /* Timer 2 output enable */
           =1 
           =1 /*------------------------------------------------
           =1 PSW Bit Registers
           =1 ------------------------------------------------*/
           =1 sbit P    = 0xD0;
           =1 sbit FL   = 0xD1;
           =1 sbit OV   = 0xD2;
           =1 sbit RS0  = 0xD3;
           =1 sbit RS1  = 0xD4;
           =1 sbit F0   = 0xD5;
           =1 sbit AC   = 0xD6;
           =1 sbit CY   = 0xD7;
           =1 /*------------------------------------------------
           =1 P4 Bit Registers (Mnemonics & Ports)
           =1 ------------------------------------------------*/
C51 COMPILER V7.50   FUNCTION                                                              11/21/2006 14:47:20 PAGE 9   

           =1 sbit P4_0 = P4^0;
           =1 sbit P4_1 = P4^1;
           =1 sbit P4_2 = P4^2;
           =1 sbit P4_3 = P4^3;
           =1 /*------------------------------------------------
           =1 Interrupt Vectors:
           =1 Interrupt Address = (Number * 8) + 3
           =1 ------------------------------------------------*/
           =1 #define IE0_VECTOR      0  /* 0x03 External Interrupt 0 */
           =1 #define TF0_VECTOR      1  /* 0x0B Timer 0 */
           =1 #define IE1_VECTOR      2  /* 0x13 External Interrupt 1 */
           =1 #define TF1_VECTOR      3  /* 0x1B Timer 1 */
           =1 #define SIO_VECTOR      4  /* 0x23 Serial port */
           =1 
           =1 #define TF2_VECTOR      5  /* 0x2B Timer 2 */
           =1 #define EX2_VECTOR      5  /* 0x2B External Interrupt 2 */
           =1 
           =1 /*------------------------------------------------
           =1 ------------------------------------------------*/
           =1 #endif
 226      =1  
 227      =1  
 228      =1  
   3          
   4          
   5          void writec(unsigned int com)
   6          {RD=1; 
   7   1       RS=0;
   8   1       CS=0;
   9   1       CS=0;
  10   1       WR=0;
  11   1       WR=0;
  12   1       
  13   1       P1=com;//low byte
  14   1       P2=com>>8;//high byte
  15   1      
  16   1       WR=1;
  17   1       CS=1;
  18   1      }
  19          
  20          void writed(unsigned int dat)
  21          {RD=1;
  22   1       RS=1;
  23   1       CS=0;
  24   1       CS=0;
  25   1       WR=0;
  26   1       WR=0;
  27   1      
  28   1       P1=dat;//low byte
  29   1       P2=dat>>8;//high byte
  30   1       WR=1;
  31   1       WR=1;
  32   1      }
  33          //====================================
  34          
  35          void RAM_ADRESS(void)
  36          {
  37   1       writec(0x0021);
  38   1       writed(0x0000);
  39   1      
  40   1       writec(0x0022);
  41   1      }
C51 COMPILER V7.50   FUNCTION                                                              11/21/2006 14:47:20 PAGE 10  

  42          
  43          //====================================
  44          
  45          void delay(unsigned int num)
  46          {
  47   1       unsigned int i;
  48   1      
  49   1       while(num--!=0)
  50   1      
  51   1       for(i=0;i<86;i++);
  52   1      
  53   1      }
  54          
  55          
  56          //=======================================================
  57          
  58          void disp(unsigned int dat)
  59          {
  60   1       unsigned char i,j;
  61   1       i=j=0;
  62   1      
  63   1       RAM_ADRESS();
  64   1      
  65   1       for(i=0;i<176;i++) 
  66   1        {
  67   2      
  68   2         for(j=0;j<220;j++)
  69   2          {
  70   3      
  71   3              writed(dat);
  72   3               }
  73   2        }
  74   1      }
  75          
  76          
  77          //==============================================================================
  78          //==============================================================================
  79          void crosstalk(void)
  80          {
  81   1        unsigned char i,j;
  82   1      RAM_ADRESS();
  83   1      
  84   1       for(i=0;i<60;i++) 
  85   1        {
  86   2         for(j=0;j<176;j++)
  87   2          {writed(gray3);}
  88   2        }
  89   1      
  90   1         for(i=60;i<160;i++) 
  91   1         {
  92   2          for(j=0;j<40;j++)
  93   2           {writed(gray3);}
  94   2          for(j=40;j<136;j++)
  95   2           {writed(black);}
  96   2          for(j=136;j<176;j++)
  97   2           {writed(gray3);}
  98   2          }
  99   1       for(i=160;i<220;i++) 
 100   1        {
 101   2         for(j=0;j<176;j++)
 102   2          {writed(gray3);}
 103   2        } 
C51 COMPILER V7.50   FUNCTION                                                              11/21/2006 14:47:20 PAGE 11  

 104   1        
 105   1       
 106   1       
 107   1      }
 108          //============================================================
 109          void flicker(void)
 110           {
 111   1        unsigned int i,j;
 112   1      
 113   1        RAM_ADRESS();
 114   1      
 115   1       for(j=0;j<110;j++) 
 116   1       {
 117   2          for(i=0;i<176;i++){writed(black);}
 118   2              for(i=0;i<176;i++){writed(gray3);}
 119   2              
 120   2       }
 121   1      
 122   1      }
 123          //=========================================
 124          void disp_Gray_BarH(void)
 125          {
 126   1       unsigned int Gray_Step[32]={0x0000,0x0841,0x1082,0x18c3,0x2104,0x2945,0x3186,0x39c7,
 127   1                                   0x4208,0x4a49,0x528a,0x5acb,0x630c,0x6b4d,0x738e,0x7bcf,
 128   1                                   0x8430,0x8c71,0x94b2,0x9cf3,0xa534,0xad75,0xb5b6,0xbdf7,
 129   1                                   0xc638,0xce79,0xd6ba,0xdefb,0xe73c,0xef7d,0xf7be,0xffff}; 
 130   1       unsigned int i,j,k,t;
 131   1      
 132   1       i=j=k=t=0;
 133   1       RAM_ADRESS();
 134   1        for(i=0;i<220;i++)
 135   1        {
 136   2          if(k==10)
 137   2              {
 138   3            t++;
 139   3             k=0;
 140   3           }
 141   2          k++;
 142   2         for(j=0;j<176;j++)
 143   2          {
 144   3          switch(t){
 145   4            case(0):
 146   4           writed(Gray_Step[1]);
 147   4            break;
 148   4            case(1):
 149   4            writed(Gray_Step[3]);
 150   4            break;
 151   4            case(2):
 152   4            writed(Gray_Step[5]);
 153   4            break;
 154   4            case(3):
 155   4            writed(Gray_Step[7]);
 156   4            break;
 157   4            case(4):
 158   4            writed(Gray_Step[9]);
 159   4            break;
 160   4            case(5):
 161   4            writed(Gray_Step[11]);
 162   4            break;
 163   4            case(6):
 164   4           writed(Gray_Step[13]);
 165   4            break;
C51 COMPILER V7.50   FUNCTION                                                              11/21/2006 14:47:20 PAGE 12  

 166   4            case(7):
 167   4           writed(Gray_Step[15]);
 168   4            break;
 169   4             case(8):

⌨️ 快捷键说明

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