pic系列单片机用c语言编程时,让他执行A/D转换的指令是什么?
2013-09-05
展开全部
在C语言里没有指令,只有语句,用C语言执行A/D转换如下: //A/D转换初始化子程序
void adinitial()
{
ADCON0=0x41; //选择A/D通道为RA0,且打开A/D转换器
//在工作状态,使A/D转换时钟为8Tosc
ADCON1=0X8E; //转换结果右移,及ADRESH寄存器的高6位为"0"
//把RA0口设置为模拟量输入方式
ADIE=1; //A/D转换中断允许
PEIE=1; //外围中断允许
TRISA0=1; //设置RA0为输入方式
}
//读ADRESH寄存器就能得到AD转换值了,
汇编的如下: ADINT MOVLW 0X51 MOVWF ADCON0 ;选择A/D转换通道为RA2,且打开A/D在工 ;作状态,并使A/D转换时钟为8tosc BANKSEL ADCON1 ;选BANK1体 MOVLW 0X80 MOVWF ADCON1 ;转换结果右移,即ADRESH寄存器的高6位;为“0”,且把RA2口设置成模拟量输入口 CLRF PIE1 ;禁止其它中断 BSF PIE1,ADIE ;A/D转化中断允许 BSF TRISA,2 ;设置RA2口为输入方式 BSF INTCON,PEIE ;外围中断允许 BSF INTCON,GIE ;总中断允许 BCF STATUS,RP0 ;返回BANK0 RETURN
void adinitial()
{
ADCON0=0x41; //选择A/D通道为RA0,且打开A/D转换器
//在工作状态,使A/D转换时钟为8Tosc
ADCON1=0X8E; //转换结果右移,及ADRESH寄存器的高6位为"0"
//把RA0口设置为模拟量输入方式
ADIE=1; //A/D转换中断允许
PEIE=1; //外围中断允许
TRISA0=1; //设置RA0为输入方式
}
//读ADRESH寄存器就能得到AD转换值了,
汇编的如下: ADINT MOVLW 0X51 MOVWF ADCON0 ;选择A/D转换通道为RA2,且打开A/D在工 ;作状态,并使A/D转换时钟为8tosc BANKSEL ADCON1 ;选BANK1体 MOVLW 0X80 MOVWF ADCON1 ;转换结果右移,即ADRESH寄存器的高6位;为“0”,且把RA2口设置成模拟量输入口 CLRF PIE1 ;禁止其它中断 BSF PIE1,ADIE ;A/D转化中断允许 BSF TRISA,2 ;设置RA2口为输入方式 BSF INTCON,PEIE ;外围中断允许 BSF INTCON,GIE ;总中断允许 BCF STATUS,RP0 ;返回BANK0 RETURN
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询