導航:首頁 > 操作系統 > 單片機外圍器件實用

單片機外圍器件實用

發布時間:2023-01-13 19:35:37

⑴ 怎麼學習單片機外圍器件

單片機學習心得體會
一:

時光飛逝,一轉眼,一個學期又進尾聲了,本學期的單片機綜合課程設計也在一周內完成了。

俗話說「好的開始是成功的一半」。說起課程設計,我認為最重要的就是做好設計的預習,認真的研究老師給的題目,選一個自己有興趣的題目。其次,老師對實驗的講解要一絲不苟的去聽去想,因為只有都明白了,做起設計就會事半功倍,如果沒弄明白,就迷迷糊糊的去選題目做設計,到頭來一點收獲也沒有。最後,要重視程序的模塊化,修改的方便,也要注重程序的調試,掌握其方法。

雖然這次的課程設計算起來在實驗室的時間只有三天,不過因為我們都有自己的實驗板,所以在宿舍里做實驗的時間一定不止三天。

硬體的設計跟焊接都要我們自己動手去焊,軟體的編程也要我們不斷的調試,最終一個能完成課程設計的勞動成果出來了,很高興它能按著設計的思想與要求運動起來。

當然,這其中也有很多問題,第一、不夠細心比如由於粗心大意焊錯了線,由於對課本理論的不熟悉導致編程出現錯誤。第二,是在學習態度上,這次課設是對我的學習態度的一次檢驗。對於這次單片機綜合課程實習,我的第一大心得體會就是作為一名工程技術人員,要求具備的首要素質絕對應該是嚴謹。我們這次實習所遇到的多半問題多數都是由於我們不夠嚴謹。第三,在做人上,我認識到,無論做什麼事情,只要你足夠堅強,有足夠的毅力與決心,有足夠的挑戰困難的勇氣,就沒有什麼辦不到的。

在這次難得的課程設計過程中我鍛煉了自己的思考能力和動手能力。通過題目選擇和設計電路的過程中,加強了我思考問題的完整性和實際生活聯系的可行性。在方案設計選擇和晶元的選擇上,培養了我們綜合應用單片機的能力,對單片機的各個管腳的功能也有了進一步的認識。還鍛煉我們個人的查閱技術資料的能力,動手能力,發現問題,解決問題的能力。並且我們熟練掌握了有關器件的性能及測試方法。

再次感謝老師的輔導以及同學的幫助,是他們讓我有了一個更好的認識,無論是學習還是生活,生活是實在的,要踏實走路。課程設計時間雖然很短,但我學習了很多的東西,使我眼界打開,感受頗深。

二:

熟悉單片機的人都知道,要學好單片機可不是一件容易的事,倒不是因為單片機很難學,而是很難找到一本專為單片機入門者而編寫的教材。翻一下身邊的單片機教材,都好像是為已經懂單片機的人而寫的,一般先介紹單片機的硬體結構和指令系統,再是系統擴展和外圍器件,順便講一些應用設計(隨便說一下,很多書中的電路設計已經過時,並且有些程序還是錯誤的)。如果按照此種學習方法,想進行產品開發,就必須先把所有的知識全部掌握了才可以進行實際應用。學習使用單片機只能靠循序漸進的積累,下面就本人學習單片機的過程和經驗做簡要介紹。

首先,學習單片機要有一定的基礎:電子技術方面要有數字電路和模擬電路等方面的理論基礎,特別是數字電路;編程語言要求匯編語言或C語言。要想成為單片機高手,建議初學者首先學習匯編語言,學的差不多的時候,轉入C語言學習。盡管匯編語言屬於低級語言,編程效率低,但是較C語言具有目標代碼簡短,佔用內存少,執行速度快等優點,更重要的是能使初學者盡快熟悉單片機的內部結構,並能對其進行精確的控制。匯編語言在單片機教材裡面都會涉及,不需要單獨購買教材和學習。C語言是一門學問,有很多專業書籍來講解,並且對我們今後的編程生涯有絕對的好處,因此要深入學習,千萬不要自以為看了某某的視頻教程就以為掌握了C語言,那隻是C語言的一部分。在這里給大家推薦一本單片機C語言程序設計參考書,馬忠梅等著,北京航空航天大學出版社出版的《單片機的C語言應用程序設計》,要求C語言基礎。如果沒學過C語言,建議學習清華大學譚浩強編寫的C語言程序設計,這本書寫的不錯,通俗易懂。

其次,是單片機教材選擇。單片機是一門非常重視實踐的技術,不能總是看書,但要學習它首先應看書,對單片機引腳、內部結構、寄存器和原理有一定地了解和感官認識,它的是怎樣工作的,能幹些什麼?剛開始時,也許你看不明白,但這並不要緊,因為你還缺乏實踐經驗。現在單片機應用廣泛,因此各個廠家分別推出了自己的單片機,按內部結構體系派系分:51系列、PIC系列、AVR系列、摩托羅拉等等……我們沒必要每樣都學!因為他們的編程方法和調試過程以及內部指令結構有一定的相似,只要學精通一款就OK了!尤其是用C語言編程,就幾乎不用分什麼派系,但是我們要選擇一款有代表性的知識范圍廣,並且入門容易,書籍多。一般來說,MCS-51系列單片機已經得到廣泛的普及和應用,市場上它的資料也比較多,用的人也很多。給大家推薦一些參考書,學習時只需要一本就足夠拉。書名:《新編MCS-51單片機應用設計》,哈爾濱工業大學出版,作者:張毅剛;書名:《單片機原理及應用》,高等教育出版社,作者:張毅剛等;書名:《單片機高級教程:應用與設計》,北京航空航天大學出版社,作者:何立民。相關教材還有很多,在這不一一列舉。

