[计算机软件及应用]ARM 第6章.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[计算机软件及应用]ARM 第6章

while(1) { ADCR = (ADCR0x00FFFF00)|0x01|(1 24); // 设置通道1,并进行第一次转换 while( (ADDR0==0 ); // 等待转换结束 ADCR = ADCR | (1 24); // 再次启运转换 while( (ADDR0==0 ); // 等待转换结束 ADC_Data = ADDR; // 读取ADC结果 ADC_Data = (ADC_Data6) 0x3FF; // 提取AD转换值 ADC_Data = ADC_Data * 3300/1024; // 数值转换 sprintf(str, VIN1=%dmV \r, ADC_Data); UART0SendStr(str); DelayNS(100); ADCR = (ADCR0x00FFFF00)|0x02|(1 24); // 设置通 道2,并进行第一次转换 while( (ADDR0==0 ); // 等待转换结束 ADCR = ADCR | (1 24); // 再次启运转换 while( (ADDR0==0 ); // 等待转换结束 ADC_Data = ADDR; // 读取ADC结果 ADC_Data = (ADC_Data6) 0x3FF; // 提取AD转换值 ADC_Data = ADC_Data * 3300/1024; // 数值转换 sprintf(str, VIN2=%dmV \r, ADC_Data); UART0SendStr(str); DelayNS(100); } } 3.电路仿真 (1)在PROTEUS软件中,连接电路原理图如图6.27所示。 (2)右击LPC2124,在弹出的Edit Component对话框中,为LPC2124芯片设置Program File文件AD1.HEX路径。 (3)启动仿真,虚拟终端显示A/D值,如图6.28所示。 图6.28 仿真结果 【例6.15】设置RTC在12:00:00定时报警。程序清单如下: ILR = 0x03; //清除RTC中断标志 CIIR = 0x02; //设置分值增量中断 ALHOUR = 12; //报警时间为12:00:00 ALMIN = 0; ALSEC = 0; AMR = 0xF8; //屏蔽日期(月)值、星期值、日期(年)值、月值和年值 5. 预分频整数寄存器(PREINT) 预分频值的整数部分计算如下: PREINT = int( Fpclk/32 768 )-1 (6-3) 要求PREINT的值必须大于等于1。 6. 预分频小数寄存器(PREFRAC) 预分频值的小数部分计算如下: PREFRAC = Fpclk - ( PREINT+1 )×32 768 (6-4) 【例6.16】按读时间计数寄存器方式读取RTC时钟值。程序清单如下: struct DATE { uint16 year; uint8 mon; uint8 day; uint8 dow; }; struct TIME { uint8 hour; uint8 min;

文档评论(0)

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

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

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档