锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

PIC16F917 内部AD练习程序

时间:2024-04-13 12:37:09

/*************PIC16F917单片机程序*************************/
/******************************************************************/
/*****File Function : 内部AD练习程序 *****/
/*****Program Author : ZhengWen(ClimberWin) *****/
/***** : PIC16F917 内部晶振 *****/
/*****Compile Date : 2014/08/17 *****/
/*****Edition Info : V1.0 *****/
/*************************************************************/
//RA5(AN4)作为AD输入,电位器调节电压,LED显示电压数值
//引脚定义:PORTD=8LED,KEY=RB0(I)
/*修改日期: */

/************************************/
#include
#define uchar unsigned char
#define uint unsigned int
void Init(void);//初始化子程序
#define KEY RB0
void Init(void)
{
PORTA = 0B00000000;
PORTB = 0B00000000;
PORTC = 0B00000000;
PORTD = 0B00000000; SA = 0B00100000;//设置RA5(AN4)作为输入
TRISB = 0B00100001;//设置RB0为输入,作为按键口
TRISC = 0B00000000;//设置RC0为输出
C =0x00;//关闭LCD功能,不然PORTC不能作为普通I/O输出 TR = 0B00000000;//设置PORTD口为输出,作为LED显示口

///////////AD配置///////////////////////////////////////
ANSEL= 0B00010000; //选择AN4作为AD输入 (PDF 148)
A ON0=0B10010001;//AD结果格式Right justified,选择 VDD-VSS,AN4输入,关闭AD转换
ADCON1=0B01010000; //AD转换时钟选择
ADIE=1;//AD中断使能
PEIE=1;
ADIF=0;//清除中断标志位
GIE=1; //开总中断
} void interrupt ADint(void)
{

PORTD=~ADRESL;//LED输出显示低8位
PORTC=~ADRESH;//LED输出显示高2位
ADIF=0;//清除中断标志位
ADCON0=ADCON0|0B00000010;//开始AD转换
} ////////////主程序/////////////////////////
int main (void)
{ Init();//初始化程序 ADCON0=ADCON0|0B00000010;//开始AD转换
while(1) //等待AD转换
{
;
}
}
-电子元器件采购网(www.ruidan.com)是本土元器件目录分销商,采用“小批量、现货、样品”销售模式,致力于满足客户多型号、高质量、快速交付的采购需求。 自建高效智能仓储,拥有自营库存超过50,000种,提供一站式正品现货采购、个性化解决方案、选型替代等多元化服务。
锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章