然後,是開發工具和開發環境的選擇。選擇一塊合適的學習板,對於初學者來說一般無力接受,如果經濟條件允許、本人又對單片機很感興趣、有從事相關工作意向的話,鼓勵大家購買。隨便說一句,學習板功能要求太全,具有流水燈、數碼管、獨立鍵盤、矩陣鍵盤、AD或DA、液晶、蜂鳴器等就差不多啦,畢竟,功能齊全的價格比較高。模擬器對單片機初學者來說既是那麼耳熟,同時又有些陌生,這主要是因為市場上傳統的模擬器價格都在千元以上,對經濟不是非常寬裕的人來說是不小的開支。同時模擬器是用來提高調試程序效率的,也不是非需不可的,如果你沒有模擬器,遇到程序出錯的時候,只好苦思冥想,反復燒寫調試。隨便推薦一下,學林電子的51tracer模擬器,有興趣的朋友可關注一下。有了單片機教程板以後,先看下指導說明書,熟悉一下學習板,開卷有益。以後就得靠自己多練習了,將學習板與電腦連接好,先學會開發軟體的使用,然後從最簡單的流水燈實驗做起,按照你自己的意願控制流水燈,當你完成時,你會發現這是多麼愜意的事情。太好玩了,你會覺得這不是在學習,而是在玩,當你發現,單片機能夠按照你編寫的程序工作時,你會覺得非常興奮,比做什麼事情都開心,這樣你會慢慢迷上單片機,真的。不少網站上說搞定某個實驗,就恭維的告訴你一聲」恭喜你,學會了」自己學會了單片機,這有點可笑,這只能說明你算過關了,對單片機有了一定了解和會使用它了。但是單片機能完成的功能太多了,尤其是對外圍器件的控制,綜合起來能設計出許多意想不到的產品.因此除了入門外,精通可千萬別輕易說出口。

最後,在熟練掌握和應用後,那可以說對於單片機方面的硬體你已經入門了,剩下的就是自己練習設計電路,不斷的積累經驗。最終,自己完全設計具有個人風格的電路,產品,這樣你就是單片機高手拉。只要過了第一關,後面的路就好走多了,萬事開頭難,大家可能都聽過。時下多家電子類的報刊雜志如:《電子製作》《無線電》《電子報》《電子世界》都開設了詳細的單片機教程專欄,對於想學習單片機的朋友來說幫助很大,可以說現在的單片機教程環境是最好的,有網路,有書籍,有報刊雜志,還有視頻教程,元件的采購方面也非常充足,相關的器材又多有便宜。如果每天能抽出兩小時的時間去學習,快的一個月,慢的三個月就入門拉。

以下是一些經驗:

(1)學習單片機沒有捷徑,別指望兩三天就學會,要堅持不懈,重在積累。

(2)別崇拜高手,別相信天才,大部分人都不是天才(相信你也不是)!

(3)單片機是一門應用性和實踐性很強的學科,要多動手,多做實驗。

(4)要學會參考別人的程序,減少自己琢磨的時間,迅速提高自己的編程能力。

(5)碰到問題可以藉助網路來搜尋答案和對自己有幫助的問題,可以大大減少你的開發時間。

(6)要多交一些朋友,多交流。技術是靠不斷的積累和交流才會進步的,封閉自守只會更加落後。

希望大家多上網看看前輩的經驗,可以少走很多彎路。最後,祝願大家早日成為單片機高手。

三:

我從大二起,就去實驗室去學習。在這里與老師和一些電子設計愛好者的交流中,我學到了更多的專業知識。我從此走上了學習嵌入式的道路。這豐富了我的大學生活,是我在大學的最大收獲。

我是從學習單片機開始我的嵌入式學習的。

我接觸單片機的方式是在圖書館看書,我看了很多本書,但是大多數書寫的大同小異。書裡面講解的單片機的寄存器我看了很多遍也沒有看懂。我都不知道改怎麼學習它了。慢慢的我悟出了一個道理:電子的學習實踐是最重要的,這樣,我在大二的時候就買了一塊學習板,我一邊看視頻一邊仿照視頻的程序,自己編寫程序,在很短的時間里,我的單片機有了很大的提高。那些難懂的寄存器通過編寫程序,我慢慢的弄懂了它們,現在回頭看去,原來它還是很簡單的。

用哪種編程語言最適合我們。

我看過的單片機的書籍,大部分的程序都是匯編寫的。它是一種基於機器硬體的低級語言,對於我們這些只學習過C語言的人來說,非常難懂。我認為剛開始學習單片機沒有必要一定要從學習匯編編程開始。我學習單片機就是用C語言編程的,我並不會匯編語言,也沒有妨礙我把單片機學好。

我的單片機學習心得。

很多人說,學單片機最好先學匯編語言,以我的經驗告訴大家,絕對沒有這個必要,初學者一開始就直接用C語言為單片機編程,既省時間,學起來又容易,進步速度會很快。在剛開始學單片機的時候,千萬不要為了解單片機內部結構而浪費時間,這樣只能打擊你的信心,當你學會編程後,自然一步步就掌握其內部結構了。

單片機的學習實踐。

單片機提高重在實踐,想要學好單片機,軟體編程必不可少。但是熟悉硬體對於學好單片機的也是非常重要的。如何學習好硬體,動手實踐是必不可少的。我們可以通過自己動手做一個自己的電子製作,通過完成它,以提高我的對一些晶元的了解和熟練運用它。這樣我們就可以多一些了解晶元的結構。我相信,你完成了一個屬於自己的電子製作,你的單片機水平就會有一個質的提高。

