久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4430|回復: 5
打印 上一主題 下一主題
收起左側

STM32F407萬用表集成裝置設計 附源程序

  [復制鏈接]
跳轉到指定樓層
樓主
ID:719987 發表于 2020-4-2 12:05 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
     準備材料:正點原子探索者開發板(只要帶4.3寸屏幕的STM32F407ZGT6開發板就行),4.3寸屏幕。本套程序全部使用的正點原子STM32的庫,相信廣大嵌入式愛好者都選擇正點原子的吧,適合入門參考學習。另外鄭重提醒所有的測試都是使用STM32F407內部資源,測波形時電壓不能高于5V,如果想擴大測試范圍,外部必須衰減電壓信號。頻率測試部分是利用軟件測試,精度不是很高,>20KHz時頻率測試誤差較大。本套設備適合個體開發戶,市面上的示波器主要是太貴了買不起,而且多數情況只是想看看單片機發出的波形是否正常,對于嵌入式開發人員來說確實很少接觸到高壓。
     如果您有探索者(帶4.3寸屏幕接口的STM32F407ZGT6開發板),下載程序進去后可以直接看到如下圖的界面。

制作出來的實物圖如下:

萬用表:


信號發生器:


示波器:


開機界面:




以下是部分代碼(使用正點原子的庫)
#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "led.h"
#include "beep.h"
#include "key.h"
#include "lcd.h"
#include "dac.h"
#include "adc.h"
#include "timer.h"
#include "waveform.h"
#include "oscilloscope.h"
#include "timer.h"
#include "stm32f4xx_it.h"
#include "exti.h"
#include "touch.h"
#include "digital_multimeter.h"
//#include "string.h"

u8 welcom_flag=1;//welcom_flag為1時 進行主屏幕觸摸檢測
u8 SG_flag=1;//SG_flag為1 函數發生器才可以進行循環判斷
u8 OSC_flag=1;//OSC_flag為1 數字示波器才可以進行循環
u8 DM_flag=1;//DM_flag為1 數字萬用表才可以進行循環


//得到觸摸屏的輸入
u8 wel_get_keynum(void)
{
        u8 key_touch=0;
        tp_dev.scan(0);                  
        if(tp_dev.sta&TP_PRES_DOWN)                        //觸摸屏被按下
        {        
                if(tp_dev.x[0]<280&&tp_dev.x[0]>20&&tp_dev.y[0]<340&&tp_dev.y[0]>140)key_touch=1;         
                if(tp_dev.x[0]<570&&tp_dev.x[0]>310&&tp_dev.y[0]<320&&tp_dev.y[0]>160)key_touch=2;        
                if(tp_dev.x[0]<760&&tp_dev.x[0]>620&&tp_dev.y[0]<390&&tp_dev.y[0]>110)key_touch=3;        
        }
        return key_touch;
}
int main(void)
{
        u8 welcome_key;
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設置系統中斷優先級分組2
        delay_init(168);//初始化延時函數
        uart_init(115200);//初始化串口波特率為115200
        LED_Init();//初始化LED
        BEEP_Init();//初始化蜂鳴器端口
        KEY_Init();//按鍵初始化
         LCD_Init();//初始化LCD FSMC接口
  Adc_Init();//初始化ADC
        DM_Adc_Init();//初始化數字萬用表中的ADC
        DacGPIO_Configuration();//DAC初始化
        DM_Init();
        TIM9_CH1_Cap_Init(0XFFFF,84-1); //以1Mhz的頻率計數
        //TIM5_PWM_Init(500-1,84-1);        //84M/84=1Mhz的計數頻率,重裝載值500,所以PWM頻率為 1M/500=2Khz.   
        EXTIX_Init();//外部中斷初始化
        tp_dev.init();//初始化觸摸屏
        Welcome_Background();
  while(welcom_flag==1)
        {               
                welcome_key=wel_get_keynum();
                if(welcom_flag==1)
                {
                        switch(welcome_key)
                        {
                                case 1 :
                                {
                                        welcom_flag=0;
                                        OSC_flag=1;
                                        LCD_Clear(WHITE);
                                        Osc_Welcome();
                                        break;
                                }
                                case 2 :
                                {
                                        welcom_flag=0;
                                        SG_flag=1;
                                        LCD_Clear(WHITE);
                                        SG_Welcome();
                                        break;
                                }
                                case 3 :
                                {
                                        welcom_flag=0;
                                        DM_flag=1;
                                        LCD_Clear(WHITE);
                                        DM_Run();
                                        break;
                                }
                                default :break;
                        }
                }
                //可以用來控制開關機等
//                key=KEY_Scan(0);
//                if(key==KEY2_PRES)//KEY2按下
//                {

//                }  
                delay_ms(100);
                {
                        LED1 = !LED1;
                }
        }
}     以上為主程序部分







IMG20200401225041.jpg (4.69 MB, 下載次數: 107)

STM32F407ZGT6開發板

STM32F407ZGT6開發板

IMG20200401225128.jpg (3.67 MB, 下載次數: 108)

IMG20200401225128.jpg

IMG_20200402_115258.jpg (2.36 MB, 下載次數: 108)

示波器

示波器

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏7 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:719987 發表于 2020-4-2 12:09 | 只看該作者
這個是源程序,測試部分

基于STM32F407ZGT6的示波器 信號發生器 數字萬用表集成裝置設計.7z

1.44 MB, 下載次數: 94, 下載積分: 黑幣 -5

回復

使用道具 舉報

板凳
ID:91165 發表于 2020-4-3 10:17 | 只看該作者
先下載了謝謝樓主
回復

使用道具 舉報

地板
ID:23606 發表于 2020-4-3 11:08 | 只看該作者
感謝分享!!
回復

使用道具 舉報

5#
ID:997431 發表于 2021-12-29 09:21 | 只看該作者
請問樓主怎么測電容電阻哇
回復

使用道具 舉報

6#
ID:1129810 發表于 2024-7-29 20:26 | 只看該作者
真的厲害,牛的
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成人精品一区二区三区中文字幕 | 在线资源视频 | 国产精品国产自产拍高清 | 亚洲精品在线看 | 韩国成人在线视频 | 黄色三级在线播放 | 久久午夜剧场 | 黄片毛片在线观看 | 国产美女精品视频 | 久久久人| 欧美5区| 成人性视频在线播放 | 亚洲国产精品美女 | 密室大逃脱第六季大神版在线观看 | 久久网站免费视频 | 午夜视频一区二区三区 | 久久久久中文字幕 | 激情黄色在线观看 | 黄色网一级片 | 亚洲综合天堂 | 2一3sex性hd| 国产精品久久久久久福利一牛影视 | 中文字幕亚洲视频 | 国产精品一二三区在线观看 | 在线免费观看a级片 | 在线中文字幕av | av在线成人| 日韩在线电影 | 精品亚洲一区二区三区四区五区 | 一本色道精品久久一区二区三区 | 国产成人综合亚洲欧美94在线 | 免费看a| 久久精品色欧美aⅴ一区二区 | 欧美视频成人 | 国产一区二区三区四区五区加勒比 | 久久黄网 | 久久久999免费视频 999久久久久久久久6666 | 国产一区二区三区视频在线观看 | 91在线视频| 91精品国产乱码久久久久久久久 | 蜜桃视频一区二区三区 |