日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于GD32F350的數(shù)字式電容表設(shè)計(jì)方案

單片機(jī)愛(ài)好者 ? 2018-10-05 09:14 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

GD32F350開(kāi)發(fā)板使用了兆易最新推出的ARM Cortex-M4的32位通用微控制器GD32F350RB,這款芯片自帶2路比較器,非常適合用來(lái)制作一款低成本的數(shù)字式電容表。

設(shè)計(jì)方案:

圖1是由比較器構(gòu)成的RC自激振蕩電路,R1、R2為比較器正端提供1/2偏壓,R3是正反饋電阻,待測(cè)電容Cx與RT、CT決定了振蕩器的輸出頻率,基本不受供電電壓影響。比較器負(fù)輸入端與輸出端的波形見(jiàn)圖2。當(dāng)RT和CT固定不變時(shí),比較器輸出端PT1輸出的方波頻率與待測(cè)電容Cx的容量成反比。

基于GD32F350的數(shù)字式電容表設(shè)計(jì)方案

圖1

圖2

利用GD32F350RB片內(nèi)自帶的軌對(duì)軌比較器CMP0,只要外加少量阻容元件,就能構(gòu)成圖1的RC自激振蕩電路。然后配置GD32F350的TIMER1每1秒中斷1次,讀取脈沖個(gè)數(shù)并計(jì)算就能得到待測(cè)電容Cx的值。這款低成本的數(shù)字電容表的測(cè)量范圍(具有2位小數(shù)的3個(gè)自動(dòng)切換的量程):

1.00pf- 1999.99pf

2.00nf- 999.99nf

1.00uf- 10.00uf

方案實(shí)施:

A、硬件資源:

參閱GD32F350手冊(cè)可知,GD32F350內(nèi)置的通用比較器可連接的資源非常豐富,用戶可以很靈活方便組成各種不同應(yīng)用功能。本方案(見(jiàn)圖3)使用圖中紅框的連接引腳實(shí)現(xiàn)圖1自激振蕩器功能。比較器的輸出直接觸發(fā)GD32F350內(nèi)部的EXTI進(jìn)行計(jì)數(shù)。

基于GD32F350的數(shù)字式電容表設(shè)計(jì)方案

圖3

同時(shí),為開(kāi)發(fā)板配置了一片OLED顯示屏用來(lái)顯示測(cè)試結(jié)果,相關(guān)原理圖見(jiàn)圖4。使用洞洞板焊接了所需的外擴(kuò)電路。

基于GD32F350的數(shù)字式電容表設(shè)計(jì)方案

圖4

B、軟件資源:

軟件流程很簡(jiǎn)單,見(jiàn)圖5.

基于GD32F350的數(shù)字式電容表設(shè)計(jì)方案

圖5

C、中斷資源:

1、ADC_CMP_IRQn

2、CMP0輸出中斷EXTI21

3、TIMER1_IRQn

D、開(kāi)發(fā)環(huán)境:

1、使用MDK5;

2、下載GigaDevice.GD32F30x0_DFP.1.0.0.pack為MDK5添加驅(qū)動(dòng)補(bǔ)丁。

3、 下載GD官方GD32F3x0_Firmware_Library_V1.0.0.rar固件庫(kù),直接利用GD32F3x0_Firmware_Library_V1.0.0Template文件夾的演示工程修改添加代碼。

在gd_eval_led_init()函數(shù)中配置了LED4來(lái)監(jiān)測(cè)1秒中斷的工作狀況,在官方gd32f3x0_eval.h定義的LED有誤,請(qǐng)參考http://bbs.eeworld.com.cn/thread-869871-1-1.html進(jìn)行修改。

E、主要代碼

基于GD32F350的數(shù)字式電容表設(shè)計(jì)方案

圖4

B、軟件資源:

軟件流程很簡(jiǎn)單,見(jiàn)圖5.

