前面的正常,最后无法输出GPIO=0x04。
#include<pic.h>
#define uchar unsigned char
#define uint unsigned int
__CONFIG(0x001A);//启用MCLR功能
void delay(uint x);
void init();
void scan();
void main()
{
init();
GPIO=0x34;//0011 0100
delay(12000);//18秒
GPIO=0x00; //启辉电压 0000 0000
delay(1000); //维持一秒
GPIO=0x04; //关闭启辉电压 0000 0100
while(1)
{
scan();
}
return;
}
void delay(uint x)//x为多少,就延迟多少毫秒。
{
uint a,b;
for(a=x;a>0;a--)
for(b=110;b>0;b--);
}
void init()
{
OPTION=0x07;
//TRISGPIO=0x00;//4脚做为I/O口,MCLR内部与vdd相连
TRISGPIO=0x0A;//4脚6脚输入,4脚作为MCLR引脚,低电平有效。
}
void scan()
{
if(GP1==1)//6脚反馈高电平,7脚响应高电平。
{
delay(10);
if(GP1==1)
{
GP0=1;
}
}
}
|