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

正文內(nèi)容

畢業(yè)設(shè)計(jì)-基于stm32的多功能電能表的設(shè)計(jì)-資料下載頁

2024-12-01 19:07本頁面

【導(dǎo)讀】著電能在人們生活中的地位越來越重要,它與人們生活之間的聯(lián)系也更加地緊密。戶對(duì)其越來越高的要求。結(jié)構(gòu)簡單的多功能電能表。在設(shè)計(jì)電能表硬件和軟件的過程中,都采用了模塊化的。其中,多功能電能表的硬件部分主要包括主控模塊、電源轉(zhuǎn)換模塊、電。并且利用軟件編譯平臺(tái)MDK進(jìn)行了軟件部分的設(shè)計(jì),主要包括主程。序、系統(tǒng)初始化程序、電量處理程序、鍵盤中斷程序以及LCD段碼顯示程序?,F(xiàn)了多功能定能表的預(yù)期功能。

  

【正文】 2SEG510SEG2732SEG2429U2SLCDSEG8SEG9SEG10SEG11SEG12SEG13SEG14SEG15SEG16SEG17SEG18SEG19SEG20SEG21SEG22SEG23SEG24SEG25SEG26SEG27SEG28SEG29SEG8SEG9SEG10SEG11SEG12 SEG13SEG14SEG15SEG16SEG17SEG18SEG19SEG20SEG21SEG22SEG23SEG24SEG25SEG26SEG27SEG28SEG29COM0COM1COM2COM3COM0COM1COM2COM3SEG7SEG6SEG5SEG4SEG3SEG2SEG1SEG0SEG0SEG1SEG2SEG3SEG4SEG5SEG6SEG7312Q18050202R14100R16103R15BGNDD3V3D100R18C10104153R12VLCDVLCD南京工程學(xué)院自動(dòng)化學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 14 通訊電路原理圖,如圖 所示。 圖 RS485 通訊電路原理圖 圖 中的 6N137 是 高速 光耦合器芯片,用于 電源 和 信號(hào) 的 隔離。該電路中采用獨(dú)立于主板的電源 轉(zhuǎn)換 電路 設(shè)計(jì) ,使得電路的運(yùn)行更加的安全 穩(wěn)定 。 MAX13085E的 性能 優(yōu)越, 工作可靠,具有一個(gè)信號(hào)接收器和一個(gè)驅(qū)動(dòng)器,為了保證芯片的抗干擾能力,在 A、 B 端分別 接有 上拉電阻和下拉電阻 , 用來 保護(hù)芯片的可靠運(yùn)行。當(dāng) ????????端為低電平時(shí),如果 引腳端 (?? ???) ≥ ?50????, 則 RO端為高 ,接收信號(hào) ;反之, RO端為低 , DI 端 為高 , 發(fā)送信號(hào) 。其中 RO為 數(shù)據(jù)接收 端 ,通過光耦 合 芯片 6N137 接到主控芯片的 RXD引腳, DI為 數(shù)據(jù)發(fā)送 端 ,通過光耦 合器 接到主控芯片的 TXD引腳, A、B 端負(fù)責(zé)接收和發(fā)送總線上 傳送 的信息。 需 要 進(jìn)行說明的一點(diǎn)是, 為了 方便功能的擴(kuò)展和二次開發(fā) , 本 課題 在設(shè)計(jì) 過程中只是 預(yù)留了 RS485 的通訊接口 。 存儲(chǔ)電路設(shè)計(jì) 因?yàn)闄z測(cè) 到 的 信號(hào) 以及計(jì)算得到的數(shù)據(jù)都是以變量的形式儲(chǔ)存在 STM32F 的RAM 區(qū)內(nèi) , 而 RAM 又是掉電易失 性 的 ,一旦電能表在運(yùn)行的過程中 失電 ,再次運(yùn)行時(shí),數(shù)據(jù) 就 已丟失,所以必須設(shè)計(jì)外部存儲(chǔ)電路進(jìn)行數(shù)據(jù) 的 掉電保護(hù) 。 本課題選用 24C02 芯片進(jìn)行 EEPROM 存儲(chǔ)電路的設(shè)計(jì), 24C02 在儀器儀表和工業(yè)自動(dòng)化設(shè)計(jì)中應(yīng)用最為廣泛,主要得益于其具有電路簡單,接口方便,占用面積少,掉電數(shù)據(jù)不丟失等特點(diǎn)。 EEPROM 存儲(chǔ)電路如圖 所示。 圖中 的 電容 C14 的作用 是穩(wěn)定 電壓 。 NC1A2K3NC4VCC8EN7OUT6GND56N137U16N137NC1A2K3NC4VCC8EN7OUT6GND56N137U36N137RO1/RE2DE3DI4GND5A6B7VCC875184U2MAX13085E512R1331R4331R9512R10512R6512R5231Q18050103R2103R7VCCVCCC3104GNDVCCVCCVCCVCC0V+5V+TXDRXD+0VRS485_B0V0V0VD1YCSP485AD2YCSP485A0VBA100R310R8GND1VIN2VO3VO+4T1B0505S1WGNDC2EC216V/100uFEC116V/100uFC1+5VVCC0V南京工程學(xué)院自動(dòng)化學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 15 圖 EEPROM 存儲(chǔ)電路原理圖 本章小結(jié) 本章進(jìn)行 的介紹主要是 圍繞 多功能電能表硬件電路的設(shè)計(jì) 。 首先 對(duì)課題 的 整體方案進(jìn)行介紹,并且針對(duì) 所用的 主控芯片的 選擇 進(jìn)行了論述,然后 針對(duì) 硬件電路的設(shè)計(jì)進(jìn)行了 大概 的闡述 , 包括主控電路設(shè)計(jì)、電源 轉(zhuǎn)換 電路設(shè)計(jì)、采樣電路設(shè)計(jì)、顯示和按鍵電路設(shè)計(jì)、 RS485 通訊電路設(shè)計(jì)以及 EEPROM 存儲(chǔ)電路設(shè)計(jì)。并對(duì)其中幾個(gè)重要的電路進(jìn)行了詳細(xì)的介紹和分析。 GNDD3V3DGNDD104C14A01A12A23GND4SDA5SCL6WP7VCC18U324C02SCLSDA南京工程學(xué)院自動(dòng)化學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 16 第三 章 多功能電能表軟件設(shè)計(jì) 軟件 設(shè)計(jì) 軟件開發(fā)平臺(tái) MDK Keil MDK 是著名的軟件公司 Keil 研制并開發(fā)的微控制器軟件開發(fā)平臺(tái)。 Keil公司 是一家在微控制器( MCU)軟件開發(fā)領(lǐng)域地位卓越的國際公司,并且 于 2021年被 ARM 公司收購,是目前 針對(duì) ARM 內(nèi)核單片機(jī)開發(fā)的主流平臺(tái)產(chǎn)品。 Keil 提供了一 整 套完整的開發(fā)方案,主要包括 C 語言 編輯 器、 連接器、 宏匯編、 文件庫 和一個(gè)功能強(qiáng)大的 在線 仿真調(diào)試器。這些功能通過 uVision 集成開發(fā)環(huán)境被集結(jié)在一起,目前 正在使用 的最高版本就是 uVision4,該平臺(tái)所依附 的 編譯界面 和 C 語言研發(fā) 平臺(tái) 的界面 比較相似 , 界面環(huán)境 設(shè)計(jì)人性化 , 易于 初學(xué)者 學(xué)習(xí) 和 應(yīng)用 , 更適合深一步的研究和開發(fā) 。不僅如此, 在軟件在線調(diào)試和仿真方 面功能也很強(qiáng)大。一般情況下,致力于 ARM 開發(fā)的工程師都將此開發(fā)平臺(tái)作為首選。 Keil MDK 軟件開發(fā)平臺(tái)的開發(fā)周期和其他的一些軟件開發(fā)平臺(tái)的周期大同小異,一般包括以下幾個(gè)步驟: ( 1) 首先 創(chuàng)建一個(gè)新 的工程,選擇相應(yīng)的 芯片 型號(hào) ,同時(shí)將創(chuàng)建工程所 需 要的固定配置提前設(shè)置 好 。 ( 2) 編寫工程源代碼,一般采用 C 語言或者匯編語言,在本課題中采用的是C 語言 。 ( 3) 編譯程序,查找程序中的語法和邏輯錯(cuò)誤 。 ( 4) 修改在編譯過程中出現(xiàn)的問題。 ( 5) 編譯通過后,可以將程序下載到硬件開發(fā)板中,進(jìn)行軟硬件的聯(lián)機(jī)調(diào)試 。 這就是利用 MDK 軟件開發(fā)平臺(tái)進(jìn)行開發(fā)的主要周期。 軟件設(shè)計(jì)流程 為了提高系統(tǒng)的運(yùn)行速度, 改善系統(tǒng)的性能,在進(jìn)行軟件設(shè)計(jì)時(shí) , 也采用了模塊化的 思路 , 本文中 的軟件編程采用 了 調(diào)用 固件 庫函數(shù) 的 設(shè)計(jì) 方法 。不管 使用的 微處理器 發(fā)展到何種地步, 進(jìn)行 設(shè)計(jì) 時(shí) ,最終還是要對(duì)寄存器進(jìn)行操作, 但是 STM32擁有 數(shù)百個(gè)寄存器,要想對(duì)每個(gè)寄存器都 了如指掌是 及其困難的 。調(diào)用 固件庫 函數(shù)進(jìn)行編程就可以解決這個(gè)困難, STM32 的 固件庫就是函數(shù)的 一種 集合,固件庫函數(shù)南京工程學(xué)院自動(dòng)化學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 17 的作用 就 是 一方面 負(fù)責(zé)直接 與 寄存器 建立聯(lián)系 , 另一方面 為用戶提供函數(shù)調(diào)用的接口( API) 。 其中 軟件 整體的設(shè)計(jì) 框圖 如 圖 所示 。 主 程 序電 量計(jì) 算按 鍵輸 入段 碼顯 示數(shù) 據(jù)存 儲(chǔ)采 樣處 理R S 4 8 5通 訊 接口系 統(tǒng) 初始 化 圖 軟件 整體設(shè)計(jì)框圖 在設(shè)計(jì)多功能電能表的主控電路時(shí), 考慮到外部晶體 振蕩器 速率較低,能夠更好地保證系統(tǒng) 穩(wěn)定性 , 因而 選用 8MH 的晶體振蕩器,同時(shí)在軟件中選用 7 倍頻的設(shè)置, 很好地 提高 了 系統(tǒng) 處理程序的速 度 。 主程序 設(shè)計(jì) 軟件的 主程序 負(fù)責(zé)整個(gè) 系統(tǒng) 初始化、 各個(gè)模塊 的 固件庫函數(shù) 以及 中斷函數(shù)的調(diào)用 ,其中主函數(shù) 的流程圖如圖 所示。 由圖 可知主程序的設(shè)計(jì)思路為: 系統(tǒng)上電后, 首先進(jìn)行 各個(gè) 模塊 配置 的初始化 ,設(shè)置 100ms 的定時(shí)刷新時(shí)間,實(shí)時(shí)監(jiān)測(cè)定時(shí)時(shí)間是否到達(dá) , 如果定時(shí)時(shí)間 到 ,進(jìn)行 數(shù)據(jù)的處理和 保存; 數(shù)據(jù)保存后,實(shí)時(shí)監(jiān)測(cè) 顯示屏 刷新時(shí)間是否到達(dá),如果 刷新時(shí)間 到,就進(jìn)行 刷新顯示; 同時(shí),要不間斷地檢查是否有按鍵動(dòng)作或者是否需要進(jìn)行通信 ,只要檢測(cè)到有相應(yīng)事件發(fā)生,就立即進(jìn)入到相應(yīng) 程序 里 , 進(jìn) 行處理。比如檢測(cè)到按鍵動(dòng)作就要轉(zhuǎn)入相應(yīng)的按鍵處理程序,進(jìn)行 頁面 切換 的選擇;檢測(cè)到通信請(qǐng)求信號(hào)時(shí),就要 轉(zhuǎn)入 RS485 通訊程序處進(jìn)行處理, 在 本課題 中 ,下位機(jī)并沒有實(shí)現(xiàn)和上位機(jī)的連接,同時(shí) 為了 功能的擴(kuò)展, 預(yù)留了 RS485 的通訊接口,方便以 后功能 的 二次 拓展 。 南京工程學(xué)院自動(dòng)化學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 18 開 始保 存 數(shù) 據(jù)數(shù) 據(jù) 處 理通 訊 處 理按 鍵 輸 入接 口 呼 叫N系 統(tǒng) 初 始 化數(shù) 據(jù) 刷 新時(shí) 間 到 ?Y刷 新 顯 示顯 示 刷 新 定 時(shí) 到 ?Y按 鍵 處 理NYYNN采 樣 定 時(shí) 器 初 始 化 圖 主程序 流程圖 初始化子 程序設(shè)計(jì) 系統(tǒng) 在運(yùn)行之前需要進(jìn)行初始化, 包括系統(tǒng) 時(shí)鐘的配置、定時(shí)器的初始化、 ADC初始化 、 GPIO 口 的配置 、 顯示初始化 和 鍵盤初始化 。 ( 1) 系統(tǒng)時(shí)鐘 配置 和 定時(shí)器初始化: TIM_TimeBaseInitTypeDef TIMBaseStruct; TIM_ClearITPendingBit(TIM2,TIM_IT_Update)。// 清除 TIM2 的中斷源; =12500。// 的 采樣時(shí)間 周期 ; 南京工程學(xué)院自動(dòng)化學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 19 =721。//72 分頻 ; =0。//未設(shè)置時(shí)鐘分割 ; =TIM_CounterMode_Up。 //向上計(jì)數(shù); RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE)。//掛接 定時(shí)器 2; TIM_TimeBaseInit(TIM2,amp。TIMBaseStruct); TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE); //使能 定時(shí)器 2; TIM_Cmd(TIM2,ENABLE)。//使能 TIM2; ( 2) ADC 和 GPIO 初始化 子程序 : ADC_InitTypeDef ADC_InitStructure。 GPIO_InitTypeDef GPIO_InitStructure。 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_ADC1, ENABLE )。 //使能 ADC1 通道時(shí)鐘; RCC_ADCCLKConfig(RCC_PCLK2_Div6)。 //設(shè)置 ADC 分頻因子 6 ,72M/6=12,ADC 最大時(shí)間不能超過 14M; = GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5 |GPIO_Pin_6。 //六路信號(hào)輸入; = GPIO_Mode_AIN。//模擬輸入引腳; GPIO_Init(GPIOA, amp。GPIO_InitStructure)。//選擇 A 通道 管腳 ; ADC_DeInit(ADC1)。 //復(fù)位 ADC1,將外設(shè) ADC1 的全部寄存器重設(shè)為缺省值; = ADC_Mode_Independent。//ADC 工作模式 :ADC1和 ADC2 工作在獨(dú)立模式; = DISABLE。//模數(shù)轉(zhuǎn)換工作在單通道模式; = DISABLE。//模數(shù)轉(zhuǎn)換工作在單次轉(zhuǎn)換模式; = ADC_ExternalTrigConv_None。//轉(zhuǎn)換由軟件而不是外部觸發(fā)啟動(dòng); = ADC_DataAlign_Right。 //ADC數(shù)據(jù)右對(duì)齊; = 1。//順序進(jìn)行規(guī)則轉(zhuǎn)換 ADC 通道的數(shù)目; ADC_Init(ADC1, amp。ADC_InitStructure)。//根據(jù) ADC_InitStruct 中指定的參數(shù)初始化外設(shè) ADCx 的寄存器 ; ADC_Cmd(ADC1, ENABLE)。//使能指定的 ADC1; ADC_ResetCalibration(ADC1)。//使能復(fù)位校準(zhǔn) ; while(ADC_GetResetCalibrationStatus(ADC1)
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1