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

📄 pt6964.lst

📁 UCOSII在51单片机上的移植
💻 LST
字号:
C51 COMPILER V7.06   PT6964                                                                03/03/2008 16:26:15 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE PT6964
OBJECT MODULE PLACED IN .\obj\PT6964.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Source\PT6964.C LARGE BROWSE DEBUG OBJECTEXTEND PRINT(.\lst\PT6964.lst) OBJ
                    -ECT(.\obj\PT6964.obj)

stmt level    source

   1          //---------------------------------------------------------------------------
   2          // YuXiang Inc. Company Confidential Strictly Private
   3          // main.c
   4          // $Archive: PT6964.c $
   5          // $Revision: 0.1 $
   6          // $Author: YuCheng $
   7          // $Date: 2005/08/19 16:15:51 $
   8          //
   9          // --------------------------------------------------------------------------
  10          // >>>>>>>>>>>>>>>>>>>>>>>>> COPYRIGHT NOTICE <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  11          // --------------------------------------------------------------------------
  12          // Copyright 2005(c) YuXiang Inc.
  13          // This is an unpublished work.
  14          // --------------------------------------------------------------------------
  15          #include <intrins.h>
  16          #include "includes.h"
  17          #include "serial.h"
  18          #include "PT6964.h"
  19          //---------------------------------------------------------------------------
  20          //指令和数据操作
  21          //---------------------------------------------------------------------------
  22          //--------------------------------------------------------------------------
  23          // Write Command to LCM
  24          //--------------------------------------------------------------------------
  25          INT8U code Disp_Tab[18] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x58,0x5e,0x79,0x71
             -,0x73,0x78};
  26          INT8U code Brigh_Tab[9] = {0x80,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f};
  27          INT8U code Status_Tab[9] = {0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
  28          
  29          INT8U Led_Brigh;
  30          bit LED_Dip_enable;
  31          //--------------------------------------------------------------------------
  32          // WriteData
  33          //--------------------------------------------------------------------------
  34          void WriteData(INT8U Value)
  35          {
  36   1              INT8U i;
  37   1      
  38   1              for(i=0;i<8;i++)
  39   1              {
  40   2                      if(Value & 0x01)
  41   2                              PT6964_DIN_H;
  42   2                      else
  43   2                              PT6964_DIN_L;
  44   2      
  45   2                      PT6964_CLK_L;
  46   2                      PT6964_CLK_H;
  47   2                      Value >>= 1;
  48   2              }
  49   1      }
  50          //--------------------------------------------------------------------------
  51          // Write_Adr_Data to LCM
  52          //--------------------------------------------------------------------------
  53          void Write_Adr_Data(INT8U addr, INT8U value)  reentrant
C51 COMPILER V7.06   PT6964                                                                03/03/2008 16:26:15 PAGE 2   

  54          {
  55   1              PT6964_STB_L;
  56   1              WriteData(0x44);
  57   1              PT6964_STB_H;
  58   1      
  59   1              PT6964_STB_L;
  60   1              WriteData(addr|0xc0);
  61   1              WriteData(value);
  62   1              PT6964_STB_H;
  63   1      }
  64          //--------------------------------------------------------------------------
  65          //--------------------------------------------------------------------------
  66          // Clear6961RAM
  67          //--------------------------------------------------------------------------
  68          void Clear6964RAM(void)
  69          {
  70   1              char i;
  71   1      
  72   1              PT6964_STB_L;
  73   1              WriteData(0x40);                        //Command 1, increment address
  74   1              PT6964_STB_H;
  75   1      
  76   1              PT6964_STB_L;
  77   1              WriteData(0xc0);                        //Command 2, RAM address = 0
  78   1              for(i=0;i<=0x0D;i++)                    //22 bytes
  79   1                      WriteData(0x00);
  80   1              PT6964_STB_H;
  81   1      }
  82          
  83          //--------------------------------------------------------------------------
  84          // PT6964_Init
  85          //--------------------------------------------------------------------------
  86          void PT6964_Init(void)
  87          {
  88   1              Led_Brigh=2;
  89   1          PT6964_STB_H;                                       //Initial state
  90   1          PT6964_CLK_H;                                       //Intial state
  91   1      //      Delay10ms();                            //delay 200ms
  92   1              Clear6964RAM();
  93   1      
  94   1              PT6964_STB_L;
  95   1              WriteData(0x03);                        //7 digit
  96   1              PT6964_STB_H;
  97   1      
  98   1              PT6964_STB_L;
  99   1              WriteData(Brigh_Tab[Led_Brigh]);                        //Command 3, Display ON
 100   1              PT6964_STB_H;
 101   1      }
 102          
 103          //--------------------------------------------------------------------------
 104          // FP_Get_Key 
 105          //--------------------------------------------------------------------------
 106          INT8U FP_Get_Key(void)
 107          {
 108   1              INT8U i,value=0;
 109   1      
 110   1              PT6964_STB_L;
 111   1              WriteData(0x42);
 112   1          PT6964_DOUT=1;
 113   1      
 114   1              for(i=0;i<40;i++)
 115   1              {
C51 COMPILER V7.06   PT6964                                                                03/03/2008 16:26:15 PAGE 3   

 116   2                      PT6964_CLK_L;
 117   2              _nop_();
 118   2                      _nop_();
 119   2                      PT6964_CLK_H;
 120   2      
 121   2                      value ++;
 122   2              _nop_();
 123   2                      _nop_();
 124   2                      if(PT6964_DOUT==1)
 125   2                      {
 126   3                              PT6964_STB_H;
 127   3                              return(value);
 128   3                      }
 129   2              }
 130   1              PT6964_STB_H;
 131   1              value=0;
 132   1              return(value);
 133   1      }
 134          void Change_Bright(void)
 135          {
 136   1              PT6964_STB_L;
 137   1              WriteData(0x44);
 138   1              PT6964_STB_H;
 139   1      
 140   1              PT6964_STB_L;
 141   1              WriteData(0x03);                        //7 digit
 142   1              PT6964_STB_H;
 143   1      
 144   1              PT6964_STB_L;
 145   1              WriteData(Brigh_Tab[Led_Brigh]);                        //Command 3, Display ON
 146   1              PT6964_STB_H;
 147   1      
 148   1              Write_Adr_Data(0x0c, Status_Tab[Led_Brigh]);
 149   1              
 150   1      }
 151          //--------------------------------------------------------------------
 152          
 153          
 154          //--------------------------------------------------------------------------
 155          // Write Command to LCM
 156          //--------------------------------------------------------------------------
 157          void LED_DISP(INT8U Led_value,INT8U Led_bit)  reentrant
 158          {INT8U temp;
 159   1       if(Led_value<18)
 160   1        {  temp=Led_value&0x1f;
 161   2           PT6964_STB_L;
 162   2           WriteData(0x44);                   //
 163   2           PT6964_STB_H;
 164   2           switch(Led_bit)
 165   2             {case 1:Write_Adr_Data(0x00, Disp_Tab[temp]);break;
 166   3              case 2:Write_Adr_Data(0x02, Disp_Tab[temp]);break;
 167   3              case 3:Write_Adr_Data(0x04, Disp_Tab[temp]);break;
 168   3              case 4:Write_Adr_Data(0x06, Disp_Tab[temp]);break;
 169   3              case 5:Write_Adr_Data(0x08, Disp_Tab[temp]);break;
 170   3              case 6:Write_Adr_Data(0x0a, Disp_Tab[temp]);break;
 171   3                      default:  break;
 172   3              }
 173   2                 Write_Adr_Data(0x0c, Status_Tab[Led_Brigh]);
 174   2         }
 175   1      }
 176          
 177          void LED_PT6964(void)  reentrant
C51 COMPILER V7.06   PT6964                                                                03/03/2008 16:26:15 PAGE 4   

 178          {
 179   1              LED_DISP(16,1);  // P
 180   1              LED_DISP(17,2);  // t
 181   1              LED_DISP(6,3);   // 6
 182   1              LED_DISP(9,4);   // 9
 183   1              LED_DISP(6,5);   // 6
 184   1              LED_DISP(4,6);   // 4
 185   1      }
 186          
 187          void LED_Dip_Event(void)  reentrant
 188          {
 189   1      LED_PT6964();
 190   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    481    ----
   CONSTANT SIZE    =     36    ----
   XDATA SIZE       =      1    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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