这是我的 程序 //引用头文件 #include<pic.h> static bit AD_DONE @((unsigned)&ADCON0*8)+1; //符号变量替换 #define u8 unsigned char #define u16 unsigned int #define LED2 GPIO5 #define LED1 GPIO2 #define KEY0 GPIO1 #define KEY1 GPIO0 #define KEY2 GPIO3 void init(void) { CMCON=0X07;//比较器关闭 ANSEL=0X38;//设GP0,1,2,3,5都为数字IO口 GP4为AD OPTION=0X07;//GPIO上拉 预分频1:256设置 TRISIO=0x1b;//GP口设为 WPU=0xFF; TMR0=200;//定时初值TMR0设置:(预分频数)256*TMR0+256=50000毫秒 INTCON=0XA0;//所有中断允许; T0IE=0;//T0中断允许位; T0IF=0; } void delay2s() { u8 i,j; for(i=0;i<250;i++) for(j=0;j<250;j++); for(i=0;i<254;i++) for(j=0;j<254;j++); } void delay() { u8 i; for(i=0;i<254;i++); } u16 ADC() { u8 i=250; u16 ADH,ADL,AD_value; ADCON0 = 0x8d; AD_DONE = 1; while(AD_DONE); ADCON0 = 0x8c; ADH=ADRESH; ADL=ADRESL; AD_value=(ADH*256)+ADL; return AD_value; } void main(void) { long int AD_value; init();//初始化 while(1) //任务结束,等待...... { AD_value=ADC(); if( AD_value>380) LED2=1; else LED2=0; } } |
|
来自: XHB7906021 > 《PIC2F675》