這就是我學習單片機的心得體會,希望給單片機的愛好者學好單片機有所幫助。

四:

在學校學習期間我有幸的參加了學校的單片機學習小組,在小組里我了解了什麼是單片機,單片機有哪些用途,利用單片機可以實現哪些功能來方便人們的生活如交通燈,時鍾,還有手機中,電子玩具等等,它們裡面都有單片機的存在來實現某種功能。通過在單片機小組里的學習我簡單總結了幾點心得和體會:

單片機學習心得體會6篇心得體會,學習心得

第一:萬事開頭難,要勇敢的邁出第一步,不要總找借口說沒有學習過就總推脫。凡事都有第一步可以先可簡單的來,然後可以逐步的向深層次學習。可以從建項目開始,然後可以找一個簡單的小程序先把它敲進單片機內然他運行起來,感覺一下單片機的運行,讓自己了解單片機整個運行。

第二:對於知識點,學過的要掌握牢固,對於沒有學的和暫時用不到的先不用學習。比如:小燈得點亮就沒有用到中斷可以先不用看。這樣可以避免知識過多記不住的麻煩。對於程序這里的知識點不能只停留在理論層次上,一定要結合著程序進行學習這樣才能掌握的很牢靠,當用到哪裡的知識點不記得了可以去看書,對於用不到的可以不去看。

第三:程序不要只是看別人得,一定要自己寫過才是自己的。開始不懂可以參考別人的,看看每一句代表著什麼意思,能夠實現什麼現象。明白之後自己再重新寫一遍,你會發現看別人的能懂到自己寫的時候很困難。當你自己能寫出來的時候說明你真懂了。

第四:一定要學會程序調試的方法。有時候把程序寫完瞭然後運行時不能實現理想的現象。這時有人就暈了不知該怎麼辦,然後就去問別人。當別人找出問題出在哪裡時就會恍然大悟。其實當遇到問題一定要自己嘗試著解決,不能遇到問題就去問別人。自己一定要掌握解決問的方法和思路。

第五:在學習初期看別人的代碼,學習別人的思路這個很有用。通過看別人的代碼特別是有多年編程經驗的人的程序,可以迅速提高自己的編程水平。也可以結合著別人的手法,與自己的想法結合在一起寫出更好的程序。但是切記將學習變成抄襲,不能認為抄襲別人的你就學會了,這樣只能使你退步。第六:面對一個新項目時,自己一定要多想想,不要急著去看別人是怎麼寫的。有的人看到新項目時就去找別人的然後抄一小段,自己在寫幾句,放在一起完成任務,雖然省時間但不利你的學習。當你遇到一新項目時你應該先想一下程序的構架,想想如何來完成。然後自己動手去寫,當你遇到實在是沒辦法解決的問題時再去請教別人,看他是怎麼處理的,學習他的方法。這樣起碼你自己想過了,有自己的思路不會受到別人的影響,這樣更容易提高自己。

在單片機的學習開始時感覺很吃力,在不斷的學習過程中慢慢的對單片機產生了些好感,而且在編寫程序過程中吃力的感覺慢慢的淡了。在這其中基礎知識掌握牢固是非常重要的,然後在學習過程中要學會提問題和自己解決問題,慢慢的對於學習單片機你也會產興趣。雖然在開始學習單片機時感覺很青澀,但只要堅定自己的學習信心,在付出持之以恆的努力,我相信自己能進一步加深對單片機的了解,在單片機的學習道路上走得更遠!

⑵ 單片機外圍模塊寄存器的作用

簡單理解為,比如點燈,比如外圍的寄存器就是控制一個發光二極體,給寄存器寫入1燈滅,寫入0燈亮,
以此類推,你要是實現比較復雜功能,就需要多個寄存器來控制外設,通過外圍器件原有的協議進行控制,
同時也可以通過寄存器,來獲取外圍器件的狀態
然後按照這個思路,再看看那些器件,研究一下!

⑶ 單片機原理及應用

1、單片機原理是指一種在線式實時控制計算機的原理方式。在線式就是現場控制,需要的是有較強的抗干擾能力,較低的成本,這也是和離線式計算機(比如家用PC)的主要區別。
2、應用:單片機普遍設置有並行地址匯流排、數據匯流排、控制匯流排,這些引腳用以擴展並行外圍器件都可通過串列口與單片機連接,另外,許多單片機已把所需要的外圍器件及外設介面集成一片內,因此在許多情況下可以不要並行擴展匯流排,大大減省封裝成本和晶元體積,這類單片機稱為非匯流排型單片機。
更多關於單片機原理及應用,進入:https://m.abcgonglue.com/ask/2b50a51615841103.html?zd查看更多內容

⑷ 兩個8*8點陣的引腳如何級聯

