?? 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 + -