教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 学前教育 >

武汉理工大学智能仪器课设 - 智能化的数据采集和电压监控系统 -(6)

来源:网络收集 时间:2026-07-09
导读: 武汉理工大学智能仪器课程设计 附录: 一: 程序 1:主程序 #include \#include \#include \#include \#include \#include \#include \ int main(void) { u16 adcx,adcx1,adcx0,adcx2; float temp,temp1,adcx3; flo

武汉理工大学智能仪器课程设计

附录:

一: 程序

1:主程序

#include \#include \#include \#include \#include \#include \#include \

int main(void) { u16 adcx,adcx1,adcx0,adcx2; float temp,temp1,adcx3; float s[50]; u8 i=0,j=0,k=0;

LCD_IOinit(); //初始化液晶屏接口 LCD_Init(); //初始化液晶屏驱动器 LED_Init(); //初始化LED delay_init(); //延时函数初始化 NVIC_Configuration(); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级 uart_init(9600); //串口初始化为9600

TIM3_PWM_Init(199,7199); //初始化PWM PWM频率=50hz Adc_Init(); //ADC初始化 Pant(colors[2]>>8 , colors[2] ); //设置背景颜色 LCD_cs=0; //打开片选使能

//智能采集电压监控系统

ChineseChar(0,50,1,colors[3],colors[2],1); //智 ChineseChar(24,50,1,colors[3],colors[2],2); //能 ChineseChar(48,50,1,colors[3],colors[2],3); //采 ChineseChar(72,50,1,colors[3],colors[2],4); //集 ChineseChar(96,50,1,colors[3],colors[2],5); //电 ChineseChar(120,50,1,colors[3],colors[2],6);//压 ChineseChar(144,50,1,colors[3],colors[2],7);//监 ChineseChar(168,50,1,colors[3],colors[2],8);//控 ChineseChar(192,50,1,colors[3],colors[2],9); //系 ChineseChar(216,50,1,colors[3],colors[2],10); //统

LCD_ShowString(0+20,105,colors[5],colors[2],\ LCD_ShowString(0+20,130,colors[5],colors[2],\

LCD_ShowString(0+20,165,colors[5],colors[2],\ LCD_ShowString(0+20,190,colors[5],colors[2],\

while(1) {

TIM_SetCompare2(TIM3,180); //PWM 占空比

//通道2

adcx2=Get_Adc_Average(ADC_Channel_2,10); adcx1=adcx2;

LCD_ShowxNum(50+20,165,colors[4],colors[2], adcx1*2,4,20); temp1=(float)adcx1*((3.3/4096)*1000);

LCD_ShowxNum(50+20,190,colors[4],colors[2], temp1*2,4,20); printf(\参考VOL: %.0fVm AD2\\r\\n\

//通道1 adcx0=Get_Adc_Average(ADC_Channel_1,10); //滤除尖峰脉冲影响 adcx=adcx0*2; //采样电压大于4V或小于2V LED1亮或LED0亮 if(adcx<=2482) //小于2V

20 / 44

武汉理工大学智能仪器课程设计

} }

//最近50组数据存储

s[i]=temp; //把数据存入数组 i++;

if(i==50) {

for(j=0;j<50;j++) { printf(\ //显示 if((j+1)%5==0) printf(\每五个数换行 } i=0;

for(k=0;k<50;k++) { s[k]=0; } }

delay_ms(5);

{ LED0=0; }

else if(adcx>=4964) //大于4V { LED1=0; } else { LED0=1; LED1=1; }

LCD_ShowxNum(50+20,105,colors[4],colors[2], adcx,4,20); temp=(float)adcx*(3.3/4096)*1000; adcx3=temp*(3300/temp1); //增益自动校准 (Vr:3.3 Nr:temp1 No:0) LCD_ShowxNum(50+20,130,colors[4],colors[2], adcx3,4,20); printf(\输出VOL: %.0fVm AD1\\r\\n\

2:PWM 50Hz 占空比20%子程序

#include \#include \#include \

//TIM3 PWM部分初始化 //PWM输出初始化 //arr:自动重装值 //psc:时钟预分频数

void TIM3_PWM_Init(u16 arr,u16 psc) {

GPIO_InitTypeDef GPIO_InitStructure;

TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_OCInitTypeDef TIM_OCInitStructure;

RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); //使能定时器3时钟

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC | RCC_APB2Periph_AFIO, ENABLE); //使能GPIO外设和AFIO

复用功能模块时钟

GPIO_PinRemapConfig(GPIO_FullRemap_TIM3, ENABLE); //Timer3部分重映射 TIM3_CH2->PB5

21 / 44

武汉理工大学智能仪器课程设计

//设置该引脚为复用输出功能,输出TIM3 CH2的PWM脉冲波形 GPIOB.5 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7; //TIM_CH2

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //复用推挽输出 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOC, &GPIO_InitStructure);//初始化GPIO

//初始化TIM3

TIM_TimeBaseStructure.TIM_Period = arr; //设置在下一个更新事件装入活动的自动重装载寄存器周期的值 TIM_TimeBaseStructure.TIM_Prescaler =psc; //设置用来作为TIMx时钟频率除数的预分频值 TIM_TimeBaseStructure.TIM_ClockDivision = 0; //设置时钟分割:TDTS = Tck_tim TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //TIM向上计数模式

TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); //根据TIM_TimeBaseInitStruct中指定的参数初始化TIMx的时间基数单位

//初始化TIM3 Channel2 PWM模式

TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM2; //选择定时器模式:TIM脉冲宽度调制模式2 TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; //比较输出使能 …… 此处隐藏:1408字,全部文档内容请下载后查看。喜欢就下载吧 ……

武汉理工大学智能仪器课设 - 智能化的数据采集和电压监控系统 -(6).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/594546.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)