STM32的数字示波器设计
嵌入式数字存储示波器设计

嵌入式数字存储示波器设计程志强1,汪思静1,杨杰1,魏磊2(1.武汉科技大学信息科学与工程学院,湖北武汉430081;2.武汉科技大学汽车与交通工程学院,湖北武汉430081)摘要:提出了一种基于FPGA 和STM32的嵌入式数字存储示波器设计,以STM32为控制核心,FPGA 作为数据采集和处理模块,完成了对外部信号的采集和传输,实现了存储示波器数据处理和显示的功能。
关键词:STM32;FPGA ;数据采集;数据显示中图分类号:TP368文献标识码:A文章编号:1674-6236(2013)02-0162-03A design for embedded digital storage oscilloscopeCHENG Zhi -qiang 1,WANG Si -jing 1,YANG Jie 1,WEI Lei 2(1.College of Information Science and Engineering ,Wuhan University of Science and Technology ,Wuhan 430081,China ;2.School of Automobile and Traffic Engineering,Wuhan University of Science and Technology,Wuhan 430081,China )Abstract:This paper introduces a designing method for embedded digital storage oscilloscope based on FPGA and STM32,STM32is used as the controlling core and FPGA is used as the module of data acquisition and processing.The design completes the collection and transmission of external signal and achieves the data processing and showing on embedded digital storage oscilloscope.Key words:STM32;FPGA ;data collection ;data showing收稿日期:2012-09-19稿件编号:201209135作者简介:程志强(1988—),男,湖北武汉人,硕士研究生。
(完整word版)基于STM32的示波器的设计开题报告

开题报告:1。
本课题研究的目的、意义:随着电子行业的发展,示波器在实际生活生产中占据的地位越来越重要,其实用之广泛和发展速度之快都远远超过其他测量仪器,已经广泛应用于国防、科研、学校以及工农商业等各个领域和部门。
而在由芯片控制的数字示波器已经逐步成为示波器市场上的主要产品。
目前国内市场上出现的高精度数字示波器普遍存在着价格昂贵、不便于户外的测量等等缺点。
本课题研究的意义是通过本课题的研究,能够开发出一款价格较低,功能较齐全、体积较小而又不影响测量精度的手持式数字示波器,以求弥补国内市场在这方面的空缺。
本课题采用STM32为主控芯片,采用LCD液晶屏作为显示设备,通过外部A/D对输入信号采集和处理,最终将波形信息显示在液晶屏上,以此完成一款手持式数字示波器的设计。
使用单片机是本专业学生需要掌握的一项基本技能,本课题的主要目的是通过对单片机的应用,进一步加深单片机硬件电路的连接以及软件的编程。
可以达到学以致用,把理论与实践相结合,学会如何应用自己的所学的知识,学会在设计的过程中发现问题、解决问题的能力,掌握设计的技巧,为以后工作打下基础,并完成一个能够基本满足需求的手持式数字示波器。
2.国内外研究现状数字示波器经过多年的飞速发展,其自身的各种性能、功能和价格已经完全可与模示波器相媲美,而且集捕获、显示、测盘、分析、存储于一体。
它的实时带宽已达2GHz,测量精度Y轴达土1%~十2%、X轴达十0。
01%.这种示波器显示屏幕一般比模拟示波器显示屏幕要大,通常为7英寸和9英寸。
彩显CRT数字示波器价格下跌,过去普遍用于1GHz示波器,现已开始用于40MHz 的数字示波器。
过去独占示波器鳌头约50年的模拟示波器虽也有很大进步,但还是退出了长期一统示波器天下的局面.经过较量之后,带宽1GHz的模拟示波器已全部让给等效和实时采样数字示波器,10MHz~500MHz也已基本让给了实时采样数字示波器,只有在100MHz以下的示波器中大约还能占到近一半的份额。
基于STM32的便携式示波器及设计研究

