此例程設(shè)置了按鍵可以調(diào)整100-1000hz的不同頻率(100的倍數(shù))的方波,另外還加入了串口通信,可以通過串口發(fā)送來的數(shù)字來設(shè)置相對(duì)應(yīng)的頻率;#include #include"uart.h" sbit PWMOUT = P1^0; sbit led
/* 遺憾的是不能產(chǎn)生標(biāo)準(zhǔn)38kHz頻率的方波,有點(diǎn)誤差*/#include#define uchar unsigned char#define uint unsigned intsbit Waveout=P1^0; //P1.0口輸出方波ucharvoid main(){TMOD=0x01; //定時(shí)器0方式1
51單片機(jī)用定時(shí)器0實(shí)現(xiàn)流水燈的代碼如下,用P1口接led燈,代碼如下都有注釋就不具體解釋了,英語不怎么好,有的地方將就一下嘍,本次主要講一下P1口怎么賦值。原先寫的都是用查表來移位的,個(gè)人感覺不怎
1,什么是PWM 什么是PWM,專業(yè)點(diǎn)說脈寬調(diào)制,通俗點(diǎn)說 就是不斷的輸出高低電平。 比如 單片機(jī) 40ms的時(shí)間 輸出高電平然后60ms的時(shí)間 輸出低電平接著一直不斷周期性的交替輸出高低電平 這就是典型的PWM
用STM32自帶的ADC讀取引腳電壓值,讀回來的數(shù)據(jù)怎么轉(zhuǎn)換成單位為V的數(shù)值???V(ADC)=Value(ADC)*V(ref)/4096(stm32的ADC是12位的,所以ad字的最大值是4096) 其中V(ADC)為算出的電壓值;Value(ADC)為采
1)ADC多通道采集:(多通道采集必須用掃描模式,掃描模式時(shí)規(guī)則組的通道共用一個(gè)寄存器,so必須用DMA傳輸;為防止數(shù)據(jù)錯(cuò)位,不能用連續(xù)模式,而應(yīng)在查詢或中斷中先關(guān)閉ADC轉(zhuǎn)換,再開啟ADC轉(zhuǎn)換)so應(yīng)采
一.dma常識(shí).1.作用:實(shí)現(xiàn)片內(nèi)數(shù)據(jù)之間的高速傳輸。即是能夠不占用cpu實(shí)現(xiàn)數(shù)據(jù)傳輸。2.模式:外設(shè)到存儲(chǔ)器傳輸、存儲(chǔ)器到外設(shè)傳輸和存儲(chǔ)器到存儲(chǔ)器傳輸三種傳輸模式。3.stm32中的dma支持外設(shè)通道選擇,并
環(huán)境:主機(jī):XP開發(fā)環(huán)境:MDK4.23MCU:STM32F103CBT6說明:通過腳PA1,PA2采集AD。每路AD采集10次。#include "ad_driver.h" //全局變量 //AD采樣存放空間 __IO uint16_t ADCConvertedValue[20]; //函數(shù) //初
STM32外設(shè)DMA使用總結(jié):1、根據(jù)需要選擇DAM模式:(1)循環(huán)模式—DMA_Mode = DMA_Mode_Circular(2)正常模式—DMA_Mode = DMA_Mode_Normal2、對(duì)于DMA1的Chanel3,對(duì)應(yīng)外設(shè)為USART3的RX試想:如果串口接收中
STM32F103有雙DAC通道,利用DMA實(shí)現(xiàn)2個(gè)波形輸出#include "stm32f10x.h" //DAC1,2初始化 void dac_init(void) { RCC->APB2ENR |= RCC_APB2ENR_IOPAEN; //開啟端口A時(shí)鐘 RCC->APB1ENR |= RCC_APB1ENR
第一個(gè)為非DMA模式的多通道采集void ADC_DMA_Config(void){ ADC_InitTypeDef ADC_InitStructure;RCC_HSICmd(ENABLE);while(RCC_GetFlagStatus(RCC_FLAG_HSIRDY) == RESET); RCC_APB2PeriphClockCmd(RCC
STM32看門狗總結(jié)調(diào)原子哥的開發(fā)板一年多,基本上能用,但是對(duì)于STM32某些基本外設(shè)的工作機(jī)理還不甚明了。借此暑假的機(jī)會(huì)對(duì)各個(gè)外設(shè)的功能做一個(gè)簡(jiǎn)短的總結(jié),在提高自己基礎(chǔ)知識(shí)的同時(shí),也給其他同學(xué)提供
ADC的模擬看門狗用于檢查電壓是否越界。他又上下兩個(gè)邊界,可分別在寄存器ADC_HTR和ADC_LTR中設(shè)置。庫函數(shù)是使用ADC_AnalogWatchdogThresholdsConfig設(shè)置的,無論是常規(guī)通道還是注入通道,都非常簡(jiǎn)單。
//觀察喂狗與不喂狗的區(qū)別,使用PB口的LED指示燈做狀態(tài)指示。 //將PB口的LED指示燈使能開關(guān)切換到"ON"狀態(tài)。 #include #define DISP_DDR DDRB #define DISP_PORT PORTB //看門狗WDT初始化程序
1. 實(shí)驗(yàn)任務(wù)如圖13所示,利用AT89S51單片機(jī)的P0端口的P0.0-P0.7連接到一個(gè)共陰數(shù)碼管的a-h(huán)的筆段上,數(shù)碼管的公共端接地。在數(shù)碼管上循環(huán)顯示0-9數(shù)字,時(shí)間間隔0.2秒。2.電路原理圖圖4.7.13. 系統(tǒng)板