基于GD32F350的數(shù)字式電容表設(shè)計(jì)方案

圖5

C、中斷資源:

1、ADC_CMP_IRQn

2、CMP0輸出中斷EXTI21

3、TIMER1_IRQn

D、開(kāi)發(fā)環(huán)境:

1、使用MDK5;

2、下載GigaDevice.GD32F30x0_DFP.1.0.0.pack為MDK5添加驅(qū)動(dòng)補(bǔ)丁。

3、 下載GD官方GD32F3x0_Firmware_Library_V1.0.0.rar固件庫(kù),直接利用GD32F3x0_Firmware_Library_V1.0.0Template文件夾的演示工程修改添加代碼。

在gd_eval_led_init()函數(shù)中配置了LED4來(lái)監(jiān)測(cè)1秒中斷的工作狀況,在官方gd32f3x0_eval.h定義的LED有誤,請(qǐng)參考http://bbs.eeworld.com.cn/thread-869871-1-1.html進(jìn)行修改。

E、主要代碼

main()

#include "gd32f3x0.h"

#include

#include "gd32f3x0_eval.h"

#include "oled.h"

static void rcu_config(void);

static void gpio_config(void);

static void nvic_configuration(void);

static void cmp_config(void);

static void timer1_configuration(void);

static void To_Buf(void);

__IO uint32_t CAP_Value,CMP_Count=0x00;__IO uint32_t CAP;

uint8_t Number_buf[12],CAP_OK=0;

int main(void)

{

SystemInit();

rcu_config();

gpio_config();

gd_eval_led_init(LED4);

OLED_Init();

OLED_Clear();

cmp_config();

timer1_configuration();

nvic_configuration();

LCD_Print(8,0,"基于GD32F350的",TYPE16X16,TYPE8X16);

LCD_Print(24,16,"數(shù)字電容表",TYPE16X16,TYPE8X16);

CAP_OK=0x00;

while(1)

{

while(CAP_OK==0x00);

To_Buf();

LCD_Print(16,40,Number_buf,TYPE16X16,TYPE8X16);

CAP_OK=0x00;

CMP_Count=0;

}

}

cmp_config()

static void cmp_config(void)

{

cmp_mode_init(CMP0,CMP_VERYLOWSPEED , CMP_PA5, CMP_HYSTERESIS_HIGH);

cmp_output_init(CMP0,CMP_OUTPUT_NONE,CMP_OUTPUT_POLARITY_NOINVERTED);//CMP_OUTPUT_TIMER2IC0

cmp_enable(CMP0);

}

gpio_config()

static void gpio_config(void)

{

gpio_output_options_set(GPIOA,GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ,GPIO_PIN_1|GPIO_PIN_5);

gpio_mode_set(GPIOA,GPIO_MODE_ANALOG, GPIO_PUPD_PULLUP, GPIO_PIN_1|GPIO_PIN_5);

gpio_output_options_set(GPIOA, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ,GPIO_PIN_6);

gpio_mode_set(GPIOA,GPIO_MODE_AF, GPIO_PUPD_PULLUP, GPIO_PIN_6);

gpio_af_set(GPIOA,GPIO_AF_7, GPIO_PIN_6);

gpio_output_options_set(GPIOB,GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ,GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_12|GPIO_PIN_14|GPIO_PIN_15);

gpio_mode_set(GPIOB,GPIO_MODE_OUTPUT,GPIO_PUPD_PULLUP,GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_12|GPIO_PIN_14|GPIO_PIN_15);

}

nvic_configuration()

static void nvic_configuration(void)

{

nvic_priority_group_set(NVIC_PRIGROUP_PRE1_SUB3);

nvic_irq_enable(TIMER1_IRQn,1, 1);

nvic_irq_enable(ADC_CMP_IRQn,0, 1);

exti_init(EXTI_21,EXTI_INTERRUPT,EXTI_TRIG_RISING);

exti_interrupt_enable(EXTI_21);

}

