📄 100.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 + -