历史上的今天

今天是:2024年09月04日(星期三)

正在发生

2020年09月04日 | pic多路adc 中断方式

发布者:chinalisa 来源: eefocus关键字:pic  多路adc  中断方式 手机看文章 扫描二维码
随时随地手机看文章

/* 
 * File:   main.c
 * Author: sm116
 *
 * Created on June 12, 2017, 9:27 AM
 */

#pragma config FOSC = INTOSC    // Oscillator Selection (INTOSC oscillator: I/O function on CLKIN pin)
#pragma config WDTE = OFF         // Watchdog Timer Enable (WDT enabled)ON
#pragma config PWRTE = ON       // Power-up Timer Enable (PWRT enabled)ON
#pragma config MCLRE = ON       // MCLR Pin Function Select (MCLR/VPP pin function is MCLR)
#pragma config CP = ON         // Flash Program Memory Code Protection (Program memory code protection is enabled)ON
#pragma config CPD = ON         // Data Memory Code Protection (Data memory code protection is enabled)
#pragma config BOREN = SBODEN   // Brown-out Reset Enable (Brown-out Reset controlled by the SBOREN bit in the BORCON register)
#pragma config CLKOUTEN = OFF   // Clock Out Enable (CLKOUT function is disabled. I/O or oscillator function on the CLKOUT pin)
#pragma config IESO = ON        // Internal/External Switchover (Internal/External Switchover mode is enabled)
#pragma config FCMEN = ON       // Fail-Safe Clock Monitor Enable (Fail-Safe Clock Monitor is enabled)


// CONFIG2
#pragma config WRT = ALL       // Flash Memory Self-Write Protection (000h to FFFh write protected, no addresses may be modified by EECON control)ALL
#pragma config VCAPEN = OFF     // Voltage Regulator Capacitor Enable (All VCAP pin functionality is disabled)
#pragma config PLLEN = ON      // PLL Enable (4x PLL enabled)
#pragma config STVREN = ON      // Stack Overflow/Underflow Reset Enable (Stack Overflow or Underflow will cause a Reset)
#pragma config BORV = LO        // Brown-out Reset Voltage Selection (Brown-out Reset Voltage (Vbor), low trip point selected.)
#pragma config LVP = ON         // Low-Voltage Programming Enable (Low-voltage programming enabled)


#define _XTAL_FREQ  32000000
#define __delay_us(x) _delay((unsigned long)((x)*(_XTAL_FREQ/4000000.0)))
#define __delay_ms(x) _delay((unsigned long)((x)*(_XTAL_FREQ/4000.0)))
#include
#include
#include
#include
#include;


#include
#include


unsigned int batter_ad=0;
unsigned int bat=0;


void init_system(void)      //      时钟
{
OSCCON  =0xf0;//0xF0;//0xf3;//0x6B; //内部时钟32m/8M/4M
WDTCON  = 0x1f; //看门狗周期32S
}


void init_gpio(void)        //         端口
{
TRISAbits.TRISA2=1;
ANSELAbits.ANSA2=1;
TRISAbits.TRISA3=1;
ANSELAbits.ANSA3=1;

}


void init_adc(void)
{


ADCON0=0X0b     ;     //默认采集的 
 ADCON1=0XE0;// FOSC/64 右对齐参考电压 VDD
    PIE1bits.ADIE=1;
    PIR1bits.ADIF=0;
    INTCONbits.GIE=1;
    INTCONbits.PEIE=1;
   
}




unsigned int get_ad(unsigned char n)
{
    unsigned int  value=0;
  
    ADCON0 = n ;
   
    ADCON1=0XE0;// FOSC/64 右对齐参考电压 VDD
    __delay_us(5);
 //   Delay_ms(20);//致命延时3天没找到问题 分时调用,暂时不用
//     ADCON0bits.ADON=1;//在定时器0中断中
    ADCON0bits.GO=1;
    while(ADCON0bits.GO);
    value=ADRESH *256 + ADRESL;
    return value;
}

void interrupt ISR(void) //      isr
{
if(ADIF)
{
ADIF=0;
        if( ADCON0==0X09)//在中断中实际的adcon0的GO 是0 所以是配置ADCON0-2
        {
batter_ad=(ADRESH<<8)+ADRESL; //存放ad值 
        ADCON0=0X0F;   //打开下一次要用的通道
            ADCON0bits.GO=1;//启动转换,不然只转化一次 
        }
          if( ADCON0==0X0d)
          {
          bat=(ADRESH<<8)+ADRESL;
          ADCON0=0X09;   
            ADCON0bits.GO=1;
          }

}
}


void main()
{
init_system();
init_gpio();
init_adc();
while(1)

 
//bat=get_ad(0X0B);
    //batter_ad=get_ad(0X0f);
//bat=batter_ad;
}

}

关键字:pic  多路adc  中断方式 引用地址:pic多路adc 中断方式

上一篇:pic 16 操作esp8266
下一篇:PIC16F1826定时器实现呼吸灯效果主程序

推荐阅读