基于 STM32的便携式示波器及设计研究摘要:基于STM32的便携式示波器能在优化系统操控效果的同时,降低项目成本,具有重要的研究和推广价值。
本文分析了设备组成,并从硬件设计、软件设计两个方面对具体设计方案展开讨论。
关键词:STM32;便携式示波器;组成;设计方案伴随着嵌入式数字示波器的全面发展,基于示波器完成测量运算和分析工作的效率也在提升,对STM32为控制核心的便携式示波器予以研究,无论是应用性能还是数据处理能力都更具优势。
一、基于STM32的便携式示波器组成基于STM32内部定时器资源作为整个示波器A/D采样触发器,能减少系统复杂度的基础上提升数据收集和处理的灵活度。
主要组成结构如下:1)显示模块,3.2寸TFT液晶。
2)信号处理模块,在信号进入设备后,经过阻容衰减、阻抗变换、电平移位、程控增益、低通滤波等完成信号的处理。
3)电源管理模块。
4)微处理器模块,使用STM32F微处理器,对A/D进行采样频率控制,实现DMA数据输送和波形重建[1]。
二、基于STM32的便携式示波器设计方案(一)硬件设计1.信号调理电路在整个便携式示波器中,输入信号无法直接完成ADC的采样工作,此时,要利用线性处理的方式对原始信号相位情况和幅度情况予以控制,因此,由阻容衰减电路、阻抗变换电路、电平移位电路、程控增益电路和低通滤波电路组成的前级信号调理电路至关重要。
其中,阻容衰减电路,由补偿电容结构和分压电阻网络构成,能结合相应要求补偿信号。
而阻抗变换电路,借助对应的元件避免信号在电压作用下出现波形失真等现象,本文选取的是OPA656集成元件。
另外,程控增益电路,选取CD4051BC继电器,能有效维持电流控制。
2.触发电路基于STM32的便携式示波器在触发过程中,定时器触发、外部信号触发以及软件触发是较为常见的方式,其中,定时器触发和软件触发相对应,前者采取的是周期性采样信号、后者采取的是非周期性采样信号,而外部信号触发则应用的是特定的采集信号。
STM32的数字示波器设计

STM32的数字示波器设计示波器的设计分为硬件设计和软件设计两部分。
示波器的控制核心采用ARM9,由于STM32芯片里有自带的AD,采样速率最高为500KSPS,分辨率为10位,供电电压为3.3V,基本上能满足本设计要求,显示部分用3.2寸TFTLCD (分辨率:320*240)模块。
软件部分采用C语言进行设计,设计环境为Keil。
硬件总体结构该设计采用模块化的设计方法,根据系统功能把整个系统分成不同的具有特定功能的模块,硬件整体框图如下图所示。
该示波器由4部分电路构成,分别是:(1)输入程控放大衰减电路;(2)极性转换电路;(3)AD转换电路;(4)显示控制电路;(5)按键控制电路;整体设计思路是:信号从探头输入,进入程控放大衰减电路进行放大衰减,程控放大器对电压大的信号进行衰减,对电压小信号进行放大以符合AD的测量范围,经过处理后信号进入极性转换电路进行电平调整成0—3.3V电压,因为被测信号可能是交流信号,而AD只能测量正极性电信号,经调整后送入AD 转换电器对信号进行采样,采样所得数据送入LCD显示,这样实现了波形的显示。
按键控制可以通过不同的按键来控制波形的放大和缩小,同时也可以改变采样间隔,以测量更大频率范围的信号。
STM32处理器介绍STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核。
按性能分成两个不同的系列:STM32F103“增强型”系列和STM32F101“基本型”系列。
增强型系列时钟频率达到72MHz,是同类产品中性能最高的产品;基本型时钟频率为36MHz,以16位产品的价格得到比16位产品大幅提升的性能,是16位产品用户的最佳选择。
两个系列都内置32K 到128K的闪存,不同的是SRAM的最大容量和外设接口的组合。
时钟频率72MHz 时,从闪存执行代码,STM32功耗36mA,是32位市场上功耗最低的产品。
本设计所用的STM32F103VCT6集成的片上功能如下:(1) 1.2v内核供电,1.8V/2.5V/3.3/V存储器供电,3.3V外部I/O供电(2)外部存储控制器(3)(3) LCD 控制器(4) 4通道DNA并有外部请求引脚(5) 3通道UART(6) 2通道SPI(7) 1通道IIC总线接口1通道IIS总线接口(8) AC’97编解码器接口(9) 兼容SD主接口协议1.0版和MMC卡协议2.11兼容版(10) 2通道USB主机1通道USB设备(11) 4通道PWM定时器和1通道内部定时器/看门狗定时器(12) 8通道10位ADC和触摸屏接口(13) 80个通用I/O和24通道外部中断源LCD显示介绍LCD液晶显示器是Liquid Crystal Display的简称,LCD的构造是在两片平行的玻璃当中放置液态晶体,两片玻璃中间有许多垂直和水平的细小电线,通过通电与否来控制杆状水晶分子改变方向,将光线折射出来产生画面。
13个基于STM32的经典项目设计实例,全套资料~-嵌入式系统-与非网

