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

正文內(nèi)容

電特性測(cè)量系統(tǒng)軟件設(shè)計(jì)畢業(yè)論文(編輯修改稿)

2024-08-18 16:07 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 量軟件設(shè)計(jì)方案 基本功能要求 (1) 熟悉工廠供電技術(shù); (2) 熟悉測(cè)量系統(tǒng)硬件電路原理; (3) 設(shè)計(jì)軟件結(jié)構(gòu); (4) 掌握 開(kāi)發(fā)工具; (5) 熟練運(yùn)用 PROTEUS 仿真; (6) 編寫程序代碼及調(diào)試 ; (7) 軟、硬件系統(tǒng)聯(lián)調(diào) 。 總體方案設(shè)計(jì) 硬件平臺(tái) 課題主要研究電特性測(cè)量系統(tǒng)的軟件程序設(shè)計(jì)。選用的是 ARM 為核的LPC20xx 系列的芯片, LPC20xx 系列是 NXP 公司生產(chǎn)的以 ARM7TDMIS 核為基礎(chǔ)的嵌入式處理器,在芯片內(nèi)部配置了大量的接口及功能模塊。本設(shè)計(jì)選用的是 LPC2124 芯片, LPC2124 具有較小的 64 引腳封裝,低功耗的特點(diǎn),以及多個(gè)片內(nèi)外設(shè)(如 32 位定時(shí)器、 A/D 轉(zhuǎn)換器、外部中斷等),多個(gè) 32 位定時(shí)器, 4路 10 位 ADC,內(nèi)置多種串行通信接口以及多達(dá) 9 個(gè)外部中斷,因此特別適用于工業(yè)控制、醫(yī)療系統(tǒng)訪問(wèn)控制、通信網(wǎng)關(guān)、協(xié)議轉(zhuǎn)換器、嵌 入式 MODEM 等各種類型的應(yīng)用。 開(kāi)發(fā)環(huán)境與仿真 本課題選用的 是 開(kāi)發(fā)工具, 是 ARM 公司推出的 ARM 集成開(kāi)發(fā)工具,具有用戶多、編譯效率高、支持的 ARM 內(nèi)核多的特點(diǎn)。 ARM ADS全稱為 ARM developer Suite,是 ARM 公司推出的 ARM 集成開(kāi)發(fā)工具,成熟版本為 ,他的前身是 SDT, SDT 是 ARM 公司幾年前的開(kāi)發(fā)環(huán)境軟件。 支持 ARM10 之前的所有 ARM 系列微控制器,支持軟件調(diào)試,支持匯編、C 語(yǔ)言、 C++源程序,具有編譯效率高、系統(tǒng)庫(kù)功能強(qiáng)等特點(diǎn) 。本課題用 開(kāi)發(fā)工具圍繞 LPC2124 片上的基本功能模塊實(shí)現(xiàn)三 相 電特性的測(cè)試,最終通過(guò)2 三相電特性測(cè)量軟件設(shè)計(jì)方案 2 了西安工業(yè)大學(xué)畢業(yè)設(shè)計(jì)(論文) 1 PROTEUS 的仿真驗(yàn)證。 PROTEUS 是英國(guó) Labcenter 公司推出的適合嵌入式設(shè)計(jì)仿真與開(kāi)發(fā)的仿真軟件,使用 PROTEUS 軟件可以完全脫離硬件平臺(tái)來(lái)學(xué)習(xí)嵌入式系統(tǒng),可以說(shuō)是嵌入式學(xué)習(xí)的一次革命。 開(kāi)發(fā)語(yǔ)言 本課題軟件用的語(yǔ)言主要有 C 語(yǔ)言,還有啟動(dòng)代碼中所用到的匯編語(yǔ)言。本文選用 C 語(yǔ)言主要是由于 C 語(yǔ)言有以下優(yōu)點(diǎn): (1) 寄存器分配,數(shù)據(jù)類型等由編譯器管理; (2) 編程及調(diào)試的時(shí)間減少, 大大縮短開(kāi)發(fā)周期; (3) 明顯增加軟件可讀性,便于改進(jìn)和擴(kuò)展。 軟件總體結(jié)構(gòu) 本系統(tǒng)主要針對(duì)我國(guó)電力系統(tǒng)供配電的實(shí)際情況,通過(guò) ARM7 單片機(jī)為核心,配以相應(yīng)的外圍電路和功能軟件,采用交流采樣技術(shù)實(shí)現(xiàn)多種電力參數(shù)的在線實(shí)時(shí)測(cè)量和數(shù)據(jù)分析,為電網(wǎng)的安全經(jīng)濟(jì)運(yùn)行提供可靠保證。 本課題主要研究電特性測(cè)量系統(tǒng)的軟件程序設(shè)計(jì)。本課題的軟件部分主要是通過(guò)實(shí)時(shí)采樣電流電壓的瞬時(shí)值,以及過(guò)零檢測(cè),進(jìn)而計(jì)算出電流電壓的有效值、頻率值、有用功率、無(wú)用功率、視在功率、功率因數(shù)等電力參數(shù)。本測(cè)量系統(tǒng)的軟件設(shè)計(jì)主要分為以 下幾個(gè)模塊: (1) 主程序模塊 (2) 電壓、電流采集程序 (3) 頻率采集程序 (4) 數(shù)據(jù)處理程序 (5) 時(shí)鐘日歷程序 (6) 鍵盤服務(wù)程序 (7) 顯示服務(wù)程序 本設(shè)計(jì)擬采用 集成開(kāi)發(fā)工具編寫 C 語(yǔ)言程序?qū)崿F(xiàn)測(cè)量系統(tǒng)的相關(guān)功能。數(shù)據(jù)的處理與計(jì)算是程序設(shè)計(jì)的主要部分。系統(tǒng)基本測(cè)量的參數(shù)主要包括:電流有效值、電壓有效值、有功功率、無(wú)功功率、視在功率、功率因數(shù)等。首要環(huán)節(jié)是對(duì)輸入的電氣信號(hào)進(jìn)行離散化,即采樣。根據(jù)被采集信號(hào)的不同,數(shù)據(jù)采集可分為直流采樣和交流采樣兩大類。對(duì)比分析后, 系統(tǒng)選用交流采樣,數(shù)值的計(jì)算采用離散的電壓電流有效值計(jì)算公式來(lái)實(shí)現(xiàn)。 為了提高 ARM7 核的 LPC2124 芯片程序編寫效率,系統(tǒng)軟件采用了分模塊編寫的方法,用 C 語(yǔ)言和匯編語(yǔ)言混合編寫。對(duì)于 LPC2124 和各模塊的初始化、數(shù)據(jù)采集程序采用匯編編程,對(duì)于主程序、鍵盤顯示等通用性較強(qiáng)程序,采用 C西安工業(yè)大學(xué)畢業(yè)設(shè)計(jì)(論文) 2 語(yǔ)言編寫。本系統(tǒng)的主要功能模塊有數(shù)據(jù)采集模塊、數(shù)據(jù)處理模塊、時(shí)鐘模塊,按鍵顯示模塊等。所有軟件模塊的功能都在主控模塊的調(diào)配下協(xié)調(diào)執(zhí)行,主控模塊首先對(duì)系統(tǒng)進(jìn)行初始化操作,包括 CPU 初始化、 I/O 初始化、 A/D 初始化、LCD 初始 化、時(shí)鐘初始化、異步通訊初始化等。隨即對(duì)數(shù)據(jù)進(jìn)行采集、處理、顯示。然后判斷是否有鍵按下,根據(jù)判斷結(jié)果,執(zhí)行相應(yīng)按鍵服務(wù)程序。 系統(tǒng)的主要電特性參量介紹: (1) 電壓有效值: 讓恒定電壓和交變電壓分別加在阻值相等的電阻上 ,使它們?cè)谙嗤瑫r(shí)間內(nèi)產(chǎn)生的熱量相等 ,就可以把該恒定電壓的數(shù)值規(guī)定為這個(gè)交變電壓的有效值 . (2) 電流有效值: 將一直流電與一交流電分別通過(guò)相同阻值的電阻,如果相同時(shí)間內(nèi)兩電流通過(guò)電阻產(chǎn)生的熱量相同,就說(shuō)這一直流電的電流值是這一交流電的有效值。 (3) 有功功率: 在交流電路中,電源在一個(gè)周 期內(nèi)發(fā)出瞬時(shí)功率的平均值 (或負(fù)載電阻所消耗的功率 ),稱為 有功功率 。 (4) 無(wú)功功率: 在正弦電流電路中,復(fù)功率的虛部: ,且供給電感的無(wú)功功率為正值。 (5) 視在功率: 在電工技術(shù)中,將單口網(wǎng)絡(luò)端鈕電壓和電流有效值的乘積,稱為視在功率( apparent power),記為 S=UI。 (6) 功率因數(shù): 在交流電路中, 電壓 與電流之間的相位差 (Φ)的余弦叫做功率因數(shù),用符號(hào) cosΦ表示,在數(shù)值上,功率因數(shù)是有功功率和 視在功率 的比值,即 cosΦ=P/S 。 系統(tǒng)主程序流程圖 如 圖 所示。 西安工業(yè)大學(xué)畢業(yè)設(shè)計(jì)(論文) 3 系統(tǒng)初始化送液晶顯示切換A / D 通道配置A / D 采集環(huán)境推算電特性參數(shù) A / D 數(shù)據(jù)處理(濾波)開(kāi)始一路A / D 是否結(jié)束N所有A / D 結(jié)束Yk e y A 按下?Yk e y C 按下?k e y B 按下? NNYY調(diào)k y e A 子程序 調(diào)k y e C 子程序調(diào)k y e B 子程序中斷0 服務(wù)入口 中斷服務(wù)程序1記錄E I N T 0 上升沿時(shí)間中斷1 服務(wù)入口 中斷服務(wù)程序1記錄E I N T 1 上升沿時(shí)間中斷2 服務(wù)入口 中斷服務(wù)程序1記錄E I N T 2 上升沿時(shí)間 3 系統(tǒng)初始化 1 3 系統(tǒng)的初始化 系統(tǒng)的初始化 的含義 首先來(lái)講講系統(tǒng)初始化 , 什么是系統(tǒng)初始化呢? 初始化就是把變量 (variable)賦為默認(rèn)值,把控件設(shè)為默認(rèn)狀態(tài),把沒(méi)準(zhǔn)備的準(zhǔn)備好。但是如果是整個(gè)系統(tǒng)初始化那就不一樣了。 每個(gè)軟件,或是工具,系統(tǒng)等都有一個(gè)初始 化。如系統(tǒng)的初始化就是將你的系統(tǒng)還原到一開(kāi)始做的備份的狀態(tài)。 把設(shè)置等都還原至那個(gè)位置。如果是一個(gè)軟件的初始化,基本都是將一些功能的設(shè)置都還原為開(kāi)始設(shè)置,意思就和恢復(fù)默認(rèn)設(shè)置差不多。 初始化的執(zhí)行順序 每一個(gè)初始化部分里面的代碼在程序運(yùn)行后,或庫(kù)的 beginend 塊運(yùn)行之前。delphi使用對(duì)單元相關(guān)樹(shù)的深度優(yōu)先遍歷來(lái)運(yùn)行初始化部分。換句話說(shuō),就只在一個(gè)單元的初始化代碼運(yùn)行前, delphi 就運(yùn)行了特他使用的每一個(gè)單元的初始化部分。每一個(gè)單元僅初始化一次 。 程序代碼當(dāng)中可以有 Initialization 聲明部分。這部分里面的代碼的執(zhí)行,是在 windows 加載包含該單元(指 Initialization 所屬單元)的模塊(應(yīng)用程序, DLL或者包)時(shí)運(yùn)行的。一般來(lái)說(shuō)是:先 Initialization 單元,然后 interface 單元,然后 implementation 單元。 程序中 Intialize 過(guò)程。可以在這里初始化字符串、動(dòng)態(tài)數(shù)組、接口和 Variants 系統(tǒng)為什么要初始化呢? 第一, 信息系統(tǒng)是以數(shù)據(jù)庫(kù)為主的軟件系統(tǒng),是數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng),必須設(shè)定數(shù)據(jù)庫(kù)應(yīng)用的安全體 系否則無(wú)法保證數(shù)據(jù)安全; 第二,信息系統(tǒng)是組織的管理方法,必須具備組織使用的共享數(shù)據(jù)才能供組織使用; 第三,初始化的核心是數(shù)據(jù)準(zhǔn)備,沒(méi)有歷史數(shù)據(jù)不能實(shí)現(xiàn)系統(tǒng)切換,無(wú)法使用; 第四,數(shù)據(jù)必須定期存檔和更新才能使信息系統(tǒng)有較高的運(yùn)轉(zhuǎn)效率;西安工業(yè)大學(xué)畢業(yè)設(shè)計(jì)(論文) 1 系統(tǒng)的啟動(dòng)代碼 系統(tǒng)初始化主要是由軟件來(lái)完成的,一般在 32 位 ARM 應(yīng)用系統(tǒng)中,大多數(shù)軟件采用 C 語(yǔ)言來(lái)進(jìn)行編程,并且以嵌入式操作系統(tǒng)作為平臺(tái),這樣能大大提升開(kāi)發(fā)效率及軟件性能。但是,由于 C 語(yǔ)言生成的代碼不能上電后立馬運(yùn)行的,因?yàn)榇藭r(shí)還不具備運(yùn)行條件,比如全局變量還沒(méi)有 初始化,系統(tǒng)堆棧還沒(méi)有設(shè)置等。因此從系統(tǒng)上電,到正式運(yùn)行用戶的 main 函數(shù)之前,要運(yùn)行一段代碼,這段代碼就稱為啟動(dòng)代碼。 啟動(dòng)代碼大部分由匯編指令構(gòu)成,它可以實(shí)現(xiàn)向量表定義、堆棧初始化、系統(tǒng)變量初始化、中斷初始化、外圍初始化、地址重映射等操作。 見(jiàn) 圖 22。 異常向量表設(shè)置引腳功能初始化外部總線(l p c 2 1 2 4 ) 初始化各模塊堆棧初始化系統(tǒng)硬件初始化執(zhí)行環(huán)境進(jìn)入m a i n 函數(shù)設(shè)置存儲(chǔ)器 重映射設(shè)置系統(tǒng)時(shí)鐘 設(shè)置存儲(chǔ)器加速 設(shè)置中斷向量控制器 圖 首先是應(yīng)該完成頭文件的編寫,下面就是系統(tǒng)初試化的頭文件( )和系統(tǒng)的初始化軟件( ) 、( )。 (1) 系統(tǒng)初試化的頭文件 ( ) ifndef __TARGET_H define __TARGET_H ifdef __cplusplus extern C { 西安工業(yè)大學(xué)畢業(yè)設(shè)計(jì)(論文) 2 endif ifndef IN_TARGET extern void Reset(void)。 extern void TargetInit(void)。 endif ifdef __cplusplus } endif endi (2) 系統(tǒng)的初始化軟件 ( ) 。define the stack size 。定義堆棧的大小 SVC_STACK_LEGTH EQU 0 FIQ_STACK_LEGTH EQU 0 IRQ_STACK_LEGTH EQU 256 ABT_STACK_LEGTH EQU 0 UND_STACK_LEGTH EQU 0 NoInt EQU 0x80 NoFIQ EQU 0x40 USR32Mode EQU 0x10 SVC32Mode EQU 0x13 SYS32Mode EQU 0x1f IRQ32Mode EQU 0x12 FIQ32Mode EQU 0x11 。 IMPORT __use_no_semihosting_swi 。The imported labels 。引入的外部標(biāo)號(hào)在這聲明 IMPORT FIQ_Exception 。快速中斷異常處理程序 IMPORT __main 。C 語(yǔ)言主程序入口 IMPORT TargetResetInit 。 目標(biāo)板基本初始化 。The emported labels 。給外部使用的標(biāo)號(hào)在這聲明 EXPORT bottom_of_heap EXPORT StackUsr EXPORT Reset EXPORT __user_initial_stackheap CODE32 AREA vectors,CODE,READONLY 西安工業(yè)大學(xué)畢業(yè)設(shè)計(jì)(論文) 3 ENTRY 。interrupt vectors 。中斷向量表 Reset LDR PC, ResetAddr LDR PC, UndefinedAddr LDR PC, SWI_Addr LDR PC, PrefetchAddr LDR PC, DataAbortAddr DCD 0xb9205f80 LDR PC, [PC, 0xff0] LDR PC, FIQ_Addr ResetAddr DCD ResetInit UndefinedAddr DCD Undefined SWI_Addr DCD SoftwareInterrupt PrefetchAddr DCD PrefetchAbor
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1