1.c

来自「PIC16F877应用的AD转换主程序 并可以通过LCD显示」· C语言 代码 · 共 71 行

C
71
字号
#include <pic.h>
#include "lcd.h"
unsigned  int adresult=0;
unsigned int ad_sample_result=0;
unsigned char ad_flag=0;
unsigned int ad_delay=0;

void initial()
{
   INTCON=0x00;
   ADCON1=0x07;
}

void ad_initial()
{    TRISA=TRISA|0x01;
     ADCON0=0x41;
     ADCON1=0x82;
     ADIF=0;
     ADIE=1;
     
}

void deal_ad()
{
   unsigned int temp;
   ad_sample_result=ADRESL+(ADRESH<<8);
   ad_flag=0;
   adresult=(ad_sample_result*50)>>10;
   temp=adresult;
   adresult=(((temp/10)<<4)&0xf0)+(adresult%10);
}

void interrupt ad()
{

   if(ADIF==1)
    { ADIF=0;
      ad_flag=1;
     }
}



void main()
{ 
  TRISB=0x00;
  TRISD=0x00;
  initial();
  ad_initial();
  INTCON=0xc0;
   init();                
   lcd_init(); 

  write_web();
    while(1)
 {          
                                                                      
            PORTD=0XC0;            
            lcd_enable();             
            write_tel((char)adresult);
          
   if(ad_flag==1)
    deal_ad();
   if(ad_delay>0x05)
  {
     ad_delay=0;
     ADCON0=ADCON0|0x04;
  }
  else ad_delay++;
 }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?