久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
基于stm32mini開發板簡易示波器電路+源程序
[打印本頁]
作者:
woaixuexikeyi
時間:
2019-5-5 19:23
標題:
基于stm32mini開發板簡易示波器電路+源程序
此作品實現了一個簡易示波器的功能。基于MiNiSTM32開發板的硬件資源制作。通過片內高速A/D轉換器對模擬信號快速采樣,存儲其數字化信號。并對所存儲的數據進行實時快速處理,得到信號的原始波形及其參數。在彩屏上顯示波形和波形的一些參數,可根據顯示要求,對波形進行縮放。模擬輸入電壓值范圍為0V~3.3V。可通過按鍵調節顯示的單位,即每一小格對應的時間和電壓值。
電路原理圖如下:
0.png
(176.7 KB, 下載次數: 121)
下載附件
2019-5-5 21:17 上傳
單片機源程序如下:
#include"stm32f10x.h"
#include"systick.h"
#include "lcd.h"
#include"adc.h"
#include "stm32f10x_it.h"
#include"timer.h"
u16 j = 0;
float temp;
float temp1;
void nvic_init(void);
void rcc_init(void);
void gpio_init(void);
void clear_point(u16 hang)
{
u8 index_clear_lie = 0;
POINT_COLOR = DARKBLUE;
for(index_clear_lie = 0;index_clear_lie <201;index_clear_lie++)
{
lcd_huadian(hang,index_clear_lie);
}
POINT_COLOR=RED;
}
int main(void)
{
SystemInit(); //系統時鐘初始化
nvic_init(); // 中斷優先級配置
rcc_init(); //外設時鐘配置
gpio_init(); //外設io口配置
set_io0();
key_init();
systick_init(); //滴答配置,
adc_init(); //adc配置
LCD_Init(); //tft液晶初始化
set_background(); //初始化背景
time_init(); //定時器配置,測頻率用的二個定時器
time_enable(); //同步開始計數
get_value();
vpp = get_vpp();
while(1)
{
for(j=index;j<index+250;j=j+1)
{
temp = a[j] * 3300 / 4096 * 25 /vcc_div;
temp1 = a[j + 1] * 3300 / 4096 * 25 / vcc_div;
clear_point(j-index);
if(temp>200)
{
temp=200;
}
if(temp<0)
{
temp=0;
}
if(temp1>200)
{
temp1=200;
}
if(temp1<0)
{
temp1=0;
}
lcd_huadian(j-index,temp);
lcd_huaxian(j-index,temp,j-index+1,temp1);
hua_wang();
}
LCD_Show2Num(144,224,vpp,5,16,0);
get_value();
vpp = get_vpp();
}
}
void nvic_init(void)
{
NVIC_InitTypeDef NVIC_InitTypeStruct;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
NVIC_InitTypeStruct.NVIC_IRQChannel = EXTI0_IRQn;
NVIC_InitTypeStruct.NVIC_IRQChannelPreemptionPriority = 2;
NVIC_InitTypeStruct.NVIC_IRQChannelSubPriority = 0;
NVIC_Init(&NVIC_InitTypeStruct);
NVIC_InitTypeStruct.NVIC_IRQChannel = EXTI15_10_IRQn;
NVIC_InitTypeStruct.NVIC_IRQChannelPreemptionPriority = 2;
NVIC_InitTypeStruct.NVIC_IRQChannelSubPriority = 1;
NVIC_Init(&NVIC_InitTypeStruct);
NVIC_InitTypeStruct.NVIC_IRQChannel = TIM2_IRQn; //配置中斷優先級
NVIC_InitTypeStruct.NVIC_IRQChannelPreemptionPriority = 0;
NVIC_InitTypeStruct.NVIC_IRQChannelSubPriority = 2;
NVIC_InitTypeStruct.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitTypeStruct);
NVIC_InitTypeStruct.NVIC_IRQChannel = TIM3_IRQn;
NVIC_InitTypeStruct.NVIC_IRQChannelPreemptionPriority = 0;
NVIC_InitTypeStruct.NVIC_IRQChannelSubPriority = 3;
NVIC_Init(&NVIC_InitTypeStruct);
}
void rcc_init(void)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE);
RCC_ADCCLKConfig(RCC_PCLK2_Div6);
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1,ENABLE);
}
void gpio_init(void)
{
GPIO_InitTypeDef GPIO_InitTypeStruct;
GPIO_InitTypeStruct.GPIO_Pin = GPIO_Pin_2;
GPIO_InitTypeStruct.GPIO_Speed = GPIO_Speed_50MHz; //外部時鐘的,用來測頻率的,
GPIO_InitTypeStruct.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOD, &GPIO_InitTypeStruct);
GPIO_InitTypeStruct.GPIO_Pin = GPIO_Pin_1;
GPIO_InitTypeStruct.GPIO_Speed = GPIO_Speed_50MHz; //adc輸入引腳
GPIO_InitTypeStruct.GPIO_Mode = GPIO_Mode_AIN;
GPIO_Init(GPIOA, &GPIO_InitTypeStruct);
GPIO_InitTypeStruct.GPIO_Pin = GPIO_Pin_13 | GPIO_Pin_15;
GPIO_InitTypeStruct.GPIO_Speed = GPIO_Speed_50MHz; //外部中斷的io配置
GPIO_InitTypeStruct.GPIO_Mode = GPIO_Mode_IPU;
GPIO_Init(GPIOA, &GPIO_InitTypeStruct);
GPIO_InitTypeStruct.GPIO_Pin = GPIO_Pin_0;
GPIO_InitTypeStruct.GPIO_Speed = GPIO_Speed_50MHz; //外部中斷的io配置
GPIO_InitTypeStruct.GPIO_Mode = GPIO_Mode_IPD;
GPIO_Init(GPIOA, &GPIO_InitTypeStruct);
GPIO_InitTypeStruct.GPIO_Pin = GPIO_Pin_8; //定時器1觸發ad轉換的輸出的那個口
GPIO_InitTypeStruct.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitTypeStruct.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_Init(GPIOA, &GPIO_InitTypeStruct);
GPIO_InitTypeStruct.GPIO_Pin = GPIO_Pin_3;
GPIO_InitTypeStruct.GPIO_Speed = GPIO_Speed_50MHz; // S3
GPIO_InitTypeStruct.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOA, &GPIO_InitTypeStruct);
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
原理圖.zip
(575.43 KB, 下載次數: 107)
2019-5-5 19:22 上傳
點擊文件名下載附件
接線圖
下載積分: 黑幣 -5
OSC.7z
(162.54 KB, 下載次數: 150)
2019-5-5 21:18 上傳
點擊文件名下載附件
源程序
下載積分: 黑幣 -5
作者:
yfpc2006
時間:
2019-5-6 03:28
樓主吉祥!
正想要學習呢!
不錯,不錯,占個沙發!
工程是uV4的。
作者:
確認
時間:
2019-5-30 11:54
您好,想咨詢一下您,有些地方比太懂,您方面嗎?這是我q:1132515914,或者您能把您的聯系方式告訴我嘛?
作者:
AKA123
時間:
2020-6-16 22:32
希望可以附上實際開發的效果圖
作者:
mvwtest
時間:
2020-6-17 00:03
thank you
作者:
Teslatony
時間:
2020-8-17 10:52
有沒有做出來的 我顯示了 但是沒找到怎么調時基
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
欧美精品一区在线
|
美女久久久久久
|
一级免费毛片
|
无遮挡在线观看
|
日韩视频免费在线观看
|
超碰在线成人
|
久视频在线
|
激情做爰呻吟视频舌吻
|
在线视频福利
|
精品视频一区二区三区
|
国产小视频网站
|
97在线视频观看
|
老司机午夜视频
|
伊人av网
|
天天草天天干
|
亚洲精品一区二区三区蜜桃久
|
96av视频
|
中文字幕精品视频
|
日韩中文一区
|
欧美在线亚洲
|
久久精品视频国产
|
一级片av
|
天天操夜夜爽
|
日韩黄色一级片
|
亚洲精品www久久久久久广东
|
亚洲欧美日韩在线
|
国产黄色一区二区
|
亚洲精品小视频
|
欧美日本国产
|
色在线视频
|
久久久久久免费毛片精品
|
中国特级毛片
|
福利视频二区
|
国产亚洲视频在线观看
|
免费一区二区三区
|
久久精品视频免费
|
精品日韩一区二区三区
|
天天综合视频
|
亚洲成人天堂
|
国产一区不卡
|
久久午夜影院
|