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

📄 text1.lst

📁 HD7279
💻 LST
字号:
C51 COMPILER V6.12  TEXT1                                                                  06/29/2004 10:09:24 PAGE 1   


C51 COMPILER V6.12, COMPILATION OF MODULE TEXT1
OBJECT MODULE PLACED IN .\Text1.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE .\Text1.c DEBUG OBJECTEXTEND

stmt level    source

   1          #include <reg51.h>
   2          
   3          //*** oˉêy?¨ò? ***
   4          void long_delay(void);						  //延时程序1
   5          void short_delay(void);							// ?ì?Y?óê±
   6          void delay10ms(unsigned char);					// ?óê±10MS
   7          void write7279(unsigned char, unsigned char);	// 写入到HD7279
   8          unsigned char read7279(unsigned char);			// 从7279读出
   9          void send_byte(unsigned char);					// 写入一个字节
  10          unsigned char receive_byte(void);				//读出一个字节
  11          
  12          //*** ±?á??°I/O?ú?¨ò? ***
  13          unsigned char digit[5];
  14          unsigned char key_number, j, k;
  15          unsigned int tmr;
  16          unsigned long wait_cnter;
  17          //****************************
  18          sbit cs=P1^5;					// 6cs at P1.4
  19          sbit clk=P1^6;					// 7clk á??óóú P1.5
  20          sbit dat=P1^7;					// 8dat á??óóú P1.2
  21          sbit key=P1^4;					// 9key á??óóú 
  22          //****** HD7279A ??á? ******
  23          #define CMD_RESET 0xa4
  24          #define CMD_TEST 0xbf
  25          #define DECODE0 0x80
  26          #define DECODE1 0xc8
  27          #define CMD_READ 0x15
  28          #define UNDECODE 0x90
  29          #define RTL_CYCLE 0xa3
  30          #define RTR_CYCLE 0xa2
  31          #define RTL_UNCYL 0xa1
  32          #define RTR_UNCYL 0xa0
  33          #define ACTCTL 0x98
  34          #define SEGON 0xe0
  35          #define SEGOFF 0xc0
  36          #define BLINKCTL 0x88
  37          
  38          //*** ?÷3ìDò ***
  39          main()
  40          {
  41   1      	while (1)
  42   1      	{
  43   2      		for (tmr=0;tmr<0x2000;tmr++);   	//上电延时
  44   2      		send_byte(CMD_RESET);				//复位HD7279
  45   2      		
  46   2      //******************************************
  47   2      //              2aê???á??Yê?
  48   2      //******************************************
  49   2      		send_byte(CMD_TEST);				//测试指令
  50   2      		for (j=0;j<3;j++)					//延时约3秒
  51   2      		{
  52   3      			delay10ms(100);
  53   3      		}
  54   2      		send_byte(CMD_RESET);				//清除显示
  55   2            write7279(144,1);   //第一位G亮
C51 COMPILER V6.12  TEXT1                                                                  06/29/2004 10:09:24 PAGE 2   

  56   2            write7279(144,2);   //第一位F亮
  57   2            write7279(144,4);   //第一位E亮
  58   2      	}
  59   1      }
  60          	
  61          void write7279(unsigned char cmd, unsigned char dta)
  62          {
  63   1      	send_byte (cmd);
  64   1      	send_byte (dta);
  65   1      }	
  66          
  67          unsigned char read7279(unsigned char command)
  68          {
  69   1      	send_byte(command);
  70   1      	return(receive_byte());
  71   1      }
  72          
  73          void send_byte(	unsigned char out_byte)
  74          {
  75   1      	unsigned char i;
  76   1      	cs=0;
  77   1      	long_delay();
  78   1      	for (i=0;i<8;i++)
  79   1      	{
  80   2      		if (out_byte&0x80)
  81   2      		{	
  82   3      			dat=1;
  83   3      		}
  84   2      		else
  85   2      		{
  86   3      			dat=0;
  87   3      		}
  88   2      		clk=1;
  89   2      		short_delay();
  90   2      		clk=0;
  91   2      		short_delay();
  92   2      		out_byte=out_byte*2;
  93   2      	}
  94   1      	dat=0;
  95   1      }
  96          
  97          unsigned char receive_byte(void)
  98          {
  99   1      	unsigned char i, in_byte;
 100   1      	dat=1;				// set to input mode
 101   1      	long_delay();
 102   1      	for (i=0;i<8;i++)
 103   1      	{
 104   2      		clk=1;
 105   2      		short_delay();
 106   2      		in_byte=in_byte*2;
 107   2      		if (dat)
 108   2      		{
 109   3      			in_byte=in_byte|0x01;
 110   3      		}
 111   2      		clk=0;
 112   2      		short_delay();
 113   2      	}
 114   1      	dat=0;
 115   1      	return (in_byte);
 116   1      }
 117          
C51 COMPILER V6.12  TEXT1                                                                  06/29/2004 10:09:24 PAGE 3   

 118          void long_delay(void)
 119          {
 120   1      	unsigned char i;
 121   1      	for (i=0;i<0x30;i++);
 122   1      }
 123          
 124          void short_delay(void)
 125          {
 126   1      	unsigned char i;
 127   1      	for (i=0;i<8;i++);
 128   1      }
 129          
 130          // ************************* ?óê± n*10ms *************************
 131          void delay10ms(unsigned char time)
 132          {
 133   1      	unsigned char i;
 134   1      	unsigned int j;
 135   1      	for (i=0;i<time;i++)
 136   1      	{
 137   2      		for(j=0;j<0x390;j++)
 138   2      		{
 139   3      		}
 140   2      	}
 141   1      }
 142          
 143          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    225    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     14       5
   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 + -