1. 求單片機課程設計 用匯編語言設計計數器(要求從0~9999,在數碼管上顯示)!!!!!!!!!!!!!
單片機課程設計報告
題 目 計時器設計
班 級 電 信 093
學 號 090301334
姓 名 周 劍
時 間 2010.12.20
成 績
指導教師 石巧雲
目錄
一、 前言………………………………………………………………1
單片機的應用介紹…………………………………………………1
二、 課程設計的目的和要求…………………………………………2
(一)課程設計的目的…………………………………………… 2
(二)課程設計的基本要求……………………………………… 3
三、 總體設計…………………………………………………………3
(一)工作原理…………………………………………………… 3
(二)硬體總體設計……………………………………………… 4
(三)軟體總體設計……………………………………………… 5
四、綜合調試………………………………………………………… 7
(一)keil調試 …………………………………………………… 8
(二)Proteus調試………………………………………………… 9
五、結束語…………………………………………………………… 9
六、參考文獻 …………………………………………………………10
前言
單片機的應用介紹
單片機又稱單片微控制器,它不是完成某一個邏輯功能的晶元,而是把一個計算機系統集成到一個晶元上。概括的講:一塊晶元就成了一台計算機。它的體積小、質量輕、價格便宜、為學習、應用和開發提供了便利條件。同時,學習使用單片機是了解計算機原理與結構的最佳選擇。
單片機是指一個集成在一塊晶元上的完整計算機系統。盡管他的大部分功能集成在一塊小晶元上,但是它具有一個完整計算機所需要的大部分部件:CPU、內存、內部和外部匯流排系統,目前大部分還會具有外存。同時集成諸如通訊介面、定時器,實時時鍾等外圍設備。而現在最強大的單片機系統甚至可以將聲音、圖像、網路、復雜的輸入輸出系統集成在一塊晶元上。
目前單片機滲透到我們生活的各個領域,幾乎很難找到哪個領域沒有單片機的蹤跡。導彈的導航裝置,飛機上各種儀表的控制,計算機的網路通訊與數據傳輸,工業自動化過程的實時控制和數據處理,廣泛使用的各種智能IC卡,民用豪華轎車的安全保障系統,錄象機、攝象機、全自動洗衣機的控制,以及程式控制玩具、電子寵物等等,這些都離不開單片機。更不用說自動控制領域的機器人、智能儀表、醫療器械了。因此,單片機的學習、開發與應用將造就一批計算機應用單片機的應用介紹
單片機又稱單片微控制器,它不是完成某一個邏輯功能的晶元,而是把一個計算機系統集成到一個晶元上。概括的講:一塊晶元就成了一台計算機。它的體積小、質量輕、價格便宜、為學習、應用和開發提供了便利條件。同時,學習使用單片機是了解計算機原理與結構的最佳選擇。
單片機是指一個集成在一塊晶元上的完整計算機系統。盡管他的大部分功能集成在一塊小晶元上,但是它具有一個完整計算機所需要的大部分部件:CPU、內存、內部和外部匯流排系統,目前大部分還會具有外存。同時集成諸如通訊介面、定時器,實時時鍾等外圍設備。而現在最強大的單片機系統甚至可以將聲音、圖像、網路、復雜的輸入輸出系統集成在一塊晶元上。
目前單片機滲透到我們生活的各個領域,幾乎很難找到哪個領域沒有單片機的蹤跡。導彈的導航裝置,飛機上各種儀表的控制,計算機的網路通訊與數據傳輸,工業自動化過程的實時控制和數據處理,廣泛使用的各種智能IC卡,民用豪華轎車的安全保障系統,錄象機、攝象機、全自動洗衣機的控制,以及程式控制玩具、電子寵物等等,這些都離不開單片機。更不用說自動控制領域的機器人、智能儀表、醫療器械了。因此,單片機的學習、開發與應用將造就一批計算機應
智能化控制的科學家、工程師。
與智能化控制的科學家、工程師。
單片機廣泛應用於儀器儀表、家用電器、醫用設備、航空航天、專用設備的智能化管理及過程式控制制等領域,大致可分如下幾個范疇:
(1.在智能儀器儀表上的應用
(2.在工業控制中的應用
(3.在家用電器中的應用
(4.在計算機網路和通信領域中的應用
(5.單片機在醫用設備領域中的應用
(6.在各種大型電器中的模塊化應用
此外,單片機在工商,金融,科研、教育,國防航空航天等領域都有著十分廣泛的用途。
二、 課程設計的目的和要求
(一)課程設計的目的
1. 進一步熟悉和掌握8051單片機的結構及工作原理。
2. 掌握單片機的介面技術及相關外圍晶元的外特性,控制方法
3. 通過課程設計,掌握以單片機核心的電路設計的基本方法和技術,了解表關電路參數的計算方法。
4. 通過實際程序設計和調試,逐步掌握模塊化程序設計方法和調試技術。
5. 通過完成一個包括電路設計和程序開發的完整過程,使學生了解開發一單片機應用系統的全過程,為今後從事相應打下基礎。
(二)課程設計的基本要求
用AT89C51 單片機的定時/計數器T0產生一秒的定時時間,作為秒計數時間,但一秒產生時,秒計數加1,秒計數加到60時,自動從0開始。單片機晶振頻率為12MHz。
二、 總體設計
(一) 工作原理
LED顯示器的結構與原理
1、結構種類
七段LED顯示器(數碼管)系發光器件的一種。常用的LED發光器件有兩類:數碼管和點陣。數碼管內部有七個條形發光二極體和一個小圓點發光二極體組成,根據各管的亮暗組成字元。常見數碼管有10根管腳。管腳排列如下圖(a)所示。其中COM為公共端,根據內部發光二極體的接線形式可分為共陰極和共陽極兩種。如下圖(b)(c)所示,使用時,共陰極數碼管公共端接地,共陽極數碼管公共端接電源。發光二極體需5~10mA的驅動電流才能正常發光,一般需加限流電阻控制電流的大小。
2、顯示原理
LED數碼管的a~g七個發光二極體。加正電壓的發光加零電壓的不能發光,不同亮暗的組合能形成不同的字元,這種組合稱為字型碼。共陽極和共陰極的字型碼是不同的,如下圖所示。
LED字元顯示代碼表
顯示 段符號 十六進制代碼
dp g f e d c b a 共陰極 共陽極
0 0 0 1 1 1 1 1 1 3FH C0H
1 0 0 0 0 0 1 1 0 06H F9H
2 0 1 0 1 1 0 1 1 5BH A4H
3 0 1 0 0 1 1 1 1 4FH B0H
4 0 1 1 0 0 1 1 0 66H 99H
5 0 1 1 0 1 1 0 1 6DH 92H
6 0 1 1 1 1 1 0 1 7DH 82H
7 0 0 0 0 0 1 1 1 07H F8H
8 0 1 1 1 1 1 1 1 7FH 80H
9 0 1 1 0 1 1 1 1 6FH 90H
(二) 硬體總體設計
1、主要元器件選擇
主要元器件選用型號和數量如下:
1個AT89C51(單片機) 1個CRYSTAL(晶振) 2個CAP(電容)
3個RES(電阻) 2個7SEG-COM-CATHOD(共陰極數碼管)
1個CAP-ELEC(電解電容)
2、系統板上硬體連線
(1. 把「單片機系統」區域中的P0.0/AD0-P0.7/AD7埠用8芯排線連接到「四路靜態數碼顯示模塊」區域中的任一個a-h埠上;要求:P0.0/AD0對應著a,P0.1/AD1對應著b,……,P0.7/AD7對應著h。
(2. 把「單片機系統」區域中的P2.0/A8-P2.7/A15埠用8芯排線連接到「四路靜態數碼顯示模塊」區域中的任一個a-h埠上;要求:P2.0/A8對應著a,P2.1/A9對應著b,……,P2.7/A15對應著h。
3、計時器電原理圖
(三)軟體總體設計
1、程序設計內容
(1.在設計過程中我們用一個存儲單元作為秒計數單元,當一秒鍾到來時,就讓秒計數單元加1,當秒計數達到60時,就自動返回到0,從新秒計數。
(2.對於秒計數單元中的數據要把它十位數和個數分開,方法仍採用對10整除和對10求余。
(3.在數碼上顯示,仍通過查表的方式完成。
(4.一秒時間的產生在這里我們採用軟體精確延時的方法來完成,經過精確計算得到1秒時間為1.002秒。
2、延時1秒子程序
DELY1S: MOV R5,#100
D2: MOV R6,#20
D1: MOV R7,#248
DJNZ R7,$
DJNZ R6,D1
DJNZ R5,D2
RET
3、程序流程圖
4、匯編源程序設計
Second EQU 30H
ORG 0
START: MOV Second,#00H ;設置顯示初值為00
NEXT: MOV A,Second
MOV B,#10
DIV AB ;十位數存於A中,個位數存於B中
MOV DPTR,#TABLE ;字型碼地址送DPTR
MOVC A,@A+DPTR ;查十位字型碼
MOV P1,A ;送P1口顯示
MOV A,B
MOVC A,@A+DPTR ;查個位字型碼
MOV P2,A ;送P2口顯示
LCALL DELY1S ;調用延時1秒子程序DELY1S
INC Second ;顯示值加1
MOV A,Second
CJNE A,#90,NEXT ;顯示值不為90轉到NEXT執行
LJMP START ;返回到主程序
DELY1S: MOV R5,#100 ;1S延時子程序
D2: MOV R6,#20
D1: MOV R7,#248
DJNZ R7,$
DJNZ R6,D1
DJNZ R5,D2
RET
TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;共陰數碼管字型碼
END
四、綜合調試
(一)Keil調試
程序調試完成圖
(二)Proteus調試
五、結束語
完成情況:經過兩個星期的努力,我們一組成員終於完成了秒錶控制方案的設計,主要是用AT89C51單片機實現0-99秒計時器控制方案。本設計還包含數碼管顯示部分,可直接顯示時間可方便觀察。通過這次課程設計,使我得到了一次用專業知識和專業技能去分析問題、解決問題全面系統的鍛煉。使我在單片機的基本原理、單片機應用系統開發過程,以及用匯編語言設計程序的思路技巧等方面都能向前邁了一大步,為日後成為合格的應用型人才打下良好的基礎。
六、參考文獻
[1]. 江力主編,單片機原理與應用技術,清華大學出版社,2008年4月第6次印刷
[2].蔡駿主編,單片機實驗指導教程,安徽大學出版社,2008年7月第一次印刷
[3]. http://www.51c51.com/51test/cc411.htm
2. 單片機實訓心得
通過為期一周的單片機實訓,是我們對這門課有了許多新的了解,彌補了在課堂上學習的不足。相信這對我們賀廳以後的學習和工作都會有很大的幫助。我們一定要在最短的時間里對這些不足加以改正!
首先,在這次試訓中我被單片機強大的功能所震撼,以前在課堂上完全沒有能理解可編程單片機的優越性。這次通過實體模擬軟體等輔助軟體的共同效果,是這次試訓有了鮮明的活力。換是我們認識
到這次試訓不僅僅是一個軟體的應用,更多的是使我們認識到學習到很多在課堂上無法得到的東西。特別是protues軟體的功能是我們了解了當今開發系統的新方向,簡直太不可思議啦!
單片機作為一種最簡單的軟體,與我們的日常生活息息相關,了解一些單片機程序的簡單錄入是費城必要的。如:LED顯示器、鍵盤和顯示器的應用和原理。
在被刺實訓中我們每個人通過一個八位流水燈的製作,使我們深深地體會到了單片機在現實生活中的小小應用,既增強了我們的好奇心,又鞏固了我們的理論知識。更讓我們體會到了單片機手動的開
始平台的完善與成熟。只要你有想法,單片機就有可能讓他成為現實。這里我學習完protues軟體後的第一感覺是,雖然這軟體工作不穩定,但是會有相當不錯的效果出來。這對我以後的工作一定咐拍旦會有幫助的。在這次試訓中不僅只對單片機編程有了新的認識,還對整個單片機的開發平台都有了一廳的了解,這是一筆不錯的收獲。
通過這幾天的試訓,使我的感觸很深,真實「條條大路通羅馬」,要達到目的,不同的人就有不同的方法。只要你的方法不錯!五花八門都可以,而且是各有特色。走出來的結果都有各自的獨到之處
。在編程中「簡」字貫穿於整個程序設計中,越簡單越好,畢竟單片機留給用戶的資源是有限的,所以我們要充分利用這些資源,達到更好的效果,這些是我們在以後的學習生活中應值得注意的地方。
在試訓中有苦有甜,當我們為一個很難攻破的程序找出路時,心情煩躁,感覺自己很不可理喻,當程序一點一點編好後,自己從心底感覺到一點小小的安慰,看著自己的成果。感覺很欣慰,有一絲絲的
甜意,幾天的實訓使自己的思維邏輯也有了小小的進步。
2.結束了兩周的電視機實訓,我們又迎來了單片機課程設計實訓,真是讓我們受益匪淺啊?學到了很多東西,不管怎麼樣,先感謝學校給我的這么多機會.真正的學到了東西.為期一周的單片衡擾機課程設計讓我們受益匪淺.此次課程設計軟體與硬體相結合,考察了我們的焊接水平與編程能力.對於我們應用電子技術的學生而言焊接是不成問題,也很順利;可到了編程時就出現了很大的障礙,先開始的顯示時鍾還算順利,下面的報警部分就花費了相當長的時間,還有加上報警時的音樂也是我們到圖書館里查閱資料由匯編轉化成C語言得來的.本來還以為編程會很簡單的,等到實際操作起來才知道它的復雜性,沒有想像中的那麼得心應手,理解流程是有思維的前提.單片機是我們上學期開設的課程,所以很多專業知識也都忘記了.不過經過我們一步步的努力,花費的時間與精力終於沒有白費,效果漸漸地出現了.其實本身程序的思維是正確的,只是步驟中有點小錯誤,所以導致整個程序的結果很亂,在仔細修改程序之後,終於一步步地達到效果了.
我們將各個部分的程序編好後怎麼都連不起來,出不了預期的效果.對於硬體在編程過程中PCB板的接觸又是一個頭疼的問題,在進行編譯的時候,數碼顯示管上什麼都沒有,按一下旁邊與之相連的元器件時就有顯示了,所以也花費了好多時間在PCB板的重新焊接上.對於軟體我們在時鍾完成後就對其加入了報警系統,可加了之後發現程序亂了,以前的時鍾也不可以控制了.經過反復研究,發現接地接錯了位置,導致了用來報警的紅燈跟綠燈根本不亮,然後就將 接地線重新焊接了一下,功夫不負有心人,紅燈亮了,配合編好的程序,用紙板擋住了發射管與接收管之間的信號傳輸,數碼顯示管出現閃爍的效果,並且沒信號的時候綠燈亮,有信號的時候紅燈就亮了,這個現象讓我們喜出望外.經過修改時鍾程序和報警系統都被使用上了,可更大的難題就是如何讓它報警?這困擾了我們,數碼顯示管上終於有了閃爍的效果,可報警聲還沒加的上去.老師的要求是除了蜂鳴器上的報警聲再加一段音樂.翻閱了圖書館里的書籍,查出來的音樂程序都是用匯編編的,要將此程序放到主程序中就必須將匯編程序改編成C語言程序.這再次困擾了我們,雖然以前也學過匯編跟C之間的互換,可都是簡單的,從沒涉及到這么復雜的程序過,改編很是有壓力,經過研究,我們將匯編程序舍棄了,到網上下載了一段音樂程序,是C語言編的.要讓音樂在我們的紅外報警系統中唱出來可不是什麼簡單的事情,雖然找到了音樂程序,但要讓音樂程序跟我們的主程序融合在一起得花費點心思了.
最後在全組人竭盡全力,老師的精心指導下,程序基本編寫成功,這是我們共同努力的結果,在享受我們成果之時,不得不感慨單片機的重要性與高難度性,所以為期一周的單片機課程設計沒有浪費,我們從中學到了很多知識.,也讓我們對單片機有了更深一步的了解.雖然最後結果是出來了,可這與老師的精心指導是分不開的,她引導我們的思路,本來一竅不通的我們經過老師的點撥基本上通了,所以說老師是功不可抹的.
總而言之,單片機課程設計對於我們有很大的幫助,我們從中受益匪淺!
3. 單片機課程設計心得體會範文1000字
做了兩周的課程設計,有很多的心得體會,有關於單片機方面的,更多的是關於人與人之間關系方面的。
4. 簡論單片機課程中單片機實驗教學探究
簡論單片機課程中單片機實驗教學探究
論文摘要:單片機的開發與應用、學習將造就一批計算機智能化控制的工程師、科學家。一些中等院校也相繼開設了單片機課程設計及相關的課程。在單片機及介面技術課程的教學過程中,實驗教學是重要的組成部分。針對單片機課程的教學改革,不斷加強單片機課程實驗環節,改革教學方法,虛擬模擬實驗在單片機教學中的應用,實踐表明,該方法有利於激發學生的學習興趣,培養學生的工程素養和創新能力,提高了教學效果。
論文關鍵詞:單片機;教學;模擬實驗
「單片機原理」是一門理論性、邏輯性、實踐性很強的學科,是電類專業一門非常重要的專業基礎課,把微機介面部分、匯編語言部分、通信技術部分的知識點等綜合在一起,屬於邏輯性、工程性、技術性、實踐性很強的一門專業基礎課。該課程作為電類專業最重要的核心課程之一,它是電類專業高素質技能型人才所需全部自動控制類知識結構的載體,占據著非常重要的位置。
然而,傳統的單片機教學一般注重課程本身的體系結構和前後的邏輯聯系,均以學科體系為出發點,忽略了「可學性」,致使學生學得吃力,老師教得辛苦,教學效果卻沒有顯現出來。
一、研究背景及意義
目前,全國將單片機列入單獨的比賽項目,在考查中注重學生的能力培養,學生的技能素養教育成為重中之重,加之社會需求高技能人才,許多學校為了適應社會的發展和市場需求在不同的專業開設了單片機課程,然而單片機課程是一門實踐性很強的課程,要想在教學過程中取得很好的效果,就必須要求學生在學習過程中多動手實踐,但有的學校教學設備有限,怎樣解決這個問題。模擬實驗課可以讓學生在單片機工作室里做中學,真正玩轉單片機,也同時解決了學生學起來枯燥,老師教起來吃力的尷尬局面。
目前單片機教學中存在諸多問題。如單片機課程理論為主,實驗教學多是進行驗證性實驗。單片機實驗室存在場地和時間限制,學生除了課上,很難有機會接觸到所需要的設備,如模擬器、實驗板等,個人配備成本太高,個體無法承擔。而且實驗箱只能驗證試驗的基本作用和意義,就無從談起學生動手能力的訓練和提升。單片機在當今社會中的應用速度發展迅速,然而單片機教材陳舊,實驗設備很容易落後、老化等問題,必然會帶來耗資等問題。由此可見,構建成本低廉的單片機模擬實驗系統對於單片機教學意義重大。它不僅可以降低實驗設備投資,而且能培提高學生的工程素質,養學生的創新精神。在單片機控制系統的設計開發過程中,我們不單要突出設備的自動化程度及智能性,另一方面也要重視控制系統的工作穩定性,否則就無法體現控制系統的優越性。
由於單片機控制系統應用系統的工作環境往往是比較惡劣和復雜的,其應用的可靠性、安全性就成為一個非常突出的問題。單片機控制系統應用必須長期穩定、可靠地運行,否則將導致控制誤差加大,嚴重時會使系統失靈,甚至造成巨大的損失。
影響單片機控制系統應用的可靠、安全運行的主要因素是來自系統內部和外部的各種電氣干擾,以及系統結果設計、元器件選擇、安裝、製造工藝和外部環境條件等。這些因素對控制系統造成的干擾後果主要表現在下述幾個方面。(1)數據採集誤差加大。(2)控制狀態失靈。(3)數據受干擾發生變化。(4)程序運行失常。
由於受到干擾後計數器的值是隨機的,因而導致程序混亂。通常的情況是程序將執行一系列毫無意義的指令,最後進入「死循環」,這將使輸出嚴重混亂或系統失靈。
隨著單片機及其介面技術的飛速發展,目前面對職業教育存在的突出問題:質量能力與規模能力不相適應,教學信息化程度低,古老的填鴨式課堂教學模式仍應用普遍,「雙師型」教師隊伍建設機制缺乏完善性,科學管理水平和改革創新能力就提到了日程,管理制度不健全,學校基本辦學規范不健全,科學的職業教育評價標准和評價機制達不到標准,學生成長的「通道」不暢通。
從新的教學要求來看,這類課程僅在課堂上講授基本原理是不夠的,必須在教學中加強實踐環節,開出一定數量的高質量的配套實驗課活獨立的實驗課程,讓學生有足夠的實驗機會。那麼對於單片機實驗教學環境建設就相應提出了高要求。怎樣解決這個問題,單片機模擬實驗應運而生。
二、「單片機模擬實驗」初探
伴隨著計算機技術的飛速發展,在各個領域都出現了各種模擬系統,為各種實際系統的開發提供了准確可靠的保證,同時為很多學校、企業等節約了大量的人力和物力。在電子信息技術領域也同樣出現了大量的模擬工具,如課堂上用到的各種EDA工具;模數混合模擬的Protel、Multisim等常見的電子應用模擬軟體,數字系統設計的Fundation、Maxplus II、Expert等。
所謂「模擬」,就是通過開發工具真實地模擬用戶系統的運行環境,使用戶能夠在透明和可控的條件下觀察系統運行過程中的狀態和結果,模擬實際上也是一種軟體和硬體的綜合調試手段,它能提高應用系統開發的效率。
用通俗的話來描述「單片機模擬實驗」就是在一塊虛擬電路板上按照真實電路的設計構想放置一些虛擬的元器件,並模擬實際燒ROM的過程鏈接上程序代碼,「接通」電路觀察效果,如果不理想的話可以反復修改電路或程序代碼,直至符合設計要求為止。
模擬實驗的好處是顯而易見的。在沒有模擬實驗的年代,每架構一個真實的電路都需要費時費力費錢,稍有不慎還有可能前功盡棄,再加上單片機中的ROM晶元是有擦寫次數的,而一段程序可能需要修改擦寫多次,無形中減少了ROM晶元的使用壽命。模擬實驗是在計算機上進行的(可能會費點兒電),以上問題都不存在,而且就現在的模擬軟體來說,模擬出來的電路效果與真實電路一模一樣,毫不誇張地說,只要模擬是成功的,就可以直接下工廠的流水線生產了。