timer1_configuration()

void timer1_configuration(void)

{timer_oc_parameter_struct timer_ocintpara;

timer_parameter_structtimer_initpara;

timer_deinit(TIMER1);

timer_initpara.prescaler=5399;

timer_initpara.alignedmode=TIMER_COUNTER_EDGE;

timer_initpara.counterdirection=TIMER_COUNTER_UP;

timer_initpara.period=1480;

timer_initpara.clockdivision=TIMER_CKDIV_DIV1;

timer_initpara.repetitioncounter= 0;

timer_init(TIMER1,&timer_initpara);

timer_ocintpara.ocpolarity=TIMER_OC_POLARITY_HIGH;

timer_ocintpara.outputstate= TIMER_CCX_ENABLE;

timer_channel_output_config(TIMER1,TIMER_CH_0,&timer_ocintpara);

timer_channel_output_pulse_value_config(TIMER1,TIMER_CH_0,740);

timer_channel_output_mode_config(TIMER1,TIMER_CH_0,TIMER_OC_MODE_TIMING);

timer_channel_output_shadow_config(TIMER1,TIMER_CH_0,TIMER_OC_SHADOW_DISABLE);

timer_interrupt_enable(TIMER1,TIMER_INT_CH0);

timer_interrupt_flag_clear(TIMER1,TIMER_INT_CH0);

timer_enable(TIMER1);

}

ADC_CMP_IRQHandler()

void ADC_CMP_IRQHandler(void)

{

CMP_Count++;

EXTI_PD|=0X200000;

}

TIMER1_IRQHandler()

void TIMER1_IRQHandler(void)

{

if(SET== timer_interrupt_flag_get(TIMER1, TIMER_INT_CH0))

{

timer_interrupt_flag_clear(TIMER1,TIMER_INT_CH0);

CAP_Value=CMP_Count;

gd_eval_led_toggle(LED4);

CAP_OK=0x01;

}

}

OLED驅(qū)動(dòng)代碼網(wǎng)上彼彼皆是,就不再重復(fù)貼出了。

運(yùn)行結(jié)果見(jiàn)圖6

圖6

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 電容表
    +關(guān)注

    關(guān)注

    0

    文章

    43

    瀏覽量

    16765
  • gd32f350
    +關(guān)注

    關(guān)注

    3

    文章

    3

    瀏覽量

    3452

原文標(biāo)題:基于GD32F350的數(shù)字式電容表

