加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入

基于STM32的簡(jiǎn)易數(shù)字電壓表仿真設(shè)計(jì)

09/09 15:27
2727
服務(wù)支持:
技術(shù)交流群

完成交易后在“購(gòu)買成功”頁(yè)面掃碼入群,即可與技術(shù)大咖們分享疑惑和經(jīng)驗(yàn)、收獲成長(zhǎng)和認(rèn)同、領(lǐng)取優(yōu)惠和紅包等。

虛擬商品不可退

當(dāng)前內(nèi)容為數(shù)字版權(quán)作品,購(gòu)買后不支持退換且無(wú)法轉(zhuǎn)移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論
放大
實(shí)物圖
相關(guān)方案
  • 方案介紹
    • 1.主要功能
    • 2.仿真
    • 3. 程序
    • 4. 設(shè)計(jì)報(bào)告
  • 相關(guān)文件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

基于STM32的數(shù)字電壓表仿真設(shè)計(jì)(仿真+程序+設(shè)計(jì)報(bào)告+講解)

仿真圖proteus 8.9

程序編譯器:keil 5

編程語(yǔ)言:C語(yǔ)言

設(shè)計(jì)編號(hào):C0080

1.主要功能

結(jié)合實(shí)際情況,基于STM32F103單片機(jī)設(shè)計(jì)一個(gè)數(shù)字電壓表仿真設(shè)計(jì)。該設(shè)計(jì)應(yīng)滿足的功能要求為:

1、以STM32單片機(jī)為控制核心設(shè)計(jì)數(shù)字電壓表;

2、可以測(cè)量0~3.3V輸入電壓值;

3、液晶屏LCD1602顯示電壓;

4、最小分辨率為0.1V,測(cè)量誤差約為±0.1V。

主要硬件設(shè)備:STM32F103單片機(jī)

以下為本設(shè)計(jì)資料展示:

2.仿真

整體設(shè)計(jì)方案

本實(shí)驗(yàn)利用STM32單片機(jī)的ADC等資源,將軟、硬件有機(jī)地結(jié)合起來(lái),使得系統(tǒng)能夠正確地進(jìn)識(shí)別輸入電壓大小,LCD1602能夠正確地顯示。

測(cè)試如下所示:

仿真運(yùn)行情況:

通過(guò)滑動(dòng)變阻器改變輸入電壓,滑動(dòng)變阻器100%,模擬信號(hào)輸入理論值為3.3V。3.3V測(cè)試如下

img

3. 程序

ADC部分初始化

#include "adc.h"

void ADC1_GPIO_Config(void){
    GPIO_InitTypeDef GPIO_InitStructure;
	  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_ADC1, ENABLE);	//使能ADC1,GPIOC時(shí)鐘
 	  
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1; //
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//配置時(shí)鐘
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;	//模擬輸入
    GPIO_Init(GPIOA, &GPIO_InitStructure); //初始化PC4
}


void ADC_Config(void)
{
	

  ADC_InitTypeDef ADC_InitStructure;//ADC結(jié)構(gòu)體變量//注意在一個(gè)語(yǔ)句快內(nèi)變量的聲明要放在可執(zhí)行語(yǔ)句的前面,否則出錯(cuò),因此要放在ADC1_GPIO_Config();前面
  ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;//ADC1和ADC2工作在獨(dú)立模式
  ADC_InitStructure.ADC_ScanConvMode =	DISABLE; //使能掃描
  ADC_InitStructure.ADC_ContinuousConvMode = ENABLE;//ADC轉(zhuǎn)換工作在連續(xù)模式
  ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;//由軟件控制轉(zhuǎn)換,不使用外部觸發(fā)
  ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;//轉(zhuǎn)換數(shù)據(jù)右對(duì)齊
  ADC_InitStructure.ADC_NbrOfChannel = 1;//轉(zhuǎn)換通道為1
  ADC_Init(ADC1, &ADC_InitStructure); //初始化ADC
	
  ADC_RegularChannelConfig(ADC1, ADC_Channel_1, 1, ADC_SampleTime_55Cycles5);
  //ADC1選擇信道14,音序等級(jí)1,采樣時(shí)間55.5個(gè)周期
//  ADC_DMACmd(ADC1, ENABLE);//使能ADC1模塊DMA
  ADC_Cmd(ADC1, ENABLE);//使能ADC1
	ADC_ITConfig(ADC1, ADC_IT_EOC, ENABLE);
  ADC_SoftwareStartConvCmd(ADC1, ENABLE);
//  ADC_ResetCalibration(ADC1); //重置.(復(fù)位).ADC1校準(zhǔn)寄存器
//  while(ADC_GetResetCalibrationStatus(ADC1));//等待ADC1校準(zhǔn)重置完成
//  ADC_StartCalibration(ADC1);//開始ADC1校準(zhǔn)
//  while(ADC_GetCalibrationStatus(ADC1));//等待ADC1校準(zhǔn)完成
//  ADC_SoftwareStartConvCmd(ADC1, ENABLE); //使能ADC1軟件開始轉(zhuǎn)換
}


主函數(shù)

#include "stm32f10x.h"
#include "bsp-lcd1602.h"
#include "delay.h"
#include "sys.h"
#include "adc.h"

int main(void)
{
	int a,b,c,d;
	float temp;
	
	delay_init();	    	 //延時(shí)函數(shù)初始化	  	
	LCD1602_Init();				//LCD1602顯示初始化
  ADC1_GPIO_Config();		//ADC引腳初始化
  ADC_Config();  				//ADC使能
	LCD1602_ShowStr(2,0,"adcvalue=0.0V",13);//LCD1602顯示
	
	while(1)
	{
	b=ADC_GetConversionValue(ADC1);//得到ADC值
	temp=(float)b*(3.4/4096);
	//實(shí)際電壓 =  (ADC_DR)/分辨率 *(正參考電壓-負(fù)參考電壓) 
	//正參考電壓3.3V才對(duì),但是做仿真需要改3.4V才準(zhǔn)
	a=temp/1;
	c=temp*10;
	d=c%10;
	LCD_ShowNum(11,0,a);//顯示個(gè)位
	LCD_ShowNum(13,0,d);//顯示小數(shù)點(diǎn)后一位
	}
}




開題報(bào)告

基于STM32的簡(jiǎn)易數(shù)字電壓表Proteus仿真設(shè)計(jì)

一、課題背景和目標(biāo)

在電子工程中,數(shù)字電壓表是一種常見的測(cè)量?jī)x器,用于測(cè)量電路中的電壓值。本課程大作業(yè)的目標(biāo)是設(shè)計(jì)一個(gè)基于STM32單片機(jī)的簡(jiǎn)易數(shù)字電壓表,并在Proteus仿真環(huán)境中進(jìn)行驗(yàn)證。設(shè)計(jì)的主要功能包括:

以STM32單片機(jī)為控制核心,實(shí)現(xiàn)數(shù)字電壓表的邏輯控制和數(shù)據(jù)處理。
測(cè)量0~3.3V的輸入電壓值,并實(shí)現(xiàn)電壓的精確測(cè)量和顯示。
使用液晶屏LCD1602顯示電壓值。
最小分辨率為0.1V,測(cè)量誤差約為±0.1V。
通過(guò)本課程大作業(yè)的設(shè)計(jì)與仿真,旨在加深對(duì)STM32單片機(jī)應(yīng)用、數(shù)字電壓表原理以及Proteus仿真技術(shù)的理解和掌握。

二、研究方法

我們將采用理論研究與仿真實(shí)驗(yàn)相結(jié)合的方法,具體步驟如下:

理論研究:收集相關(guān)資料,了解STM32單片機(jī)、數(shù)字電壓表和液晶屏LCD1602的工作原理和技術(shù)特點(diǎn)。
電路設(shè)計(jì):在Proteus仿真軟件中設(shè)計(jì)數(shù)字電壓表的電路圖,包括STM32單片機(jī)、電壓輸入電路、A/D轉(zhuǎn)換器、液晶屏LCD1602等部分。
程序設(shè)計(jì):使用C語(yǔ)言編寫STM32單片機(jī)的程序,實(shí)現(xiàn)電壓的測(cè)量、處理和顯示。
仿真測(cè)試:在Proteus中運(yùn)行程序,輸入不同的電壓值,觀察液晶屏LCD1602的顯示結(jié)果,驗(yàn)證數(shù)字電壓表的功能和性能。

三、預(yù)期結(jié)果

通過(guò)上述研究方法,我們期望實(shí)現(xiàn)以下預(yù)期結(jié)果:

在Proteus仿真軟件中成功構(gòu)建數(shù)字電壓表的電路圖,各部分電路元件能夠正確連接。
通過(guò)STM32單片機(jī)的程序?qū)崿F(xiàn)0~3.3V的電壓測(cè)量,并能夠?qū)y(cè)量結(jié)果顯示在液晶屏LCD1602上。
液晶屏LCD1602能夠正確顯示電壓值,最小分辨率為0.1V。
測(cè)量誤差在±0.1V范圍內(nèi),達(dá)到設(shè)計(jì)要求。

四、實(shí)驗(yàn)安排

本課程大作業(yè)預(yù)計(jì)需要一個(gè)月的時(shí)間完成。前兩周主要用于理論研究和電路設(shè)計(jì),第三周進(jìn)行編程和調(diào)試,第四周進(jìn)行仿真測(cè)試和結(jié)果分析。

五、實(shí)驗(yàn)材料和方法

實(shí)驗(yàn)材料包括:

STM32單片機(jī)。
A/D轉(zhuǎn)換器。
液晶屏LCD1602。
Proteus仿真軟件。
實(shí)驗(yàn)方法包括:

設(shè)計(jì)電路。
編寫程序。
仿真測(cè)試。

六、實(shí)驗(yàn)步驟和數(shù)據(jù)記錄

實(shí)驗(yàn)步驟如下:

在理論研究階段,收集相關(guān)資料,了解STM32單片機(jī)、數(shù)字電壓表和液晶屏LCD1602的工作原理和技術(shù)特點(diǎn)。
在Proteus中設(shè)計(jì)數(shù)字電壓表的電路圖,包括STM32單片機(jī)、電壓輸入電路、A/D轉(zhuǎn)換器、液晶屏LCD1602等部分。
使用C語(yǔ)言編寫STM32單片機(jī)的程序,實(shí)現(xiàn)電壓的測(cè)量、處理和顯示。
在Proteus中運(yùn)行程序,輸入不同的電壓值,觀察液晶屏LCD1602的顯示結(jié)果,記錄實(shí)驗(yàn)數(shù)據(jù)。
分析實(shí)驗(yàn)結(jié)果,判斷數(shù)字電壓表的功能和性能是否達(dá)到設(shè)計(jì)要求。
撰寫報(bào)告,總結(jié)實(shí)驗(yàn)過(guò)程和結(jié)果。
數(shù)據(jù)記錄包括:

記錄實(shí)驗(yàn)過(guò)程中遇到的問題和困難。
記錄液晶屏LCD1602的顯示結(jié)果。
記錄數(shù)字電壓表的最小分辨率和測(cè)量誤差。

七、實(shí)驗(yàn)結(jié)論與討論

在實(shí)驗(yàn)結(jié)束后,我們將根據(jù)實(shí)驗(yàn)數(shù)據(jù)和結(jié)果進(jìn)行分析和討論,得出實(shí)驗(yàn)結(jié)論??赡艿慕Y(jié)論包括:

成功實(shí)現(xiàn)0~3.3V的電壓測(cè)量和顯示。
液晶屏LCD1602能夠正確顯示電壓值,最小分辨率為0.1V。
測(cè)量誤差在±0.1V范圍內(nèi),達(dá)到設(shè)計(jì)要求。
在實(shí)驗(yàn)過(guò)程中遇到的問題和困難,以及如何解決這些問題和困難的經(jīng)驗(yàn)和教訓(xùn)。
實(shí)驗(yàn)討論將包括對(duì)實(shí)驗(yàn)過(guò)程中遇到的問題和困難的分析,以及對(duì)未來(lái)改進(jìn)的建議和方向。

4. 設(shè)計(jì)報(bào)告

img

報(bào)告部分內(nèi)容

二、主控制器選擇

2.1 stm32f103芯片的概述

STM32單片機(jī)有很多個(gè)系列,其中包括基本型、USB基本型、增強(qiáng)型以及互聯(lián)型幾大系列,這寫系列的STM32單片機(jī)都是具有性能高、功耗低、成本低等特點(diǎn)。其內(nèi)部結(jié)構(gòu)圖如圖 2.2所示:

img

圖 2.2 STM32內(nèi)部結(jié)構(gòu)圖

本課題采用的是STM32F103C8T6單片機(jī)芯片,這是是一款A(yù)RM M3內(nèi)核的增強(qiáng)型微控制器,這款內(nèi)核的工作頻率是能夠達(dá)到72MHz的,它擁有著128K字節(jié)的閃存和極其豐富的外設(shè),如GPIO口,串口,定時(shí)器,中斷,數(shù)模轉(zhuǎn)換,實(shí)時(shí)時(shí)鐘,看門狗,SPI,IIC,CAN總線等部分組成。STM32F103系列單片機(jī)的性能在同一個(gè)類別的產(chǎn)品中是最高的,它能夠在-40°C -85°C溫度下正常地進(jìn)行工作,工作的電壓范圍為2V-3.6V,具有低功耗的節(jié)能工作模式,閃存存儲(chǔ)器的容量為64K字節(jié)。

資料清單&下載鏈接

在這里插入圖片描述
0、常見使用問題及解決方法–必讀!?。?!
1、仿真
2、程序
3、功能要求
4、講解視頻
5、設(shè)計(jì)報(bào)告
6、軟硬件設(shè)計(jì)框圖
雙擊打開更多 51 STM32單片機(jī)設(shè)計(jì).url

網(wǎng)盤下載鏈接

  • 設(shè)計(jì)資料獲取聯(lián)系方式.doc

相關(guān)推薦

電子產(chǎn)業(yè)圖譜