禁止SEQ1产生的中断申请ADCTRL2.INTENASEQ1=1.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 置零的控制位可省略,寄存器初始化时已清零。 * Main()中的其它部分未给出,如系统初始化,中断初始化。 变量adcres=65536,请同学们自己看教材中结果寄存器的格式确定。 AD结果寄存器中高12位为转换结果,低4位无效。 * * ADC模块的特点: 16通道模拟输入,可配置为2个独立的8通道模块,分别服务于EVA和EVB,也可以级联构成一个16通道模块; 每次转换的通道可通过两个功能强大的自动排序器设定; 两个采样/保持器,采样时间可独立控制,可以实现同时或顺序采样; 12位分辨率,0-3V模拟输入电压范围,转换速率可高达12.5MSPS; 多个触发源启动A/D转换过程(SOC):1)S/W-软件立即启动;2)EVA、EVB-在事件管理器中有多个事件源可启动A/D转换;3)外部引脚GPIOE1/XINT2_ADCSOC。 灵活的中断控制,允许每个或每隔一个序列转换结束产生中断请求; 16个结果寄存器存放A/D转换结果,转换后的数字量表示为: 数字值=4095×(输入模拟量-ADCLO)/3. 其它特点: 1)内部基准源 2)16个结果寄存器(相当于16级FIFO)。 * 8.4 ADC模块编程-初始化 void InitAdc(void) { AdcRegs.ADCTRL1.bit.RESET=1; //Reset ADC NOP; AdcRegs.ADCTRL1.bit.RESET=0; AdcRegs.ADCTRL1.bit.ACQ_PS=1; // The width of SOC pulse is ACQ_PS+ 1 AdcRegs.ADCTRL1.bit.CPS=0; // Core clock prescaler. Fclk = CLK/1. AdcRegs.ADCTRL1.bit.CONT_RUN=0; //Start-stop mode. AdcRegs.ADCTRL1.bit.SEQ_CASC=0; //Dual-sequencer mode. AdcRegs.ADCTRL3.bit.ADCBGRFDN=3; // Power up reference circuitry for(i=0;i10000;i++) NOP; // Delay before powering up rest of ADC AdcRegs.ADCTRL3.bit.ADCPWDN=1; // Power up rest of ADC for(i=0;i5000;i++) NOP; // Delay after powering up ADC 下面的例子中每次转换ADCIN6和ADCIN7两个通道。 * ADC模块初始化 AdcRegs.ADCTRL3.bit.ADCCLKPS=10; // Clock divider. HSPCLK, is divided by 2*ADCCLKPS //Sampling mode select. Sequential sampling mode is selected. AdcRegs.ADCTRL3.bit.SMODE_SEL=0; AdcRegs.MAX_CONV.bit.MAX_CONV=1; // Two channel, ADCINA6 ADCINA7 AdcRegs.CHSELSEQ1.bit.CONV00=6; // ADCINA6--Power supply voltage at 2.4V. AdcRegs.CHSELSEQ1.bit.CONV01=7; // ADCINA7--Reference input voltage //Interrupt clear bit.Writing a 1 to this bit clears the SEQ1 interrupt flag bit, INT SEQ1. AdcRegs.ADC_ST_FLAG.bit.INT_SEQ1_CLR=1; AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1=1; // Enable SEQ1 interrupt (every EOS) // SEQ1 interrupt mode. 0--INT SEQ1 is set at the end of every SEQ1 sequence. AdcRegs.ADCTRL2.bit.IN

文档评论(0)

youbika + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档