文章出處:【微信號(hào):gh_dae0718828df,微信公眾號(hào):gh_dae0718828df】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    GD32F350引腳有異常干擾信號(hào)輸出

    `GD32F350使用Timer1,參照例程,通道1、2、3產(chǎn)生PWM信號(hào)正常,當(dāng)不使用通道2、3時(shí),PB10引腳有不固定的波形輸出,懷疑是干擾信號(hào)。void timer_config(void
    發(fā)表于 11-22 09:35

    求一種數(shù)字式溫度測(cè)量電路的設(shè)計(jì)方案

    求一種數(shù)字式溫度測(cè)量電路的設(shè)計(jì)方案
    發(fā)表于 05-17 06:16

    GD32F350運(yùn)行在8M的目標(biāo)

    芯片:GD32F350 運(yùn)行在8M目標(biāo):每10ms讀取三個(gè)adc通道,并且通過(guò)DMA傳輸流程1.配置DMA傳輸2.配置ADC模式和通道3.配置定時(shí)器定時(shí)觸發(fā)4.中斷函數(shù)和獲取足夠數(shù)據(jù)后進(jìn)
    發(fā)表于 08-06 09:25

    請(qǐng)問(wèn)一下GD32F350芯片是怎樣在8M上運(yùn)行的

    請(qǐng)問(wèn)一下GD32F350芯片是怎樣在8M上運(yùn)行的?有哪些流程?
    發(fā)表于 11-01 06:44

    怎樣通過(guò)GD32F350去讀取ADC通道掃描模式

    怎樣通過(guò)GD32F350去讀取ADC通道掃描模式?并通過(guò)DMA傳輸出來(lái)呢?
    發(fā)表于 11-08 06:46

    數(shù)字式電容計(jì)電路圖

    數(shù)字式電容計(jì)電路圖
    發(fā)表于 04-11 13:48 ?1042次閱讀
    <b class='flag-5'>數(shù)字式</b><b class='flag-5'>電容</b>計(jì)電路圖

    數(shù)字式電容計(jì)原理圖

    數(shù)字式電容計(jì)原理圖
    發(fā)表于 04-11 13:49 ?1268次閱讀
    <b class='flag-5'>數(shù)字式</b><b class='flag-5'>電容</b>計(jì)原理圖

    數(shù)字式電容測(cè)試儀電路圖

    數(shù)字式電容測(cè)試儀電路圖
    發(fā)表于 05-19 14:11 ?1757次閱讀
    <b class='flag-5'>數(shù)字式</b><b class='flag-5'>電容</b>測(cè)試儀電路圖

    數(shù)字式電容控制電路

    數(shù)字式電容控制電路 數(shù)字式
    發(fā)表于 09-15 11:34 ?779次閱讀
    <b class='flag-5'>數(shù)字式</b><b class='flag-5'>電容</b>控制電路

    GD32F330/GD32F350芯片編程開(kāi)發(fā)手冊(cè)英文版

    此文檔包含GD32F330、GD32F350兩種芯片的英文數(shù)據(jù)開(kāi)發(fā)手冊(cè)。
    發(fā)表于 08-29 09:35 ?0次下載

    GD32F330/GD32F350芯片編程開(kāi)發(fā)手冊(cè)中文版

    此文檔包含GD32F330、GD32F350兩種芯片的中文數(shù)據(jù)開(kāi)發(fā)手冊(cè)。
    發(fā)表于 08-29 09:35 ?0次下載

    2017年7月更新最新GD32型單片機(jī)選型指導(dǎo)手冊(cè)

    此文檔為目前最新的GD32單片機(jī)選型手冊(cè),2017年7月更新,包含最新的GD32F403、GD32F405、GD32F407、GD32F45
    發(fā)表于 08-29 11:30 ?107次下載

    一種數(shù)字式可調(diào)直流穩(wěn)壓電源系統(tǒng)設(shè)計(jì)方案

    一種數(shù)字式可調(diào)直流穩(wěn)壓電源系統(tǒng)設(shè)計(jì)方案
    發(fā)表于 06-25 10:32 ?35次下載

    GD32F350xx 數(shù)據(jù)

    GD32F350xx 數(shù)據(jù)
    發(fā)表于 02-22 18:26 ?3次下載
    <b class='flag-5'>GD32F350</b>xx 數(shù)據(jù)<b class='flag-5'>表</b>

    GD32F350xx數(shù)據(jù)

    電子發(fā)燒友網(wǎng)站提供《GD32F350xx數(shù)據(jù).pdf》資料免費(fèi)下載
    發(fā)表于 01-16 14:56 ?0次下載
    <b class='flag-5'>GD32F350</b>xx數(shù)據(jù)<b class='flag-5'>表</b>
    于田县| 安福县| 扶绥县| 沙田区| 定日县| 二手房| 汨罗市| 洛扎县| 蚌埠市| 米林县| 柳州市| 教育| 文水县| 长岭县| 陇南市| 肇州县| 西青区| 雅安市| 云南省| 当雄县| 玉林市| 西华县| 山东省| 麟游县| 横峰县| 图木舒克市| 唐河县| 沙洋县| 安康市| 永丰县| 道孚县| 卫辉市| 新兴县| 冕宁县| 拜泉县| 宁乡县| 闽侯县| 曲阳县| 合肥市| 抚州市| 瑞金市|