freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

嵌入式系統(tǒng)應(yīng)用--adc--模擬電壓采集-肖迎春(已修改)

2025-05-28 07:26 本頁(yè)面
 

【正文】 嵌入式系統(tǒng)應(yīng)用 肖迎春 Email: :787522366 Tel: 18938949597 2 目錄 ?任務(wù) 1:ADC模擬電壓采集 ? STM32 ADC介紹 3 STM32的 A/D轉(zhuǎn)換器 STM32單片機(jī)有 2個(gè)獨(dú)立的 ADC控制器,有 18個(gè)通道,可測(cè)量 16個(gè)外部信號(hào)和 2個(gè)內(nèi)部信號(hào)源 :內(nèi)部溫度傳感器和內(nèi)部參考電壓(Bandgap voltage) 。 ? ADC 電源要求 : to V 。 ? ADC 輸入范圍 : VREF ≤ VIN ≤ VREF+ (VREF+ and VREF available only in LQFP100 package) ? 精度: 12位。結(jié)果可按左對(duì)齊或右對(duì)齊的方式存放在 16位寄存器中。 ? A/D轉(zhuǎn)換的過(guò)程:采用、保持、量化、編程。采樣時(shí)間越長(zhǎng),轉(zhuǎn)換結(jié)果越穩(wěn)定。采樣時(shí)間可設(shè)置為: / / / ADC時(shí)鐘周期。 ? ADC轉(zhuǎn)換時(shí)間 采用時(shí)間 +轉(zhuǎn)換時(shí)間 ? 轉(zhuǎn)換時(shí)間: 。 ?CONVT4 STM32的 A/D轉(zhuǎn)換器 ? 轉(zhuǎn)換速率: ADC1和 ADC2連在 APB2總線上(其最高速率 72MHz)。CLK控制器為 ADC時(shí)鐘提供一個(gè)專用的可編程預(yù)分頻器,預(yù)分頻值為: STM32的 ADC允許的最高時(shí)鐘頻率為 14MHz,若超過(guò)會(huì)降低精度,因此需要對(duì) CLK進(jìn)行分頻。 最快轉(zhuǎn)換時(shí)間: 最高轉(zhuǎn)換速率: 00 2分頻(默認(rèn)) 01 4分頻 10 6分頻 11 8分頻 usMTT A D Cc on v 114 1*14*)( ????MH zusf 111 ??5 STM32的 A/D轉(zhuǎn)換器 ? 轉(zhuǎn)換模式: 單次 /連續(xù) /掃描 /間斷 /雙重。 掃描 模式如果 沒(méi)有啟動(dòng) ,則啟動(dòng)一次 AD轉(zhuǎn)換只會(huì)轉(zhuǎn)換第一個(gè)通道;掃描模式如果 啟動(dòng) ,則啟動(dòng)一次 AD轉(zhuǎn)換會(huì)對(duì)所有通道進(jìn)行轉(zhuǎn)換。 如果是 單次 模式,啟動(dòng)后一次轉(zhuǎn)換完成后不再轉(zhuǎn)換,如果是 連續(xù) 模式,則一次轉(zhuǎn)換完后繼續(xù)反復(fù)轉(zhuǎn)換。 STM32的 16個(gè)外部 ADC通道可分為兩組 :規(guī)則的和注入的。每個(gè)組可以是這 16個(gè)通道中的任意一些通道以任意順序進(jìn)行的組合。 規(guī)則組最多有 16個(gè)通道,通道和轉(zhuǎn)換順序在 ADC規(guī)則系列寄存器 x(ADC_JSQR)中選擇。 注入組最多有 4個(gè)通道。通道和轉(zhuǎn)換順序在 ADC注入系列寄存器 (ADC_JSQR)中選擇。 6 STM32的 A/D轉(zhuǎn)換器 ? ADC端口: PA0~PA7:ADC_IN0~ADC_IN7 PB0~PB1:ADC_IN8~ADC_IN9 PC0~PC5:ADC_IN10~ADC_IN15 ? 輸入信號(hào)量程: VREF~VREF+(0~) ? 本電路板的模擬電壓(電位器)連在 PC0端口。 7 任務(wù) 1:ADC模擬電壓采集 ? 任務(wù):編程從 STM32的 ADC采集電位器上的模擬電壓,通過(guò)串口輸出到PC上,串口終端接收顯示出來(lái) ? 目的:掌握 STM32 ADC的應(yīng)用及庫(kù)函數(shù)的使用 ? 步驟: ? 建立自己的項(xiàng)目文件夾 ? 建立 Keil工程項(xiàng)目,命名為 ,保存到 MDK目錄下 ? 項(xiàng)目中添加 、 ? 配置好 C/C++頭文件路徑和調(diào)試工具參數(shù) ? 將實(shí)驗(yàn)板上的跳線 J61, J62接到 RS232amp。RS485端,跳線 J59,J60接到 RS232端; ? 連接好仿真器和實(shí)驗(yàn)板 ? 編譯、下載程序 ? 打開(kāi) PC機(jī)上的串口終端,選擇正確的端口和波特率 ? 調(diào)整電位 R2,觀察串口接收窗口的數(shù)據(jù) ? 修改代碼,將 ADC的數(shù)值轉(zhuǎn)換為實(shí)際電壓值,通過(guò)串口將結(jié)果發(fā)回 PC,同時(shí)在電壓值 LED閃爍,電壓值 ; 8 任務(wù) 1:配置 ? 頭文件路徑配置: C/C++配置 H文件路徑 添加路徑 : ..\App ..\..\INC ..\..\INC\CMSIS_INC 9 任務(wù) 1:配置 ? Debug配置: Debug配置 10 任務(wù) 1:配置 ? 下載工具配置: 下載工具配置 設(shè)置 添加下載算法: Stm32F10x Connectivity Line 11 ADC庫(kù)函數(shù) 功能描述 ? USART標(biāo)準(zhǔn)庫(kù)函數(shù)的說(shuō)明參考課本 p335表 ?在軟件開(kāi)發(fā)時(shí), adc標(biāo)準(zhǔn)庫(kù)函數(shù)的參數(shù)使用,可以參考頭文件 ? 、 12 使用 STM32 ADC的步驟 ?調(diào)用 RCC_APB2PeriphClockCmd()庫(kù)函數(shù)使能對(duì)應(yīng) IO口的時(shí)鐘 RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOC |RCC_APB2Periph_ADC1 |RCC_APB2Periph_GPIOD| RCC_APB2Periph_AFIO , ENABLE )。 ?調(diào)用 GPIO_Init()配置 IO口的模式 //PC0 作為模擬通道 10輸入引腳 = GPIO_Pin_0。 = GPIO_Mode_AIN。 GPIO_Init(GPIOC, amp。GPIO_InitStructure)。 13 使用 STM32 ADC的步驟 ? ADC_Init()初始化 , ADC_RegularChannelConfig()設(shè)置通道和轉(zhuǎn)化順序及時(shí)間, ADC_Cmd()使能 /* ADC1 configuration */ = ADC_Mode_Independent。 = ENABLE。 = ENABLE。 = ADC_ExternalTrigConv_None。 = ADC_DataAlign_Right。 = 1。 ADC_Init(ADC1, amp。ADC_InitStructure)。 /* ADC1 regular channel10 configuration */ ADC_RegularChannelConfig(ADC1, ADC_Channel_10, 1, ADC_SampleTime_55Cycles5)。 /* Enable ADC1 */ ADC_Cmd(ADC1, ENABLE)。 14 使用 STM32 ADC的步驟 ? 重置校驗(yàn)寄存器,等待重置完成,開(kāi)始校驗(yàn),等待校驗(yàn)完成 /* Enable ADC1 reset calibaration register */ ADC_ResetCalibration(ADC1)。 /* Check the end of ADC1 reset calibration register */ while(ADC_GetResetCalibrationStatus(ADC1))。 /* Start ADC1 calibaration */ ADC_StartCalibration(ADC1)。 /* Check the end of ADC1 calibration */ while(ADC_GetCalibrationStatus(ADC1))。 /* Start ADC1 Software Conversion */ ADC_SoftwareStartConvCmd(ADC1, ENABLE)。 ? 調(diào)用 ADC_GetConversionValue獲取結(jié)果 AD_value=ADC_GetConversionValue(ADC1)。 15 ADC庫(kù)函數(shù) ? void ADC_DeInit(ADC_TypeDef* ADCx)。 ? void ADC_Init(ADC_TypeDef* ADCx, ADC_InitTypeDef* ADC_InitStruct)。 ? void ADC_StructInit(ADC_InitTypeDef* ADC_InitStruct)。 ? void ADC_Cmd(ADC_TypeDef* ADCx, FunctionalState NewState)。 ? void ADC_DMACmd(ADC_TypeDef* ADCx, FunctionalState NewState)。 ? void ADC_ITConfig(ADC_TypeDef* ADCx, uint16_t ADC_IT, FunctionalState NewState)。 ? void ADC_ResetCalibration(ADC_TypeDef*
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1