📄 seg_trd.c
字号:
#include <reg51.h>
#include <intrins.h>
#include <math.h>
#define uchar unsigned char
#define uint unsigned int
/*sbit segdigit_1 = P2^2;
sbit segdigit_2 = P2^3;
sbit segdigit_3 = P2^4;
sbit segdigit_4 = P2^5;
sbit segdigit_5 = P2^6;
sbit segdigit_6 = P2^7;//最高位*/
/*unsigned char code table[]=
{0xC0,0xF9,0xA4,0xB0,0x99,
0x92,0x82,0xF8,0x80,0x90,
0x88,0x83,0xC6,0xA1,0x86,0x8E};//0-F*/
unsigned char code led_data[]=
{0xC0,0xF9,0xA4,0xB0,0x99,
0x92,0x82,0xF8,0x80,0x90};//0-9
uchar flag = 0;
void delay1(uint dly)
{
uint i, j;
for(i=50; i>0; i--)
for(j=dly; j>0; j--);
}
void display_one(uchar count,uchar dat)
{
P0 = led_data[dat]; //显示的数
P2 = ~(1<<count); //选中对应要显示的位
}
void display_sec(uint dat)
{
uchar temp;
//十位
if(dat>=10)
{
temp=dat/10;
display_one(3,temp);
delay1(2);
}
else
{
display_one(3,0);
delay1(2);
}
//个位
temp=dat%10;
display_one(2,temp);
delay1(2);
}
void display_min(uint dat)
{
uchar temp;
//十位
if(dat>=10)
{
temp=dat/10;
display_one(5,temp);
delay1(2);
}
else
{
display_one(5,0);
delay1(2);
}
//个位
temp=dat%10;
display_one(4,temp);
delay1(2);
}
void display_hor(uint dat)
{
uchar temp;
//十位
if(dat>=10)
{
temp=dat/10;
display_one(7,temp);
delay1(2);
}
else
{
display_one(7,0);
delay1(2);
}
//个位
temp=dat%10;
display_one(6,temp);
delay1(2);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -