📄 mypro.c.txt
字号:
#include<reg51.h>
#include<intrins.h>
#include<absacc.h>
#define uint unsigned int
#define uchar unsigned char
sbit FCLK=P2^0; //单片机与FPGA联络信号
sbit PERIOD=P2^4; //1测周,0测频
sbit ENABLE=P2^6; //单片机与FPGA联络信号
sbit DCLK=P3^4; //7219时钟
sbit DIN=P3^5; //7219串行输入
sbit LOAD=P3^3; //7219选通/装载
sbit Dp1=P3^2; //百位小数点
sbit Dp2=P2^1; //十位小数点
const code LED_DISP[]={
0x7e,// '0'
0x30,// '1'
0x6d,// '2'
0x79,// '3'
0x33,// '4'
0x5b,// '5'
0x5f,// '6'
0x70,// '7'
0x7f,// '8'
0x7b,// '9'
0x37, //'H'
0xfe,
0xb0,
0xed,
0xf9,
0xb3,
0xdb,
0xdf,
0xf0,
0xff,
0xfb,
0x00
};
/********送一个字节函数********/
void SendByte(uchar dat)
{uchar i;
for(i=0;i<8;i++)
{ DCLK=0;
DIN=(bit)(dat&0x80);
DCLK=1;
dat=dat<<1;
}
}
/******送某个地址一个字节******/
void SendData(uchar adr,uchar dat)
{ LOAD=0;
SendByte(adr);
SendByte(dat);
LOAD=1;
}
/********初始化7219*********/
void Init7219()
{ LOAD=0;
DCLK=0;
DIN=0;
SendData(0x0c,0x01); //0关闭,1亮
SendData(0x0b,0x07); //1-8管全亮
SendData(0x09,0x00); //不编码
SendData(0x0a,0x08); //亮度
SendData(0x0f,0x00); //测试
LOAD=1;
}
/*****显示某一位置的某个字符*****/
void DispChar(uchar Pos,uchar Chr)
{
SendData(Pos,LED_DISP[Chr]);
}
/******显示全屏8个字符******/
void DispAll(uchar *dat)
{ uchar i;
for(i=1;i<=8;i++)
DispChar(i,*(dat++));
}
/*********主函数********/
void main()
{ uchar k,j,t;
uchar d[8]={0};
uchar b[3],c[3];
uchar temp[6]={0};
uint m,n;
Init7219();
FCLK=0;
ENABLE=0;
while(1)
{ ENABLE=1;
for(j=0;j<6;j++)
{ FCLK=1;
FCLK=0;
for(k=0;k<255;k++)
for(t=0;t<255;t++);
temp[j]=P0;
}
FCLK=1;
FCLK=0;
ENABLE=0;
d[0]=temp[1];
d[1]=temp[0]&0xf0;
d[1]=d[1]>>4;
d[2]=temp[0]&0x0f;
b[0]=temp[3];
b[1]=temp[2]&0xf0;
b[1]=b[1]>>4;
b[2]=temp[2]&0x0f;
c[0]=temp[5];
c[1]=temp[4]&0xf0;
c[1]=c[1]>>4;
c[2]=temp[4]&0x0f;
m=((int)b[0])*100+b[1]*10+b[2];
n=((int)c[0])*100+c[1]*10+c[2];
d[6]=m*10/n;
m=(m*10)%n;
d[7]=m*10/n;
d[5]=11;
d[4]=21;
d[3]=21;
if(PERIOD==1)
{ m=((int)d[0])*100+d[1]*10+d[2];
d[0]=1000/m;
n=1000%m;
d[1]=n*10/m;
n=(n*10)%m;
d[2]=n*10/m;
d[3]=10; //字符'H'
}
if((Dp1==1)&&(Dp2==0))
{ d[0]=d[0]+11;
DispAll(d);}
else if((Dp1==0)&&(Dp2==1))
{d[1]=d[1]+11;
DispAll(d);}
DispAll(d);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -