⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 seg_trd.c

📁 数字时钟--51单片机 可以用KEY调整时间
💻 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 + -