MPLAB C18学习 简单的AD中断程序
注意,本人新学C18,不能保证代码质量。代码基于PIC18Fxx20系列,和PIC18Fxx2系列在寄存器上有不小差异,不能通用,具体请参照数据手册。
#include <p18cxxx.h>
#include <delays.h> //需要用到其中的延时函数
#pragma config WDT = OFF
void ADCInt(void);
#pragma code HighVecter = 0x08 //高优先级中断向量
void ADC(void)
{
_asm
goto ADCInt
_endasm
}
#pragma code
volatile union res //保存AD结果的联合
{
int resault;
unsigned char res[2];
}resault;
#pragma interrupt ADCInt //高优先级中断服务程序
void ADCInt(void)
{
resault.res[0] = ADRESH; //读取AD结果
resault.res[1] = ADRESL;
PIR1bits.ADIF = 0; //清除AD中断标志
Delay10TCYx(3); //延时,等待AD转换。根据数据手册,每次
//采集前至少需等待2*1.6μs。Delay10TCYx
//函数即为延时10xX个机器周期,在delays.h
//中定义
ADCON0bits.GO = 1; //继续下次采集
}
void main(void)
{
ADCON1bits.PCFG3 = 1; //配置引脚。此处定义AN0为模拟输入,其余
ADCON1bits.PCFG2 = 1; //均为IO口
ADCON1bits.PCFG1 = 1;
ADCON1bits.PCFG0 = 0;
ADCON1bits.VCFG1 = 0; //定义VREF+为AVDD,VREF-为AVSS
ADCON1bits.VCFG0 = 0;
ADCON0bits.CHS3 = 0; //选择通道AN0
ADCON0bits.CHS2 = 0;
ADCON0bits.CHS1 = 0;
ADCON0bits.CHS0 = 0;
ADCON2bits.ADCS2 = 0; //选择时钟分频,此处为8分频
ADCON2bits.ADCS1 = 0;
ADCON2bits.ADCS0 = 1;
ADCON2bits.ADFM = 1; //把转换结果设置为右对齐(高位置0)
ADCON0bits.ADON = 1; //打开AD转换
PIR1bits.ADIF = 0; //清除AD中断标志
PIE1bits.ADIE = 1; //使能AD中断
INTCONbits.PEIE = 1; //打开外部中断使能
INTCONbits.GIE = 1; //打开全局中断使能
Delay10TCYx(3); //延时等待采集结束
ADCON0bits.GO = 1; //开始转换
while(1);
}
在Proteus下的仿真结果:
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
TI RFID概述(上海)(下)
当主控芯片架构不断变化时,系统研发团队真正需要什么样的开发平台?
MAX1811 USB手机应急充电电路
C716-F716.pdf
笔记本电脑跨入新时代 CPU速度超3GHz
英特尔据传退出与Tower的300毫米晶圆代工协议,产能或将转移至日本
高朋满座话未来|专访vivo高级副总裁、首席技术官施玉坚
芯粒与三维集成电路带来全新的电气和机械挑战
可控硅移相触发器KC04典型应用电路图
高朋满座话未来|专访百度集团副总裁、小度科技CEO李莹
铃声图片随心换:三菱M320 DIY技巧
ARM9(2410)开发板资料.zip
dsPIC30F_to_dsPIC33F_Conversion_Guidelines.pdf
TI RFID概述(上海)(上)
可控硅移相触发器KJ004的典型应用电路图
KJT1调节控制板电原理图
12C50X-12C50XA.pdf
C76_77-F76_77.pdf
三星率先交付全球首款商用HBM4,速率从11.7 Gbps提升至13 Gbps
MSP430的开发工具和仿真软件
深度求索上下文窗口扩大十倍,智谱同步发布新模型,中国AI竞赛加速
我是佛前的一朵青莲 [转帖]
面测试测量市场的环境动荡, Pickering Interfaces开关与仿真领域的重点成果回顾与展望
应用材料晶体管与布线创新技术,助力打造更快的人工智能芯片
超高频RFID IC封装
KJ001的典型应用电路图
台积电AI产能:黄称英伟达的需求可能迫使其实现翻倍
超低功率高性能新一代产品MSP430F5xx
到2005年发展中国家电子市场将扩大一倍
怎样手工修改手机界面和背景灯