不好意思!
你走錯房間了!
這里是數學!
建議去別的地方問問看看!
美邦祝你學業有成!
基於MCS-51的16x16點陣LED電子顯示屏的設計
1.背景介紹
1.1 LED及LED顯示屏
LED 就是Light Emitting Diode(發光二極體)的縮寫。在某些半導體材料的PN結中,注入的少數載流子與多數載流子復合時會把多餘的能量以光的形式釋放出來,從而把電能直接轉換為光能。PN結加反向電壓,少數載流子難以注入,故不發光。這種利用注入式電致發光原理製作的二極體叫發光二極體,通稱LED。發光二極體是由p 型和n 型半導體組成的二極體。在LED 的p - n 結附近,n 型材料中多數載流子是電子,p 型材料中多數載流子是空穴。p -n 結上未加電壓時構成一定的勢壘,當加正向偏壓時,在外電場作用下,p 區的空穴和n 區的電子就向對方擴散運動,構成少數載流子的注入,從而在p - n結附近產生導帶電子和價帶空穴的復合,同時釋放出相對應的能量hν(h 為普朗克常數,ν為光子頻率)而發光。該能量相當於半導體材料的帶隙能量Eg(Ev) ,其與發光波長λ(nm) 的關系為λ= 1239. 6PEg。
LED顯示屏是一種通過控制半導體發光二極體的顯示方式,用來顯示文字、圖形、圖像、動畫、行情、視頻、錄像信號等各種信息的顯示屏幕。
LED顯示屏分為圖文顯示屏和視頻顯示屏,均由LED矩陣塊組成。圖文顯示屏可與計算機同步顯示漢字、英文文本和圖形;視頻顯示屏採用微型計算機進行控制,圖文、圖像並茂,以實時、同步、清晰的信息傳播方式播放各種信息,還可顯示二維、三維動畫、錄像、電視、VCD節目以及現場實況。LED顯示屏顯示畫面色彩鮮艷,立體感強,靜如油畫,動如電影,廣泛應用於車站、碼頭、機場、商場、醫院、賓館、銀行、證券市場、建築市場、拍賣行、工業企業管理和其它公共場所。
它的優點:亮度高、工作電壓低、功耗小、微型化、易與集成電路匹配、驅動簡單、壽命長、耐沖擊、性能穩定。
1.2 MCS-51系列單片機簡介
1.2.1 MCS-51系列單片機及其特點
①可靠性高:
因為晶元是按工業測控環境要求設計的,故抗干擾的能力優於PC機。系統軟體(如:程序指令,常數,表格)固化在ROM中,不易受病毒破壞。許多信號的通道均在一個晶元內,故運作時系統穩定可靠。
②便於擴展:
片內具有計算機正常運行所必需的部件,片外有很多供擴展用的(匯流排,並行和串列的輸入/輸出)管腳,很容易組成一定規模的計算機應用系統。
③控制功能強:
具有豐富的控制指令:如:條件分支轉移指令,I/O口的邏輯操作指令,位處理指令。
④實用性好:
體積小,功耗低,價格便宜,易於產品化。
1.2.2 單片機的發展歷史簡介
①第1階段(1971年—1978年),以MCS-48系列為代表,稱4位單片機。在片內:CPU有4位或8位;ROM有1KB或2KB;RAM有64B或128B;只有並行介面,無串列介面;只有1個8位的定時/計時器;中斷源只有2個。在片外:定址范圍只有4KB;晶元引腳有40個。
②第2階段(1978年—1983年),以MCS-51系列為代表,稱8位單片機。在片內:CPU有8位;ROM有4KB或8KB;RAM有128B或256B;有串/並行介面;有2個或3個16位的定時/計時器;中斷源有5至7個。在片外:定址范圍有64KB;晶元引腳有40個。
③第3階段(1983年以後),以MCS-96系列為代表,稱16位單片機。在片內:CPU有16位;ROM有8KB;RAM有232B;有串/並行介面;有4個16位的定時/計時器;中斷源有8個;增加了D/A和A/D轉換電路。在片外:定址范圍有64KB;晶元引腳有48個或68個。
以上MCS-51系列以其優良的性價比,在我國得到了廣泛的應用。
3.功能要求
設計一個室內用16x16的點陣LED圖文顯示屏,要求在目測條件下LED顯示屏各點亮度均勻、充足,可顯示圖形和文字,顯示圖形和文字應穩定、清晰無串擾。圖形或文字顯示有靜止、移入移出等顯示方式。
4.方案實現
從理論上說,不論顯示圖形還是文字,只要控制與組成這些圖形或文字的各個點所在的位置相對應的LED器件發光,就可以得到我們想要的顯示結果,這種同時控制各個發光點亮滅的方法稱為靜態驅動顯示方式。16x16的點陣共有256個發光二極體,顯然單片機沒有這么多的埠,如果我採用鎖存器來擴展埠,按8位的鎖存器來計算,16x16的點陣需要256/8=32個鎖存器。這個數字很龐大,因為我們僅僅是16x16的點陣,在實際應用中的顯示屏往往要大得多,這樣在鎖存器上花的成本將是一個很龐大的數字。因此在實際應用中的顯示屏幾乎都不採用這種設計,而採用另外一種稱為動態掃描的顯示方法。
動態掃描的意思簡單地說就是逐行輪流點亮,這樣掃描驅動電路就可以實現多行(比如16行)的同名列共用一套驅動器。具體就16x16的點陣來說,把所有同1行的發光管的陽極連在一起,把所有同1列的發光管的陰極連在一起(共陽極的接法),先送出對應第一行發光管亮滅的數據並鎖存,然後選通第1行使其燃亮一定時間,然後熄滅;再送出第二行的數據並鎖存,然後選通第2行使其燃亮相同的時間,然後熄滅;以此類推,第16行之後,又重新燃亮第1行,反復輪回。當這樣輪回的速度足夠快(每秒24次以上),由於人眼的視覺暫留現象,就能夠看到顯示屏上穩定的圖形了。
採用掃描方式進行顯示時,每一行有一個行驅動器,各行的同名列共用一個驅動器。顯示數據通常存儲在單片機的存儲器中,按8位一個位元組的形式順序排放。顯示時要把一行中各列的數據都傳送到相應的列驅動器上去,這就存在一個顯示數據傳輸的問題。從控制電路到列驅動器的數據傳輸可以採用並列方式或串列方式。顯然,採用並行方式時,從控制電路到列驅動器的線路數量大,相應的硬體數目多。當列數很多時,並列傳輸的方案是不可取的。
採用串列傳輸的方法,控制電路可以只用一根信號線,將列數據一位一位傳往列驅動器,在硬體方面無疑是十分經濟的。但是,串列傳輸過程較長,數據按順序一位一位地輸出給列驅動器,只有當一行的各列數據都以傳輸到位之後,這一行的各列才能並行地進行顯示。這樣,對於一行的顯示過程就可以分解成列數據准備(傳輸)和列數據顯示兩部分。對於串列傳輸方式來說,列數據准備時間可能相當長,在行掃描周期確定的情況下留給行顯示的時間就太少了,以致影響到LED的亮度。
解決串列傳輸中列數據准備和列數據顯示的時間矛盾問題,可以採用重疊處理的方法。即在顯示本行各列數據的同時,傳送下一列數據。為了達到重疊處理的目的,列數據的顯示就需要具有所存功能。經過上述分析,就可以歸納出列驅動器電路應具有的功能。對於列數據准備來說,它應能實現串入並處的移位功能;對於列數據顯示來說,應具有並行鎖存的功能。這樣,本行已准備好的數據打入並行鎖存器進行顯示時,串並移位寄存器就可以准備下一行的列數據,而不會影響本行的顯示。圖1為顯示屏電路實現的結構框圖。

