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

📄 hd7279.lst

📁 非常好用的串行数据转并行数据的芯片,价格也不高,非常好用,程序经过调试,可用
💻 LST
字号:
C51 COMPILER V7.50   HD7279                                                                06/30/2006 15:37:21 PAGE 1   


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

line level    source

   1                  #include "reg668.h"
   2                  #include "absacc.h"
   3                  #define uchar unsigned char
   4          
   5                  /*HD7279 指令*/
   6          
   7                  #define CMD_RESET 0xa4/*复位(清除)指令0xa4*/
   8                  #define CMD_TEST 0xbf/*测试指令0xbf*/
   9                  #define CMD_RTL_CYCLE 0xa3/*循环左移指令0xa3*/
  10                  #define CMD_RTR_CYCLE 0xa2/*循环右移指令0xa2*/
  11                  #define CMD_RTL_UNCYCLE 0xa1/*左移指令0xa1*/
  12                  #define CMD_RTR_UNCYCLE 0xa0/*右移指令0xa0*/
  13                  #define CMD_DECODE0 0x80/*译码方式0   0x80*/
  14                  #define CMD_UDECODE 0x90/*不译码方式   0x90*/
  15                  #define CMD_BLINKCTL 0x88/*闪烁控制0x88*/
  16                  #define CMD_ACTCTL      0x98/*削隐控制0x98*/
  17                  #define CMD_SEGON 0xe0/*段点亮指令0xe0*/
  18                  #define CMD_SEGOFF 0xc0/*段关闭指令0xc0*/
  19                  #define CMD_READKEY 0x15/*读键盘数据指令0x15*/
  20                  #define CMD_8255 XBYTE[0X7FF3]
  21                  #define pa XBYTE[0x7ff0]//(*(char*)0x8000)
  22                  #define pb XBYTE[0x7ff1]//(*(char*)0x8001)
  23                  #define pc XBYTE[0x7ff2]//(*(char*)0x8002)
  24                  void long_delay(void) reentrant;
  25                  void short_delay(void) reentrant;
  26                  
  27                  /*定HD7279引脚(I/O口)*/
  28          
  29                  sbit HD7279KEY=P1^7;/*按键有效输出端*/
  30                  sbit HD7279DIO=P2^4;/*串行数据输入/输出端*/
  31                  sbit HD7279CLK=P3^4;/*同步时钟输入端*/
  32                  sbit HD7279CS=P3^5;/*片选端*/
  33                  
  34                  /****************************************************************************
  35                  Function:send_byte
  36                  Parameter:Uc_Outbyte
  37                  Retrun:None
  38                  Description:向HD7279发送一个字节,包括指令,数据
  39                  *****************************************************************************/
  40                  void send_byte(uchar Uc_Outbyte) reentrant
  41                  {
  42   1                      uchar i;
  43   1                      HD7279CS=0;
  44   1                      long_delay();
  45   1                      //HD7279CLK=0;
  46   1                      for(i=0;i<8;i++)
  47   1                      {
  48   2                              if(Uc_Outbyte)//下载数据
  49   2                              {
  50   3                                      HD7279DIO=1;
  51   3                              }
  52   2                              else
  53   2                              {
  54   3                                      HD7279DIO=0; 
  55   3                              }
C51 COMPILER V7.50   HD7279                                                                06/30/2006 15:37:21 PAGE 2   

  56   2                      
  57   2                      short_delay();
  58   2                      HD7279CLK=1;
  59   2                      short_delay();
  60   2                      HD7279CLK=0;
  61   2                      Uc_Outbyte<<=1;
  62   2                      }
  63   1                      HD7279DIO=0;
  64   1              //      HD7279CS=1;
  65   1              }
  66            /****************************************************************************
  67                  Function:write7279
  68                  Parameter:cmd,data
  69                  Retrun:None
  70                  Description:向HD7279发送要显示的数据和译码方式
  71                  *****************************************************************************/
  72                  void WriteHd7279(uchar cmd,uchar dta) reentrant
  73                  {
  74   1                      send_byte(cmd);
  75   1                      send_byte(dta);
  76   1              }
  77          
  78          
  79                  /****************************************************************************
  80                  Function:long_delay
  81                  Parameter:None
  82                  Retrun:None
  83                  Description:长延时
  84                  *****************************************************************************
  85          *************************************************************************************/
  86                   void long_delay(void) reentrant
  87                  {
  88   1                      uchar i;
  89   1                      for(i=0;i<0x30;i++);
  90   1              }
  91                  /****************************************************************************
  92                  Function:short_delay
  93                  Parameter:None
  94                  Retrun:None
  95                  Description:短延时
  96                  *****************************************************************************/
  97                  void short_delay(void) reentrant
  98                  {
  99   1                      uchar i;
 100   1                      for(i=0;i<8;i++);
 101   1              }
 102                  /****************************************************************************
 103                  Function:Testhd7279
 104                  Parameter:None
 105                  Retrun:None
 106                  Description:测试HD7279一二三位红绿灯依次各亮一次
 107                  *****************************************************************************/
 108                  void Testhd7279(void) reentrant
 109                  {
 110   1                      WriteHd7279(CMD_UDECODE,0xaa);
 111   1              long_delay();
 112   1              long_delay();
 113   1              WriteHd7279(CMD_UDECODE,0x55);
 114   1              long_delay();
 115   1              long_delay();
 116   1              WriteHd7279(CMD_UDECODE+1,0xaa);
 117   1              long_delay();
C51 COMPILER V7.50   HD7279                                                                06/30/2006 15:37:21 PAGE 3   

 118   1              long_delay();
 119   1              WriteHd7279(CMD_UDECODE+1,0x55);
 120   1              long_delay();
 121   1              long_delay();
 122   1              WriteHd7279(CMD_UDECODE+2,0xaa);
 123   1              long_delay();
 124   1              long_delay();
 125   1              WriteHd7279(CMD_UDECODE+2,0x55);
 126   1              long_delay();
 127   1              long_delay();
 128   1              
 129   1                  
 130   1              }
 131          
 132                  
 133          /*主程序*/
 134                   main (uchar i,uchar j)
 135                         { 
 136   1                   int tmr;
 137   1                   Testhd7279( );
 138   1                   long_delay();
 139   1                   while (1)
 140   1                             {
 141   2                                    for (tmr=0;tmr<0x2000;tmr++);     // 上电延时
 142   2                                    send_byte(CMD_RESET);                     // 复位HD7279A
 143   2                                    WriteHd7279(i,j);                 // 按不译码方式显示
 144   2                                    long_delay();
 145   2                          }
 146   1                  }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    258    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       2
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
   EDATA SIZE       =   ----    ----
   HDATA SIZE       =   ----    ----
   XDATA CONST SIZE =   ----    ----
   FAR CONST SIZE   =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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