代码拉取完成,页面将自动刷新
同步操作将从 dk鲁晓东/STC15库 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
#include "7segfun.h"
#define Dataport P1
#define SeleWei P2 //选择的是低4位 最低位选个位
unsigned char code LED[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40,0x79};//符号+ - E
//{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0XBF,0X86}; //共阳 - E
//{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40,0x79}; //共阴 空 - E
unsigned char code wei[]={0xfe,0xfd,0xfb,0xf7};//低--高
unsigned char num[]={1,2,3,4},N;
void seg_delay(unsigned int k)
{for(;k>0;k--);}
void int2num(int x)
{ if(x>=0){
num[3]=x>999?(x/1000)%10:10;//
}
else
{ x=-x;
num[3]=11; // 负号的位置
}
num[2]=x>99?(x/100)%10:10;//
num[1]=x>9?(x/10)%10:10;//
num[0]= x%10;//
}
void Dispnum( int x)
{
unsigned char k;
int2num(x);
for(k=0;k<4;k++)
{ Dataport=0;//消隐共阴0x00,共阳0xff
SeleWei=wei[k];//个位先
Dataport=LED[num[k]];//;
seg_delay(200);
}
}
//排列num[3]num[2]num[1]num[0]
void Float2Num(float val)//
{
unsigned int tmp;
if(val>-99.9&&val<999.9)
{
if(val<0) //先确定最高位是否要符号的
{ num[3]=11;//符号负数
val=-val;
}
else
num[3]=10;
if(100.0<=val&&val<999.9) //xxx.x
{
N=1; // 小数点1位
tmp=(unsigned int)(val*10.0);//即倒数第二位
num[3]=tmp/1000;
}
if(10.0<=val&&val<100.0)//xx.xx
{
if(num[3]==10)
{N=2;// 小数点2位
tmp=(unsigned int)(val*100.0);
num[3]=tmp/1000;}
else
{N=1;
tmp=(unsigned int)(val*10.0);
}
}
if(0.0<=val&&val<10.0)//xx.xx
{
if(num[3]==10)
{N=2;// 小数点2位
tmp=(unsigned int)(val*100.0);
}
else
{N=2;
tmp=(unsigned int)(val*100.0);
}
}
num[2]=(tmp/100)%10;
num[1]=(tmp/10)%10;
num[0]=tmp%10;
}
else//超出了显示范围ERR
{
num[3]=10;// 空
num[2]=10; // 空
num[1]=12; // E
num[0]=0; //O
}
}
void Dispval(float x)
{
unsigned char k;
//ValtoNum(x);//
Float2Num(x);
for(k=0;k<4;k++)
{ Dataport=0x00;//消隐0X00共阴 、0xFF共阳
SeleWei=SeleWei|0x0f;
SeleWei=SeleWei&wei[k];//个位先 wei[]={0xf7,0xfb,0xfd,0xfe}
if(k==N)
Dataport=LED[num[k]]|0x80; //共阴
// Dataport=(LED[num[k]]&0x7F); //共阳
else
Dataport=LED[num[k]];
seg_delay(200);
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。