圖1,顯示屏電路框圖

4.1 系統硬體電路的設計
硬體電路大致上可以分成單片機系統及外圍電路、列驅動電路和行驅動電路三部分。
4.1.1單片機系統及外圍電路
單片機採用MSC-51或其兼容系列晶元,採用24MHZ或更高頻率晶振,以獲得較高的刷新頻率,時期顯示更穩定。單片機的串口與列驅動器相連,用來顯示數據。P1口低4位與行驅動器相連,送出行選信號;P1.5~P1.7口則用來發送控制信號。P0口和P2口空著,在有必要的時候可以擴展系統的ROM和RAM。16x16的點陣顯示屏的硬體原理圖如圖2所示(在附錄A)。
4.1.2列驅動電路
列驅動電路有集成電路74HC595構成。它具有一個8位串入並出的移位寄存器和一個8位輸出鎖存器的結構,而且移位寄存器和輸出鎖存器的控制是各自獨立的,可以實現在顯示本行列數據的同時,傳送下一行的列數據,既達到重疊處理的目的。
74HC595的外形及內部結構如圖3所示。它的輸入側有8個串列移位寄存器,每個移位寄存器的輸出都連接一個輸出鎖存器。引腳SI是串列數據的輸入端。引腳SCK是移位寄存器的移位時鍾脈沖,在其上升沿發生移位,並將SI的下一個數據打入最低位。
移位後的各位信號出現在各移位寄存器的輸出端,也就是輸出鎖存器的輸入端。RCK是輸出鎖存器的打入信號,其上升沿將移位寄存器的輸出打入輸出鎖存器。引腳G是輸出三態門的開放信號,只有當其為低時鎖存器的輸出才開放,否則為高組態。SCLR信號是移位寄存器清零輸入端,當其為低時移位寄存器的輸出全部為零。由於SCK和RCK兩個信號是互相獨立的,所以能夠做到輸入串列移位與輸出鎖存互不幹擾。晶元的輸出端為QA~QH,最高位QH可作為多片74HC595級聯應用時,向上一級的級聯輸出。但因為QH受輸出鎖存器的打入控制,所以還從輸出鎖存器前引出QH,作為與移位寄存器完全同步的級聯輸出。

QB 1 16 Vcc
QC 2 15 QA
QD 3 14 SI
QE 4 13 G
QF 5 12 RCK
QG 6 11 SCK
QH 7 10 SCLR
GND 8 9 QH

圖3. 74HC595外形及引腳

4.1.3行驅動器
單片機P1口低4位輸出的行號經4/16線解碼器74LS154解碼後生成16條行選通信號線,再經過驅動器驅動對應的行線。一條行線上要帶動16列的LED進行顯示,按每一LED器件20MA電流計算,16個LED同時發光時,需要320MA電流,選通三極體8550作為驅動管可滿足要求。
4.2.系統程序的設計
顯示屏軟體的主要功能是向屏體提供顯示數據,並產生各種控制信號,使屏幕按設計的要求顯示。根據軟體分層次設計的原理,可以把顯示屏的軟體系統分為兩層;第一層是底層的顯示驅動程序,第二層是上層的系統應用程序。顯示驅動程序負責向屏體送顯示數據,並負責產生行掃描信號和其他控制信號,配合完成LED顯示屏的掃描顯示工作。顯示驅動器程序由定時器T0中斷程序實現。系統應用程序完成系統環境設置(初始化)、顯示效果處理等工作,由主程序來實現。
從有利於實現較復雜的演算法(顯示效果處理)和有利於程序結構化考慮,顯示屏程序適宜採用C語言編寫。
4.2.1顯示驅動程序
顯示驅動程序在進入中斷後首先要對定時器T0重新賦初值,以保證顯示屏刷新率的穩定,1/16掃描顯示屏的刷新率(幀頻)計算公式如下:

刷頻率(幀頻)=1/16×T0溢出率

=1/16×f/12(65536-t)

其中f位晶振頻率,t為定時器T0初值(工作在16位定時器模式)。
然後顯示驅動程序查詢當前燃亮的行號,從顯示緩存區內讀取下一行的顯示數據,並通過串口發送給移位寄存器。為消除在切換行顯示數據的時候產生拖尾現象,驅動程序先要關閉顯示屏,即消隱,等顯示數據打入輸出鎖存器並鎖存,然後再輸出新的行號,重新打開顯示。圖4為顯示驅動程序(顯示屏掃描函數)流程圖。

圖 4 顯示驅動程序流程圖
4.2.2系統主程序
本文設計的系統軟體能使系統在目測條件下LED顯示屏各點亮度均勻、充足,可顯示圖形和文字,顯示圖形和文字應穩定、清晰無串擾。圖形或文字顯示有靜止、移入移出等顯示方式。
系統主程序開始以後,首先是對系統環境初始化,包括設置串口、定時器、中斷和埠;然後以「卷簾出」效果顯示圖形,停留約3s;接著向上滾動顯示「我愛單片機」這5個漢字及一個圖形,然後以「卷簾入」效果隱去圖形。由於單片機沒有停機指令,
所以可以設置系統程序不斷的循環執行上述顯示效果。
單元顯示屏可以接收來自控制器(主控制電路板)或上一級顯示單元模塊傳輸下來的數據信息和命令信息,並可將這些數據信息和命令信息不經任何變化地再傳送到下一級顯示模塊單元中,因此顯示板可擴展至更多的顯示單元,用於顯示更多的顯示內容。
圖5是系統主程序流程圖。

圖 5 系統主程序流程圖

5性能分析與總結
5.1 性能分析
LED顯示屏硬體電路只要硬體質量可靠,引腳焊接正確,一般無需調試即可 正常工作。軟體部分需要調試的主要有顯示屏刷新頻率及顯示效果兩部分。顯示屏刷新率由定時器T0的溢出率和單片機的晶振頻率決定,表5.1給出了實驗調試時採用的頻率及其對應的定時器T0初值。

表5.1 顯示平刷新率與T0初值關系表(24MHz晶振)

刷新率 25 50 62.5 75 85 100 120
T0初值 0Xec78 0Xf63C 0Xf830 0xF97E 0XFA42 0XFB1E 0xFBEE

從理論上來說,24Hz以上的刷新頻率就能看到穩定的連續的顯示,刷新率越高,顯示越穩定,同時刷新頻率越高,顯示驅動程序佔用的CPU時間越多。試驗證明,在目測條件下刷新頻率40Hz一下的畫面看起來閃爍較嚴重,刷新頻率50Hz以上的已基本察覺不出畫面的閃爍,刷新頻率達到85Hz以上時再增加畫面閃爍沒有明顯的改善。
顯示效果處理程序的內容及方法非常廣泛,其調試過程在此不作具體討論,讀者可以照源程序自行分析。
這個方案設計的16x16的點陣LED圖文顯示屏,電路簡單,成本較低,且較容易擴展成更大的顯示屏;顯示屏各點亮度均勻、充足;顯示圖形或文字穩定、清晰無串擾;可用靜止、移入移出等多種顯示方式顯示圖形或文字。
5.2 總結
本文設計的一個室內用16x16的點陣LED圖文顯示屏,能夠在目測條件下LED顯示屏各點亮度均勻、充足,可顯示圖形和文字,顯示圖形和文字應穩定、清晰無串擾。圖形或文字顯示有靜止、移入移出等顯示方式。本系統具有硬體少,結構簡單,容易實現,性能穩定可靠,成本低等特點。
總結本文的研究工作,主要做了下面幾點較突出的工作:
一、通過查閱大量的相關資料,詳細了解了LED的發光原理和LED顯示屏的原理,了解了LED的現狀,清楚地了解了LED顯示屏與其它顯示屏相比較有那些
優點,明確了研究目標。
二,本文設計的LED顯示屏能夠實現在目測條件下LED顯示屏各點亮度均勻、充足,可顯示圖形和文字,顯示圖形和文字應穩定、清晰無串擾。圖形或文字顯示有靜止、移入移出等顯示方式。
三,文章給出了系統具體的硬體設計方案,硬體結構電路圖,軟體流程圖和具體匯編語言程序設計與調試等方面。
四,在這次畢業設計的過程中學會了 Protel 99se 的基本使用,感到Protel 99se 對自動化專業的同學來說是一門很有用的課程。
五,通過這次畢業設計,重新復習並進一步學習了MCS-51;熟練掌握了WORD軟體的使用。
六,存在缺陷:沒有考慮抗干擾的問題。
致謝
本文是在黃金明老師的悉心指導下完成的。從課題的立項、選題到課題的開發與研究,再到本論文的撰寫到定稿的每一步工作都傾注著黃老師的心血和汗水,同時得到同學們相助,並提供了大量的資料. 在此,對於老師和同學們的幫助表示忠心的感謝。

參考文獻
[1] 何立民.MCS-51系列單片機應用系統設計與介面技術 .北京航空航天大學出版社,1990
[2] 任濤等.閃速存儲器數據及應用簡明速查手冊.電子工業出版社,1997
[3] 何立民.單片機應用技術選編.北京航空航天大學出版社,2000
[4] 張毅剛等.MCS-51單片機應用設計.哈爾濱工業電子出版社,1996
[5] 鄔寬明.單片機外圍器件實用手冊.北京航空航天大學出版社,1998
[6] 張凱.LED介紹完全手冊.北京航空航天大學出版社,2000
[7] 張友德等.單片微型機原理應用與實驗,復旦大學出版社,1996

附錄A 16x16的點陣LED圖文顯示屏的硬體原理圖

附錄 B 主要匯編程序清單

以下是16x16的點陣LED電子圖文顯示屏的源程序採用匯編語言編寫(也可採用C語言編寫,C程序KeiluVision2 V2.30環境下調試通過。
以下為用匯編語言編寫的字元顯示控製程序:
; ***************************************
; * *
; * 單個16x16的點陣電子屏字元顯示器 *
; * ATA89C52 12MHz晶振 *
; * 2004.2.11 LRM *
; ***************************************
;顯示字用查表法,不佔用內存,字元用16x16共陽LED點陣,
;效果:向上滾動顯示5個字,再重復循環。
;R1:查表偏址寄存器,B:查表首址,R2:掃描地址(從00~0FH)。
;R3:滾動顯示時控制移動速度,單字顯示可控制靜止顯示的時間。
;*************;
;中斷入口程序 ;
;*************;

ORG 0000H
LJMP START
ORG 0003H
RETI
ORG 000BH
LJMP INTTO
ORG 0013H
ERTI
ORG 001BH
ERTI
ORG 0023H
RETI
ORG 002BH
RETI

;***********;
;初始化程序;
;***********;


;***********;
; 主程序 ;
;***********;

START: MOV 20H,#00H ;清零標志,00H為第16行開始掃描標志,01為1幀
;掃描結束標志
MOV A,#0FFH ;埠初始化
MOV P1,A
MOV P1,A
MOV P3,A
MOV P0,A
CLR P1.6 ;串列寄存器輸入打入輸出控制位
MOV TMOD,#01H ;使用T0做16位定時器,行掃描用。
MOV TH0,#0FCH ;1ms初值(12MHz)
MOV TL0,#18H
MOV SCON,#00H ;串口0方式傳送顯示位元組
MOV IE,#82H ;T0中斷允許,總中斷允許
MOV SP,#70H
MAIN: LCALL DISI ;顯示准備,黑屏,1.5s
MOV DPTR,#TAB
LCALL MOVDISP ;向上滾動顯示一頁(8個字)
INC DPH
LCALL MOVDISP ;向上滾動顯示一頁(8個字)
INC DPH
LACLL MOVDISP ;向上滾動顯示一頁(8個字)
AJMP MAIN


;***********************;
; 多字滾動顯示程序 ;
;***********************;
;每次8個字,入口時定義好DPTR值

MOVDISP: MOV B,#00H ;向上移動顯示,查表偏值暫存(從00開始)
DISLOOP: MOV R3,#07H ;移動速度
DISMOV: MOV R2,00H ;第0行開始
MOV R1,B
SETB TR0 ;開掃描(每次一幀)
WAITMOV: JBC 01H,DISMOV1 ;標志為1掃描一幀結束(16ms為1幀,每行1ms)
AJMP WAITMOV
DISMOV1: DJNZ R3,DISMOV ;1幀重復顯示(控制移動速度)
INC B ;顯示字的下一行(每行2位元組)
INC B
MOV A,R1 ;R1為0,8個字顯示完
JZ MOVOUT
AJMP DISLOOP
MOVOUT: RET ;移動先是結束


;****************;
; 單字顯示程序 ;
;****************;
;顯示表中某個字;
;****************;
DIS1: MOV R3,#5AH ;靜止顯示時間控制(16ms*#=1.6s)
DIS11: MOV R2,#00H ;一幀掃描初始值(行地址從00~0FH)
MOV DPTR,#TAB ;取表首址
MOV R1,#00H ;查表偏址(顯示第一個字)
SETB TR0 ;開掃描(每次一幀)
WAIT11: JBC 01H,DIS111 ;為1,掃描一幀結束
AJMP WAIT11
DIS111: DJNZ R3,DIS11
RET


;************;
; 掃描程序 ;
;************;
;1ms刷新一次,每行顯示1s
INTT0: PUSH ACC
MOV TH0,#0FCH ;1ms初值重裝
MOV TL0,#18H
JBC 00H,GOEND ;16行掃描標志為1,結束
INC R1 ;取行右邊位元組偏址
MOV A,R1
MOVC A,@A+DPTR ;查表
MOV SBUF,A ;串口0方式發送
WAIT: JBC TI,GO ;等待發送完畢
AJMP WAIT1
GO: DEC R1 ;取行左邊位元組偏址
MOV A,R1
MOVC A,@A+DPTR
MOV SBUF,A
WAIT1: JBC T1,GO1
AJMP WAIT1
GO1: SETB P1.7 ;關行顯示,准備刷新
NOP ;串口寄存器數據穩定
SETB P1.6 ;產生上升沿,行數據打入輸出端
NOP
NOP
CLR P1.6 ;恢復低電平
MOV A,R2 ;修改顯示行地址
ORL A,#0F0H ;修改顯示行地址
MOV R2,A ;修改顯示行地址
MOV A,P1 ;修改顯示行地址
ORL A,#0FH ;修改顯示行地址
ANL A,R2 ;修改顯示行地址
MOV P1,A ;修改完成
CLR P1.7 ;開行顯示
INC R2 ;下一行掃描地址值
INC R1
INC R1 ;下一行數據地址
MOV A,R2
ANL A,#0FH
JNZ GO2
SETB 00H ;R2為01H,現為末行掃描,置標志
GO2: POP ACC
RETI
GOEND: CLR TR0 ;一幀掃描完畢,關掃描
SETB 01H ;一幀掃描完畢,置結束標志
POP ACC
RETI ;退出


;***************;
; 掃描文字表 ;
;***************;

TAB:DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,00FFH,0FFH,0FFH ;黑屏
DB
0F9H,0BFH,0C7H,0AFH,0F7H,0B7H,0F7H,0B7H,0F7H,0BFH,000H,001H,0F7H,0BFH,0F7H,0B7H ;我
DB
0F1H,0D7H,0C7H,0CFH,037H,0DFH,0F7H,0AFH,0F6H,06DH,0F7H,0F5H,0D7H,0F9H,0EFH,0FDH ;
DB
0FFH,007H,0C0H,06FH,0EDH,0EFH,0F6H,0DFH,0C0H,001H,0DDH,0FDH,0BDH,0FFH,0C0H,003H ;愛
DB
0FBH,0FFH,0F8H,00FH,0F3H,0DFH,0F4H,0BFH,0EFH,03FH,09CH,0CFH,073H,0F1H,0CFH,0FBH ;
DB
0F7H,0DFH,0F9H,0CFH,0FBH,0BFH,0C0H,007H,0DEH,0F7H,0C0H,007H,0DEH,0F7H,0DEH,0F7H ;單
DB
0C0H,007H,0DEH,0F7H,0FEH,0FFH,000H,001H,0FEH,0FFH,0FEH,0FFH,0FEH,0FFH,0FEH,0FFH
DB
0FFH,0BFH,0EFH,0BFH,0EFH,0BFH,0EFH,0BBH,0E0H,001H,0EFH,0FFH,0EFH,0FFH,0EFH,0FFH ;片
DB
0E0H,00FH,0EFH,0EFH,0EFH,0EFH,0EFH,0EFH,0DFH,0EFH,0DFH,0EFH,0BFH,0EFH,07FH,0FFH
DB
0EFH,0FFH,0EFH,007H,0EFH,077H,001H,077H,0EFH,077H,0EFH,077H,0C7H,077H,0CBH,077H ;機
DB
0ABH,077H,0AFH,077H,06EH,0F7H,0EEH,0F5H,0EDH,0F5H,0EDH,0F5H,0EBH,0F9H,0EFH,0FFH ;
DB
0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH ;黑屏
DB
0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH ;
END

⑸ 如何我用單片機控制外圍電路的通斷除了繼電器還有什麼小巧的器件嗎

光電耦合器。雙向或單向可控硅。固態繼電器。

⑹ 請問在用單片機開發時常用的外圍器件有哪些比如通訊等等。

光單片機正常工作就要有電源,電源一般用穩壓蕊片穩出來,如7805.然後要有晶振使單片機工作.晶振要有電容配合使用,電阻當然也需要用到led這些也要用來指示.通訊則一定要有MAX232蕊片來做串口通訊用.按鍵也當然要.還有顯示用的lcd屏之類的.希望對你有幫助啦.

⑺ 單片機的外圍電路有哪些

外圍電路設計要求有哪些?
1、減小電源電路紋波,電源電路輸入端的消耦設計,常見0.1μF的陶瓷電容
2、有條件的情況下採用獨立電源電路,並匹配合理電容,減小其他元件對射頻模塊的電源影響
3、模塊盡量遠離電源、變壓器及其他高頻電路,避免電磁干擾
4、SPI 上時鍾波形不標准,檢查 SPI 線上是否有干擾,SPI匯流排走
線不宜過長。SPI的時序迴路應避開晶振區域。
5、高頻及電源走線,避開模塊及模塊背面
6、如果通信電平不一致,例如3.3V-5V,推薦添加電平轉換電路
7、PCB天線外露且放到PCB板邊緣,盡量不建議放到模塊內部,天線下方開槽,切記不能敷銅
8、對於郵票孔引出的天線,注意連接處盡量平滑,少毛刺,且兩側應鋪地。不能轉折線,如果一定要轉彎,應走弧形。

⑻ 單片機的基本外圍電路

單片機的基本外圍電路:

復位電路中電阻R1=10k時RST是高電平 ,而當R1=50時RST為低電平,很明顯R1=10k時是錯誤的,單片機一直處在復位狀態時根本無法工作。

出現這樣的原因是由於RST引腳內含三極體,即便在截止狀態時也會有少量截止電流,當R取的非常大時,微弱的截止電流通過就產生了高電平。

濾波電容

濾波電容分為高頻濾波電容和低頻濾波電容。

1、高頻濾波電容一般用104容(0.1uF),目的是短路高頻分量,保護器件免受高頻干擾。普通的IC(集成)器件的電源與地之間都要加,去除高頻干擾(空氣靜電)。

2、低頻濾波電容一般用電解電容(100uF),目的是去除低頻紋波,存儲一部分能量,穩定電源。大多接在電源介面處,大功率元器件旁邊,如:USB借口,步進電機、1602背光顯示。耐壓值至少高於系統最高電壓的2倍。

閱讀全文

與單片機外圍器件實用相關的資料

熱點內容
加密晶元的計算方法 瀏覽:187
手機存儲為什麼找不到微信文件夾 瀏覽:695
msf埠遷移命令 瀏覽:880
工商app積分怎麼查詢 瀏覽:143
鐵路app怎麼買火車票 瀏覽:309
移魅族除的app怎麼添加 瀏覽:240
兔籠子大號加密 瀏覽:171
單片機程序燒錄操作成功 瀏覽:878
指標高拋低吸點位源碼 瀏覽:205
25匹壓縮機銅管 瀏覽:570
單片機單燈左移05 瀏覽:150
買伺服器練手什麼配置 瀏覽:783
伺服器被毀該怎麼辦 瀏覽:939
python私有庫 瀏覽:514
Python有中文嗎 瀏覽:736
麥塊的伺服器為什麼都進不去 瀏覽:474
新買的伺服器如何打開 瀏覽:35
安卓軟體游戲怎麼開發 瀏覽:319
用撲克擺愛心解壓神器怎麼擺 瀏覽:70
松下製冷壓縮機 瀏覽:275