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

📄 100.c

📁 采用hd7279管理数码管显示 基于C51
💻 C
字号:
#include <reg52.h>
#include <math.h>
#define uchar unsigned char
uchar code dis_code[]={0,1,2,3,4,5,6,7,8,9} ;
uchar  Bit_tab[5]={1,0,0,0};
uchar code  dis_com[]={0x80,0x81,0x82,0x83};
uchar disp_buf[5];	//五位数据。
sbit HD7279_CS=P1^0; // HD7279_CS--P1.0
sbit HD7279_CLK=P1^1; // HD7279_CLK-- P1.1
sbit HD7279_DATA=P1^2; // HD7279_DATA-- P1.2
sbit HD7279_KEY =P1^3; // HD7279_KEY-- P1.3

void HD7279_LongDelay(void)
{ 
uchar i;  
for (i=0;i<6;i++);
}

void HD7279_ShortDelay(void)
{;} 

void Delay10ms( uchar time)
{ 
uchar i,j; 

for(i=0;i<time;i++) 
{ 
for(j=0;j<931;j++) 
{;} 
}
}

void HD7279_SendByte( uchar out_byte)
{ 
uchar i;
HD7279_CS=0; 
HD7279_LongDelay(); 
for(i=0;i<8;i++) 
 { 
if(out_byte&0x80) { HD7279_DATA=1; } 
else { HD7279_DATA=0; } 
     HD7279_CLK=1; 
     HD7279_ShortDelay(); 
     HD7279_CLK=0; 
     HD7279_ShortDelay(); 
     out_byte=out_byte<<1;
  } 
HD7279_DATA=0;
}

void Write7279(uchar command, uchar dta)
{ 
HD7279_SendByte( command ); 
HD7279_SendByte( dta );
}


main()
  {
   uchar count,temp;	   //数码显示位数。
   TMOD=0x01;
   TH0=0x3C;
   TL0=0xB0;
   IE=0x82 ;
   ET0=1;
   TR0=1;

   HD7279_SendByte(0xa4);//复位
do{
	for(count=0;count<4;count++)
   { temp=Bit_tab[count];
     Write7279(dis_com[count],dis_code[temp]);
	}
	}while(1);//显示‘0’。
  
  }
void timer0(void) interrupt 1 using 1
 {
  uchar Num;
  TH0=0x3C;
  TL0=0xB0;

  Bit_tab[0]-=1;
 
   while(Bit_tab[0]==0)
   {
    Bit_tab[1]-=1;Bit_tab[0]=9;
   }
   while(Bit_tab[1]==0)
   {
   Bit_tab[2]-=1;Bit_tab[1]=9;Bit_tab[0]=9;
   }
   while(Bit_tab[2]==0)
   {
    Bit_tab[3]=0;Bit_tab[2]=9;Bit_tab[1]=9;Bit_tab[0]=9;
   }
   
}
  

⌨️ 快捷键说明

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