13个基于STM32的经典项目设计实例,全套资料~-嵌入式系统-与非网STM32单片机现已火遍大江南北,各种教程资料也是遍布各大网站论坛,可谓一抓一大把,但大部分都差不多。
今天总结了几篇电路城上关于STM32 的制作,不能说每篇都是经典,但都是在其他地方找不到的,很有学习参考意义的设计实例。
尤其对于新手,是一个学习stm32单片机的“活生生”的范例。
1.开源硬件-基于STM32的自动刹车灯设计自动刹车灯由电池供电并内置加速度传感器,因此无需额外连接其他线缆。
使用两节5号电池时,设计待机时间为一年以上(待机功耗66微安),基本可以实现永不关机,即装即忘。
2.基于STM32F407的openmv项目设计资料本项目是一个openmv,通过摄像头可以把图像实时传输给显示屏显示。
MCU选择的是STM32F407(STM 32F407数据手册),ARM Cortex-M4内核,最高频率可达180Mhz,包含一个单精度浮点DSP,一个DCMI(数字相机接口)。
3.STM32无线抢答器无线抢答器采用STM32F302芯片主控,同时用蓝牙,语音模块,数码管,七彩灯等部件构成,当主持人按下抢答键时,数码管进入倒记时,选手做好准备,当数码管从9变为0时,多名选手通过手机上虚拟按键进行抢答,同时语音播报抢答结果,显示屏上显示选手的抢答时间。
4.基于ARM-STM32的两轮自平衡小车小车直立和方向控制任务都是直接通过控制小车两个电机完成的。
假设小车电机可以虚拟地拆解成两个不同功能的驱动电机,它们同轴相连,分别控制小车的直立平衡、左右方向。
5.基于STM32F4高速频谱分析仪完整版(原创)本系统是以STM32F407进行加Blackman预处理,再做1024个点FFT进行频谱分析,最后将数据显示在LCD12864上,以便进行人机交互!该系统可实现任意波形信号的频谱显示,以及可以自动寻找各谐波分量的幅值,频率以及相位并进行8位有效数据显示。
用STM32内置的ADC实现数字示波器

用STM32内置的高速ADC实现简易示波器2010-06-22 00:38:32| 分类:STM32 | 标签:|字号大中小订阅这几周一直在埋头学习STM32,在论坛上学到了不少知识,得到了大家的帮助,这里衷心的向大家表示感谢,尤其是特别要感谢论坛上GRANT_JX大大:)正是有幸得到了他热心相赠的STM32F103VB芯片以及评估版的PCB,我才能够顺利开展我的STM32学习之旅啊。
经过一段时间的学习实验终于对STM32有了点初步的了解,有点入门了,呵呵。
并汇报下几周来学习STM32的小作品:用STM32内置的1MspsADC进行数据采样,并通过ENC28J60以太网接口发送到PC上波形显示,实现了低频数据采集及简易示波器功能。
刚刚初步实验有所收获,高兴啊,呵呵,特地帖上来跟大家分享下:)做一个数字采样示波器一直是我长久以来的愿望,不过毕竟这个目标难度比较大,涉及的方面实在太多,模拟前端电路、高速ADC、单片机、CPLD/FPGA、通讯、上位机程序、数据处理等等,不是一下子就能成的,慢慢一步步来呗,呵呵,好歹有个目标,一直在学习各方面的知识,也有动力:)由于高速ADC涉及到采样后的数据存储问题,大量的数据涌入使得单片机无法承受,因此通常需要用外部高速RAM加CPLD配合,或者干脆用大容量的FPGA做数据存储处理等,然后通知单片机将数据发送出去。
这部分实在是难度比较大,电路非常复杂,自己是有心无力啊,还得慢慢地技术积累。
正好ST新推出市场的以CORTEX-M3为核心的STM32,内部集成了2个1Msps 12bit的独立ADC,并且内部高达72MHZ的主频,高达1.25DMIPS/MHZ 的处理速度,高速的DMA传输功能,灵活强大的4个TIMER等等,这些真是非常有吸引力,何不用它来实现一个低频的数字示波器功能呢,我的目标是暂时只要定量定性地分析20KHZ以下的低频信号就行了,目标不高吧,用STM32可以方便地实现,等有了一定经验之后慢慢再用FPGA和高速ADC搞个100Msps 采样的示波器!说来也真是幸运,得到了GRANT兄相赠的STM32F103VB以及评估版的电路板,这些日子一直在学习STM32,不断地做实验,也算是稍微有点入门了,真是了解越多越喜欢这个芯片,呵呵。
数字示波器毕业设计

