<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于Small RTOS51的光電效應實(shí)驗系統

基于Small RTOS51的光電效應實(shí)驗系統

作者: 時(shí)間:2009-03-25 來(lái)源:網(wǎng)絡(luò ) 收藏

的移植主要是配置OS_CPU.H、OS_CFG.H和CONFIG.H三個(gè)文件。OS_CFG.H文件主要用于對操作的裁減和時(shí)鐘等的相關(guān)配置。根據實(shí)際需要,可以將以EN_OS_SEM打頭的相關(guān)參數全部設為0,禁止對信號量的一切操作。同樣道理可以將EN_OS_Q、EN_OS_Q_PENT和EN_OS_Q_POST以外的以EN_OS_Q打頭的消息隊列使能參數設為0。C8051F005具有2K外部數據存儲器,根據盡量節約內存的原則,將不常用的參數定義為xdata類(lèi)型,所以消息隊列存儲空間選擇外部數據存儲器。時(shí)鐘周期選擇選擇內部2M時(shí)鐘,經(jīng)過(guò)8倍頻后可達16M,所以定義N_SYS為3。最后禁止定時(shí)中斷調用用戶(hù)函數UserTickTimer(),允許中斷嵌套管理,允許定時(shí)器中斷調用OSTimeTick(),定義進(jìn)入1次硬件中斷為一次定時(shí)器軟中斷和定義任務(wù)數為4。
在配置OS_CPU.H文件時(shí),只需注意改定時(shí)器使用的中斷為1即可,其它參數都可使用默認值。而CONFIG.H主要任務(wù)是聲明任務(wù)和將操作系統中所有的頭文件集中起來(lái),需要根據實(shí)際任務(wù)數及任務(wù)名配置。
3、 軟件任務(wù)的劃分及具體實(shí)現
根據硬件結構及所要求實(shí)現的功能,將軟件系統劃分為5個(gè)任務(wù)來(lái)完成。按照任務(wù)優(yōu)先級的高低排序,各任務(wù)依次為:液晶顯示任務(wù)、測量與數字信號處理任務(wù)、單色儀控制任務(wù)、數據通訊任務(wù)和鍵盤(pán)響應及處理任務(wù)。
3.1 液晶顯示任務(wù)
液晶顯示任務(wù)主要顯示功能菜單、數據表格、狀態(tài)欄、I-U曲線(xiàn)和計算步驟及結果。功能菜單顯示數據由按鍵任務(wù)中的消息隊列傳遞。另外,該任務(wù)還承擔著(zhù)部分任務(wù)調配的作用,當選中某功能選項時(shí)必須啟動(dòng)相應任務(wù)。數據表格顯示數據由測量與數字信號處理任務(wù)中的消息隊列傳遞,主要顯示各種單色光顏色、波長(cháng)和測量出來(lái)的截止電壓。狀態(tài)欄顯示內容來(lái)源于各個(gè)任務(wù),主要顯示該儀器當前正在執行的任務(wù)和引導操作者下一步如何操作,另外在操作錯誤時(shí),也會(huì )給出相應的提示。I-U曲線(xiàn)和計算步驟及結果顯示數據都來(lái)源于測量與數字信號處理任務(wù)。
3.2 測量與數字信號處理任務(wù)
測量與數字信號處理任務(wù)是本系統的核心部分,它承擔著(zhù)反向電壓輸出控制,流信號數據采集,數字濾波和數據計算等任務(wù)。其中反向電壓輸出和流信號數據采集分別由C8051F0005中集成的DA和AD轉換器完成。為了盡量提高精確度,本系統分別采用了平均值法、中值法和慣性法對采集到的數字信號進(jìn)行三次數字濾波。經(jīng)過(guò)有效的濾波后,可以得到一條光滑的I-U曲線(xiàn),再用曲率法判斷出該條曲線(xiàn)的截止電壓。當確定已經(jīng)測出兩種以上單色光的截止電壓后就可以用最小二乘法計算出普朗克常數。當然反過(guò)來(lái),也可以通過(guò)普朗克常數計算輸入單色光波長(cháng)。
3.3 單色儀控制任務(wù)
根據光柵方程 ,可以求出衍射角與單色光波長(cháng)之間的關(guān)系,通過(guò)查表就可以得到與輸入波長(cháng) 相對應的衍射角 。此任務(wù)就是要通過(guò)控制步進(jìn)電機的轉動(dòng),帶動(dòng)光柵轉動(dòng) ,從而得到波長(cháng)為單色光。
3.4 數據通訊任務(wù)
本系統具有將所測得的流隨方向電壓變化的曲線(xiàn)存儲于外部數據存儲器XRAM中,或通過(guò)串口傳送到PC機上。該任務(wù)主要完成這項工作。存儲到XRAM中的數據通過(guò)液晶顯示任務(wù)還原顯示,而傳到PC機上的數據需要配合相應的軟件還原顯示。
3.5 鍵盤(pán)響應及處理任務(wù)
按鍵任務(wù)主要起到輸入控制和任務(wù)選擇作用。首先要建立消息隊列KeyBuff[],用于緩沖按鍵鍵值和與其它任務(wù)進(jìn)行通訊,然后進(jìn)入無(wú)限循環(huán)。在無(wú)限循環(huán)中逐個(gè)掃描按鍵,當發(fā)現有按鍵按下,調用 提供的系統函數OSQPost(KeyBuff,Value_Key)將按鍵鍵值放在消息隊列中,并查找有無(wú)其它任務(wù)等待按鍵。若有,則將按鍵任務(wù)處于休眠狀態(tài),同時(shí)激活等待任務(wù)。
4、 數據及結果分析
啟動(dòng)“測UC”后,本系統會(huì )根據操作者的選擇逐個(gè)測量輸入單色光的I-U曲線(xiàn),并判斷截止電壓。測得的汞燈光源中個(gè)各單色光截止電壓如表1所示。

本文引用地址:http://dyxdggzs.com/article/173839.htm

當啟動(dòng)“測 ”功能后,液晶顯示器顯示出以上數據及用最小二乘法計算的普朗克出常數 為6.703×10-34JS,并給出主要的計算過(guò)程。該值與公認值6.626×10-34JS比較,相對誤差為1.16%,在允許誤差內,與公認值符合地很好。
5、 結論
以嵌入式操作系統 為軟件平臺,開(kāi)發(fā)設計各相應任務(wù),大大簡(jiǎn)化了程序設計的難度,增強了系統的可靠性和安全性,滿(mǎn)足系統實(shí)時(shí)性要求。同時(shí)在維護和升級時(shí),只要修改或增加相應的任務(wù),不需涉及其它部分,降低了難度和成本。
本文作者創(chuàng )新點(diǎn):①使用實(shí)時(shí)嵌入式操作系統實(shí)現光電系統的智能化,避免了人為誤差,有效地減小了系統誤差;②將先進(jìn)的微電子技術(shù)、理論和數字信號處理知識應用于大學(xué)物理中,在確保不改變物理實(shí)驗基本原理,滿(mǎn)足物理實(shí)驗基本要求的前提下,顯著(zhù)提高物理實(shí)驗的整體質(zhì)量。同時(shí),也很容易轉移到其它實(shí)驗或工程領(lǐng)域應用。


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>