📄 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}; //显示段码 数码管字跟
sbit wei1=P1^0;
sbit wei2=P1^1;
sbit wei3=P1^2;
sbit wei4=P1^3; //位的控制端
uchar numb[4]; //定义字符串
uchar cnt,keynum;
uint miao;
void delay(uchar x);
/********************************************************************
求值函数
*********************************************************************/
void t_to_dis()
{
numb[0]=keynum; //显示千位
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]]&0x7f;
wei1=1;
delay(2);
WEI&=0XF0;
DUAN=seg7code[numb[1]];
wei2=1;
delay(2);
WEI&=0XF0;
DUAN=seg7code[numb[2]];
wei3=1;
delay(2);
WEI&=0XF0;
DUAN=seg7code[numb[3]];
wei4=1;
delay(2);
WEI&=0XF0;
}
/********************************************************************
定时器T0中断函数
*********************************************************************/
void timer0(void)interrupt 1 using 2
{
TH0=0X9c;//定时初值
TL0=0X40;//定时初值
cnt++;
if(cnt==40)
{
cnt=0;
miao++;
if(ADC_RES==miao)
{
jdq=1;
TR0=0;
TR1=1;
cnt=0;
miao=0;
}
}
}
/********************************************************************
定时器T1中断函数
*********************************************************************/
void timer1(void)interrupt 3 using 3
{
TH1=(65536-30000)/256;
TL1=(65536-30000)%256;
cnt++;
if((cnt==10)&&(keynum==0))
{
TR1=0;
jdq=0;
}
if(cnt==100)
{
cnt=0;
miao++;
if(miao==4)
{
miao=0;
jdq=0;
TR1=0;
}
}
}
/********************************************************************
定时器T0初始化*********************************************************************/
void timer0init(void)
{
TMOD|=0X11;//定义定时器工作方式
TH0=0X9c;
TL0=0X40;
TH1=(65536-30000)/256;
TL1=(65536-30000)%256;
ET0=1;
ET1=1;
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -