基于單片機流水燈論文.doc
《基于單片機流水燈論文.doc》由會員分享,可在線閱讀,更多相關《基于單片機流水燈論文.doc(18頁珍藏版)》請在裝配圖網上搜索。
西北民族大學 2012級專業(yè)課程設計(論文) 基于單片機流水燈設計 年 級: 學 號: 姓 名: 專 業(yè): 自動化 二零一五年六 摘要 本論文基于單片機技術與單片機芯片AT89S51芯片功能和C語言程序,實現心形流水燈的多種亮與滅的循環(huán)。首先,我們了解單片機的一些技術,了解了單片機芯片AT89S51的一些功能;然后結合C語言編程;最后將它們運用到實際的電路,使心形LED燈實現多種亮滅方法。本論文介紹關于流水燈的運用和單片機技術;然后介紹芯片AT89S51;最后介紹運用到的相關軟件. 關鍵詞:單片機;流水燈;C語言; Abstract This paper Based on the single chip microcomputer and single chip microcomputer chip AT89S51 chip function and C language program,Realization of flowing water light heart a variety of light and the cycle of destruction。primarily,We know some of the single chip microcomputer technology,Understanding of the single chip microcomputer chip AT89S51 of some functions, Then based on the C language programming; Finally they are applied to the practical circuit, Make heart LED lamp achieve a variety of light out method. This paper introduces about the use of flowing water light and single chip microcomputer; and then introduced chip AT89S51; At the end of this paper applied to software. Key words:micro-computer;light water ;C programming language 目 錄 引 言 1 1 設計方案 2 1.1 總體設計目標 2 1.2 總體設計組成框圖 2 2 相關運用與功能 2 2.1流水燈運用 2 2.2 單片機運用 3 2.3 STC89C52芯片功能 3 3 軟件部分設計方案及仿真 6 3.1 multisim軟件功能簡介 6 3.2 Altium Designer軟件功能簡介 7 3.3 keil軟件功能 8 3.4 設計步驟及方法...........................................................................................................................8 4 電路板的制作及調試 8 4.1電路板的制作 8 4.2 電路板的調試過程及所遇問題的解決方案 9 4.3 C語言程序運用................................................................................................................................10 5 結論 11 謝 辭 12 參考文獻 13 附 錄 14 引 言 LED流水燈是運用單片機原理和一些芯片功能,結合C語言或者匯編語言,實現燈的亮滅方式。流水燈主要用于裝飾婚慶布置、賓館、酒店、酒吧、聚會、商廈、家居、櫥窗、俱樂部、音樂會、歌廳、時裝表演、舞廳、舞臺、等等各個場所,也可以作為禮物送人。 本文主要講述我完成這次課設所經歷的五個階段:總體方案設計、硬件電路設計方案及原理、軟件調試及仿真,電路板的制作、對于本次課程設計的改進預想。在介紹我本次課程設計的設計原理的同時,也側重同時記錄了我是如何對于設計過程中遇到的問題進行分析和解決的。同時,我也著重介紹了我所用到的相關軟件和芯片功能。 1 設計方案 1.1 總體設計目標 使心形LED燈實現42種不同形式的閃爍功能 利用C語言編程,使LED燈實現42種不同形式的閃爍功能,一直循環(huán)。 1.2總體設計組成框圖 系統框圖如下 AT89S51 5v電壓源 心形LED燈 1.1系統框圖 運用單片機與芯片STC89C52功能,以及C語言程序編程,是LED燈實現多種亮滅方法,運用晶振給單片機芯片提供一個時鐘信號,本次實驗采用12MHz的晶振給單片機提供時鐘信號。 2 相關運用及功能 2.1流水燈運用 LED燈可以裝飾婚慶布置、賓館、酒店、酒吧、聚會、商廈、家居、櫥窗、俱樂部、音樂會、歌廳、時裝表演、舞廳、舞臺、等等各個場所, 也可以當做禮物送人。人們可以將各種亮法的燈去裝飾自己需要裝飾的地方,也可以安放在廣告牌,這樣更為吸引人們的關注。 2.2 單片機運用 目前單片機滲透到我們生活的各個領域,幾乎很難找到哪個領域沒有單片機的蹤跡。導彈的導航裝置,飛機上各種儀表的控制,計算機的網絡通訊與數據傳輸,工業(yè)自動化過程的實時控制和數據處理,廣泛使用的各種智能IC卡,民用豪華轎車的安全保障系統,錄像機、攝像機、全自動洗衣機的控制,以及程控玩具、電子寵物等等,這些都離不開單片機。更不用說自動控制領域的機器人、智能儀表、醫(yī)療器械了。因此,單片機的學習、開發(fā)與應用將造就一批計算機應用與智能化控制的科學家、工程師。 單片機廣泛應用于儀器儀表、家用電器、醫(yī)用設備、航空航天、專用設備的智能化管理及過程控制等領域,大致可分如下幾個范疇: 1.在智能儀器儀表上的應用 2.在工業(yè)控制中的應用 3.在家用電器中的應用 4.在計算機網絡和通信領域中的應用 5.單片機在醫(yī)用設備領域中的應用 6.在各種大型電器中的模塊化應用 7.單片機在汽車設備領域中的應用 此外,單片機在工商,金融,科研、教育,國防航空航天等領域都有著十分廣泛的用途。 2.3 STC89S52芯片功能 STC89C52RC單片機是宏晶科技推出的新一代高速/低功耗/超強抗干擾的單片機,指令代碼完全兼容傳統8051單片機,12時鐘/機器周期和6時鐘/機器周期可以任意選擇。 主要特性如下: 1.增強型8051單片機,6時鐘/機器周期和12時鐘/機器周期可以任意 選擇,指令代碼完全兼容傳統8051. 2.工作電壓:5.5V~3.3V(5V單片機)/3.8V~2.0V(3V單片機)3.工作頻率范圍:0~40MHz,相當于普通8051的0~80MHz,實際工作 頻率可達48MHz 4.用戶應用程序空間為8K字節(jié)5.片上集成512字節(jié)RAM 6.通用I/O口(32個),復位后為:P1/P2/P3/P4是準雙向口/弱上拉, P0口是漏極開路輸出,作為總線擴展用時,不用加上拉電阻,作為I/O口用時,需加上拉電阻。 7.ISP(在系統可編程)/IAP(在應用可編程),無需專用編程器,無 需專用仿真器,可通過串口(RxD/P3.0,TxD/P3.1)直接下載用戶程序,數秒即可完成一片8.具有EEPROM功能9.具有看門狗功能 10.共3個16位定時器/計數器。即定時器T0、T1、T2 11.外部中斷4路,下降沿中斷或低電平觸發(fā)電路,PowerDown模式可 由外部中斷低電平觸發(fā)中斷方式喚醒 12.通用異步串行口(UART),還可用定時器軟件實現多個UART13.工作溫度范圍:-40~+85℃(工業(yè)級)/0~75℃(商業(yè)級)14.PDIP封裝 STC89C52RC單片機的工作模式 l掉電模式:典型功耗<0.1μA,可由外部中斷喚醒,中斷返回后,繼續(xù)執(zhí)行原 程序 PDIP封裝的AT89S51管腳圖 P1口:P1口是一個內部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。 P2口:P2口為一個內部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數據存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內部上拉優(yōu)勢,當對外部八位地址數據存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。 P3口:P3口管腳是8個帶內部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口除了作為普通I/O口,還有第二功能: P3.0 RXD(串行輸入口) P3.1 TXD(串行輸出口) P3.2 /INT0(外部中斷0) P3.3 /INT1(外部中斷1) P3.4 T0(T0定時器的外部計數輸入) P3.5 T1(T1定時器的外部計數輸入) P3.6 /WR(外部數據存儲器的寫選通) P3.7 /RD(外部數據存儲器的讀選通) P3口同時為閃爍編程和編程校驗接收一些控制信號。 I/O口作為輸入口時有兩種工作方式,即所謂的讀端口與讀引腳。讀端口時實際上并不從外部讀入數據,而是把端口鎖存器的內容讀入到內部總線,經過某種運算或變換后再寫回到端口鎖存器。只有讀端口時才真正地把外部的數據讀入到內部總線。89C51的P0、P1、P2、P3口作為輸入時都是準雙向口。除了P1口外P0、P2、P3口都還有其他的功能。 RST:復位輸入端,高電平有效。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。 ALE/PROG:地址鎖存允許/編程脈沖信號端。當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的低位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數據存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。 PSEN:外部程序存儲器的選通信號,低電平有效。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數據存儲器時,這兩次有效的/PSEN信號將不出現。 EA/VPP:外部程序存儲器訪問允許。當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內部程序存儲器。注意加密方式1時,/EA將內部鎖定為RESET;當/EA端保持高電平時,此間內部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。 XTAL1:片內振蕩器反相放大器和時鐘發(fā)生器的輸入端。 XTAL2:片內振蕩器反相放大器的輸出端。 3 軟件部分設計方案及仿真 3.1 multisim軟件功能簡介 Multisim是Interactive Image Technologies (Electronics Workbench)公司推出的以Windows為基礎的仿真工具,適用于板級的模擬/數字電路板的設計工作。它包含了電路原理圖的圖形輸入、電路硬件描述語言輸入方式,具有豐富的仿真分析能力。為適應不同的應用場合,Multisim推出了許多版本,用戶可以根據自己的需要加以選擇。在本書中將以教育版為演示軟件,結合教學的實際需要,簡要地介紹該軟件的概況和使用方法,并給出幾個應用實例。 Multisim是加拿大圖像交互技術公司(Interactive Image Technoligics簡稱IIT公司)推出的以Windows為基礎的仿真工具,適用于板級的模擬/數字電路板的設計工作。它包含了電路原理圖的圖形輸入、電路硬件描述語言輸入方式,具有豐富的仿真分析能力。 工程師們可以使用Multisim交互式地搭建電路原理圖,并對電路行為進行仿真。Multisim提煉了SPICE仿真的復雜內容,這樣工程師無需懂得深入的SPICE技術就可以很快地進行捕獲、仿真和分析新的設計,這也使其更適合電子學教育。通過Multisim和虛擬儀器技術,PCB設計工程師和電子學教育工作者可以完成從理論到原理圖捕獲與仿真再到原型設計和測試這樣一個完整的綜合設計流程. 3.2 Altium Designer軟件功能簡介 Altium Designer 提供了唯一一款統一的應用方案,其綜合電子產品一體化開發(fā)所需的所有必須技術和功能。Altium Designer 在單一設計環(huán)境中集成板級和FPGA系統設計、基于FPGA和分立處理器的嵌入式以及PCB版圖設計、編輯和制造。并集成了現代設計數據管理功能,使得Altium Designer成為電子產品開發(fā)的完整解決方案-一個既滿足當前,也滿足未來開發(fā)需求的解決方案。 最新發(fā)布的 Altium Designer10 為您帶來了一個全新的管理元器件的方法。其中包括新的用途系統、修改管理、新的生命周期和審批制度、實時供應鏈管理等更多的新功能! Release 10 將繼續(xù)保持不斷插入新的功能和技術的過程,使得您可以更方便輕松地創(chuàng)建您的下一代電子產品設計。 Altium 的統一的設計架構以將硬件,軟件和可編程硬件等等集成到一個單一的應用程序中而聞名。它可讓您在一個項目內,甚或是整個團隊里自由地探索和開發(fā)新的設計創(chuàng)意和設計思想,團隊中的每個人都擁有對于整個設計過程的統一的設計視圖。 Altium Designer 10 提供了一個強大的高集成度的板級設計發(fā)布過程,它可以驗證并將您的設計和制造數據進行打包,這些操作只需一鍵完成,從而避免了人為交互中可能出現的錯誤。發(fā)布管理系統簡化規(guī)范了發(fā)布您的設計項目的流程,或者更具體地說,是那些項目中定義的配置, 直觀,簡潔而且穩(wěn)定。更重要的是,該系統可以被直接鏈接到您的后臺版本控制系統。 新增的強大的預發(fā)布版驗證手段的組合 - 用以確保所有包含在發(fā)布中的設計文件都是當前的,與存儲在您的版本控制系統中的相應的文件“主人”保持同步的文件,并且通過了所有特定的規(guī)則檢查ERC, DRC, 等等, 從而,您可以在更高層面上控制發(fā)布管理,并可保證卓越的發(fā)布質量。 3.3 keil軟件功能簡介 單片機開發(fā)中除必要的硬件外,同樣離不開軟件,我們寫的匯編語言源程序要變?yōu)镃PU可以執(zhí)行的機器碼有兩種方法,一種是手工匯編,另一種是機器匯編,目前已極少使用手工匯編的方法了。機器匯編是通過匯編軟件將源程序變?yōu)闄C器碼,用于MCS-51單片機的匯編軟件有早期的A51,隨著單片機開發(fā)技術的不斷發(fā)展,從普遍使用匯編語言到逐漸使用高級語言開發(fā),單片機的開發(fā)軟件也在不斷發(fā)展,Keil軟件是目前最流行開發(fā)MCS-51系列單片機的軟件,這從近年來各仿真機廠商紛紛宣布全面支持Keil即可看出。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調試器等在內的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uVision)將這些部份組合在一起。運行Keil軟件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空閑的硬盤空間、WIN98、NT、WIN2000、WINXP等操作系統。掌握這一軟件的使用對于使用51系列單片機的愛好者來說是十分必要的,如果你使用C語言編程,那么Keil幾乎就是你的不二之選(目前在國內你只能買到該軟件、而你買的仿真機也很可能只支持該軟件),即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強大的軟件仿真調試工具也會令你事半功倍。 Keil C51開發(fā)系統基本知識Keil C51開發(fā)系統基本知識 Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統,與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。用過匯編語言后再使用C來開發(fā),體會更加深刻。 Keil C51軟件提供豐富的庫函數和功能強大的集成開發(fā)調試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標代碼效率非常之高,多數語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現高級語言的優(yōu)勢。下面詳細介紹Keil C51開發(fā)系統各部分功能和使用。 C51工具包的整體結構,如圖(1)所示,其中uVision與Ishell分別是C51 for Windows和for Dos的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調試、仿真等整個開發(fā)流程。開發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51及A51編譯器編譯生成目標文件(.OBJ)。目標文件可由LIB51創(chuàng)建生成庫文件,也可以與庫文件一起經L51連接定位生成絕對目標文件(.ABS)。ABS文件由OH51轉換成標準的Hex文件,以供調試器dScope51或tScope51使用進行源代碼級調試,也可由仿真器使用直接對目標板進行調試,也可以直接寫入程序存貯器如EPROM中。 3.4 設計步驟及方法 首先,確定好原理圖后,在multisim軟件上畫好,并仿真;然后在keil軟件軟件上面,用C語言進行編程,把程序錄入芯片STC89S52上面,再做板。 4 電路板的制作及調試 4.2 電路板的調試過程及所遇問題的解決方案 電路所設計的功能能否實現,電路板制作的好壞也起了很大的作用。 在接通電源前,我先對電路中的主要線路進行了測量,包括電源線,排線,芯片之間的連線,然后就接上5V電源,開始對電路中的功能進行檢測。 接通5V電源后,首先觀察所以等是否都亮,如果不亮,一一看電路板是否虛焊了。還有燈如果亮,但是不按自己編的程序亮,還要看程序是否已經成功錄入芯片,或者程序錯誤,還有,程序對了,電路也沒有虛焊,燈并沒有按照程序亮法亮,這樣檢查焊錫是否多了,焊錫多了也容易出現問題,因為焊接時,焊錫會空隙焊接,實際上并沒有焊接好電路。 在這次的調試過程中,從最開始的制作到后來的電路板進行實物檢測,我都遇到了很多的問題,以下是我對這些問題的解決過程以及從中獲得的心得體會 。 4.2.2斷線和虛焊 在做完電路板,焊接好元件之后就要對線路進行全面的檢查,用萬用表對著原理圖來測量,不能光憑肉眼判斷。在這次的課設中,在焊好元件后我已經對線路進行了檢查,然后在后來的調試過程中發(fā)現原來檢查好的線路上又出現了斷線,應該是在調試的過程中剮蹭造成的,因此在電路不能實現功能時要及時進行線路的檢查。 在焊接的技術不是很熟練的時候,虛焊很容易出現,而且與斷線相比,它不容易被發(fā)現,特別是對于多管腳的芯片,芯片插進去的時候就會很困難,很容易出現一些管腳沒有完全穿過去的情況,這個時候就最容易出現虛焊,在這次課設的過程中,就是有一個芯片的管腳沒有插好導致電路沒有實現功能。 還有,管腳特別多的時候,不能把管腳焊接在一起,這樣會造成電路短路,元器件會容易燒壞,所以,在接電源之前要注意檢查虛焊和焊接是否會造成短路。 還有注意芯片的保護,由于芯片管腳很多,而且芯片管腳比較小,所以在芯片的安放和拿出過程中必須要小心,不能把芯片管腳弄壞,建議使用工具把管腳取出。 4.2.3萬用表的使用 使用萬用表,可以檢查電路是否虛焊了,這樣有助于保證電路板成功實它的功能。 4.3 C語言程序運用 在本次課程設計中,c語言程序的編程對電路板最終功能實現占大部分的作用,以下是部分c語言程序代碼: #include- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- 基于 單片機 流水 論文
裝配圖網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
鏈接地址:http://www.hcyjhs8.com/p-6684343.html