数字示波器毕业设计数字示波器毕业设计在现代电子技术领域中,示波器是一种常用的测试仪器,用于观察和分析电信号的波形。
随着科技的不断进步,传统的模拟示波器已经逐渐被数字示波器所取代。
数字示波器具有更高的精度、更大的带宽和更多的功能,成为电子工程师日常工作中不可或缺的工具。
本文将探讨数字示波器的毕业设计,介绍其原理、设计思路和实现方法。
一、数字示波器的原理数字示波器的原理基于模拟信号的采样和数字信号的处理。
首先,模拟信号通过采样器进行采样,将连续的模拟信号转换为离散的数字信号。
然后,这些离散的数据通过数字信号处理器进行处理,包括存储、显示和分析。
最后,通过显示器将处理后的数字信号转换为可视化的波形图。
二、数字示波器的设计思路在进行数字示波器的毕业设计时,需要考虑以下几个方面的设计思路:1. 采样率和带宽:示波器的采样率和带宽是其性能的重要指标。
采样率决定了示波器对信号的采样精度,而带宽则决定了示波器能够显示的信号频率范围。
在设计过程中,需要根据实际需求确定采样率和带宽,并选择合适的模数转换器和数字信号处理器。
2. 存储和显示:示波器需要能够对采样的数据进行存储和显示。
存储器的容量和速度决定了示波器可以存储和处理的数据量,而显示器的分辨率和刷新率则决定了示波器显示波形的清晰度和流畅度。
在设计过程中,需要选择合适的存储器和显示器,并考虑存储和显示的算法和接口设计。
3. 波形分析:数字示波器不仅可以显示波形,还可以进行波形分析。
波形分析功能包括频谱分析、峰值检测、触发等,可以帮助工程师更好地理解和分析信号。
在设计过程中,需要选择合适的算法和接口,实现波形分析功能。
三、数字示波器的实现方法数字示波器的实现方法主要包括硬件设计和软件设计两个方面。
1. 硬件设计:硬件设计包括模数转换器、存储器、显示器、触发电路等的选型和接口设计。
在选型过程中,需要考虑采样率、带宽、存储容量、显示分辨率等指标,并选择合适的器件。
接口设计需要考虑数据传输的速度和稳定性,确保数据的准确性和可靠性。
stm32数字带通滤波例程

