delay_1ms(); //
RC0=1; //
disppoint++; //
put_num(buf[disppoint]); //
RC1=0; //
delay_1ms(); //
RC1=1; //
disppoint++; //
put_num(buf[disppoint]); //
RC2=0; //
delay_1ms(); //
RC2=1; //
disppoint++; //
put_num(buf[disppoint]); //
RC3=0; //
delay_1ms(); //
RC3=1; //
}
//**********************************
//AD转换初始化子程序 //
//*********************************
void ad_initial() //
{
ADCON0=0B01001001; //fosc/8 RA1/AN1 ADON=1
ADCON1=0B00000010; //AN0-AN4=A VREF=VDD
ADIE=1; //
PEIE=1; //
}
//**********************************
//按键处理子程序 //
//**********************************
void keywork() //
{
if((PORTB&0xFF)!=0xFF) //如果P1.2--P1.4不为全1,可能有键按下
{
delay_10ms(); //延时去抖动
if((PORTB&0xFF)!=0xFF) //重读P1.2-P1.4位,若还是不全为1,定有键按下
{
if((PORTB&0xF0)!=0xF0) //重读P1.2-P1.4位,若还是不全为1,定有键按下
{
//-------------------------------------------
if (KEY_SET==0) //按下SET键,如在SET状态就退出,否则进入
{
RC4=!RC4;
keywait();
return;
}
else if(KEY_DOWN==0) //按下DOWN键
{
RC3=!RC3;
keywait();
return;
}
else if (KEY_UP==0) //按下UP键
{
RC2=!RC2;
keywait();
return;
}
}
}
}
}
//--------------------------------------
//--------------------------------------
//Tmr0中断程序
void interrupt clkint(void)
{
TMR0=0x13; //
T0IF=0; //
CLRWDT(); //
sreg=sreg+1; //
if(sreg==40) //
{ //
sreg=0; //
buf[3]++;
if(buf[3]>9)
{buf[3]=0;
buf[2]++;
if(buf[2]>9)
{buf[2]=0;
buf[1]++;
if(buf[1]>9)
{buf[1]=0;
buf[0]++;
if(buf[0]>9)buf[0]=0;
}
}
}
上一页 [1] [2] [3] 下一页
本文关键字:单片机 程序 PIC单片机,单片机-工控设备 - PIC单片机