❶ 單片機論文
單片機論文
在平時的學習、工作中,大家都經常接觸到論文吧,論文是指進行各個學術領域的研究和描述學術研究成果的文章。怎麼寫論文才能避免踩雷呢?以下是我為大家收集的單片機論文,僅供參考,歡迎大家閱讀。
摘要:
本文針對工科院校單片機課程中存在的問題進行探究,提出了以項目化教學作為主導的改革方案,以學生為本,充分調動學生的主觀能動性和學習興趣。
關鍵詞:
項目;單片機教學;改革探索
單片機課程將程序設計、通信技術、微機介面等多種專業知識綜合在一起,是一門工程性、實踐性以及技術性很強的課程。單片機課程是電子信息和自動化等專業的核心課程。
1、單片機課程教學現狀
1.1教師教學手段較為單一
單片機是大規模集成電路的發展產物,內部結構較為復雜。各大工科類院校對於單片機教學,仍舊採用教師在課堂上面講述相關的理論知識、單片機內部結構,然後講解單片機的程序設計以及匯編語言,教學方式較為單一,使學生沒能抓住學習的重點,喪失對單片機學習的熱情和興趣,導致教學質量越來越差[1]。
1.2學生沒有明確的學習目標
單片機課程的實踐性和應用性較強,在學習時要以應用為主要目標,然而有許多教師在教學的過程中忽略了這一點,導致學生沒有明確的學習目標,單純地跟著教師的思路,缺乏學習自主性和探究意識,學習目標不明確,影響教學效率。
1.3學生缺乏實踐機會
學生在做實驗時,主要的器材就是一本實驗指導書、一個集成實驗箱,學生按照指導書上面的流程機械式的進行實驗,盲目的觀察實驗結果,對於實驗中所應用到的一些原理模糊不清,導致學生在實驗結束後仍舊對所學的內容有疑惑,沒能掌握相關器材基本使用的方式,更沒有將之運用到實際工程中的能力。
1.4考核方式有著一定的局限性
各種工科類院校對於學生單片機課程考試仍舊採用筆試的方式,這種考試形式具有一定的局限性,不能真實客觀的反映出學生的學習水平,更不能考察出學生的實踐能力和動手能力,這種考試方式沒能很好的與實踐相結合,導致考核結果不具有客觀性。
2、應用項目教學方法
項目教學方法能夠很好的適用於技術教育,可以將學科體系的內容轉化成若干教學項目,然後圍繞著這些項目進行教學,教師要引導學生直接參與到項目教學整個過程中[2]。設計教學項目,著重強調讓學生參與其中,在模擬的生產場景中,完成規定的項目,這是理論與實踐的完美結合。
在項目教學整個過程中,學生要在規定的時間內,可以自由的進行討論,安排整個過程的進度,如此有助於激發學生的創新能力和積極性,培養了學生分析、解決問題的能力和團隊的協作能力。
3、項目教學法的實施步驟
如今許多單片機教科書中知識結構都是從簡單的數制到較為復雜的單機硬體,最後再到復雜的系統介面技術。但項目教學法改變了傳統的教學模式,教師能夠靈活掌握課程的教學順序,合理的安排教學任務,並結合自身多年教學經驗,總結出幾個步驟幫助學生對單片機進行有效的學習。首先應該對單片機有所感知,自己查找一些有關資料,進一步了解對單片機學習的必要性和應用性;其次教師要給學生布置一些項目具體的任務,例如製作秒錶、電子萬年歷等,給每個學生分配具體的任務,讓他們由淺及深的了解單片機課程;再次教師要對一些小模塊進行具體的講解和分析;最後以期末的實訓內容作為引導,將之貫穿於整個理論教學的過程中,模擬出一些生產場景,增強學生實際動手能力,完成最終的項目教學目標。
4、項目的選擇
項目化教學主要是以項目為主要載體,以任務作為動力,將實踐和理論緊密的結合起來,使學生在完成任務過程中就能夠充分掌握相關的技能和知識,進而不斷提高學生的實踐能力和學習效果。在設計教學時,要挑選合適的項目來保證改革效果。所選的項目既能包含單片機相關的知識,又不會過大的增加學生的學習負擔,給學生造成一定的心理壓力。
5、基於項目的單片機改革策略
5.1以項目為主要導向
傳統的教學方法主要是以教師講授知識為主,重視教師、教材以及課堂教學,這種傳統的教學模式主要強調理論知識的連續性和基礎知識的運用,但卻忽略了對學生興趣以及創造能力的培養。現階段,在課堂教學中要改變這種教學模式,變換傳統的教學結構,打破原有的教學框架,將教材中原有的知識順序分散成諸多小的知識點,運用一些經典的項目案例將這些小的知識點融入整個課堂教學,從而能夠實現以項目為導向教學模式。
5.2項目設置的方法
教師要對項目的實例進行選擇,認真撰寫項目的內容。所選的基礎項目能夠與學生自身的興趣相符合,給學生布置一些功能簡單易於實現的項目任務。選擇技能項目,鼓勵學生通過多種形式來實現項目的具體要求,對於學生獨立思考的能力有著較高的要求,在教學過程中教師可以指導學生進行分組討論,主要以學生互相討論以及師生互動的形式進行。綜合項目則是側重學生知識的提高,對於一些能力較強的學生應該充分發揮出他們的鑽研精神,能夠在鑽研的過程中提升自身專業技能。例如教師給學生布置一些製作秒錶的項目任務,讓學生自己動手,在製作的過程中將所學的知識運用到操作之中,使得學生們的理論知識與實踐能力有效的.結合在一起。
5.3測評環節
以項目為主要導向的教學過程中,考核的方式與傳承考試也有所不同,考量學生的學習效果主要是通過綜合評價實現的,主要評價有自我評價、教師評價、學生互評以及項目組長的評價等。
從項目框架的設計、需求的分析以及詳細的方案等各個環節對學生進行點評打分。教師在評價的過程中,主要以支持和鼓勵學生為主,可以增加學生自信心;在小組評價的過程中,應該著重了解學生在整個項目中所起到的作用,觀察學生是否屬於設計的主要人員,在設計的過程中是否配合等;在自我評價的過程中,要反映出自身在學習過程中所遇到的困難,在面對困難時是否能及時尋找到解決問題的方法,自我測評在今後的學習中有利於提升學生的學習效率。學生應該虛心接受別人的評價,在評價中才能夠更快、更好地改善自己的不足之處,不斷地完善自己。
6、結束語
項目教學法能夠充分調動學生學習的積極性,在整個教學過程中,既提升了學生的實踐能力,又促進了師生之間的情感交流。本文著重探討了工科類院校單片機課程教學的現狀,如教師教學手段較為單一、學生沒有明確的學習目標、學生缺乏實踐機會、考核方式具有一定的局限性。
本文也研究了應用項目教學方法、項目教學法的實施步驟、基於項目的改革策略等,主要是以項目為導向,設置項目方法優化測評環節。如此才能大幅度的提升學生們的實踐能力、創新能力以及思維能力。
參考文獻:
[1]李冰.單片機課程的項目化教學改革與實踐[J].實驗室科學.2014(1).
[2]郭毅飛,王華.項目教學法在單片機教學改革中的應用[J].湖南農機.2013(1).
摘要:
單片機是當前被運用到各個領域的一個技術產品,隨著當前社會生產活動的增多,單片機被運用到眾多的生產領域中,在一定程度上提升了人們的生活水平和質量。就當前單片機的使用情況看,單片機更多地被運用到電子技術領域中,提升電子領域的發展程度,例如在儀表儀器中使用單片機可以提升其智能程度;單片機在工業控制中通過自身功能的發揮,可使工業控制更加先進化。該文從單片機的概述入手,研究在電子技術發展中單片機運用的程度。
關鍵詞:
單片機;電子技術;應用研究
20個世紀70年代,單片機得到快速的發展,形成一個品種較為全面,功能更加強大的技術產品,開始在各生產領域中運用。隨著近半個世紀的發展,單片機取得更優質的成果,科技水平更加先進,在眾多領域中實現高效運用,提升這些領域的發展程度。單片機現在在電子技術領域中得到廣泛的使用,如在通信功能、儀表儀器等方面實現高效的運用,促進這些企業實現優質的發展。同時,隨著單片機運用程度的增加,應用領域的擴展,其技術呈現創新發展趨勢。
1、單片機的科學分析
1.1概述
單片機是嵌入式系統的一個組成部分,它採用規模較大的電路技術將CPU、RAM、ROM以及定時器等眾多功能集成在一個矽片上,繼而形成一個具有完善功能的,微型的計算機系統。單片式是1970年左右開始在生產中運用,隨著多年技術的革新和使用程度的加深,當前它在汽車電子,醫療器械,工業控制以及儀表儀器中得到運用。單片式發展速度較快,由最開始的4位單片機發展成8位單片機,到目前300M具有高速運轉和處理能力的單片機。
1.2主要特點
單片機是當前計算機發展的一個重要組成部分,隨著計算機水平的增長,單片機也呈現高效革新的態勢,且呈現不同用途的,不同型號的單片機產品。以AT89S52型號單片機為例,單片機目前重要的發展特點有6個方面。
第一,單片機具有使用方便的特點,單片機整體體積較小,系統構成較為簡單,整體呈現模塊化;
第二,對環境的要求較低,單片機具有較強的環境適應能力,可以在不同的環境得到運用;
第三,控制能力較強大,單片機有著較強的科技力量,通過眾多功能的集成,其具有很強的控制功能;
第四,功能消耗較低,單片機在運行的時候只需要較低的電壓,整體對功能的消耗低;
第五,速度快,單片機具有極強的處理功能,對各項數據和信息有著極快的處理速度;
第六,可靠性高,單片機可以實現長時間的工作,提升整體系統的運轉能力。
2、電子技術中單片機的應用情況分析
2.1手機通信中的運用
單片機在電子通訊中得到運用,主要體現在手機語音功能的建設中,單片機對手機語音信息進行識別,並開展相關操作。在手機的音頻入口安置單片機可以使其收集眾多的音頻信息,系統分辨工作開展之後,向各個部件下具體的指令和信息,實現語音信息中的手機操作。
2.2單片機提升醫療器械診斷正確性
人們在實現溫飽之後,更加關注自身的健康,對醫療水平有著越來越高的需求。但是,在醫療建設的過程中總會出現一些問題,檢測手段以及消毒水平存在一定的不足,影響整體醫療建設的質量。單片機在醫療器械中得到運用之後,大大減少了醫療問題的出現,使醫療工作得到一定程度的提升。單片機的使用增加了醫療設備的診療准確性,提升了診斷的精準性。同時,隨著單片機在醫療器械中的運用,整體醫療設備朝著更加智能化、自動化的發展方向前進,使醫療診斷的結果更加精準,更好地為人們的健康提供醫療保障。
2.3單片機使儀表儀器的使用更加智能化
單片機因其集成度高等特點被用於儀表儀器的生產,隨著單片機科研水平的不斷革新,儀表儀器的發展更加智能化,更加符合當前人們的使用需求。同時,隨著單片機使用程度的增加,儀表儀器設備朝著數字化方向發展,整體測試水平較高,儀表儀器控制和處理的功能建設更加優質。例如,在航天儀器製造的時候,使用單片機這種先進的技術可以使儀器的精準性和集成性更強,提升航天電子系統的數字化程度,大大降低航天事故發生的幾率。
2.4家電中普遍使用單片機
單片機不僅在高科技的領域中實現運用,如醫療器械、儀表儀器等領域,同時也在日常生活中得到運用,例如在家電行業中。隨著科研水平的發展,單片機越來越多地在生活中得到運用,提升人們生活的質量和幸福感。當前人們家庭生活中使用的洗衣機、微波爐以及電視機等家電都運用了單片機這項技術。在電視機的運用中,通過使用單片機使其系統控制技術更加先進,功能操作更加便捷。
例如,人們可以通過遙控器自由切換不同的電視頻道,選擇自己想看的電視節目。單片機在微波爐建造中,通過系統信息的處理,可以根據食材的不同進行科學的、自動的選擇工作,主要是選擇加熱時所需要的溫度和具體時間。單片機在洗衣機的系統控制中,可以根據衣物的材質以及臟污程度進行自動洗滌,對洗衣液的使用量、洗滌的強度控制以及詳細的洗滌時間有著科學的控制和選擇。
3、單片機在未來電子技術領域中開發趨勢分析
隨著社會生產實力的增強,科研技術程度更加深入,單片機型號和技能革新的速度會越來越快,其在電子領域的應用開發主要從以下3個方面進行。
3.1對單片機程序開發
隨著單片機自身開發程度的加深,其在嵌入式系統的建設中得到越來越全面的運用,目前已經不在裸機的環境中實現開發和使用。單片機已經實現一定程度的自動執行,可以對數據進行較強的儲存,科學處理和傳輸數據。單片機具有較強的環境使用能力,可以保障計算機在不同的環境中實現正常的運轉和數據的處理,對外界的物理參數實現高質量的採集,並對其進行邏輯分析和正確的處理。
3.2優化C語言系統程序
C語言有著強大的數據處理能力,可以以簡易的方式對編程語言開展編譯、處理等工作,有著強大的編程能力。為了使單片機在復雜的計算數據和控制數據的環境中實現正常的使用,提升系統的集成和控制能力,一定要加強C語言在單片機中的運用程度。通過對C語言更深度的開發,可以加大單片機的開發程度和力度,進而拓展單片機使用和運用的范圍和領域。
3.3加強對計算機的研發
目前,單片機的製作中使用眾多的通信介面,通過介面的連接可以和計算機進行數據的交流和溝通。可以說,單片機通過通信介面可以讓通信設備和計算機形成一定的聯系,可以使雙方進行精準的數據支持,提升設備對數據的使用程度和運用程度。為此,要想對單片機進行深度的開發,應該對計算機進行系統的分析和運用,提升數據連接和傳輸的質量。
4、結語
單片機是當前計算機發展的一個重要組成部分,隨著計算機水平的增長,單片機也呈現高效革新的態勢,在電子領域實現高效的運用。突出表現在手機通信中和家庭電器的使用中,提升人們的生活建設質量。同時,單片機使儀表儀器的使用更加智能化,提升醫療器械的診斷正確性。在未來的發展中,可以通過對單片機程序進行開發、優化C語言系統程序以及加強對計算機的研發這3個方面提升單片機在電子領域的運用程度。
參考文獻
[1]鄭澤宏.單片機在電子技術中的應用和開發技術研究[J].科技信息,2013(25):140,221.
[2]王紅紀,徐小亞.單片機在電子技術中的應用和開發[J].電子測試,2014(13):44-46.
[3]王德權.研究單片機在電子技術中的應用[J].科技與企業,2013(3):113.
[4]張力.單片機在電子技術中的應用和開發[J].電子技術與軟體工程,2016(5):259.
[5]許文濤.單片機在電子技術中的應用[J].黑龍江科技信息,2016(19):15.
摘要: 隨著電子科技的飛速發展,尤其是超大規模集成電路的出現,給我國的經濟帶來了實質性的改變。其中,對於單片機的使用已經在很多領域都有出現,比如說在工業自動化控制房間、在智能儀器儀表方面以及各種家用電器方面,單片機都起到了很大的作用。由於其極高的性能價格比,使其在電子時鍾方面的應用也是很常見的。本文通過對普通單片機電子時鍾的設計分析,從而達到對單片機進行更深入的學習與設計。
關鍵詞: 單片機;電子時鍾;設計分析
時鍾就是一個最典型的例子,由於人們的生活速度越來越快,人們的時間觀念也在不斷增強,生活中處處離不開時鍾,時鍾對人們可以說是不可或缺的東西。現如今,時鍾的樣式很功能也越來越多,人們對時鍾的精準度要求也越來越高。本文就是針對時鍾的精準度來設計一個普通單片機電子時鍾。
一、單片機的簡單介紹
(一)單片機的定義與分類
單片機是一種集成電路晶元,採用超大規模集成電路技術把具有數據處理能力的中央處理器、隨即存儲器、只讀存儲器等集成到一塊矽片上構成的一個小而完善的微型計算機系統。主要分類包括:STC系列單片機、AVR單片機、AT系列單片機等等 。
(二)單片機的應用與發展
目前,隨著電子自動化的廣泛應用,單片機以其自身的諸多優勢已經應用到了各個領域之中,這些領域主要包括智能儀器儀表、計算機網路、機器人控制、工業控制、家電管理等等。由於單片機的優勢很有多,在未來的生活中一定會被更多的領域所應用,有很好的發展趨勢。
二、單片機電子時鍾的設計方案
單片機電子時鍾的構成主要由:一個8位CPU;一個片內振盪器及時鍾電路;4K位元組ROM程序存儲器;256位元組RAM數據存儲器;兩個16位定時器/計數器;可定址64K外部數據存儲器和64K外部程序存儲器空間的控制電路;32條可編程的I/O線(四個8位並行I/O埠)和一個可編程全雙工串列口組成。
單片機電子時鍾的設計主要是對時鍾的內部工作和外部顯示進行設計,主要的設計方案則分為數字時鍾方案和數碼管顯示方案。通過數字時鍾和數碼管顯示的完美結合使電子時鍾的質量得到完善和保證。
(一)數字時鍾方案
這部分是單片機電子時鍾最主要的設計,也是時鍾內部工作部分。在單片機的內部存儲器中設置三個分別代表時、分、秒信息的位元組。在對內部的存儲器進行設置的時候,要根據時鍾的運作規律設定,時鍾的工作是由內部的定時器和軟體結合來實現的。對此設定1秒中斷,以此來推動秒針的運動,而當秒針中斷的次數達到60次的時候,則將其清零,同時分針的位元組開始運行,以此類推,當分鍾的中斷次數達到60次的時候,時鍾的位元組開始運行。當時鍾的位元組達到24的時候,便將時鍾的位元組清零,以上的操作反復進行,這就是單片機電子時鍾關於數字時鍾的設計方案。這部分的設計起來比較繁瑣,每個步驟都要做到很好的處理,設置時、分、秒的順序也不能打亂。
(二)數碼管顯示方案
數碼管顯示方案主要是對時鍾的外部顯示進行設計,主要分為靜態顯示和動態顯示兩個部分,在電子時鍾外部顯示中佔主導地位的就是動態顯示。所謂動態顯示就是根據內部設計中的秒針的運行情況,在出現的顯示器數字的輪流點亮,每隔一段時間都要點亮一次,這部分要求顯示器的掃描必須要有足夠快的速度,只有這樣,顯示出來的字元才不會出現閃爍的效果。同時,秒鍾和顯示器的運作應該是保持一致的,否則在電子時鍾運行的時候,就很容易出現時間上的誤差,這種動態顯示節省了I/O口,也會降低耗能。
(三)電子時鍾的硬體選擇
1、單片機的選擇,在單片機電子時鍾的設計中,通常都會選用AT89c52單片機,配備12MHz晶振,採用上電復位來對電路進行系統復位。
2、顯示電路選擇,在顯示電路的選擇上,採用軟體解碼動態顯示。
3、電源選擇,採用直流電源供電,電源基本選擇在4.5V左右。
4、選擇器的選擇,通常採用741s04.
三、系統軟體設計
對系統軟體的設計主要包括軟體的設計思想、總體設計以及按鍵掃描子程序。
(一)軟體設計思想
根據人們對電子時鍾功能的需求,需要設計出來的電子時鍾程序必須具備動態掃描、時鍾信號產生以及按鍵掃描處理等功能。利用單片機來實現電子時鍾的這些功能,主要利用的方法就是分時復用,要協調好各個器件的佔用時間,這樣才能實現單片機電子時鍾以上的功能,使電子時鍾對人們的需求造成滿足。
(二)總體設計
1、系統說明及設計框圖
利用普通單片機製作的簡易時鍾,其主要的工作原理就是運用6個PNP管來分別控制6個LED數碼管來完成時鍾的運行工作。這里出現的6個數碼管主要負責顯示小時、分鍾以及秒針的十位位置和個位位置,還會設定一個按鍵用於對時間的調整。
2、模塊設計
普通單片機電子時鍾的設計主要包括電源部分、復位電路、顯示部分、控制部分、位選部分等幾個模塊。對於電源部分的技術,要從外部引入直流電,電流應該選擇4.5V,這樣就可謂電子時鍾提供電源,使其能夠正常運行。
位選電路、復位電路二極體、電解電容部位,在其運行的時候,相應的引腳也會出現不同。在開關按下時引腳RST為高電平1,斷開時引腳為低電平0。
(三)按鍵掃描子程序
普通單片機電子時鍾的運行,最好選用按鍵來切換各種不同的狀態,這樣不僅簡單,容易操作,而且在電子時鍾出現狀況而需要查詢按鍵信息的時候,電子時鍾所具有的按鍵掃描功能就可以提供以往的按鍵情況,這種按鍵程序中還嵌套了按鍵掃描程序用來處理在不同情況下的電子時鍾狀態切換。
四、對整體系統進行調試
在單片機電子時鍾設計完成之後,要對電子時鍾所應用的系統進行簡單的測試,仔細分析在測試的過程中所出現的問題,進行問題的統計與分析,從而找到合理、科學的解決方法。使單片機電子時鍾更加完善。
(一)系統調試方法
對於單片機電子時鍾各個系統的調試,首先要對每個單獨的程序進行調試,將出現的問題歸納整理,找到合理的解決方法後,針對出現問題的程序進行系統的調試。確保每個程序都沒有問題之後,再進行整體的調試工作。只有這樣,才調試的過程中才會使調試工作有理有序的進行。
(二)系統時鍾誤差分析
時間准確,長時間不容易出現誤差是一個時鍾被認可的標准之一。對於系統誤差,設計者應該及時進行誤差的分析和調試工作。
在單片機電子時鍾系統中,能夠出現誤差的地方有很多,比如說晶體頻率的誤差,定時器溢出誤差以及延遲誤差等等,設計者要結合不同的誤差進行不同的分析,找出其內在的原因,從而擬定出解決的方案,使電子時鍾的精準度提高。
(三)軟體調試問題及解決
在軟體調試的過程中,應該將調試的重點分別放在各個模塊上,對這些模塊的調試可以採取在線調試和離線調試兩種方法,在調試過程中出現的問題要及時分析及時解決。
結語:
隨著我國電子技術的迅速發展,單片機的應用也會越來越廣泛,對於電子時鍾系統的設計一定也會日趨完善,功能也會越來越全面,性能會更加穩定,可以預見,在未來的幾年裡,單片機的應用也會越來越廣泛。更好的造福人們。
參考文獻:
[1]何立民.MCS251單片機應用系統設計技術[M].北京:北京航天航空大學.1999
[2]程光璇.普通單片機電子時鍾的設計[J].電子世界.2011(8)
[3]華貴山.基於單片機微機測控系統中的數字濾波技術研究[J].安徽電子信息職業技術學院學報.2006(5)
;❷ 單片機編程步驟
一、什麼是 nec 單片機
隨著大范疇集成電路的顯現和發展,將計算機的cpu、ram、rom、定時/數器和多種i/o介面集成在一片晶元上,組成晶元級的計較機,因此單片機早期的含義稱為單片微型計較機,直譯為單片機。單片機是一種集成在電路晶元,是採用超大范疇集成電路技能把具有數據處理本事的中心處理器CPU隨機存儲器RAM、只讀存儲器ROM、多種I/O口和間斷系統、 定時器 / 計時器 等成果(大要還包括表現驅動電路、脈寬調制電路、模擬多路轉換器、A/D轉換器等電路)集成到一塊矽片上構成的一個小而完竣的計算機系
二、nec單片機的操縱教程詳解
1、在智能儀器儀表中的操縱:在各類儀器儀表中引入單片機,使儀器儀表智能化,進步測試的自動化程度和精度,簡化儀器儀表的硬體結構,進步其性能價格比。
2、在機電一體化中的操縱:機電一體化產品是指集呆板、微電子技能、計較機技能於一本,具有智能化特徵的電子產品。
3、在實時過程式控制制中的操縱:用單片機實時進行數據處理和控制,使系統保持最佳事變狀態,進步系統的事變從命和產品的品格。
4、在人類生活中的操縱:目前國外各種家用電器已普通採用單片機代替傳統的控制電路。
5、在此外方面的操縱:單片機除以上各方面的操縱,它還遍布操縱於辦公自動化范圍、商業營銷范圍、汽車及通信、計較機外部裝備、暗昧控制等各范圍中。
以上就是為大家整理的關於單片機含義及其具體操縱教程的全部內容了。此外小編還額外為大家整理了單片機的優點:低電壓、低功耗、集成度高、可靠性高、體積小、控製成果強等。希望通過這篇文章能夠給想要了解單片機相關知識的朋友帶來一些幫助。另外大家如果想了解更多單片機的知識可以通過圖書查閱、網路查閱等方式。
❸ 單片機中的五線四相步進電機可以通過編程,實現正反轉么
假設p0低4位接步進電機的4個繞組,程序如下:
while(1)
{
p0=8;
delayms(10);
p0=4;
delayms(10);
p0=2;
delayms(10);
p0=1;
delayms(10);
}
如果要反轉,就改成1248,如果要增加轉速就減少延時時間,如果轉200步,改為while(a
<200),並且每一循環a=a-4
❹ 單片機問題
單片機P1口是有內部上拉電阻的,如果電源都正常並且單片機的程序運行也正常的話,應該是外部介面的問題。有可能地話,將引腳與外部電路斷開後測一下引腳電壓試試,如果正常就可以確定是外部電路的問題單片機是一門實踐性很強的課程(是半軟半硬的東西),所以必須是理論聯系實踐,我試過很多種教學法,還是覺得平凡老師創立的任務教學法的效果最好。因此本人的課程也將按找這個思路來寫。 個人認為平凡單片機教程有些不足的地方,所以我也是改革的寫教程了,完全按照人的認知規律來寫,和平凡老師的教程在很大程度上不同。 好,下面我們開始學習了!請大家認真看! 一、什麼是單片機呢? 1、和我們的計算機(電腦)差不多,大家都知道,我們的計算機(電腦)裡面有 (1)CPU (2)硬碟 (3)內存 (4)主板 (5)等等。 這些東西是裝在一個叫主機的裡面的。好大!一個CPU大概要400塊,硬碟也要500左右,內存200左右,主板500左右,這些東西加在一起大概要1600塊左右。如果配上其他的,一台電腦要3000到4000左右吧。 2、但是如果把這些東西(CPU,硬碟,內存,主板)用集成塊做好後,如下圖所視: http://bbs.21ic.com/upfiles/img/200611/20061119213818365.jpg 3、請大家想想看這個集成塊值多少錢?它可是具備了計算機的功能啊。是不是很貴啊? 不,價格並不高,從幾元人民幣到幾十元人民幣,體積也不大,一般用40腳封裝,當然功能多一些單片機也有引腳比較多的,如68引腳,功能少的只有10多個或20多個引腳,有的甚至只8隻引腳。 4、當然,在單片機機內部,CPU,硬碟,內存,主板等等東西要改個名字了。 (1)CPU,它的名字沒有改,還是叫CPU(Central Processing Unit)。它是單片機的核心部件,包括運算器和控制器。運算器既是算術邏輯單元ALU(Arithmetic logic Unit),其功能是進行算術運算和邏輯運算。控制器一般由指令寄存器、指令解碼器、時序電路和控制電路組成。起作用是完成取指令、將指令解碼形成各種微操作並執行指令,同時控制計算機的各個部件有條不紊地工作。 (2)「硬碟」,改了名字,叫程序存儲器,也叫只讀存儲器。用ROM(Read only memery)表示。其作用和硬碟差不多,用來存放用戶程序。特點是:掉電後不會丟失數據。 (3)「內存」,也改了名字,在單片機里叫數據存儲器,也叫隨機存儲器。用RAM(Random Access Memery)表示。其作用是用於存放運算的中間結果,數據暫村和緩沖,標志位等。特點是:掉電後會丟失數據。 (4)「主板」,也改了名字,叫做I/O(輸入輸出設備)當然也包含了串列口,並行口,定時器,記時器等等。 5、以上談到的這些東西都在哪個集成塊裡面。我們把集成了這些東西的集成塊叫做單片機。有些外國人叫微控制單元MCU(Micro Controller Unit),也有人叫嵌入式控制器(Embedded Controller)。現在明白了什麼是單片機嗎? 6、我總結一下:將CPU、程序存儲器、數據存儲器、I/O介面電路、定時器/計數器等計算機部件集成在一塊晶元上,具有獨特功能的單片微型計算機稱著單片機。現在總明白了什麼是單片機吧! 請大家用自己的話闡述一遍什麼是單片機?? 二、當我們明白了什麼是單片機後,再來猜猜一般的單片機的價格吧? (1)Intel公司1980年推出的標准MCS-51內核8051現在要7到10塊錢。 (2)Atmel公司的AT89c51,AT89s51,AT89c52,AT89s52一般在7塊錢左右。 三、我想大家會想一個「電腦」竟然是10塊錢以內?功能怎麼樣?有什麼用啊? 我可以告訴大家,它的功能很強大,是以後電子產品的發展方向。只要具有了智能的電子產品,就少不了彈片機技術。非常有用,就業前景非常之好。那麼大家一定很想學了,於是去買了本書看。 哈哈,看不懂吧,感覺好難吧?那是因為你沒有掌握好學習單片機的方法。學單片機光看書是不夠的,也是學不會的。學單片機是需要一些條件的了! 下一頁是學習單片機需要的條件. 隨著社會的發展,電子行業出現了新的技術之一單片機技術,單片機技術在各行各業都得到了廣泛的應用,如果說學電子的人不學單片機技術就像我們讀書不讀外語一樣,被人認為是老土啊。 所以我們學電子的一定要學單片機技術。那麼如何學習這門技術呢?到底是難還是容易呢?這就要看你的學習方法了。 如果你閉門造車試的學習方法,肯定很難學好的。我根據我這幾年的教學經驗,我總結出了學單片機的相關教學方法,現在我將把我的教學過程寫出來。 學單片機第一步是:建立自己的學習條件。 四、學習單片機需要什麼條件? (1)一台電腦——用於編程和學習。(3000到4000塊錢) (2)編程器——用於把編寫好的程序寫到晶元中。(100到1000快錢) (3)模擬器——主要是為了調試程序的正確性。(1000到2000塊錢) (4)如果沒有編程器和模擬器,也可以買個便宜的單片機實驗板。如電子之城的AZ系統。也就300塊錢左右。 或者是電子之城的AS系統,大概是400塊錢。它集合了編程器和模擬器的所有功能。推薦買單片機實驗板! (5)還要多買幾塊單片機晶元,如:AT89C51,AT89S51,AT89S52等等。 五、有了這些東西,如果你已經學了一點單片機知識的話,就可以做搞開發了。 下面我來談談單片機開發的過程,以做流水燈為例進行講解。 (1)設計好硬體電路圖 按下圖把單片機的各個腳和元器件連接起來: http://bbs.21ic.com/upfiles/img/200611/20061119213942329.gif (2)在電腦上用軟體(如keil c51)編寫程序。 ORG 0000H LJMP START ORG 0030H START:MOV A,#0FEH LOOP:MOV P1,A LCALL DELAY RL A LJMP LOOP DELAY:MOV R7,#0FFH D1:MOV R6,#0FFH D2:DJNZ R6,D2 DJNZ R7,D1 RET END
想學習單片機應該首先學會這些東東:1>IAP(In Application Program)在應用編程 ISP(In System Program)在系統編程根本區別: IAP: 動態的,CPU CORE已經運行,自己從外面讀數據,完成寫入自身FLASH IAP: 靜態的,實質上是由外部實現串列編程寫入待.<2>答:具備在應用中編程IAP功能的單片機,其程序存儲器必須是可以重復燒寫編程的版本(比如FLASH)。可以用於具備遠程遙控軟體版本升級或者參數修改的產品項目之中(比如遠程抄表、用戶端電話計費等系統的遠程費率參數和演算法程序修改);也可以應用於具備自編程功能(免用微機和燒寫器)的單片機學習機、單片機單板機、實驗板、演示板、教學模塊等各種學習和實驗工具之中。對於處在同一個存儲器空間的FLASH程序存儲器,不能同時扮演「被燒寫存儲器」和「取指令存儲器」的雙重角色。為了解決這個矛盾,不同廠家的單片機採用了不同的解決方案,比如: ① 可以將FLASH程序存儲器分成地址有映射關系的兩個區,分別由各自的電荷泵提供燒寫電壓。當燒寫一個區時,該區的電荷泵工作,同時執行存放在另一個區的指令。例如,SST(Silicon Storage Technology)公司利用他的SuperFlash技術研製的FlashFlex51單片機系列,各個型號片內分別帶有20KB、36KB或68KB可多次編程的程序存儲器。該存儲器又分為主存儲區和次存儲區。各個型號的主存儲區分別為16KB、32KB或64KB,次存儲區則統一為4KB。 ② 可以將單片機的程序存儲器地址空間分為ROM區和FLASH區,ROM區在出廠之前就已經固化有燒寫專用程序,FLASH區作用戶程序存放區,這樣一來,即使在燒寫FLASH的同時,也不會影響對於ROM中程序的執行。MOTOROLA公司推出的MC68HC908系列單片機中採用的就是這種解決方案。 ③ PIC16F87X系列單片機中,採用了不同的解決方案。FLASH程序存儲器並不分區,在對其進行燒寫並且電源自動切換到電荷泵供電時,CPU自動停頓而等待。在一個單元燒寫操作完畢,FLASH工作電壓自動切換到正常值時,CPU才繼續執行FLASH中的燒寫專用程序或用戶程序。 ④ 在數據存儲器RAM和程序存儲器FLASH兩種存儲器統一編址的單片機中,還可以採用的另一種方案是,在准備修改FLASH區中的用戶程序之前,先把燒寫專用程序拷貝到RAM區,然後跳轉到RAM區去執行該程序,實現對FLASH程序存儲器的燒寫操作。在燒寫完成之後再跳回到FLASH存儲器執行正常的用戶程序。微芯公司新近推出的高性能PIC18C601/801單片機採用的就是這種解決方案。MOTOROLA公司推出的MC68HC908系列單片機的某些型號,也可以採用這種解決方案。SST89C54/58(簡稱89C54/58)是美國SST公司推出的多用途51系列單片機,片內集成了20 kB/36 kB的SuperFlashE'PROM程序存儲器,分為BLOCK0(16kB/32kB)和BLOCKl(4kB)兩塊。其中,BLOCKl可以映射(Mapping)到64kB存儲空間的最高端或最低端,而且,對於程序計數器來說可以是不可見的,
不知道是否能幫助你,希望你給予採納
❺ 用單片機設計製作一個模擬的十字路口交通信號燈控制系統。
摘 要
在日常生活中,交通信號燈的使用,使交通得以有效管理,對於疏導交通流量、提高道路通行能力,減少交通事故有明顯效果。交通燈控制系統由80C51單片機、鍵盤、LED顯示、交通燈延時組成。系統除具有基本交通燈功能外,還具有時間設置、LED信息顯示功能,市交通實現有效控制。
關鍵字:交通燈;單片機;自動控制;LED
Abstract
In daily life, the use of traffic lights, so traffic can be managed effectively in smoothing traffic flow, increase road capacity and rece traffic accidents have remarkable results. Traffic light control system consists of 80C51 microcontroller, keypad, LED display, traffic light delay component. In addition to the traffic light system has the basic functions, but also with time settings, LED information display function, achieving effective control of city traffic
Key Words:traffic lights; SCM; control; LED
目 錄
1 交通燈任務、功能要求說明及總體方案介紹 …………………………………1
1.1 交通燈任務…………………………………………………………………1
1.2 功能要求說明………………………………………………………………1
1.3 設計總體方案介紹及工作原理說明………………………………………2
2 交通燈硬體系統的設計 …………………………………………………………4
2.1 硬體系統各模塊功能介紹…………………………………………………4
2.2 電路原理圖 ………………………………………………………………5
2.3 電路PCB圖 ………………………………………………………………5
2.4 元器件布局圖 ……………………………………………………………5
2.5 元器件清單 ………………………………………………………………5
3 交通燈軟體系統的設計 …………………………………………………………7
3.1 單片機的使用資源情況 …………………………………………………7
3.2 軟體模塊功能介紹 ………………………………………………………8
3.3 程序流程圖 ………………………………………………………………8
3.4 程序清單 …………………………………………………………………10
4 設計總結…………………………………………………………………………11
4.1 使用說明 …………………………………………………………………11
4.2 誤差分析 …………………………………………………………………11
4.3 設計體會 …………………………………………………………………11
4.4 教學建議 …………………………………………………………………12
參考文獻 ……………………………………………………………………………13
致 謝 ………………………………………………………………………………14
附錄一 電路原理圖 ………………………………………………………………15
附錄二 電路PCB頂層圖 …………………………………………………………16
附錄三 電路PCB底層圖 …………………………………………………………17
附錄四 元器件布局圖 ……………………………………………………………18
附錄五 元器件清單 ………………………………………………………………19
附錄六 程序清單…………………………………………………………………20
1 交通燈任務、功能要求說明及總體方案介紹
1.1 交通燈任務
設計一個具有特定功能的十字路口交通燈。該交通燈上電或按鍵復位後能自動顯示系統提示符「P.」, 進入准備工作狀態。按開始鍵則開始工作,按結束鍵則返回「P.」狀態。要求甲車道和乙車道兩條交叉道路上的車輛交替運行,甲車道為主車道,每次通車時間為60秒,乙車道為次車道,每次通車時間為30秒,要求黃燈亮3秒,並且1秒閃爍一次。有應急車輛出現時,紅燈全亮,應急車輛通車時間10秒,同時禁止其他車輛通過。
1.2 功能要求說明
本次課程設計在硬體方面的接法如下:P2口接二極體,P2.0、P2.1、P2.2口線分別來控制東西方向的綠燈、黃燈和紅燈;P2.3、P2.4、P2.5口線分別控制南北方向的紅燈、黃燈和綠燈。P0口作為數碼管的位控(這里只用到了P0.0、和P0.1兩根口線),P1口作為數碼管的段控,P3口作為輸入部分(這里用到了P3.0、P3.1、P3.2口線),控制數碼管的顯示情況和二極體的亮滅情況。
當交通燈上電或按鍵復位後能自動顯示系統提示符「P.」,進入准備工作狀態。
當按下啟動按鈕K1並釋放後,數碼管顯示將會從「60」開始倒計時,每隔一秒減1,此時南北方向開始一直亮綠燈,東西方向一直亮紅燈,直到顯示為「00」時,數碼管將會從「03」開始倒計時,每隔一秒減1,此時南北方向每隔一秒黃燈就閃爍一次,東西方向亮一直紅燈,直到顯示為「00」時,數碼管將會從「30」開始倒計時,此時南北方向一直亮紅燈,東西方向一直亮綠燈,直到顯示為「00」時,數碼管又將從「03」開始倒計時,此時南北方向一直亮紅燈,東西方向每隔一秒黃燈就閃爍一次;當沒有其他鍵按下時,交通燈將這樣一直循環下去。
當按下結束鍵K2並釋放後,數碼管將顯示「P.」,東西南北方向無燈亮。
當按下緊急鍵K3並釋放後,數碼管將顯示「09」,並且每隔一秒就減1,
東西南北方向全部紅燈亮。
單片機採用AT89S52,fosc=12MHZ。其按鍵功能如表1.1所示。
表1.1 按鍵功能
按鍵 鍵名 功能
P3.4 K1鍵 啟動鍵
P3.7 K2鍵 結束鍵
P3.6 K3鍵 緊急鍵
1.3 設計總體方案介紹及工作原理說明
1.3.1 總體方案介紹
該交通燈電路由單片機AT98S52、鍵盤介面電路、顯示介面電路、發光二極體控制電路、時鍾電路和復位電路構成,原理框圖如圖1.1所示。
圖1.1 原理框圖
(1) 電源提供方面
採用獨立的穩壓電源,此方案的優點是穩定可靠,且有各種成熟電路可供使用。
(2) 顯示方面
完全採用數碼管顯示,用來顯示有限符號和數碼字元。
(3) 鍵盤輸入方面
直接在I/O口線上接按鍵開關,因為設計時精簡和優化了電路,所以剩餘的口資源還比較多。我們共用到了4個按鍵,分別為:K0、K1、K2、K3。
1.3.2 工作原理
首先時鍾電路產生單片機工作時所需要的時鍾信號,這是單片機能夠正常工作的前提,而單片機有無定時的基礎以及定多長的時間,這些還需要我們人為的確定。我是採用10ms延時程序來反復調用來定時,在我們的硬體電路中,按鍵的鍵功能程序在中斷服務中,在正常情況下會不斷運行主程序,當有鍵按下時,CPU去轉去執行中斷程序,而中斷程序可以執行三種鍵功能:第一個是十秒倒計時緊急紅燈亮;第二個是結束倒計時,顯示P.;第三個是重新開始倒計時。其原理是INTO=P3.4&P3.6&P3.7,當有鍵按下時,外部中斷0口線就會變成低電平,通過鍵掃程序來具體判斷到底是哪個鍵按下,CPU才會去執行中斷裡面的某個鍵功能。12個發光二極體是由P0口控制的,P0口與二極體之間串接一個限流電阻使二極體不易燒壞,採用送低電平有效。
2 交通燈硬體系統的設計
2.1 硬體系統各模塊功能介紹
2.1.1 顯示電路
在本次課程設計中,我們採用的是四位一體共陽數碼管。本設計的顯示驅動是採用三極體作為驅動。並且,無論是位控線上還是段控線上都串接一個電阻,以提高其輸出功率,在這里採用220歐母電阻。
2.1.2 指示燈控制電路
本次課程設計採用P3口控制二極體的發光情況,口線送低電平有效,具體設計如下:P3.2控制東西方向的綠燈,P3.4口控制東西方向的黃燈,P3.5控制東西方向的紅燈,P3.1控制南北方向的紅燈,P3.7控制南北方向的黃燈,P3.0控制南北方向的綠燈。
2.1.3 鍵盤控制電路
鍵盤是最常用的輸入設備,是實現人機對話的紐帶。按其結構形式可分為非編碼鍵盤和編碼鍵盤。
編碼鍵盤採用硬體方法產生鍵碼。每按下一個鍵,鍵盤能自動生成鍵盤代碼,鍵數較多,且具有去抖動功能。這種鍵盤使用方便,但硬體較復雜。非編碼鍵盤僅提供按鍵開關工作狀態,其鍵碼由軟體確定,這種鍵盤鍵數較少,硬體簡單,廣泛應用於各種單片機應用系統,在單片機控制電路中,可把單片機使用的鍵盤分為獨立式和矩陣式兩種。獨立式實際上就是一組獨立的按鍵,這些按鍵可直接與單片機的I/O口連接,即每個按鍵獨佔一條口線,這種接法簡單。矩陣式鍵盤也稱行列式鍵盤,因為鍵的數目較多,所以鍵按行列組成矩陣。本設計中鍵盤數目較少,且為安裝方便,因此在本設計中採用獨立式接法。
按從一個鍵到鍵的功能被執行主要應包括兩項工作:一是鍵的識別,即在鍵盤中找出被按的是哪個鍵,另一項是鍵功能的實現。第一項工作是使用介面電路實現的,而第二項工作則是通過執行中斷服務程序來完成。具體來說,鍵盤介面應完成以下操作功能:
(1) 鍵盤掃描,以判定是否有鍵被按下(稱之為「閉合鍵」)。
(2) 鍵識別,以確定閉合鍵的行列位置。
(3) 產生閉合鍵的鍵碼。
(4) 排除多鍵、串鍵(復鍵)及去抖動。
以上這些內容通常是以軟硬體結合的方式來完成的,即在軟體的配合下由介面電路來完成。但具體哪些由硬體哪些由軟體完成,要看介面電路的情況。總的原則是,硬體復雜軟體就簡單,硬體簡單軟體就得復雜一些。
2.1.4 時鍾電路
時鍾電路用來產生單片機工作所需要的時鍾信號,單片機本身就是一個復雜的同步時序電路,為了保證同步工作方式的實現,電路應在唯一的時鍾信號控制下嚴格地按時序進行工作。通過在晶元的外部XTAL1和XTAL2兩個引腳跨接晶體振盪器和微調電容,形成反饋電路,就構成了一個穩定的自激振盪電路。時鍾電路為單片機產生時鍾脈沖序列,本設計中採用的晶振頻率為12MHz,電容為33pF。
2.1.5 復位電路
復位電路用於產生復位信號,通過RST引腳送入單片機,復位是單片機的初始操作,其主要功能是:為一些專用寄存器設置初始狀態、程序狀態字PSW清0、程序計數器PC被賦值為0000H等,除了進入系統的正常初始化之外,當由於程序運行出錯或操作錯誤使系統處於死鎖狀態時,為擺脫困境,也需安裝復位鍵以重新啟動。RST引腳是復位信號的輸入端,復位信號是高電平有效,完成復位操作共需要24個狀態周期,復位結束後,單片機從地址0000H單元開始執行程序,SP為07H,其它寄存器大多數被置為00H,本設計使用頻率為12MHz的晶振,所以復位信號持續時間應超過2μs才能完成復位操作。復位電路分為上電復位、按鍵復位、按鍵脈沖復位三種,本次課程設計採用的是按鍵復位。
2.1.6 單片機最小系統
它採用單片機AT89S52晶元,能實現基本I/O口實驗,定時計數器實驗等等。具有單片機並口的輸入、輸出的功能特點。
2.2 電路原理圖
電路原理圖見附錄一所示。
2.3 電路PCB圖
電路PCB頂層圖見附錄二所示;
電路PCB頂層圖見附錄三所示。
2.4 元器件布局圖
元器件布局圖見附錄四所示。
2.5 元器件清單
元器件清單見附錄五所示。
3 交通燈軟體系統的設計
3.1 單片機的使用資源情況
3.1.1 硬體資源使用說明
P0口為二極體的控制端
P1口用作地址/數據匯流排
P2口用作地址/數據匯流排
P3.4、P3.6、P3.7口線作為鍵盤輸入端
採用了INTO外部中斷
既在AT89S52的P0口用來接十二個發光二極體的陰極,控制其亮與滅,P1口和P2口外接由2個LED數碼管(LED1、LED0)構成的顯示器,用P2口作LED的段碼輸出口(P2.0~P2.7對應於LED的a~dp),P1口作LED的位控輸出線(P1.1、P1.0分別對應於LED1、LED0),其中在P1的串列口外接2個三極體作為顯示驅動,顯示為2個數碼管(LED0~LED1)進行動態顯示。P3口外接三個個按鍵K1、K2、K3(分別對應於P3.4、P3.7、P3.6口)用於調整顯示介面電路。
3.1.2 交通燈的分配表
交通燈的口線分配如表3.1所示,「1」表示送高電平,「0」表示送低電平。
表3.1 交通燈分配表
P0.2 東西綠燈 1 1 0 1
P0.3 東西黃燈 1 1 1 0
P0.4 東西紅燈 0 0 1 1
P0.5 南北紅燈 1 1 0 0
P0.6 南北黃燈 1 0 1 1
P0.7 南北綠燈 0 1 1 1
控制碼 6FH AFH DBH D7H
狀態說明 南北放行,東西禁止 南北警告,東西禁止 南北禁止,東西放行 南北禁止,東西放行
3.2 軟體模塊功能介紹
主程序模塊的主要任務是程序的初始化顯示「P.P.」,當沒任何鍵按下時,顯示模塊將一直不變,交通燈全部是熄滅的,當K0鍵按下並松開後開始倒計時,
其中在時間顯示的過程中判斷是否有K0、K1和K2鍵按下,當再次按下K0時,顯示將重新開始倒計時,如果是K1按下,將顯示「P.」,並且發光二極體全部熄滅,如果是K2按下,數碼管將開始十秒倒計時,並且東西南北全部亮起紅燈。
3.3 程序流程圖
主程序的流程圖如圖3.1所示,按鍵判斷程序流程圖如圖3.2所示
圖3.1 主程序流程圖
圖3.2 判斷按鍵程序流程圖
3.4 程序清單
程序清單詳見附錄六 。
4 設計總結
4.1 使用說明
本實驗主要是利用單片機AT89S52、數碼管和發光二極體組成,整個電路結構比較簡單,它能實現以下幾個功能:
時間的顯示。
紅黃綠燈的發光與熄滅。
具體操作說明如下: 當交通燈上電或按鍵復位後能自動顯示系統提示符「P.」,進入准備工作狀態。當按下啟動按鈕K1並釋放後,數碼管顯示將會從「60」開始倒計時,每隔一秒減1,此時南北方向開始一直亮綠燈,東西方向一直亮紅燈,直到顯示為「00」時,數碼管將會從「03」開始倒計時,每隔一秒減1,此時南北方向沒隔一秒黃燈就閃爍一次,東西方向亮一直紅燈,直到顯示為「00」時,數碼管將會從「30」開始倒計時,此時南北方向一直亮紅燈,東西方向一直亮綠燈,直到顯示為「00」時,數碼管又將從「03」開始倒計時,此時南北方向一直亮紅燈,東西方向每隔一秒黃燈就閃爍一次;當沒有其他鍵按下時,交通燈將這樣一直循環下去。當按下結束鍵K2並釋放後,數碼管將顯示「P.」,東西南北方向無燈亮,當有其它鍵按下時,就退出,去執行該鍵的鍵功能。當按下緊急鍵K3並釋放後,數碼管將顯示「10」,並且每隔一秒就減1,東西南北方向全部紅燈亮,當沒亮到顯示「00」就有其它鍵按下時,就退出,執行該鍵的鍵功能,當顯示到「00」時,就會自動退出中斷繼續完成主程序。
4.2 誤差分析
本次課程設計的誤差就在於顯示時間,我採用的是調用延時程序來讓顯示器上數字共顯示一秒鍾,而循環一次的時間並不僅僅只是2次調用延時程序的時間,其間CPU還執行其它指令,例如說將緩存區的內容送給累加器A、查表指令、將段控碼送給P2口等等,因為它們都是微秒級的,而延時程序是毫秒級的,因此在計算的過程中就可以省略了,每次循環除兩次調用延時程序外,所用時間為22微秒,而顯示一秒鍾共循環了50次,因此在顯示器上只需要顯示1秒數字,事實上多顯示了1100微秒,誤差率=1.1%。
4.3 設計體會
經過一個多星期的時間,終於完成了這次的課程設計。在這期間,其他同學提出了許多寶貴的意見,使這次設計終於完滿成功了。
我覺得作為一名自動化專業的學生,單片機的課程設計是很有意義的。更重要的是如何把自己平時所學的東西應用到實際中。雖然自己對於這門課懂的並不多,很多基礎的東西都還沒有很好的掌握,覺得很難,也沒有很有效的辦法通過自身去理解,但是靠著這一個多禮拜的「學習」,在同學的幫助和講解下,漸漸對這門課逐漸產生了些許的興趣,自己開始主動學習並逐步從基礎慢慢開始弄懂它。我認為這個收獲應該說是相當大的。
經過這次課程設計,也讓我更加深刻的認識到學好單片機的重要意義。當今單片機滲透到我們生活的各個領域比如從導彈的導航裝置、飛機上各種儀表的控制、計算機的網路通訊與數據傳輸、自動控制領域的機器人、智能儀表、醫療器械、工業自動化過程的實時控制和數據處理等等到我們生活中接觸到的各種智能IC卡、民用豪華轎車的安全保障系統、錄像機、攝像機、全自動洗衣機的控制以及程式控制玩具、電子寵物等等,這些都離不開單片機。它主要是作為控制部分的核心部件。因此,單片機的學習、開發在各行各業異常重要。在今後的學習中,我會更加努力的學習鞏固單片機,為以後的工作打下堅固的基礎。
4.4 教學建議
在王韌老師的嚴格要求與耐心指導下,經過一個學期對單片機技術這門課程的學習,使我對單片機這一技術的應用有了一定的了解,並對單片機的學習產生了濃厚的興趣。
通過本次單片機控制交通燈的設計,結合本人的學習過程與切身感受向老師提出以下幾點教學意見:希望老師以後能夠在一開始教這門課的時候就讓整個班分好小組,讓那些對單片機比較熟悉的同學幫助基礎較差的同學,那樣可以提高學習的效率與熱情;另外,王老師可以多介紹些與單片機相關的資料書給學生,培養學生查閱資料書的能力;最後一點,就是王老師在單片機擴展方面不必講解的過細,重點在於引導思路,形成單片機的整體框架結構。
附錄一 電路原理圖
附錄二 PCB頂層圖
附錄三 PCB底層圖
附錄四 元器件布局圖
附錄五 交通燈元器件清單
元器件及材料名稱 規格 數目 備注
AT89S52加底座 1
四位一體共陽數碼管加底座 2 0.5寸
晶振 12MHz 1 三晶
發光二極體 大個的 9
單排插 40腳 1
三極體 9012 9
蜂鳴器 1 5V
小按鍵 9 6*6*4.3mm
下載口座子 十芯 1 FC-10P
18b20溫度感測器 1
六腳按鍵開關 1 6*6*4.3mm
Usb電源線加介面 1 USB線加USB介面
電阻 200 1
電阻 4.7K 1
電阻 1K 3
電阻 470 24
電解電容 22uf 1
瓷片電容 33pf 2
排阻 10k 2
短路帽 3
杜邦線8P 1
PCB板子 150mm*200mm 1
電源白色插座 1
附錄六 程序清單
ORG 0000H
LJMP MAIN
ORG 001BH
LJMP LOOP1
ORG 0030H
MAIN: MOV PSW, #00H; 初始化
MOV SP, #7FH
MOV TMOD, #10H;
MOV TH1, #3CH;
MOV TL1, #0B0H;
MOV TH0, #0FCH;
MOV TL0, #18H;
MOV 78H, #11H;
MOV 79H, #10H;
MOV 7AH, #10H;
MOV 7BH, #10H;
MOV 7CH, #10H;
MOV 7DH, #10H;
MOV 7EH, #10H;
MOV 7FH, #10H;
MOV R7, #0FAH;
MOV R6, #32H;
MOV R5, #05H;
MOV R4, #39H;
MOV R1, #20;
SETB EA;
SETB ET1;
PP: LCALL DIR;
START: LCALL KEY;
JB 20H.0, K0;
LJMP PP;
K0: MOV R4, #39H;
MOV R1, #20;
SETB TR1;
MOV 78H, #07H;
MOV 79H, #05H;
MOV 7AH, #10H;
MOV 7BH, #10H;
MOV 7CH, #10H;
MOV 7DH, #10H;
MOV 7EH, #10H;
MOV 7FH, #10H;
LCALL DIR;
CYCLE0: MOV P3, #0DEH;主綠副紅
JB 20H.2, OUT;
KK0: JB 20H.1, JINJI;
CJNE R4, #00, CYCLE0;延時60秒
MOV R4, #03H;
MOV 78H, #03H;
MOV 79H, #00H;
CYCLE1: MOV P3, #0DFH;
JB 20H.2, OUT;
JB 20H.1, JINJI;
CJNE R1, #10, CYCLE1;
CYCLE2: MOV P3, #0DDH;
JB 20H.2, OUT;
JB 20H.1, JINJI;
CJNE R1, #20, CYCLE2;
CJNE R4, #00H, CYCLE1;
MOV R4, #1EH;
MOV 78H, #07H;
MOV 79H, #02H;
CYCLE3: MOV P3, #0F3H;主紅副綠
JB 20H.2, OUT;
JB 20H.1, JINJI;
CJNE R4, #00, CYCLE3;延時30秒
MOV R4, #03H;
MOV 78H, #03H;
MOV 79H, #00H;
CYCLE4: MOV P3, #0DFH;
JB 20H.2, OUT;
JB 20H.1, JINJI;
CJNE R1, #10, CYCLE4;
CYCLE5: MOV P3, #0DDH;
JB 20H.2, OUT;
JB 20H.1, JINJI;
CJNE R1, #20, CYCLE5;
CJNE R4, #00H, CYCLE4;
MOV R4, #39H;
LJMP K0;
JINJI: MOV R4, #10;緊急車輛按鍵
CYCLE6: MOV P3, #0DBH
CJNE R4, #00, CYCLE6;
LJMP K0;
OUT: MOV P3, #0FFH;
MOV 78H, #11H;
MOV 79H, #10H;
MOV 7AH, #10H;
MOV 7BH, #10H;
MOV 7CH, #10H;
MOV 7DH, #10H;
MOV 7EH, #10H;
MOV 7FH, #10H;
MOV R7, #0FAH;
LJMP PP;
DIR: PUSH DPH; 顯示子程序
PUSH DPL;
PUSH ACC;
PUSH PSW;
SETB RS0;
CLR RS1;
MOV R0, #78H;
MOV R3, #0FEH;
MOV A, R3;
LD0: MOV P2, A;
MOV DPTR, #TABLE;
MOV A, @R0;
MOVC A, @A+DPTR;
MOV P0, A;
LCALL DELAY;
INC R0;
MOV A, R3;
JB ACC.7, LD1;
RL A;
MOV R3, A;
LJMP LD0;
LD1: CLR RS0; 恢復當前通用寄存器組組號
CLR RS1;
POP PSW;
POP ACC; 恢復現場
POP DPL;
POP DPH;
RET;
TABLE: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H; 0--6
DB 0F8H,80H,90H,88H,83H,0C6H,0A1H; 7--D
DB 86H,8EH,0FFH,0CH; E--F,滅,P.
KEY: LCALL KEYCHULI;鍵掃程序
JZ EXIT;
LCALL XX0;
LCALL KEYCHULI
JZ EXIT;
MOV B, 20H;
KEYSF: LCALL KEYCHULI;
JZ KEY1;
LCALL XX0;
LJMP KEYSF;
KEY1: MOV 20H, B;
EXIT: RET;
KEYCHULI: MOV P1, #0FFH;
MOV A, P1;
CPL A;
ANL A, #0FH;
MOV 20H, A;
RET;
DELAY: DJNZ R7, DELAY;顯示延時子程序
MOV R7, #0FAH;
DJNZ R5, DELAY;
MOV R5, #05H;
RET;
; 定時1秒中斷程序:
LOOP1:
MOV TH1, #3CH;定時器0賦初值,定時50ms
MOV TL1, #0B0H;
LCALL DIR;
LCALL KEY;
DJNZ R1, RETURN;
DEC R4;
MOV R1, #20;
MOV R0, #79H;
LCALL DADD1;
RETURN: RETI;
; 去抖延時子程序:
XX0: DJNZ R7, XX0;
MOV R7, #0FAH;
DJNZ R6, XX0;
MOV R6, #32H;
RET;
減一子程序:
DADD1: MOV A, @R0;
DEC R0;
SWAP A;
ORL A, @R0;
SUBB A, #01H;
DA A;
MOV R2, A;
ANL A, #0FH;
MOV @R0, A;
MOV A, R2;
INC R0;
ANL A, #0F0H;
SWAP A;
MOV @R0, A;
RET;
END
❻ 單片機工作總結
單片機工作總結
總結是對過去一定時期的工作、學習或思想情況進行回顧、分析,並做出客觀評價的書面材料,它可以促使我們思考,因此十分有必須要寫一份總結哦。我們該怎麼去寫總結呢?下面是我幫大家整理的單片機工作總結,希望對大家有所幫助。
單片機是一門應用性和綜合性很強的學科,它綜合了電子技術中的模擬電路和數字電路方面的知識,特別是數字電路,因為數字電路在裡面的應用很多。學習單片機最好先從匯編語言入手,雖然匯編語言是低級語言 ,編程效率低,但它比C語言佔用內存小,執行速度快等優點,在剛接觸單片機時更容易學習。由於單片機涉及的知識很多,所以我們只能循序漸進的學習,逐步的積累,沒有什麼捷徑可循。
剛開始學習的時候,對單片機沒有什麼認識,不知道什麼是單片機,更不知道它有什麼作用。通過學習才大體知道了單片機的一些知識。由中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、I/O介面、定時器/計數器以及串列通信介面等集成在一塊晶元上,構成了一個單片微型計算機,簡稱為單片機。它的應用范圍很廣,在工業自動化中應用有數據採集、測控技術。在智能儀器儀表中應用有數字示波器、數字信號源、數字萬用表、感應電流表,自動取款機等。在消費類電子產品中應用有洗衣機、電冰箱、空調機、電視機、微波爐、手機、IC卡、汽車電子設備等。在通訊方面應用有數據機、程式控制交換技術、手機、小靈通等。在武器裝備方面應用有飛機、軍艦、坦克、導彈、太空梭、魚雷制導、智能武器等。剛開始學習是總覺得指令語句太過復雜,怎麼也記不住,這時只能多練、多記,剛開始連一個最簡單的控制一盞小燈的亮滅的程序都不會寫,只能抄寫別人做成功的程序,一遍一遍的寫,直到能熟練的獨自將程序寫出來,從簡單的入手,逐步的積累,對單片機就會有新的認識,能夠自己獨立的寫一些小的程序,能夠將小的程序結合到一起,拼接成較為復雜一些的程序。剛接觸KEIL時確實很讓人頭疼,使用 KEIL不會建項目、不會使用實驗板。遇到困難要一件件攻克,不會建項目,就到教學視頻里找,仔細看一下,做幾次就懂了。然後可以參考已經成功的程序,抄過來,寫一個最簡單的,讓它運行起來,先培養一下自己的感覺,知道寫程序是怎麼一回事,無論寫大程序還是小程序,要做的工序不會差多少,總得建個項目,再配置一下項目,然後建個程序,加入項目中,再寫代碼、編譯、生成HEX,刷進單片機中、運行。
我的英文得到了提高,自己也愛上了單片機,下面是我學習單片機中的一些經驗總結:
1. 萬事開頭難,要勇敢的邁出第一步。開始時候是有點難度,但不要為自己找借口,要勇敢的邁出第一步,以後的路就會慢慢地順起來了。
2. 知識點用到才學,不用的暫時放在一邊。這個世界,如果每樣東西都學,自己就會太累,但這並不是說有些東西可以不學,像在哪裡都可以用到的時序圖等就要好好的研究一下了。
3. 程序不要光看別人的而不寫,一定要自己看了別人怎麼寫後自己再寫一遍,最好這時什麼都不要參考,憑自己的印象去寫,遇到錯誤時再好好看下,可以收到事半功倍效果。
4. 必須學會掌握調試程序的方法,自己的程序遇到錯誤時一定要自己慢慢的把它調出來,有些人寫好程序後發現問題,就到q群里或論壇上發表帖子,等著別人來回答,這對自己是沒有好處的。
5. 找到解決問題的思路比找到代碼更重要,世界上的事情千變萬化,就像不可能找到兩片相同的葉子一樣,世界上也找不到使用同一個代碼的項目,所以要學會自己分析問題,找出解決問題的方案。
6. 開動腦筋,運用多種方法,不斷優化自己的程序,這是鍛煉你寫程序能力的一個很好的方法,這對於提高元器件執行的效率也是很重要的。
7. 看別人的代碼,學習別人的思路。這是一種很有用的方法,可以把別人的思路與自己的相比較,發現自己的優缺點。
8. 著重培養自己解決問題的能力,而不是看自己寫過多少代碼或者做過什麼,這個最好的方法就是做一些具體的項目,從中培養自己解決問題的能力。
9. 嘗試寫一下綜合應用的程序,這個是很重要的,因為獨立可以的綜合在一起後並不一定可以正常工作。
10. 如果有可能,多學習一下計算機專業的課程,例如數據結構,畢竟單片機與程序的設計也是不能分開的,這是一個綜合的科目。
11. 面對一個新的項目,要先自己想下怎麼做,而不是單單地找別人的代碼,這是很重要的,因為只有這樣做,自己才能獨立去思考一個新的東西,也更有可能創造出一個更好的程序。 有時候單片機的學習很單調,有些知識學起來很抽象,不容易理解,只能慢慢適應,一邊學習理論知識,一邊編寫程序,將程序刷入單片機進行調試,通過這種方式才能更快速的學習單片機。同事也會從學習中體會成功的喜悅。
好了,自己的單片機的學習心得也就這么幾句,若有不對的地方,請多包涵,也願學習單片機的人能學有所成。
作為一個剛剛從事單片機工作不久的我來說,對於單片機我了解了一段時間,但總感覺無從入手,理論性的東西看了幾遍也不會把它用到實處,通過這次彩燈控制實驗,我也對單片機有了一定的了解。單片機是一門非常重視實踐的技術,不能總是看書,但要學習它首先應看書,對單片機引腳、內部結構、寄存器和原理有一定地了解和感官認識,它的是怎樣工作的,能幹些什麼?以前看學長做的流水燈我還不知道原理,現在總算清楚了。
在短短的幾周工作時間里,真的學了很多,對我來說,編程是個問題,但我知道這是任重而道遠的。我上的第一節課是關於流水燈左右循環移動在實驗箱上的實現,這個程序老師教了但還是搞不懂,後來通過同學之間相互探討,終於理解了,最重要的還是C語言沒學好,二進制轉換為十六進制是很普通的但我還是不會,現在已經掌握了。『紙上得來終覺淺,絕知此事要躬行。』在短暫的學習過程中,我深深感覺到自己在實際應用中的專業知識的匱乏,總以為自己還可以,一旦接觸到實際,才知道自己知道的是多麼少,這時才真正領悟到「學無止境」的含義。
「千里之行,始於足下。」這是一個短暫而充實的話。每看懂一個程序自己試著學人家編,去修改,去記錄,終於能略懂,這確實讓人深有體會。興趣是最好的老師,這樣才能堅持,要在以後積累很多經驗。主要肯不恥下問,那就會學到很多東西。最後一句:基礎很重要,實踐也同樣重要。必須要有學習單片機的熱情,這樣才能學好單片機。謝謝老師幾周以來的指導。
經過一周的課程設計,我收獲頗多,有深刻的心得體會。實訓讓我們受益匪淺。首先是關於單片機方面的。我們學到了許多關於單片機系統開發的知識,從最開始選題到最後的結題,更使我們得到了充分的鍛煉。其次,它讓我體會到了什麼才是teamworkspirit。一如:團隊管理的經驗、團隊意識的提升和協調能力等等,這些都會讓我們終身受益。
通過此次課程設計,使我更加扎實的掌握了有關電子線路單片機方面的知識,在設計過程中雖然遇到了一些問題,但經過一次又一次的思考,一遍又一遍的檢查我終於找出了問題所在,也暴露出了前期我在這方面的知識欠缺和經驗不足。實踐才能出真知,實踐才是檢驗真理的唯一標准,唯有通過親自動手製作,才能令我們掌握的知識不再是一些紙上談兵的東西。
在這次的課程設計中,我們遇到了很多困難,過程很艱難,但是我們都克服了,這是對我們自己的肯定。我們不斷發現錯誤,不斷改正,不斷領悟,不斷獲取。我們也曾灰心,也曾茫然,也曾不知所措,從一開始的自信滿滿,到最後的緊張繁雜,所有的這些都令我們回味無窮,這已經成為了我們人生的一個寶藏。我想今後的學習和工作也是這樣的,汗水見證著成功,我想十年過後,但我們都已經走入了社會,在某個陽光明媚的夏日,午後醒來,突然想起大學經歷的時候,最先映入腦海里的就是這門課程吧,就是這些為了一個共同的目標,相互合作,共同奮斗的日子吧。
不可否認,單片機是一門比較難的專業學科。但是經過這一學期的學習,我們覺得單片機這門課很好,讓我們在設計中掌握課程,具有很強的實用性。在社會上,單片機也應用極其廣泛。通過這次課程設計,我掌握了常用元件的識別和測試;熟悉了常用儀器、儀表;了解了電路的連線方法;以及如何提高電路的性能等等。我相信在接下來的日子裡,我會更深刻地去研究它,發掘它。
在這次的實訓里,我覺得過得很充實。實訓,不僅培養了我們獨立思考、動手操作的能力,在各種其它能力上也都有了提高。更重要的是,在實驗課上,我們學會了很多學習的方法。而這是日後最實用的,真的是受益匪淺。要面對社會的挑戰,只有不斷的學習、實踐,再學習、再實踐。這對於我們的將來也有很大的幫助。以後,不管有多苦,我想我們都能變苦為樂,找尋有趣的事情,發現其中珍貴的事情。汗水,是我們努力的過程,更是成功的使者。它是希望的凝聚。
回首此次實訓,我們真的學到了很多很多。鞏固了以前所學過的知識,將理論與實際結合起來,不斷提高自己的實際動手能力和獨立思考的能力,並學會去使用知識。當然不僅僅是這些課本上的知識,更重要的是一些課本上沒有但是也很重要的知識,像是團隊合作精神等。當我們都已經走入了社會,在某個陽光明媚的夏日,午後醒來,突然想起大學經歷的時候,回憶起這些泛著汗水的時光的時候,定然會被我們的團隊感動。
成功後會很喜悅,但過程一樣令我們回味無窮。此次設計也讓我明白了思路即出路,學問學問,有學必問。只要認真鑽研,動腦思考,動手實踐,就沒有弄不懂的知識。親歷親為,親手實踐才是硬道理。希望這樣的實訓能夠繼續下去,並不斷地前進,幫助更多的學生更好地學習單片機,並能夠在使用中發現它的無窮魅力!
從剛開始接觸單片機,到現在已經有4年的時間了,在這期間學習和使用了51單片機、飛思卡爾單片機,lpc2138,pic16f887等系列的單片機,每接觸一款單片機,都會經歷熟悉其基本開發,然後將其用於項目中的過程,對於如何學習一款單片機,自己做了如下的總結。
大家都知道,51單片機是最容易入門的,不僅因為其編程簡單,更重要的是網上的資料非常豐富。所以一般學習單片機開發的都將51單片機作為入門開發的首選。我學習51單片機的時候是採用這樣的一個步驟進行學習的:
第一步(熟悉的過程):買了一款51單片機開發板,然後就開始了我的學習之旅,剛開始的時候沒有去看視頻教程,而是對著一本實驗教材進行學習,那本實驗教材的名字記不清楚了,但是其內容就是圍繞單片機的led燈進行控制,將51單片機內部的各個功能部件全部都使用到了,這樣就能使我在很短的時間內,通過控制led燈的亮、滅熟悉了51單片機的內部的各種資源,這時對51單片機也就沒有感到陌生了。所以,個人覺得,學習單片機,要從實驗入手,先熟悉單片機再說,開發語言開始使用的是c語言。
第二步(進階的過程):有了第一步的基礎之後,接下來的便是進階的過程,當時,我看的是郭天祥十天學會單片機的視頻教程,因為這個教程從基礎到復雜的編程慢慢深入,講的比較的全面,而且也生動,所以那一階段,也是我學習單片機進步最快的階段,每次聽課的時候,按照上面的實驗,以及課堂上面調試程序時出現的一些問題,自己認真的在電腦上進行調試,並分析產生故障的原因,讓我有了一定的開發基礎。在看完了視頻教程之後,後面又對基礎的知識進行了下補習,主要是看單片機原理性的教材,因為有些細節性的東西還是要從教材上面獲得。
第三步(項目實戰的階段):學習單片機的時候,雖然也編寫了一些程序,但是那些都是一些很小的模塊程序,並沒有起到綜合應用的目的,所以在這之後,我和另外一個學習硬體的同學一起組成了一個小的團隊,進行項目實踐開發,那時候,實驗室的條件比價好,有很多的器件可以自己使用。所以,我們就設計了我們的第一個作品,基於單片機的`液體點滴監控系統。做這個系統時,就將以前單片機所學的知識,做了一個綜合的應用,包括有lcd1602控制,串口的控制等。
經過以上三個步驟的學習之後,對於51單片機的開發基本上就算入門了。而對於其他類型的單片機,如飛思卡爾單片機,lpc2148arm7單片機,pic16f887等,雖然每個系列的功能不一樣,但是最基本的編程思想還是一樣的,不同的可能就是編譯器,程序下載的軟體等差別,所以有了51單片機的開發基礎之後,學習其他單片機所採用的方法就是一個差異化的學習,學習各種單片機不同的地方,這樣,就能很快的熟悉一款新的型號的單片機。
如在學習pic16f887這個系列的單片機時,我首先做的工作不是去閱讀數據手冊,而是先拿著demo代碼,在編譯軟體中編譯、鏈接、生成hex文件,然後將其下載到開發板中跑起來,這個過程主要就是學習其軟體的基本操作,有了這個基礎之後,就能自己進行編程、測試。之後就是熟悉其編程的模式,所謂其編程模式,就是寄存器的控制,中斷程序的編寫,熟悉了這個操作,也就能控制其他的功能模塊了,如串口的控制、i2c硬體控制器的控制。這些基本的開發熟悉了之後,接下來便是學習差異的部分,例如pic單片機c語言中,其堆棧深度不能超過8級,超過了之後,將會使得程序出現跑飛的現象。而且內存的分配完全要靠自己來控制,分成了4個bank的數據,bank0,bank1,bank2,bank3等。這些就是每個系列單片機所獨有的一些東西,這些東西需要詳細的了解,因為它們可能為你的編程帶來很大的便利。
以上就是我學習單片機的總結,如果大家有更好的學習方法,希望大家能夠提出來,一起討論,共同進步。
單片機系統學習總結[篇2]
人的一生是一個不斷學習、不斷成長的過程。轉眼間,研究生的學習生涯結束了,走上新的工作崗位。回頭看看,發現自己不知不覺已經走過了五年的單片機學習之旅。
在20xx年最初接觸單片機的時候,在我心中覺得51就是單片機,單片機就是51,根本不知道還有其他單片機的存在。那時候老師只教會了我們匯編語言,根本不知道用c語言也可以進行單片機開發。幸運的是,我加入了單片機興趣小組,在老師的指導下,做了一系列實驗,有「基於ds18b20的溫度採集系統」、「有基於164的移位寄存器的燈光控制系統」、「有步進電機和直流電機的控制系統」。這時候我才發現,這是學習單片機的一個最好途徑——在實踐中領悟理論,用理論指導實踐。在上課的整整一個學期中,雖然老師講得很詳細,但是大部分概念都是到了實際動手做東西的時候才弄明白的。而且在經歷了迷惑之後再搞清楚,印象就特別深刻。直到現在我對那些概念和介面都非常清晰。其實我也很慶幸學習和使用了兩年多的匯編語言。由於有這些鍛煉,我對單片機底層結構和介面時序就弄得很清楚。在使用c語言開發的時候,優化代碼和處理中斷也就不會太費勁。我覺得,雖然現在絕大部分單片機開發都使用c語言,甚至有些公司還推出了圖形化編程的工具,這樣對於項目的開展從時間上快了很多,在管理上也規范了不少,但是從學習和想深入掌握單片機精髓的角度來說,還是需要熟練掌握匯編語言的使用。
機會總是青睞於有準備的人。也許有了前面一段時間的理論和實踐的積累,我才慢慢得到了一些參加科技競賽和參與科研項目的機會。在參加第一屆浙江省機械設計競賽的時候,我們設計的由多單片機系統協調控制的「月球車」機器人奪得了唯一的一個特等獎。這個競賽給我最大的收獲是我對單片機的認識改變了,它不再僅僅是一門學科了,它是一個可以讓你的創意得到充分發揮的平台。後來參與了「基於視頻分劃技術的鋼捲尺自動切零位機」、「電能表渦杠渦輪嚙合深度檢測系統」、「基於公共電話網的水表集抄數據路由器」、「高精度電感微位移測量系統」等一些實際的項目。在這些過程中,我發現只是精通單片機技術還不能很好的解決問題。體會最深的是,單片機只有融合到各種應用領域中,才能展現它的最大活力。然而單片機僅僅是一個工具而已,要做好單片機系統還需要各種應用領域的專業知識的支持。例如,在「基於視頻分劃技術的鋼捲尺自動切零位機」中,就需要搞清楚全電視信號的時序,弄明白鋼捲尺切零位機的工作原理,懂得怎麼利用疊加在視頻信號中的橫豎線來進行刻度的瞄準等。沒有這些專業知識,就算單片機技術再厲害也不可能做好這個項目。脫離應用背景的單片機開發,就像一個沒有靈魂的軀體一樣。
隨著arm的出現,我曾經認為,8位單片機可能在32位單片機的沖擊下就此走進歷史,可是很快就認識到我是錯誤的。隨著技術的革新和時間的推移,各大單片機公司紛紛將單片機朝著片上系統這個方向發展,集成了現在各種流行的技術和常用的模塊。我相信,在當前國內和國外的這個市場中,8位單片機應用的市場仍然是充滿生機,活力無限。在市場的不斷變化和技術的不斷更新過程中,8位單片機也會順應潮流不斷革新。
從我五年走過的路來看,單片機學習的過程應該是一個循序漸進、不斷學習、不斷積累的過程,可以分為三個階段。
第一階段:掌握開發單片機的必備基礎知識。首先是熟練掌握單片機的基本原理,其實各家各門的單片機其基本結構和原理都差不多,特別是共有的知識需要好好理解和掌握。例如,內核結構、內存分配、中斷處理、定時計數、串列通信、埠復用等一些最基本的概念和原理。除此之外,我們還需要具備模擬電子、數字電子、c語言程序開發知識以及原理圖和pcb設計等一些技能。在進行系統開發的時候,進行原理設計、pcb布板、程序編寫、系統聯調這些工作都是在所難免的。
第二階段:在掌握好一款單片機原理和應用的基礎上,開始學習其他各家單片機的獨有技術,學不了那麼多也要多了解了解。同時盡可能多地掌握單片機的一些外圍器件和常用電路,以備不時之需。有時候客戶要求低成本,那我們只好選用合鈦、義隆、華邦等這類那個島晶元;如果客戶要求工業級的性能,那麼我們就得從pic、nec、飛思卡爾、nxp等這些歐美和日式單片機中選擇;若要進行功耗的開發,選用msp430系列應該有一定優勢;在進行測量儀器設計的時候,c8051和ac842這類數模混合晶元就顯得比較方便。所以說最好每個類型的單片機都會一兩款,在實際項目選型中可以更加靈活。另外,要注意平時的技術積累。比如,在項目開發過程中將一些常用的介面程序和控制演算法整理成模塊或者函數,在其他的項目開發中,有同樣或者接近的需求時馬上就可以使用,又快又好。
第三階段:在實際的項目開發過程中,不斷深化單片機應用技術,不斷積累應用行業的專業知識。例如,我完成了「高精度電感微位移測量系統」,就會對電感感測器的測量機理和信號特性、測量電路的設計、電磁兼容處理、誤差修正和非線性處理等測控方面的專業技術有很深的認識。以後碰到類似的項目時,很多東西就可以直接利用了。有了扎實的單片機應用相關的基礎知識,並且熟悉掌握了幾款不同類型單片機的開發方法,再結合實際的應用背景,那麼就可以隨心所欲,設計出性能最優、結構最合理的單片機應用系統。這是我最大的奮斗目標,我覺得這也應該是單片機應用的最高境界吧。
在這五年的學習中,有感慨、有遺憾、有憧憬、有希望,更重要的是我對單片機應用這個領域充滿熱情。由於才疏學淺、涉世未深,希望能與行業里的各位老師多多交流,不斷學習,不斷成長。
單片機系統學習總結[篇3]
基於本人學習單片機的痛苦經歷,特編寫本教程,以此獻給廣大的單片機初學者,希望您能從中受益。
作者提示:本教程乃最通俗易懂之單片機教材也,如果您還是看不懂,請千萬不要涉足此行,以免誤入歧途,耽誤您的前程*_*
拿到這本教程您首先就會想,什麼是iap教學法?是不是一種什麼全新的教學方法?當然不是,我可沒有那麼大的本事,其實這只是我杜撰的一個新名詞,意思就是inapplicationsprogram(在應用中編程),當然這只是針對單片機教學,說法是否正確,還得您說了算。
至於為什麼要提這種說法,那我倒想說幾句。大家都知道,學習電子技術是一件非常無聊和枯燥的事情,為什麼會有這種想法,就是因為我們傳統的教學方法只重理論而忽略了實踐,要一個人記住那些空洞而有無聊的理論知識實在不是一件容易的事,好在我們總算熬過來了,不管如何,也多多少少的學習了一些電子基礎知識。
接下來我們應該進一步掌握些什麼知識呢,凡涉足此行的朋友都知道,那就是單片機。不過這可不是一件容易的事,倒不是因為單片機很難學,而實在是我們身邊很難找到一本專為單片機入門者而編寫的教材。翻一下傳統的單片機教材,都好象是為已經懂單片機的人而寫的,一般總是以單片機的結構為主線,先講硬體原理,然後是指令,接著講軟體編程,再是系統擴展和外圍器件,最後舉一些實例(隨
,很少涉及單片機的基礎知識,如果按照此種學習方法,想便說一點:很多書中的實例都是有錯誤的)
進行產品開發,就必須先把所有的知識全部掌握了才可以進行實際應用。孰不知,單片機不象模擬電路和數字電路那樣,只要搞懂了電路原理,再按照產品要求設計好相應的電路就可以了。它是一種以簡單的硬體結構,復雜而有靈活的軟體系統來完成設計的通用性產品,不同的設計者只會使用其不同的功能,幾乎沒有人會把它的全部指令都使用起來,所以學習使用單片機只能靠循序漸進的積累,而不可能先把
。它全部掌握了再去做產品開發(當然天才就例外了*_*)
基於以上原因,本人想嘗試一種全新的單片機教學方法,打破傳統的循序漸進式的教學方法,以單片機的應用為藍本,結合基本的工業控制系統和實踐工作中的具體應用,不分先後順序,將各條指令貫串於一個又一個的實驗中,通過所見即所得的實驗來講解各種指令的編程方法,順便講解相關的基本概念,使您盡快地熟悉單片機應用的基本步驟,掌握軟體編程的基本方法。
如果您學完了就能成為單片機的入門者,完全可以進行一般產品的開發;下冊部分是單片機應用的提高部分,主要學習單片機的系統擴展(比如:rom和ram存儲器的擴展,並行口的擴展,串列口的擴展,a/d和d/a與單片機的介面)以及相關開發工具和軟體的使用(包括kellc51的應用與調試技巧,硬體模擬器的使用)等等,如果您學完了下冊部分,那就得恭喜您成為了單片機開發的高手了,不過單片機的技術是在不斷的發展和提高的,您也不要太驕傲哦!
為了盡量把最新的單片機知識和應用成果收錄進我們的教程,希望您能不吝賜教,共同來努力把我們的教程不斷的改進和完善。還是那句題外話,技術是靠不斷的積累和交流才會進步的,固封自守只會更加落後。
由於時間和精力的限制,我還是希望在您學習本教程之前,自己先熟悉一點相關的電子技術知識,特別是數字電路基礎,這對您學習中碰到的相關概念會有很大的幫助。
;