stm32数字带通滤波例程STM32是一款广泛使用的嵌入式微控制器系列,其具有强大的处理能力和丰富的外设接口,适用于各种应用领域。
数字带通滤波是一种常见的信号处理技术,可以用于滤除不需要的频率成分,保留感兴趣的频率范围内的信号。
本文将介绍如何在STM32上实现数字带通滤波的例程。
我们需要了解数字带通滤波的原理。
数字滤波器是一种将输入信号转换为输出信号的系统,可以根据不同的滤波特性对信号进行处理。
带通滤波器是一种能够通过某个频率范围内的信号,而抑制其他频率范围的信号的滤波器。
在数字领域中,常用的数字带通滤波器有巴特沃斯滤波器、切比雪夫滤波器等。
在STM32上实现数字带通滤波的例程,我们可以使用STM32提供的库函数和外设来实现。
首先,我们需要配置ADC(模数转换器)来获取输入信号。
ADC是一种将模拟信号转换为数字信号的外设,可以将输入信号转换为数字形式的数据。
在配置ADC时,我们需要设置采样频率和采样精度等参数,以满足实际应用的需求。
接下来,我们需要配置DAC(数模转换器)来输出滤波后的信号。
DAC是一种将数字信号转换为模拟信号的外设,可以将数字形式的数据转换为模拟信号输出。
在配置DAC时,我们需要设置输出的电压范围和输出的采样频率等参数,以满足实际应用的需求。
在配置好ADC和DAC之后,我们需要使用数字滤波算法对输入信号进行滤波处理。
常用的数字滤波算法有FIR滤波器和IIR滤波器等。
FIR滤波器是一种线性相位滤波器,其滤波特性可以由滤波器的系数来确定。
IIR滤波器是一种非线性相位滤波器,其滤波特性可以由滤波器的差分方程来确定。
根据实际应用的需求,我们可以选择合适的滤波算法来实现数字带通滤波。
在实现数字带通滤波的过程中,我们需要注意一些问题。
首先,滤波器的设计需要根据实际应用的需求来确定滤波器的参数,包括截止频率、带宽等。
其次,滤波器的性能会受到采样频率和采样精度等因素的影响,我们需要根据实际应用的需求来确定这些参数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
STM32的数字示波器设计示波器的设计分为硬件设计和软件设计两部分。
示波器的控制核心采用ARM9,由于STM32芯片里有自带的AD,采样速率最高为500KSPS,分辨率为10位,供电电压为3.3V,基本上能满足本设计要求,显示部分用3.2寸TFTLCD(分辨率:320*240)模块。
软件部分采用C语言进行设计,设计环境为Keil。
硬件总体结构该设计采用模块化的设计方法,根据系统功能把整个系统分成不同的具有特定功能的模块,硬件整体框图如下图所示。
该示波器由4部分电路构成,分别是:(1)输入程控放大衰减电路;(2)极性转换电路;(3)AD转换电路;(4)显示控制电路;(5)按键控制电路;整体设计思路是:信号从探头输入,进入程控放大衰减电路进行放大衰减,程控放大器对电压大的信号进行衰减,对电压小信号进行放大以符合AD的测量范围,经过处理后信号进入极性转换电路进行电平调整成0—3.3V电压,因为被测信号可能是交流信号,而AD只能测量正极性电信号,经调整后送入AD转换电器对信号进行采样,采样所得数据送入LCD显示,这样实现了波形的显示。
按键控制可以通过不同的按键来控制波形的放大和缩小,同时也可以改变采样间隔,以测量更大频率范围的信号。
STM32处理器介绍STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核。
按性能分成两个不同的系列:STM32F103“增强型”系列和STM32F101“基本型”系列。
增强型系列时钟频率达到72MHz,是同类产品中性能最高的产品;基本型时钟频率为36MHz,以16位产品的价格得到比16位产品大幅提升的性能,是16位产品用户的最佳选择。
两个系列都内置32K到128K的闪存,不同的是SRAM的最大容量和外设接口的组合。
时钟频率72MHz时,从闪存执行代码,STM32功耗36mA,是32位市场上功耗最低的产品。
本设计所用的STM32F103VCT6集成的片上功能如下:(1) 1.2v内核供电,1.8V/2.5V/3.3/V存储器供电,3.3V外部I/O供电(2)外部存储控制器(3)(3) LCD 控制器(4) 4通道DNA并有外部请求引脚(5) 3通道UART(6) 2通道SPI(7) 1通道IIC总线接口1通道IIS总线接口(8) AC’97编解码器接口(9) 兼容SD主接口协议1.0版和MMC卡协议2.11兼容版(10) 2通道USB主机1通道USB设备(11) 4通道PWM定时器和1通道内部定时器/看门狗定时器(12) 8通道10位ADC和触摸屏接口(13) 80个通用I/O和24通道外部中断源LCD显示介绍LCD液晶显示器是Liquid Crystal Display的简称,LCD的构造是在两片平行的玻璃当中放置液态晶体,两片玻璃中间有许多垂直和水平的细小电线,通过通电与否来控制杆状水晶分子改变方向,将光线折射出来产生画面。
LCD的主要技术参数有:1.对比度 LCD制造时选用的控制IC、滤光片和定向膜等配件,与面板的对比度有关,对于一般用户而言,对比度能够达到350:1就足够了,但在专业领域这样的对比度还不能满足用户的要求。
对比值定义是最大亮度值(全白)除以最小亮度值(全黑)的比值2.亮度 LCD是一种介于固态与液态之间的物质,本身是不能发光的,需要借助于额外的光源才行。
因此,灯管数目关系着液晶显示器亮度。
液晶显示器的最大亮度,通常由冷阴极涉嫌管来决定,亮度值一般都在200~250cd/m2间。
3.可视面积液晶显示器所表示的尺寸就是与实际可以使用的屏幕范围一致。
4.可视角度当背光源通过偏极片、液晶和去向层之后,输出的光线变具有了方向性。
也就是说大多说光都是从屏幕中垂直射出来的,所以从某一个较大的角度观看液晶显示时,便不能看到原来的颜色,甚至是只能看到全白或者全黑。
为了解决这个问题,制造商们也着手开发广角技术,到目前为止有三种比较流行的技术,分别是:TN+FILM、IPS和MVA。
5.色彩度任何一种色彩都是由红、绿、蓝三种基本色组成的。
LCD面板上是由480×272个像素点组成现象的,每个独立的像素色彩是由红、绿、蓝(R、G、B)三种基本色来控制。
软件整体设计整体设计思路是:信号从探头输入,进入程控放大衰减电路进行放大衰减,程控放大器对电压大的信号进行衰减,对电压小信号进行放大以符合AD的测量范围,经过处理后信号进入极性转换电路进行电平调整成0—3.3V电压,因为被测信号可能是交流信号,而AD只能测量正极性电信号,经调整后送入AD转换电器对信号进行采样,采样所得数据送入LCD显示,实现波形的显示按键控制可以通过不同的按键来控制波形的放大和缩小,同时也可以控制程控放大器,选择放大和衰减的倍数。
该示波器软件开发环境为Keil 4,代码采用C语言编写。
ARM中软件完成的功能:(1)输入波形显示和峰峰值测量。
(2)LCD的初始化和显示控制。
(3)按键的检测和控制。
数字手持示波器技术参数(1)水平扫描速度可调 (2) 垂直电压灵敏度可调 (3) 被测信号的电压峰峰值在屏幕上显示。
(4) 能测量输入频率为1HZ~50KHZ的信号 (5) 测量幅度范围为-3.3V~3.3V软件编程与调试整体设计思路是:经过程控放大衰减和极性转换后的电压作为AD 转换的输入电压,然后通过不同的按键来控制波形的放大和缩小,最后在LCD屏上显示出大小适中的波形。
同时测出电压峰峰值,并显示。
以下是根据整个系统进行的软件设计。
软件设计总体框图系统总体框图如图3-1所示:键盘控制程序利用4个按键K1,K2,K3,K4来选择波形的放大和缩小,按键采用外部中断方式。
其中通过K1和K2来调整波形显示的高度比例,通过K3和K4来改变采样间隔增加或减少一个周期内采样点数,达到控制水平扫描速度,使低频率波形能完整显示。
当检测到K1时,波形幅度系数置为2,当检测到K2时,波形幅度系数置为1/2,否则波形幅度系数为1,以此控制幅度的放大和缩小。
当检测到K3、K4时,采样函数中分别加入不同的延时函数来拉长或缩短波形。
按键中断程序流程图如下图所示。
峰峰值测量程序设计通过遍历AD转换结果,取出最大值和最小值求差,结果即为电压峰峰值。
测量函数:high_vpp=low_vpp=Buff[0];for(i=0;i<200;i=i+1){if(Buff[i]>high_vpp){high_vpp = Buff[i];//最大值}if(Buff[i]<low_vpp){low_vpp = Buff[i];//最小值}}vpp=(float)(high_vpp-low_vpp)*(6.6/4096);LCD显示程序设计本设计所使用的是3.2寸320×240图形点阵LCD,该部分程序主要有LCD初始化,AD转换过来的数据转换成显示数据。
用数组连续存储AD转换结果,存满后依次在LCD上显示,依次循环。
显示过程中由于STM32处理器频率较低,导致显示一屏的时间较长,从而使刷屏速度较慢,效果不好。
这里采用每次刷一列的的算法,即每次显示下一列点之前将此列初始化为屏幕底色,从而改善视觉效果。
LCD 显示主要程序为:int main(){Stm32_Clock_Init(9); //系统时钟设置delay_init(72); //延时初始化LCD_Init(); //初始化液晶KEY_Init(); //按键初始化Adc_init(); //ADC初始化LCD_Clear(BLACK); //清屏POINT_COLOR=RED; //点颜色BACK_COLOR=BLACK; //背景色while(1){key=KEY_Scan(); //获取按键返回值high_vpp=low_vpp=Buff[0]; for(i=0;i<200;i=i+1){Buff[i]=Get_Adc(0);Choose_Delay(); //改变采样间隔}for(i=0;i<200;i=i+1){Clear_Line(i); //清列first_point=next_point;temp=Buff[i];Vpp_Change(); //调整电压显示幅度next_point=100+temp*100/4096; //得到点坐标Draw_net(); //画网格LCD_DrawLine(first_point,i,next_point,i+1);//通过连线画波形}LCD_ShowChar(80,220,'V',18,0);vpp=(float)(high_vpp-low_vpp)*(6.6/4096); //求得峰值temp=vpp;LCD_ShowChar(97,202,'o',18,0);LCD_ShowChar(50,220,'.',18,0);LCD_ShowNum(40,220,temp,1,18,0); //显示峰峰值整数位vpp-=temp;temp=vpp*100;LCD_ShowNum(58,220,temp,2,18,0); //显示峰峰值小数位}}。