恩智浦为动力电机变频控制器和电池管理提供新型参考平台恩智浦与VEPCO Technologies,Inc.合作设计ASIL-D电机变频控制器原型新型电池单元控制器支持高精度电压和阻抗测量 全球最大的汽车半导体供应商恩智浦半导体(NASDAQ:NXPI)1,宣布推出用于电动车辆牵引电机变频控制器和电池管理的新型汽车电源控制参考平台。这些新平台将恩智浦广泛的全球领先汽车...
日前,由中国电子信息产业集团有限公司主办、温州经济技术开发区管委会、温州市经济和信息化局、温州市科技局指导、中国电子(温州)信息港、中电港、iCAN国际联盟承办的“IAIC物联网高峰论坛暨中国芯应用创新设计大赛物联网专项赛”顺利召开,在主题报告中,来自中国软件行业协会嵌入式系统分会副理事长何小庆老师做了题为《嵌入式技术和物联网发展新趋势...
9月4日,据外媒报道,知情人士称,中国正计划制定一套全面的新政策以发展本国半导体产业并应对特朗普政府的限制。 知情人士说,中国正在为 2020 年到 2025 年的 “五年计划”中对所谓的第三代半导体给予广泛支持。知情人士说,中国第十四个五年计划草案中增加了一系列措施,加强半导体行业的研究,教育和融资。 研究公司 ...
文/陈根两周前,造车的特斯拉突然成为了机器人圈内的热点,马斯克在特斯拉AI Day的结尾以一个彩蛋的形式宣布特斯拉正在开发的人形机器人,立时引起人们的热议。马斯克提到,这款人型机器人最早会在2022年投放市场,而就机器人行业发展现状来看,这无疑又是一个激进的目标。上周,特斯拉公开招聘与机器人相关的职位,包括机械工程师-执行器集成、机械工程师-制动器...

史海拾趣

问答坊 | AI 解惑

【藏书阁】磁性体手册 第二篇物质篇

目录: 第七章 金属与合金的磁性 第八章 化合物的磁性 第九章 氧化物的磁性 第十章 卤化物的磁性 第十一章 其他的磁性 参考文献 详细信息: 书名:磁性体手册   作者:(日)近角聪信编 出版社:冶金工业出版社   出 ...…

查看全部问答∨

频率和电压的关系

请教高手为什么芯片的频率提高时相应的电压也要提高? 比如eeprom的工作频率一般在400KHZ一下,而不同的频率段要求对应不同的电压(3-5V)。望各位给以解答!…

查看全部问答∨

51单片机怎样控制步进电机走圆弧

我想用51单片机控制两只步进电机走圆弧,不知怎样计算圆弧,也就是说X轴电机走一步Y轴要走多少步,先谢各位高手了。。。。。。…

查看全部问答∨

LCD驱动问题

我现在用飞思卡尔的单片机控制迪文的DMT32240T035_01WN液晶屏,该屏是用串口发送命令控制的,由于这个型号的单片机只提供了两个串口,所以用SP2349芯片扩展了三个串口,现在用其中扩展出来的一个串口驱动液晶屏,但每次上电时液晶屏都没有反应,需 ...…

查看全部问答∨

为什么微软网站上有Mobile的镜像下载却没有CE的镜像下载?

如题,为什么微软网站上有Windows Mobile ****** Emulator Images 下载却没有Windows CE ****** Emulator Images的下载 ? 有个"Microsoft Windows CE 5.0 Device Emulator",应该只是模拟器吧?而且也无法安装...提示错误是:"无法打开此安装程 ...…

查看全部问答∨

急聘:MOTO诚聘QA

MOTO 现招聘QA Engineer 职位描述: 1.三年以上工作经验 2.英语熟练 QA Manager 职位要求: 1.五年以上工作经验 2.英语熟练…

查看全部问答∨

倒计时60秒源程序

#include #define uint unsigned int#define uchar unsigned charsbit P26=P2^6;sbit P27=P2^7;sbit s1=P3^0;sbit s2=P3^1;sbit s3=P3^6;sbit beep=P2^5;uchar temp,shi,ge,t;uchar code table[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0x ...…

查看全部问答∨

ST-Link2

                                 ST-Link2是什么东西啊,怎么才能和MDK配合使用呢?我买了Mxchip的SK,上面说带ST-Link2,可以和MDK配合使用,可我 ...…

查看全部问答∨

430低功耗问题

我用MSP430作了一个系统,430用的是电池供电,其它部分是外接电源供电.当外部停电后430进入 LPM3(低功耗模式3)状态.且所有的管脚都是输入模式.现在发现通过430的I/O口与其它芯片的偶合,其它芯片上的电源脚上出现了1.7V左右的电压. 如此一来电池将不久 ...…

查看全部问答∨

STM32 RS232通信协议的编写

最近,在做一个项目,实现环境中温度数据的采集,我负责串口通信的部分,控制器使用的是STM32F107VC,想采用中断的方式收发消息,还需要与上位机之间制定协议,请问怎么弄啊,以前从来没有做过,现在还比较急,有哪位大侠会吗,帮帮我!尽量清晰点, ...…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved