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

📄 pt6964.lst

📁 UCOSII在51单片机上的移植
💻 LST
字号:
C51 COMPILER V7.06   PT6964                                                                12/19/2007 09:52:38 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 OPTIMIZE(9,SPEED) BROWSE DEBUG OBJECTEXTEND PRINT(.\l
                    -st\PT6964.lst) OBJECT(.\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          #include "PCF8563.h"
  20          
  21          //---------------------------------------------------------------------------
  22          //指令和数据操作
  23          //---------------------------------------------------------------------------
  24          //--------------------------------------------------------------------------
  25          // Write Command to LCM
  26          //--------------------------------------------------------------------------
  27          INT8U  Disp_Tab[18] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x58,0x5e,0x79,0x71,0x7
             -3,0x78};
  28          bit LED_Dip_enable;
  29          //--------------------------------------------------------------------------
  30          // WriteData
  31          //--------------------------------------------------------------------------
  32          void WriteData(INT8U Value)
  33          {
  34   1              INT8U i;
  35   1      
  36   1              for(i=0;i<8;i++)
  37   1              {
  38   2                      if(Value & 0x01)
  39   2                              PT6964_DIN_H;
  40   2                      else
  41   2                              PT6964_DIN_L;
  42   2      
  43   2                      PT6964_CLK_L;
  44   2                      PT6964_CLK_H;
  45   2                      Value >>= 1;
  46   2              }
  47   1      }
  48          //--------------------------------------------------------------------------
  49          // Write_Adr_Data to LCM
  50          //--------------------------------------------------------------------------
  51          void Write_Adr_Data(INT8U addr, INT8U value)  reentrant
  52          {
  53   1              PT6964_STB_L;
C51 COMPILER V7.06   PT6964                                                                12/19/2007 09:52:38 PAGE 2   

  54   1              WriteData(0x44);
  55   1              PT6964_STB_H;
  56   1      
  57   1              PT6964_STB_L;
  58   1              WriteData(addr|0xc0);
  59   1              WriteData(value);
  60   1              PT6964_STB_H;
  61   1      }
  62          //--------------------------------------------------------------------------
  63          //--------------------------------------------------------------------------
  64          // Clear6961RAM
  65          //--------------------------------------------------------------------------
  66          void Clear6964RAM(void)
  67          {
  68   1              char i;
  69   1      
  70   1              PT6964_STB_L;
  71   1              WriteData(0x40);                        //Command 1, increment address
  72   1              PT6964_STB_H;
  73   1      
  74   1              PT6964_STB_L;
  75   1              WriteData(0xc0);                        //Command 2, RAM address = 0
  76   1              for(i=0;i<=0x0D;i++)                    //22 bytes
  77   1                      WriteData(0x00);
  78   1              PT6964_STB_H;
  79   1      }
  80          
  81          //--------------------------------------------------------------------------
  82          // PT6964_Init
  83          //--------------------------------------------------------------------------
  84          void PT6964_Init(void)
  85          {
  86   1      
  87   1          PT6964_STB_H;                                       //Initial state
  88   1          PT6964_CLK_H;                                       //Intial state
  89   1      
  90   1              Clear6964RAM();
  91   1      
  92   1              PT6964_STB_L;
  93   1              WriteData(0x03);                        //7 digit
  94   1              PT6964_STB_H;
  95   1      
  96   1              PT6964_STB_L;
  97   1              WriteData(0x8a);                        //Command 3, Display ON
  98   1              PT6964_STB_H;
  99   1      }
 100          
 101          
 102          //--------------------------------------------------------------------------
 103          // Write Command to LCM
 104          //--------------------------------------------------------------------------
 105          void LED_DISP(INT8U Led_value,INT8U Led_bit)  reentrant
 106          {INT8U temp;
 107   1       if(Led_value<18)
 108   1        {  temp=Led_value&0x1f;
 109   2           PT6964_STB_L;
 110   2           WriteData(0x44);                   //
 111   2           PT6964_STB_H;
 112   2           switch(Led_bit)
 113   2             {case 1:Write_Adr_Data(0x00, Disp_Tab[temp]);break;
 114   3              case 2:Write_Adr_Data(0x02, Disp_Tab[temp]);break;
 115   3              case 3:Write_Adr_Data(0x04, Disp_Tab[temp]);break;
C51 COMPILER V7.06   PT6964                                                                12/19/2007 09:52:38 PAGE 3   

 116   3              case 4:Write_Adr_Data(0x06, Disp_Tab[temp]);break;
 117   3              case 5:Write_Adr_Data(0x08, Disp_Tab[temp]);break;
 118   3              case 6:Write_Adr_Data(0x0a, Disp_Tab[temp]);break;
 119   3                      default:  break;
 120   3              }
 121   2                 Write_Adr_Data(0x0c, 0x8a);
 122   2         }
 123   1      }
 124          
 125          void LED_PT6964(void)  reentrant
 126          {
 127   1          INT8U temp1,temp2;
 128   1                      
 129   1              temp2=T_Hour&0x0f;
 130   1              temp1=T_Hour>>4& 0x03;
 131   1              LED_DISP(temp1,1);
 132   1              LED_DISP(temp2,2);
 133   1              
 134   1              temp2=T_Minute&0x0f;
 135   1              temp1=(T_Minute>>4)&0x07;
 136   1              LED_DISP(temp1,3);
 137   1              LED_DISP(temp2,4);
 138   1      
 139   1              temp2=T_Second&0x0f;
 140   1              temp1=(T_Second>>4)&0x07;
 141   1              LED_DISP(temp1,5);
 142   1              LED_DISP(temp2,6);
 143   1      }
 144          
 145          void LED_Dip_Event(void)  reentrant
 146          {
 147   1      LED_PT6964();
 148   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    394    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =     18    ----
   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 + -