




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、目錄摘要2abstract3緒 論41.1 概 述41.2 設計方案的研究目的51.3 設計方案的研究內容51.4 設計方案的研究意義5第二章 光功率計的設計62.1 光功率計6第三章 硬件部分電路介紹83.1 光電轉換電路的設計83.1.1 光電效應83.1.2 光探測器83.1.3 PIN光電二極管83.1.4 PIN光電二極管的選擇93.2 放大濾波電路113.2.1濾波器的設計123.2.2 運算放大電路123.3 A/D轉化電路123.4 單片機控制電路143.4.1 復位電路的設計143-4-2 晶振電路的設計163.4.3 單片機串口通訊總線SMBUS173.4.4 電源設計部分
2、18第四章 外圍電路的設計184.1 I²C總線設計184.1.1 I²C總線接口的電路設計194.1.2 I²C總線的控制時序194.2 單片機接口電路設計194.3 按鍵設計204.3.1 鍵盤去抖動214.3.2 按鍵的識別214.4 液晶顯示及接口電路21第五章 軟件部分23第六章 結束語27參考文獻28摘要 光可以被用作一種強大的工具,將給我們一種不同的方式的靈感。但是,我們如何用光信號轉換成電信號來衡量一些電氣參數?這就需要一個數字功率計來實現傳輸過程中的光信號能量損耗,它可以探測和容易地知道如何光束質量光束像。今天,單片機在測量和控制技術的應用,傳感
3、器讓工業生產迅速現代化,但我們是一個來自外國的功率表生產國,外國不僅昂貴,而且還需要大量的配件。因此,我們必須設計一種以單片機為核心的數字電能表,它可以節省成本,更容易調試,能更好地反映實際值。我們的目標是把光信號轉換成電信號,然后以一個模擬數字轉換,通過單片機的串行輸出模擬信號的特性。通過硬件和軟件的組合,其中包括硬件設備:設備芯片選擇,放大器,模擬到數字轉換電路,控制電路,外圍控制電路,電源按鈕和其他設計和描述;每個部分包括軟件的一個模塊寫。關鍵詞:光電轉化,微型計算機,功率計abstract Light can be used as a powerful tool that will g
4、ive us a different way of inspiration. But, how can we use the light signal into the electrical signal to measure the electrical parameters? This requires a digital power meter to realize optical signal energy loss in transmission, it can easily detect and know how to beam quality like beam. Today,
5、SCM application in measurement and control technology and sensor to allow industrial production rapidly modernizing, but we are from a foreign power production country and foreign is not only expensive, but also need lots of accessories. Therefore, we must design a single chip microcomputer as the c
6、ore of the digital power meter, which can save cost, easier to debug, can better reflect the actual value. Our goal is to convert light into electrical signals, and then converted to a digital simulation, through the serial output of the microcontroller analog signal characteristics. Through a combi
7、nation of hardware and software, including hardware equipment: chip select equipment, amplifier, analog to digital conversion circuit, control circuit, peripheral control circuit and a power button and other design and description; each part including software module written.Key word:Photoelectric c
8、onversion ,Single chip microcomputer,Power meter緒 論1.1 概 述 1916年初,愛因斯坦提出了一個概念叫做“受激輻射,一束光被激發出光子,光子打在激發態的原子后會激發一個電子下降到一個低能級,因此輻射出另一個光子。基于光放大的方式,激光也被認為是光學放大器,由于激光具有普通光所沒有的特點:單色性,相干性,方向性,高亮度,這些特性決定了激光一問世就得到了飛速發展。 在60年代初,加工,醫療器械等方面就已經有激光產業的萌芽,當時只不過只有少量的研制生產,并沒有形成氣候,1978年改革開放之后,激光產業就在華夏地區確切的成為大家所關注的對象并開始起
9、步,當前像武漢、深圳這樣激光技術的研發進步飛快的地方,其水平已跟國際水平一樣。 不過,實現通信行業中對光信號能量損耗檢測的智能儀表也在不斷的創新和開發。在我國的光學儀器中,可以用來檢測一束光在傳播過程中的能量損耗等參數的一種智能儀表叫光功率計,但大多數都是來自國外進口,國外的價格高,所需要的配件多,操作過程也繁瑣。現今,隨著筆記本電腦,便攜式電話,視頻會議和因特網的廣泛應用,信息革命時代都在我們周圍發生。這種智能化在各種各樣的產品中都可以看到,這就是嵌入式信息處理的一次革命,是由于芯片生產在經過近40年的不斷演變后為嵌入式智能處理芯片帶來無數的并且沒有預測到的發展機會。光被通信行業用來作為一種
10、測量工具,越來越多的客戶也更容易接納這個新鮮事物,我們可以不用國外的功率計而自己設計一款以微型單片計算機為核心的智能儀表,它可以把測試出來的結果進行數據的存儲,運算以及設定預置進行終端現場保護等的功能。 時代在進步,科技技術也在進步,當今世界是信息時代,測量儀器跟著信息技術腳步的發展也在不斷的發展,對它測量的精確程度的要求也不斷提高,不只是這樣,還要把傳統儀器改變為智能儀器,這樣在使用過程中用途比較集中,還容易實現小型化,便攜式的結構。同時它是計算機與電子元器件的結合,具可以實現數據存儲,運算,邏輯判斷,完成一些不需要人自己手動操作就能完成的事情。正如你所看到的,單片機的應用有一個不斷擴大的過
11、程,今天,任何一個可以上電的成品都可能采用了一個單片機。 跟傳統的光功率計相比較,當前使用單片機設計的功率計軟件硬件融合在一起,讓單片機完成收集和處理數據,不再需要人去完成。1.2 設計方案的研究目的 之前用的單片機的數字光功率計,全是發出信號光之后,經過一次放大電路,模數轉化電路然后直接在顯示屏顯示數字,調零和波長選擇都要手動調。所以這一次的設計方案可以解決以前的單片機的數字光功率計數據測量的一些毛病。1.3 設計方案的研究內容 該設計方案主要是根據光電轉變的特點,然后通過放大,模數轉化,MCU控制,從而完成光在轉換過程中輸出光強度和能量損耗的測量。下面就從以下六個點介紹:1)系統工作原理的
12、說明;2)光電轉化;3)放大電路的設計;4)模數轉化電路的設計;5)CPU處理;6)顯示屏顯示調試。光輸入顯示放大光探頭I/V變換1.4 設計方案的研究意義 現在使用單片機設計的光功率計,它的光參數測量的結果已經精確到1mw。隨著光通訊行業的不斷發展,現在的檢測儀器精度在國內市場發展需求量越來越大,所以使用的都是進口的。 本次設計采用的以單片機為核心的智能化光功率計,不僅可以對數據進行采集,處理還能按照認為的預先設定來完成操作。第二章 本次設計的光功率計2.1 光功率計 簡單來說,光在一段光纖中傳播,在傳播過程的這段時間內它會做功,這就是光功率計要測量的東西,如果測得的值沒有預期的那么多,就說
13、明在傳播過程中有損耗;還有一個要測量的就是接收光的時候是否靈敏。 光電 檢 測 濾波器電流電壓變換 計算機模數轉換圖2-1 光功率計的原理圖 由上圖可以看出,通常一個光功率計是由光電檢測器,I/V變換器,運算放大器,濾波器,A/D轉換以及計算機這些部分組成。工作過程:光背檢測到后會產生很弱的電流(這里有個能級躍遷問題),電流經過電流電壓轉換電路成電壓,在這里要說明一點,就是產生的這個電流的大小跟光入射到光敏表面上所產生的光的功率成正比,所以電壓信號經過放大再和計算機進行數據處理,就可以顯示出對應的光功率的大小了。2.2 該方案中光功率計的工作原理熱學法和光電法是檢測光功率的兩種方法。其中熱學法
14、測量精度更高但響應速度慢,靈敏度低。相反,光電法它可以是一個響應快,線性好,靈敏度高,檢測范圍也很廣的方法,而本次設計對靈敏度要求更高,因為光功率一般比較弱,范圍為納瓦級到毫瓦級相對較弱的范圍,本次設計方案中提倡用半導體光電靈敏度高的檢測方法。光功率計內部結構原理如圖2-2所示。放大濾波電路I/V轉化電路光電轉化電路光探測器A/A/D轉換電路微控制器處理電路鍵盤按鍵顯示LCD顯示圖 2-2 光功率計內部原理圖 上面已經說過光信號經過光探測器的時候,它在探測器里會發生光的受激輻射,然后光信號會轉化成很低的電流,這個低電流與光產生的功率的關系是成正比的,因此檢測出電流的變化就能通過電流跟光功率的正
15、比關系得到功率。第三章 硬件部分電路的介紹3.1 光電轉換電路的設計 3.1.1 光電效應 一些材料在光的照射下,光子把他們內部的電子激發從而產生電流。如果某些金屬物質內的自由電子吸收了一個光子,正好被吸收的這個光子的能量大于或者等于這個金屬物質能承受的總能量,那么多余的能量就會逸出去,電子有足夠的能量從金屬中逃脫,所以就產生了光電子。可是,如果自由電子吸收光子沒有產生足夠的能量,那么電子會釋放能量,讓產生的光電子有足夠的能量逃出去,前提是電子的能量沒有恢復到釋放能量之前,這個光電子就無法逃離。 3.1.2 光探測器 光探測器中起作用的就是光電二極管,下面就分別來介紹兩種二極管的原理。 在對上
16、面兩個二極管做出說明之前,先說一下對探測器的幾個要求:光電轉化效率要高,即一束光通過探測器時,能夠輸出較大的電流,這個輸出的光電流和光功率是成正比的。 接收光的靈敏度要高,換句話說就是檢測到光信號能很快相應,即使是很微弱的光信號也可以快速相應。能夠檢測電壓信號穩定,不失真的反映出光信號的特性。3.1.3 PIN光電二極管 PIN型二極管跟PN型二極管從字面意思看值差一個字母,這個字母又有它代表的含義。它們都是很好的二極管,但是靈敏度卻相差很多,原因就在于PIN型多出的這一個字母I。在P層和I層之間加了一層較厚的I型半導體(本征層),所以,在PIN結內部電場來阻擋載流子的區域就比PN結中內部電場
17、要寬,這個區域就是勢壘區,而決定感光靈敏度主要因素就是勢壘區。因此,PN結中勢壘區比較薄,所以它的感光靈敏度相對低一些,而PIN結中有I型半導體的緣故,勢壘區寬,它的靈敏度自然高一些。這樣,在我們本次設計中因為對探測器的靈敏度的要求較高,所以更明確的可以選擇PIN型光電二極管來作為光探測器。PN結耗盡層是一個很抽象的東西,空間電荷區是一個區域性的載體,它是不存在的,PN結耗盡層這個概念如果不這樣定義的話,會有很多麻煩的問題。如果真的要換一種說法的話,那就可以理解為控件電荷區內部存在電場,載流子被這個電場趕走了,因此在這樣的一個區域是沒有載流子的,這就是PN結耗盡層。PN結的耗盡層很薄,光入射到
18、某金屬物質上時都被兩邊的中性區吸收,對這個問題做的改進是:在PN結P層和N層中間加I層,它可以高效阻擋載流子避免光入射進來被吸收。I層中光被吸收的系數小的更容易進入到物體內部被吸收,同時放出大量的電子-空穴對,P層和N層都是非常薄的半導體,不能像PN結中那樣把入射光都吸收了,耗盡層中幾乎全部是I層。除了上面所說的兩種外還有別的類型,可是為了解除掉入射光大量的被半導體中性區所吸取,所以更可靠的是中間有一層可以充當耗盡層的PIN結型光電二極管。 適用于本方案的還有雪崩型光電二極管,雖然它有靈敏度高,光電轉換效率強等的有點,但是也有很多造成工作效率的缺點:需要的工作電壓很高,而且它的性能的好壞完全取
19、決于入射光功率的大小,如果入射光功率很大,就會產生增益噪聲大,電流容易失真等的問題。考慮到以上所說的各個方面的問題,這里我們使用PIN型二極管。3.1.4 PIN光電二極管的選擇 因材料不同可以分為:Si,Ge, InGaAs三種。下表3-1-4(a)是對這三種PIN二極管的比較。參數符號單位SiGeInGaAs波長范圍nm4001100800165011001700響應度RA/W0.40.60.40.50.750.95暗電流IdnA110505000.52.0上升時間ns0.51.00.10.50.050.5帶寬BGHz0.30.70.53.01.02.0偏置電壓VBV55105 從上表可以
20、看出,PIN-InGaAs二極管的波長適用范圍最廣,可用于波長較長的系統,性能很穩定,為了提高光接收的靈敏度,往往把它跟場效應管FET的前置放大器放在一起組成接收器件。 3.2 放大濾波電路 由于從光功率計探頭也就是PIN型光電二極管輸出的電流很小,電流信號的長距離傳輸的抗干擾能力相對于電壓信號的要好很多,但是本次設計距離比較短,也要和后置電路與光探測器間的阻抗相互配合,所以有一個I/V電路來把電流轉化為電壓。 為了檢測微弱電信號,放大器要低噪聲,低噪聲的傳感器可以更準確的檢測到信號,同時還能增大檢測范圍和提高靈敏度。期間還要完成這樣的一個過程:光電檢測器中通過的信號都混有噪音信號,其中帶有的
21、噪聲要處理掉才能檢測待測信號,將大部分的噪聲過濾掉,那么微弱信號經過放大電路放大的幅值就可以調節為處理器需要的幅值。而前置放大電路進行預放大,再濾波,最后后置放大電路再一次的放大從而輸出幅值適當并且大部分噪聲也被過濾掉的信號。信號處理電壓信號電源信號光信號濾波與后置放大電路前置放大電路光電轉換器從圖中可以看出,光信號經過光電轉換器轉化為電源信號,電源信號再由前置放大電路轉化為電壓信號,這就相當于I/V電路把電流轉化為電壓,總共會放大兩次最終輸出信號。3.2.1濾波器的設計濾波器的在電路中所起到的作用就是讓帶有一定頻率的信號在某個頻率范圍內通過,而不在這個頻率范圍內的信號就會被阻止。所以當干擾信
22、號和有效信號不是同一頻率范圍時,可以讓有用的信號通過濾波器并抑制干擾信號讓它衰減了。濾波器都有一個通帶,就是當信號通過濾波器時,讓信號衰減的最小的頻率段,理想的濾波器是沒有信號衰減的。放大器有輸出電壓那么它也就有噪聲電壓,放大器輸出信號時所測到的電壓和輸出噪聲電壓的比值被叫做信噪比。噪聲信號與信噪比之間呈反比的關系,說明混雜在信號中的噪聲越小,此時的濾波效果最好。帶通濾波器讓在規定波長范圍的波通過而不讓其他范圍的波通過。理想的帶通濾波器它的通過范圍應該是穩定的,因為波通過濾波器又從里面出來這個過程中是不會衰弱的,在通帶內有信號衰弱和放大,以外的信號幾乎都被衰弱掉了。根據不同的器件對噪聲要求的不
23、同,光電探測器中前置放大器有如下三種類型:(1)低輸入阻抗前置放大器 輸入級能選用晶體管共基極電路,變壓器耦合,并聯負反饋等。該放大器具有電路結構簡單的優點,缺點是靈敏度低,噪聲大。(2)高輸入阻抗前置放大器 有高輸入阻抗前置放大器的光探測器,提供信號的電流就很低,所以在傳播信號的時候只需要有電壓信號電路就能正常工作。這就是為什么場效應管比晶體管好的原因,此方案中可以采用場效應管作為第一級輸出電路,優點是噪聲低。(3)阻抗變換型前置放大器這種電路也叫電流-電壓轉化型電路,它的優點有很多:噪聲低,頻帶寬,靈敏度高等,因此這種方案被廣泛應用。根據以上三種前置放大器的比較,本次設計采用第三種阻抗變換
24、型前置放大器。因為首先接收到光信號的時候要進行一次I/V轉換,因此這種放大器比較適用。3.2.2 運算放大電路 電壓信號經過濾波器之后就是想要的待測信號,要把電壓信號通過儀用放大器放大,儀用放大器跟運算放大器相比較,它設計簡單,放大效果也好,還能調節電壓信號更好地保護電路。 對放大器中芯片的選取是有要求的,首先,由于被檢測的電壓信號都比較小,為了避免電壓信號過小而檢測不到的問題,就要求輸入信號的偏置電流低;其次是低噪聲,檢測到的信號中不能混有較高的噪聲電流;再次是能有高輸入阻抗,有電壓信號整個電路就能正常工作而不需消耗電流;最后就考慮到價格。綜合以上條件,我們采用的放大器中的芯片是TL074.
25、3.3 A/D轉化電路 CS5550是一種有兩個可以讓信號通過的通路的A/D轉換器。之所以說它有兩個通路可以通過信號是因為它內部有兩個A/D轉換器,有兩個放大器。CS5550的串行接口可以連接到除單片機以外的其他設備,四條控制線分別為:CS引腳片選信號、SDI引腳作為數據輸入、SDO引腳作為數據輸出、SCLK引腳串行時鐘;當CS為低電平時,端口就是SPI的總線端口,作為串行數據輸出的SDO的作用就是輸出A/D轉換之后的信號。在片選信號高電平時,SDO端口就是高阻狀態,而串行時鐘SCLK的作用就是控制串行端口數據的出入。除此之外,CS5550有一個引腳是中斷輸出INT,給它配備屏蔽寄存器就可以設
26、置中斷,而且可以通過軟件來改變中斷高、低電平或上升、下降沿有效。 CS5550A/D轉換器單片機連接就完成A/D轉換,一般的,單片機SPI接口有三個寄存器。其中,SPCB控制寄存器的作用是設置中斷、輸出順序、主/從形式和串行時鐘的特性;狀態寄存器只是用來設置CPU的狀態以及指令執行前后的狀態。當SPI發送數據完之后,狀態寄存器中斷標志位就會置"1”。 入口否延時狀態寄存器置“1”標志是延時將“啟動單次A/D轉換”命令寫入數據寄存器返回讀數據輸出存儲器轉換完成 讀狀態寄存器否是 流程圖中得知,只需要把命令字節寫進SPSR狀態存儲器就會發送命令給CS5550了;然后只需在數據寄存器中讀取
27、信息即可。這里有一個問題需要注意:向數據存儲器SPDR寫入程序之前要先確認狀態存儲器SPSR的中斷標志位SPIF是否為置"1”狀態,如果不是,也有可能被發送的數據將被新寫入的數據銷毀。3.4 單片機控制電路因為單片機有功能強大,體積也小,功耗低,成本小,使用方便可靠等的優點而被廣泛應用到監控技術行業中使得工業發展更加現代化。 C8051系列單片機為核心的微處理器的應用中,內核有五個16位計數/定時器,兩個可以讓信號同時兩個方向傳播的全雙工信號通道功能的寄存器地址空間。以下是本設計方案中涉及到的單片機的幾個重要特性:(1) 運行速度快,與8051兼容的CIP-51的內核;(2) 系統調
28、試接口有完全非侵入性的特點;(3)有12位真正的模擬多路開關;(4)具有數據更新方式可編程的特點;(5)5個16位定時器都能通用;該微控制器芯片引腳功能都允許在5V的工作電壓下完成。3.4.1 復位電路的設計 所有的單片機在進行有序執行應用程序之前都會通過一次復位。單片機復位電路有多種,但其結構不是很復雜。下圖是最基本的RC復位電路是用來說明以下復位電路的設計。 該電路中有一個復位開關,電容C2可以避免電路中的高頻率諧波的干擾,51單片機的復位可以通過外加周期完成。可是,通過實際操作發現R2的值如果太小,就會導致RST復位信號的執行能力變差而不能完成復位功能。該電路存在的問題還有電壓不足,并且
29、經常調整RC值來改變延時就會導致上面所說的執行能力變差的情況,所以在設計復位電路的時候,既要注意執行復位能力是否穩定,還要考慮復位電路的抗干擾能力是否良好。因為上面的電路存在電壓不足的問題,因此我們在設計的電路中可以加入續流二極管來解決電壓不足的問題,這一改善對復位電路的性能起到了重要的作用。下圖3-4-1(b)所示,是在基本復位電路中加入續流二極管做了改善的RC復位電路。 圖3-4-1(b)加入續流二極管后的復位電路3-4-2 晶振電路的設計 每一個單片機體系里的晶振對整個電路都有很大的功效,晶振的全稱叫做晶體振蕩器,它跟單片機內部電路運算所需要的時鐘頻率一起工作,時鐘頻率用來表示單片機運算
30、速度。時鐘頻率越大,單片機運算速度更快,單片機的所有指令都是晶體整蕩器提供時鐘頻率的基礎上執行的。 圖3-4-2 外部震蕩器設計電路3.4.3 單片機串口通訊總線SMBUS串口總線是單片機運行體系中一條有強大功能的總線,數據的接收和發送都是經過這條線進行的,它的使用就能避免用獨立的總制線。通過查閱資料,SMBUS雙向串行總線和串口傳輸數據可以通過接口自動控制。一般,一個控制主線上允許有多個主器件,SMBUS總線主設備:串行數據控制SDA、串行時鐘SLC控制、同步邏輯和啟停控制電路。此外還有及其相關的三個特殊功能寄存器分別為:控制寄存器、數據寄存器、配置寄存器。配置寄存器是一個16位虛構的寄存器
31、, 可以用配置指令讓配置寄存器的值變化;數據寄存器就是用來發送和傳輸數據。SMBUS工作電壓限度是在35V之間,各個器件的工作電壓也是不一樣的。串行時鐘線和串行數據線是雙向的,為了保證兩根線是高電平,必須將他們通過一個電路連接到電源電壓上,具體的做法是總線器件上的串行數據控制和串行時鐘控制都要漏極開路或者集電極開路即高阻狀態,要產生高電平,就要在電路中加入一個上拉電阻,電阻接5V電源,另一端連接芯片引腳。下圖3-4-3就是SMBUS總線的設置圖。 圖 3-4-3 典型SMBUS總線配置3.4.4 電源設計部分在電路中220V交流電最終轉換為15V直流電,當直流電壓作輸入是不穩定的,所以要有個一
32、個電路把不受控制的直流電壓轉換為受控制的電壓,這個電路就是DC-DC變換電路。它把15V直流電壓轉換為電路所需要的12V直流電壓,再通過一次DC-DC變換器進行線性調節得到5V直流電給單片機供電。整個電源電路的作用就是將直流電轉換為交流電給各部分供電使用。本設計方案可以采用橋式整流電路。到這里關于單片機的各個電路設計已經設計完,以下是對外圍電路的設計。第四章 外圍電路的設計4.1 I²C總線設計能把單片機跟外圍電路連接到一起的就是這節所說的I²C總線。它可以隨時監控電路內的多個參數,具備接口的線少,控制方式比較簡單,器件小等的優點。I²C總線有兩根線,一根線是串行
33、數據線,另外一根是串行時鐘線,當總線空閑的時候,這兩根線都是高電平狀態,不需要加任何的電路就能實現對個器件在總線上相互連接。4.1.1 I²C總線接口的電路設計 本次設計方案中的主器件是微控制器, I²C總線上的從器件都會有它們特定的地址。主器件在發送通訊數據之前,都會先發送從器件的地址以確認從器件是否要接收,如果從器件做出應答,得到主器件的確認,才會發送有效數據到從器件;不是這個器件的地址,數據線上的任何數據都不會得到響應,那么你可以選擇數據通信傳輸的實現。4.1.2 I²C總線的控制時序 數據傳輸總線上的時序如果符合 I²C總線的要求的話,那么 I&
34、#178;C總線上傳輸數據就可以有順序的進行。只要時序符合,總線傳輸數據代碼的錯誤率就會很低,這樣單片機執行任務的效率也就高很多了。下圖3-1-2所示是 I²C總線通訊時序圖。SDASCL 一般來說,I²C總線的數據傳輸過程需要經過:總線數據申請、建立雙方通訊路徑、數據傳輸、總線的釋放四個步驟來完成。4.2 單片機接口電路設計 因為24系列E²PROM即電氣可擦除可編程只讀存儲器和單片機的接口連接簡單,所以本次方案中單片機接口電路的設計就用E²PROM。下面介紹一下E²PROM的引腳功能。 三引腳A0、A1和A2是用來器件地址輸入的端口,在一條
35、I²C總線上有多個設備連接時可以通過設置三個引腳設置設備地址;4腳接地;5腳是SDA串行數據/地址輸入輸出端;SCL6引腳是串行時鐘信號端,數據送入E²PROM器件的SCL端時需要在外部電路中加一個上拉電阻達到高電平;7腳WP就是寫保護引腳用來保護電路檢查是否芯片處于數據寫入狀態;VCC8引腳是電源正極。下圖3-2所示是E²PROM與單片機接口連接的電路。 圖4-2 E²PROM與單片機接口連接電路4.3 按鍵設計光功率計控制部分的完成要鍵盤來實現,鍵盤主要完成的任務有:功能的選擇、置位、復位這三個。功能的選擇是要看具體有什么工作來決定;光功率計的置位是
36、預先設置待測光的波長;復位有專門的按鍵來操作完成。鍵盤的設計中會有一個問題,比如我們在操作的時候按了一個鍵,可是剛按下去的時候系統沒有檢測到輸入所以任務不會立即執行,而是中間有一個小延時,如果過了25s這個輸入還在就判定為輸入;相反,則判斷為抖動。所以,在設計鍵盤的時候最重要的是去抖動。按照這樣的要求,系統將采用獨立的按鍵方式因為光功率計的按鍵較少,還要通過中斷的方式獲得鍵盤的鍵入狀態。4.3.1 鍵盤去抖動機械按鍵在按下時會產生不規則、無規律的機械振動,從而會影響單片機偵測高低電位信號,因此,在涉及機械按鍵的設計中,需要考慮去抖去除機械抖動,去抖可通過程序編寫實現。由于機械抖動,因此導致按鍵
37、所對應的引腳在抖動器件所接收到的電位信號是變化的,無一固定值,從而無法判斷高低電位。通過軟件去抖的思路是:機械抖動的時間相對于按鍵按下的時間短的多,因此可以在單片機引腳監測到電位變化時,經過一段很短時間的延時,再檢測一次,如若在延時后電位還是變化的,即可判斷按鍵按下,針對于不同的按鍵,延時的時間長短不一,許多次實物檢測后方能找到合適的去抖時間。4.3.2 按鍵的識別鍵盤上的每一個按鍵都有其相對應的鍵號,而每個鍵號都有給它設定對應的二進制代碼。在操作過程中某一個按鍵被按下,與之對應的二進制代碼就被讀取,系統根據讀取到的信息判斷相應的鍵閉合,這些都要通過軟件完成。工作過程為:(1) 系統首先識別是
38、否有按鍵閉合;(2) 判斷閉合的按鍵所在的行、列(3) CPU根據系統所識別到的按鍵的狀態特征讀取按鍵對應的程序編碼,最終完成該按鍵的功能。本次設計的光功率計有4個按鍵,其中:一個復位鍵S0、一個設置所測量中心波長的鍵S1、一個選擇測量單位W(mW、uW、nW)按鍵S2、還有一個測量鍵即測量功率開啟鍵S3。4.4 液晶顯示及接口電路LCD數碼顯示器在生活中很常見并且它的控制電路也比較簡單,在本次設計中可以用LCM12864點陣液晶顯示屏,一邊是連接電路的導電橡膠的液晶顯示器,另一側裝有驅動器和一個控制器,漢字和數字可以由程序輸出。下圖為LCD邏輯圖。DB0DB7 RS R/W RSTSeg D
39、riverCOM Driver 1VDDVSSSeg DriverSeg DriverCOM 01 LCD PanelCOmM02 . . . COM64DC-DCPower Circuit 圖4-4 LCD數碼顯示器邏輯圖第五章 軟件部分我們都知道,單片機內部會進行數據的采集、處理、輸出三部分,但是對數據驚醒必要的處理也是很重要的,一些硬件不能實現的數據的處理就要用軟件來實現。下面是光功率計程序的流程圖。 開始如果一次轉換錯誤就取固定值繼續 結束將計算后的功率值送到液晶顯示器顯示根據公式進行和對數運算 數字濾波取A/D轉換后的數據A/D轉換之前進行初始化系統初始化 從上圖可以看到,上電復位后
40、要進行初始化,其中有對振蕩電路、A/D 轉換電路、端口設置等的初始化。初始化設置后,進行主程序循環,進行命令的識別、處理、完成額協助各部分軟件和硬件工作。以下是A/D轉換電路的程序片段,主要代碼如下:/外部中斷服務函數void interup_reg_int() interrupt2 if(flag=1) flag=0;SBUF=abc_data; SCLK=0; CS=0; write_to_register(0x5e,Oxff,0xff,0xfe);/*清狀態寄存器*/transfer_byte(0x0e);/*讀輸出寄存器1*/ for(a=0;a<3;a+)for(b=0;b&l
41、t;8;b+) RECVDATA<<=1; if(SDO) RECVDATA|=0x01; else RECVDATA&=0xFE; SCLK=1; delay(); SCLK=0; if(b+1)%8=0)SDI=0; elseSDI=1; delay(); if(a=0) adc_data=RECVDATA; SCLK=0; CS=1; delay(); /寄存器寫入函數void write_to_register(unsigned int command,unsigned int high,unsigned int mid,unsigned int low)SCLK=
42、0;CS=0;delay();transfer_byte(command);/發送命令transfer_byte(high);/發送高八位數據transfer_byte(mid);/發送中間八位數據transfer_byte(low);/發動低八位數據SCLK=0;CS=1;/字節發送函數void transfer_byte(unsigned int dat)unsigned char i;SCLK=0;CS=0;delay();for(i=0;i<8;i+) if(dat&0x80)=0)SDI=0; else SDI=1; SCLK=1; delay(); SCLK=0; d
43、at<<=1;第6章 實驗調試過程在調試之前首先再強調一下光電轉換的過程。把帶有一定功率的光信號經過光電轉換電路后得到很弱的電流信號,再通過濾波電路把混在一起的噪聲電信號過濾掉,其次,濾波電路中有變阻器將轉換過來的電流信號轉化為電壓信號,這個電壓信號最后通過放大器轉換為符合電路需要的電壓信號。單片機連接圖 本次設計中采用的是AT89C51,因為它的性價比高,價格便宜,能滿足基本應用的需求,因此在自動化行業中得到廣泛的應用。上圖是單片機連接圖,其中有一個單片機,兩個譯碼芯片,還有外加復位電路和數碼管顯示器。如圖所示兩個譯碼芯片中上面的譯碼芯片是位選芯片,它相當于總開關,控制數碼管在哪個位置顯示,而下面的段選譯碼芯片是控制要顯示的內容,舉個例子:比如單片機得到命令要讓數碼管第一個顯示數字2,那么第一個就是位選,數字2就是段選,這樣理解起來就簡單多了。這部分仿真使用Keil軟件完成的,因為它在仿真過程中生成代碼非常快,編譯程序的時候能檢查到錯誤的地方和警告,所以對整個過程來說很方便。設計功率計最重要的部分就是轉換之后的電壓信號要放大
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論