全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
#include DSP281x_Device.h #include DSP281x_Examples.h #include f2812a.h#include stdio.h#include math.hint ConversionCount,f;int Voltage1024,Vmax,Vmin,Vavr; /电压转换结果存储数组及一个周期内的采样值数组float RMS=0,U01024,SV; /电压有效值interrupt void adc_isr(void);main() InitSysCtrl(); /初始化时钟,CPU为15M,高速时钟Hspclk为1.5MDINT; /关闭中断InitPieCtrl(); /初始化Pie寄存器IER=0x0000; /禁止所有可屏蔽中断IFR=0x0000;InitPieVectTable(); /初始化Pie中断向量表EALLOW; /打开寄存器写保护PieVectTable.ADCINT=&adc_isr; /将Adc中断子程序的服务地址写入中断向量表EDIS; /禁止寄存器的访问InitAdc(); /初始化Adc,完成Adc的上电InitLcd(); /液晶初始化/*在Pie中使能Adc的中断ADCINT*/PieCtrlRegs.PIEIER1.bit.INTx6=1; /查表知ADCINT对应的是INT1,INTx.6IER=M_INT1; /使能CPU中断EINT; /使能全局中断/*配置Adc模块*/AdcRegs.ADCMAXCONV.all=0x0000; /设置SEQ1的最大转换通道数为1AdcRegs.ADCCHSELSEQ1.bit.CONV00=0x0; /选择0通道AdcRegs.ADCTRL2.bit.EVA_SOC_SEQ1=1; /选择EVA作为SEQ1的触发启动信号AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1=1; /使能SEQ1的中断操作(中断方式0)/*配置EVA*/EvaRegs.T1CNT=0x0000; /计数初值EvaRegs.T1PR=0x007D; /设置周期寄存器值为125,因为下面设的是增减计数模式,EVA的下溢启动Adc,所以采样周期是250个计数周期EvaRegs.GPTCONA.bit.T1TOADC=0x1; /设置EVA的下溢启动AdcEvaRegs.T1CON.all=0x0842; /设置T1为连续增减计数模式,不分频,即时钟为高速时钟Hspclk:1.5M,ConversionCount=0;while(1) /等待中断 ;interrupt void adc_isr(void)int i=0,j=0,flag=0; /flag作为遇到零点的标志VoltageConversionCount=AdcRegs.ADCRESULT04;U0ConversionCount=3.0*VoltageConversionCount/4095;if(ConversionCount=1023) /如果采样点数达到了1024PieCtrlRegs.PIEIER1.bit.INTx6=0; /禁止中断请求ConversionCount=0;/*求出1024个点中的最大最小值和中间值*/Vmax=Voltage0;Vmin=Voltage0;for(i=0;i1024;i+)if(VmaxVoltagei)Vmin=Voltagei; /求出最小值 Vavr=(Vmax-Vmin)/2; /求出中间值for(i=1;i1024;i+)if(Voltagei-1=Vavr)flag+;if(flag=1)SVj=U0i; /U0i就是对应的Voltagei的模拟值RMS+=SVj*SVj;j+;if(flag=2)i=1024;flag=0; RMS=sqrt(RMS/j); rg=(int)RMS;r1=(int)(RMS*10)%10;r2=(int)(RMS*100)%10;f=(1500000/250)/j;fb=f/100;fs=(f-fb*100)/10; fg=f-fb*100-fs*10;lcd_write_dy();lcd_write_pl(); PieCtrlRegs.PIEIER1.bit.INTx6=1; /使能中断请求else ConversionCount+;/*复位SEQ1,等待触发信号重启下次转换*/AdcRegs.ADCTRL2.bit.RST_SEQ1=1; /复位SEQ1AdcRegs.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工地三级教育试卷及答案
- 国考行测真题及答案(省级)
- 养老护理员(三级)资格理论考试题库(附答案)
- 会计信息系统习题集及答案
- 2025年康复医学临床医师资格考试真题解析卷
- 临床医技感染防控模拟考试题
- 动物防疫法试题及答案
- 2025年二级建造师考试试题1套附答案详解
- 兰州市西固区教育系统招聘教师考试真题
- 大厦写字楼保安员考核试题
- 《中医耳鼻喉科临床诊疗指南·耳鸣+编制说明》
- 第六章几何图形 初步数学活动 制作纸魔方和绘制五角星说课稿2024-2025学年人教版数学七年级上册
- 《激光拉曼光谱法》课件
- 人力资源管理高级实验试题库
- 9.2文化发展的基本路径 课件-高中政治统编版必修4
- 初中物理物态变化 跨学科实践 对冰箱中热现象的探究 2024-2025学年苏科版物理八年级上学期
- 卡西欧手表5174机芯中文使用说明书
- 2024年铁路线路工(技师)技能鉴定理论考试题库(含答案)
- YYT 0657-2017 医用离心机行业标准
- 沪科版九年级物理温度与物态变化检测题(含答案)
- 数据挖掘与机器学习全套教学课件
评论
0/150
提交评论