電阻頻率響應(yīng)測(cè)試實(shí)驗(yàn)
設(shè)備:電阻,面包板,STM32F103VE 試驗(yàn)板 , 示波器。
方法:將100R,1K,10K,1M電阻,分別以不同形式接入頻率為1K,10K,1M,10M,的方波,觀察其波形和區(qū)別。
電路圖:各種接發(fā)詳見(jiàn)下文。
編譯環(huán)境:iar
程序方面:采用定時(shí)器pwm模式,生成需要的頻率以及占空比
#include "stm32f10x.h"
//#include
#include "key.h"
#include "SYSTICK.h"
//#include
#include "key.h"
#include "SYSTICK.h"
void scan(void);
void init(void);
void main()
{
init();
GPIOC->CRL &=~ (0xff<<0);
GPIOC->CRL |= (3<<0)|(3<<4);
GPIOC->ODR |= 0;
TIM5->ARR = 500 ;
TIM5->CCR1 = 250;
while(1)
{
scan();
}
}
void init()
{
SystemInit();
SYSTICK_Init(72);
RCC->APB2ENR |= (1<<11) | (1<<4) | (1<<2) | (1<<0); //打開(kāi)pc pa和t1時(shí)鐘
GPIOC->CRL &=~ (0xff<<0);
GPIOC->CRL |= (1<<3)|(1<<7);
GPIOC->ODR |= (1<<0)|(1<<1);//按鈕io初始化
GPIOA->CRH |= (11<<0)|(11<<4)|(11<<8)| (11<<12);//設(shè)置PA口為50M復(fù)用推挽輸出
RCC->APB1ENR |= (1<<3); //開(kāi)啟t5的時(shí)鐘 led
RCC->APB2ENR |= (1<<2)|(1<<0);
TIM5->CR1 |= (0<<4)|(1<<7);//向上計(jì)數(shù),使能重裝載寄存器
TIM5->ARR = 20;//周期設(shè)置
TIM5->PSC = 0; //預(yù)分頻設(shè)置
TIM5->CCMR1 &=~ ((3<<8)|(3<<0));////設(shè)置為ch1 ch2為輸出模式
TIM5->CCMR1 |= (7<<12)|(1<<11)|(7<<4)|(1<<3); //pwm模式和輸出比較預(yù)裝載使能
TIM5->CCMR2 &=~ ((3<<8)|(3<<0));//設(shè)置為ch4 ch3為輸出模式
TIM5->CCMR2 |= (7<<12)|(1<<11)|(7<<4)|(1<<3); //pwm模式和輸出比較預(yù)裝載使能
TIM5->CCER |= (1<<12)|(1<<8)|(1<<4)|(1<<0);//開(kāi)啟ch4輸出
TIM5->CR1|=(1<<0);
TIM5->CCR1 = 10;
void main()
{
init();
GPIOC->CRL &=~ (0xff<<0);
GPIOC->CRL |= (3<<0)|(3<<4);
GPIOC->ODR |= 0;
TIM5->ARR = 500 ;
TIM5->CCR1 = 250;
while(1)
{
scan();
}
}
void init()
{
SystemInit();
SYSTICK_Init(72);
RCC->APB2ENR |= (1<<11) | (1<<4) | (1<<2) | (1<<0); //打開(kāi)pc pa和t1時(shí)鐘
GPIOC->CRL &=~ (0xff<<0);
GPIOC->CRL |= (1<<3)|(1<<7);
GPIOC->ODR |= (1<<0)|(1<<1);//按鈕io初始化
GPIOA->CRH |= (11<<0)|(11<<4)|(11<<8)| (11<<12);//設(shè)置PA口為50M復(fù)用推挽輸出
RCC->APB1ENR |= (1<<3); //開(kāi)啟t5的時(shí)鐘 led
RCC->APB2ENR |= (1<<2)|(1<<0);
TIM5->CR1 |= (0<<4)|(1<<7);//向上計(jì)數(shù),使能重裝載寄存器
TIM5->ARR = 20;//周期設(shè)置
TIM5->PSC = 0; //預(yù)分頻設(shè)置
TIM5->CCMR1 &=~ ((3<<8)|(3<<0));////設(shè)置為ch1 ch2為輸出模式
TIM5->CCMR1 |= (7<<12)|(1<<11)|(7<<4)|(1<<3); //pwm模式和輸出比較預(yù)裝載使能
TIM5->CCMR2 &=~ ((3<<8)|(3<<0));//設(shè)置為ch4 ch3為輸出模式
TIM5->CCMR2 |= (7<<12)|(1<<11)|(7<<4)|(1<<3); //pwm模式和輸出比較預(yù)裝載使能
TIM5->CCER |= (1<<12)|(1<<8)|(1<<4)|(1<<0);//開(kāi)啟ch4輸出
TIM5->CR1|=(1<<0);
TIM5->CCR1 = 10;
GPIOA->CRL &=~ (0xf<<0);
GPIOA->CRL |= (2<<2)|(3<<0);
GPIOA->CRL &=~ (0xf<<4);
GPIOA->CRL |= (2<<6)|(3<<4);
GPIOA->CRL &=~ (0xf<<8);
GPIOA->CRL |= (2<<10)|(3<<8);
GPIOA->CRL &=~ (0xf<<12);
GPIOA->CRL |= (2<<14)|(3<<12);
}
void scan()
{
if(Scan_Mode())
{
TIM5->ARR = TIM5->ARR+100 ;
TIM5->CCR1 = TIM5->CCR1+50 ;
TIM5->EGR = 1;
}
if(Scan_Add())
{
TIM5->ARR = TIM5->ARR-50 ;
TIM5->CCR1 = TIM5->CCR1-25 ;
TIM5->EGR = 1;
}
}
而且根據(jù)以上程序發(fā)現(xiàn),IO的翻轉(zhuǎn)速度可以達(dá)到36M,但基本上是嚴(yán)重變形了的
本文引用地址:http://butianyuan.cn/article/201611/324058.htm
這是直接測(cè)量管角上的波形
這是接了一塊非常不好的導(dǎo)線(xiàn),測(cè)量的波形
這是接了一般的導(dǎo)線(xiàn),測(cè)量的波形
從上面的波形可以看出,導(dǎo)線(xiàn)的分布電容,和分布電阻對(duì)波形的影響還是挺大的。
估計(jì)要是產(chǎn)生36M的標(biāo)準(zhǔn)方波是沒(méi)戲了,這也是我為啥要測(cè)試這些波形的原因。測(cè)試這些,可以對(duì)高頻波形的預(yù)知,好對(duì)生成更好的更標(biāo)準(zhǔn)的波形做基礎(chǔ)。
進(jìn)入主題,開(kāi)始測(cè)試,首先是電路圖,最簡(jiǎn)單的
這是1HZ的,測(cè)試電阻,用1個(gè)10K和100K,波形,基本保持不變。
這是100HZ的波形,其測(cè)試電阻為100K,如果不仔細(xì)看,是看不到方波的右下角已經(jīng)開(kāi)始有一些小的變化了。
關(guān)鍵詞:
電阻頻率響應(yīng)測(cè)試實(shí)驗(yàn)STM32F103V
相關(guān)推薦
技術(shù)專(zhuān)區(qū)
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機(jī)
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線(xiàn)
- 開(kāi)關(guān)電源
- 單片機(jī)
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩(wěn)壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開(kāi)發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機(jī)控制
- 藍(lán)牙
- PLC
- PWM
- 汽車(chē)電子
- 轉(zhuǎn)換器
- 電源管理
- 信號(hào)放大器
評(píng)論