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

📄 smg.h

📁 单路带数码管可编程可调节延时模块
💻 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 + -