📄 smg.h
字号:
#ifndef __SMG_H__
#define __SMG_H__
//库文件
#define uchar unsigned char//宏定义无符号字符型
#define uint unsigned int //宏定义无符号整型
#define DUAN P2 //P0口控制段
#define WEI P1 //P2口控制位
sbit jdq=P3^7;
/********************************************************************
初始定义
*********************************************************************/
code uchar seg7code[11]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0XBF}; //显示段码 数码管字跟
uchar wei[4]={0X01,0X02,0X04,0X08}; //位的控制端
uchar numb[4]; //定义字符串
uchar cnt;
uchar date=1;
uint miao,fen;
void delay(uint x);
/********************************************************************
求值函数
*********************************************************************/
void t_to_dis()
{
numb[0]=ADC_RES/1000; //显示千位
numb[1]=ADC_RES%1000/100; //显示百位
numb[2]=ADC_RES%100/10; //显示十位
numb[3]=ADC_RES%10; //显示个位
}
/********************************************************************
显示函数
*********************************************************************/
void display()//显示函数
{
WEI&=0XF0;
DUAN=seg7code[numb[0]];
WEI=wei[0];
delay(2);
WEI&=0XF0;
DUAN=seg7code[numb[1]];
WEI=wei[1];
delay(2);
WEI&=0XF0;
DUAN=seg7code[numb[2]];
WEI=wei[2];
delay(2);
WEI&=0XF0;
DUAN=seg7code[numb[3]];
WEI=wei[3];
delay(2);
WEI&=0XF0;
}
/********************************************************************
定时器中断函数
*********************************************************************/
void timer1(void)interrupt 1
{
TH0=0X9c;//定时初值
TL0=0X40;//定时初值
cnt++;
if(cnt==40)
{
cnt=0;
miao++;
if(miao==60)
{
miao=0;
fen++;
}
}
if(ADC_RES==(fen*60+miao))
{
jdq=0;
TR0=0;
fen=0;
}
}
/********************************************************************
中断初始化*********************************************************************/
void cshh()
{
TMOD|=0X01;//定义定时器工作方式
TH0=0X9c;
TL0=0X40;
ET0=1;
TR0=1; //开定时器
EA=1; //开中断
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -