📄 display.c
字号:
#define DISPLAY_C
#include "includes.h"
//unsigned char *c,*z;
unsigned char table[25] =
{
/* 0xC0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff, */
// 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , //
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00,
// 1--------------------------------------------10 //
0X80, //. 11
0X40, //- 12
0X77, //a 13
0X7c, //b 14
0X39, //c 15
0X5e, //d 16
0X79, //e 17
0X71, //f 18
0X38, //l 19
0X54, //n 20
0X5c, //o 21
0X73, //p 22
0X50, //r 23
0X78 //t 24
};
//
void display(unsigned char *p, unsigned char *g) //数码管显示扫描
{
unsigned char i;
unsigned char selb = 0x10;
unsigned char sela = 0x01;
for(i=0;i<6;i++)
{
ConPort_hi = ~sela;
OutPort = table[p[i]];
delay_nms(1);
sela = sela<<1;
}
ConPort_hi = 0xbf;
OutPort = table[g[0]];
delay_nms(1);
ConPort_hi = 0x7f;
OutPort = table[g[1]];
delay_nms(1);
ConPort_hi = 0xff;
for(i=2;i<7;i++)
{
ConPort_lo = ~selb;
OutPort = table[g[i]];
delay_nms(1);
selb = selb<<1;
}
}
//
void process(unsigned long i,unsigned char *p)
{
p[5] = i/100000;
if (p[5]<=0) p[5]=10 ;
i = i%100000;
p[4] = i/10000;
if (p[5]==10)
{
if (p[4]<=0) p[4]=10;
}
i = i%10000;
p[3] = i/1000;
if (p[5]==10)
{
if (p[4]==10)
{
if (p[3]<=0) p[3]=10;
}
}
i = i%1000;
p[2] = i/100;
if (p[5]==10)
{
if (p[4]==10)
{
if (p[3]==10)
{
if (p[2]<=0) p[2]=10;
}
}
}
i = i%100;
p[1] = i/10;
if (p[5]==10)
{
if (p[4]==10)
{
if (p[3]==10)
{
if (p[2]==10)
{
if (p[1]<=0) p[1]=10;
}
}
}
}
i = i%10;
p[0] = i;
}
void processdont(unsigned char i,unsigned char *p)
{
p[0] = 10;
p[1] = 10;
p[2] = 10;
p[3] = 10;
p[4] = 10;
p[5] = 10;
p[i] = 11;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -