第13章STC单片机ADC原理及实现 STC单片机内ADC的结构原理 --ADC的结构 STC15系列单片机内集成了8路10位高速ADC转换器模块 通过ADC控制寄存器ADC_CONTR中SPEED1和SPEED0比特 位的控制该ADC模块的最高采样速率可以达到300KHz即 30万次采样/秒30kSPS30kSamplePerSecond STC单片机内ADC的结构原理 --STC单片机内AD
2022-01-29 12:07:52 566KB 文档 互联网 资源
1
第13章 STC单片机ADC原理及实现 本章主要内容 模数转换器原理 STC单片机内ADC的结构原理 STC单片机内ADC寄存器组 直流电压采集和串口显示 直流电压采集和1602 LCD显示 交流电压采集和12864 LCD显示 温度测量及串口显示 模数转换器原理 数模转换器Analog to Digital ConverterADC 简称为A/D它用于将连续的模拟信号转换为数字形式 离散信号
2022-01-29 12:05:14 690KB 文档 互联网 资源
1
Stm32对比起单片机,不仅仅运算速度几十倍之差,而且对于其丰富的内部资源(例如一般STM均集成多路ADC、DAC、DMA、多路IIC、多路UART、SPI等等众多功能)单片机是无法匹敌的。而且stm芯片已经越来越接近单片机价格。众多优秀的表现可以看出stm32将取代单片机。 本次作品的原理是通过以STM32芯片作为主控芯片,通过利用STM32芯片自带的AD功能实时识别信号源的电压,并且以一定的采样周期采样电压数据,并按照队列方式储存芯片当中。再通过4.2英寸的显示屏把波形实时地显示出来。即可完成功能的实现。
2022-01-28 18:20:27 7.86MB STM32 DMA AD
1
STM32F407单片机读写 MH-Z14A二氧化碳传感器模块并串口输出软件DEMO例程源码,可做为你的学习设计参考。 int main(void) { uint32_t strL; /* 复位所有外设,初始化Flash接口和系统滴答定时器 */ HAL_Init(); /* 配置系统时钟 */ SystemClock_Config(); /* 初始化串口并配置串口中断优先级 */ MX_DEBUG_USART_Init(); MX_USARTx_Init(); HMI_USARTx_Init(); /* 无限循环 */ while (1) { /* 发送读取数值指令 */ if(HAL_UART_Transmit(&husartx,&aTxBuffer[0],9,0xFFFF)==HAL_OK) /* 读取返回值 */ HAL_UART_Receive(&husartx,&aRxBuffer[0],9,0xFFFF); /* 计算气体浓度值 */ strL=aRxBuffer[2]*256+aRxBuffer[3]; HMI_value_setting("page1.t1.txt",aRxBuffer[0]); HMI_value_setting("page1.t7.txt",aRxBuffer[1]); HMI_value_setting("page1.t9.txt",aRxBuffer[2]); HMI_value_setting("page1.t11.txt",aRxBuffer[3]); HMI_value_setting("page1.t13.txt",aRxBuffer[4]); HMI_value_setting("page1.t15.txt",aRxBuffer[5]); HMI_value_setting("page1.t17.txt",aRxBuffer[6]); HMI_value_setting("page1.t19.txt",aRxBuffer[7]); HMI_value_setting("page1.t21.txt",aRxBuffer[8]); HMI_string_setting("page1.t3.txt",strL); printf("二氧化碳浓度为:%d ppm\n",strL); HAL_Delay(5000); } } /** * 函数功能: 向串口屏发送数据 * 输入参数: 无 * 返 回 值: 无 * 说 明: 无 */ void HMI_value_setting(const char *val_str,uint32_t value) { uint8_t tmp_str[30]={0}; uint8_t i; sprintf((char *)tmp_str,"%s=\"%x\"",val_str,value); for(i=0;iDR=tmp_str[i]; while(__HAL_UART_GET_FLAG(&husartx_HMI, UART_FLAG_TXE) == RESET); } HMI_USARTx->DR=0xFF; while(__HAL_UART_GET_FLAG(&husartx_HMI, UART_FLAG_TXE) == RESET); HMI_USARTx->DR=0xFF; while(__HAL_UART_GET_FLAG(&husartx_HMI, UART_FLAG_TXE) == RESET); HMI_USARTx->DR=0xFF; while(__HAL_UART_GET_FLAG(&husartx_HMI, UART_FLAG_TXE) == RESET); } /** * 函数功能: 向串口屏发送数据 * 输入参数: 无 * 返 回 值: 无 * 说 明: 无 */ void HMI_string_setting(const char *val_str,int32_t value) { uint8_t tmp_str[50]={0}; uint8_t i; sprintf((char *)tmp_
STM32单片机读写24位ADC_AD7190称重模块带液晶显示例程DEMO源码文件,可做为你的学习设计参考。 int main(void) { uint32_t lcdid; float data_temp; int32_t weight_count; uint8_t cali_flag=0; char str[50]; /* 复位所有外设,初始化Flash接口和系统滴答定时器 */ HAL_Init(); /* 配置系统时钟 */ SystemClock_Config(); /* 初始化串口并配置串口中断优先级 */ MX_DEBUG_USART_Init(); KEY_GPIO_Init(); /* 初始化3.5寸TFT液晶模组,一般优先于调试串口初始化 */ lcdid=BSP_LCD_Init(); /* 调用格式化输出函数打印输出数据 */ printf("LCD ID=0x%08X\n",lcdid); LCD_Clear(0,0,LCD_DEFAULT_WIDTH,LCD_DEFAULT_HEIGTH,BLACK); HAL_Delay(1000); /* 开背光 */ LCD_BK_ON(); if(AD7190_Init()==0) { printf("获取不到 AD7190 !\n"); while(1) { HAL_Delay(1000); if(AD7190_Init()) break; } } printf("检测到 AD7190 !\n"); weight_ad7190_conf(); HAL_Delay(500); weight_Zero_Data = weight_ad7190_ReadAvg(6); printf("zero:%d\n",weight_Zero_Data); /* 无限循环 */ while (1) { weight_count=weight_ad7190_ReadAvg(6); data_temp=weight_count-weight_Zero_Data; weight=data_temp*1000/weight_proportion; printf("重量:0x%5X->%f\n",weight_count,weight); sprintf(str,"0x%5X",weight_count); LCD_DispString_EN(190,80,str,BLACK,RED,USE_FONT_24); sprintf(str,"%0.2fg",weight); LCD_Clear(140,100,300,64,BLACK); LCD_DispString_EN(140,100,str,BLACK,YELLOW,USE_FONT_64); HAL_Delay(100); if(KEY1_StateRead()==KEY_DOWN) // 清零 { weight_Zero_Data = weight_ad7190_ReadAvg(6); printf("zero:%d\n",weight_Zero_Data); cali_flag=1; } if(KEY2_StateRead()==KEY_DOWN) // 校准:必须先按“清零”键,然后把20g砝码放在称上,按下校准键 { if(cali_flag) { weight_count = weight_ad7190_ReadAvg(6); weight_proportion=(weight_count-weight_Zero_Data)*1000/100; printf("weight_proportion:%d\n",weight_proportion); } cali_flag=0; } }
stm32f07使用入门手册 希望对每一个学习stm32的有所帮助
2022-01-28 13:54:17 4.33MB stm32f407
1
启明欣欣407开发板(高配版)V4.1原理图.pdf 开发板配套原理图PDF文件,做开发参考。STM32F407ZGT6
2022-01-28 13:50:54 422KB STM32F407
1
介绍了一种设计基于AMBA总线的DMA控制器IP核的方法。用硬件描述语言(VHDL)来设计实现挂接在AMBA AHB总线上的DMA控制器,并通过可编程逻辑器件(FPGA)完成对设计的验证,最终形成可复用的IP软核,用到ASIC或FPGA中。
2022-01-27 15:22:20 245KB DMA控制器 AMBA总线 IP VHDL
1
在电力系统谐波分析中,模数转换(ADC)电路是影响系统检测性能的主要环节之一。基于NiosII的谐波分析系统具有逻辑控制能力强、信号处理实时性高、系统抗干扰能力强等特点。以Altera公司的DE2开发板为平台,实现了采样电路的硬件设计;在Quartus II 中用Verilog HDL语言完成了与FPGA的接口设计,并最终实现VGA显示。
2022-01-26 16:02:37 88KB ADC NIOSII FPGA 谐波分析
1
AD7124 24位Σ-Δ型模数转换器(ADC) 硬件参考设计PDF原理图+AD设计PCB图+软件驱动源码,AD7124 评估板PCB采用ALTIUM设计,4层板,大小为60*40mm,原理图为PDF图,SPI接口驱动源码,中英文技术手册,可以做为你的学习设计参考。