文/楊海東 白書華 周康樂,南昌理工學院
在將近兩百年以前,世界上第一輛類似自行車的工具在法國誕生,被稱之為木馬輪。當時的自行車和現(xiàn)在的在進行車有很大的不同,因為沒有鏈條所以需要人們用腳踩著地來前進。而經(jīng)過兩百多年的發(fā)展,自行車除了被越來越多的人們所接受外,他的功能也從最早的代步工具發(fā)展成為現(xiàn)在集娛樂、競技、鍛煉等多功能為一體。隨著生活條件越來越好,人們對于生活品質(zhì)各方面的要求也都越來越高。一輛普普通通的自行車已經(jīng)不能滿足人們的需要了,人們希望自行車能和汽車一樣,能直觀的看到自己騎車的里程和速度,有過速報警功能,有些利用騎車來鍛煉的人想要它能夠計算出自己通過騎車所消耗的熱量,這種種需求導致了自行車里程表的出現(xiàn)。
自行車速度里程表的主要構(gòu)造是以霍爾元件和單片機為核心,在 LED 數(shù)碼上管顯示出當前的行車速度和里程。本文會詳細介紹自行車里程表的設計方案,包含它的設計思路,電路原理以及各部件的選擇和功能,這些被分為軟件和硬件兩部分分別說明。硬件部分如上所述,而在軟件部分的設計過程中,我們采用模塊化構(gòu)建方法來設計相關軟件部分,單片機可以看做有多個功能模塊組成的一個半智能系統(tǒng),采用模塊化設計方便我們分類設計,可以讓復雜的設計簡單化,而且在設計完成后的調(diào)試過程中也更加方便。我們通過編譯相應的程序讓單片機具有計速和計算里程的功能,并通過 LED顯示出來。
Proteus是一款由英國公司開發(fā)的EDA工具軟件,它除了有一般EDA工具軟件的仿真功能之外,還能仿真單片機和外圍器件 [11]。它可以實現(xiàn)數(shù)字電路、模擬電路及為控制系統(tǒng)及為控制系統(tǒng)和外設的混合電路系統(tǒng)的短路仿真、系統(tǒng)協(xié)同仿真和PCB設計等全部功能,可以在還沒有目標原型時對系統(tǒng)進行調(diào)試和驗證。我們利用proteus軟件來對我們的構(gòu)想進行仿真。Proteus軟件能夠?qū)ξ覀兊脑聿季€我們可以根據(jù)系統(tǒng)提供的錯誤檢查報告來修改原理圖,道通過電器檢查規(guī)則位置。除此之外,proteus將源代碼的編輯和編譯放到了同一個設計環(huán)境中,使用者可以在設計中同事編輯代碼,可以讓我們更加清晰直觀的觀察到源程序修改后對仿真結(jié)果的影響。我們可以在仿真的過程中不斷的完善硬件電路和軟件程序,而不必擔心損耗,以達到本次設計理想結(jié)果。
硬件調(diào)試是在 proteus 上進行的,因為 proteus 的強大功能,所以很多錯誤它都能主動發(fā)現(xiàn)并提示我們,而我們最需要注意問題是首先,硬件的整體設計是否有問題,再是各個元器件之間的連線是否正確,其次就是管腳電壓是否正常。不管是電壓過高還是過低都會導致芯片不能正常工作。如果是實物調(diào)試的話,需要注意的就是采樣問題,霍爾傳感器是在有穩(wěn)定磁場的情況下才會正常通導,如果戶外調(diào)試的話則要注意不能讓信號齒間進入鐵屑之類的東西,不然會影響磁場導致顯示出錯。
自行車速度里程表的調(diào)試過程中軟件調(diào)試是一個很重要的部分,因為他沒有硬件故障那么易于發(fā)現(xiàn),甚至于出錯了也不能立即發(fā)現(xiàn)。在軟件調(diào)試的過程中,我遇到的問題大概有以下幾點:
(1)首先,在編寫單片機軟件的時候,給變量定義出現(xiàn)了問題。因為在 C 語言里我們大多是使用 int 來定義變量。可是當變量過多的話,使用 int 就會導致最后生成的 HEX 文件太大。單片機的內(nèi)部存儲空間是有限的,當我發(fā)現(xiàn) int 型的問題之后,我改用 unsigned char 型來定義變量。然而使用的數(shù)據(jù)的值大于 256 的話,數(shù)據(jù)就會出,這樣在顯示的時候,如果數(shù)據(jù)過大就會導致數(shù)據(jù)顯示錯誤,因此 unsigned 也不能使用。經(jīng)過查閱資料,我確定使用 unsigned int 型或者 short。
(2)我們想將一個數(shù)組的值一次性賦值給另一個數(shù)組進行保存,但會發(fā)現(xiàn)編譯
報錯。這是因為數(shù)組名只是首地址,并不能整體賦值。如果我們要保存該數(shù)組,我們可以用 for 循環(huán)或指針給數(shù)組一一進行賦值。
(3)程序的時序問題。
本系統(tǒng)操作簡單,易于實現(xiàn)。硬件部分采用的器件應用較廣泛,且價格低廉,如AT89C52 單片機、D 觸發(fā)器 74LS74、存儲器24C02、驅(qū)動器 74LS244 等。這就意味著所有的器件功能比較強大、穩(wěn)定。尤其是本次設計的核心元件 AT89C52 單片機,軟件技術成熟,并具有種類齊全的支持芯片。這類微處理器既可用作控制器又適合于做數(shù)據(jù)處理,而且成本也甚是低廉。軟件采用模塊化設計,可讀性強,方便二次開發(fā)。而本次設計的自行車速度里程表具有廣泛的應用前景,基于如此簡單的電路設計和低廉的成本,便能夠滿足人們對于高性能、多功能自行車里程表的需求,能夠應用于家用和測試等各種場合。除此之外,這次設計的自行車速度里程表只是做了比較基本的功能,隨著社會的發(fā)展和人們需求的提高,自行車速度里程表還有大量的可拓展空間。市場上比較常見的功能有心律檢測功能、MP3 功能、卡路里消耗查詢等等,這些功能我們都能夠通過對單片機芯片的二次開發(fā)來實現(xiàn)。
[1] 張毅剛,劉杰. MCS-51 單片機原理及應用[M].哈爾濱工業(yè)大學出版社,2004.
[2] 單祥茹.基礎元件介——紹傳感器(三)[J].中國電子商情:基礎電子,2011,(12).:P81—P82,84.
[3] 廖志凌. 基于 DSP 的混合有源電力濾波系統(tǒng)的研究與實現(xiàn)[D].江蘇大學,2003.