




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、交通與汽車工程學(xué)院課程設(shè)計說明書課 程 名 稱: 微機原理及應(yīng)用課程設(shè)計 課 程 代 碼: 8234570 題 目: 基于單片機的LED流水燈設(shè)計 年級/專業(yè)/班:學(xué) 生 姓 名:學(xué) 號:開 始 時 間: 2012 年 07 月 02 日完 成 時 間: 2012 年 07 月 06 日課程設(shè)計成績:學(xué)習(xí)態(tài)度及平時成績(30)技術(shù)水平與實際能力(20)創(chuàng)新(5)說明書(計算書、圖紙、分析報告)撰寫質(zhì)量(45)總 分(100)指導(dǎo)教師簽名:年月日目 錄摘要21 引言31.1 設(shè)計目的31.2 設(shè)計任務(wù)31.3 設(shè)計方法32 設(shè)計內(nèi)容和所用器件42.1 基本功能42.2 元件清單43 系統(tǒng)硬件設(shè)計
2、53.1 AT89C52 5 3.2 單片機時鐘電路113.3 單片機復(fù)位電路114系統(tǒng)軟件設(shè)計124.1 proteus軟件環(huán)境介紹12 4.2 protel軟件環(huán)境介紹12 4.3程序流程圖134.4 LED顯示原理14 5 系統(tǒng)的調(diào)試過程165.1 原理圖與ERC檢查165.2 PCB板圖176 仿真結(jié)果圖187系統(tǒng)調(diào)試存在的問題198 總結(jié)209 參考文獻2110 附錄 22摘 要當(dāng)今社會,隨著人們物質(zhì)生活的不斷提高,電子產(chǎn)品已經(jīng)走進了家家戶戶,無論是生活或?qū)W習(xí),還是娛樂和消遣幾乎樣樣都離不開電子產(chǎn)品,大型復(fù)雜的計算能力是人腦所不能勝任的,而且比較容易出錯。計算器作為一種快速通用的計算
3、工具方便了用戶的使用。計算器可謂是我們最親密的電子伙伴之一。本設(shè)計著重在于分析計算器軟件和開發(fā)過程中的環(huán)節(jié)和步驟,并從實踐經(jīng)驗出發(fā)對計算器設(shè)計做了詳細(xì)的分析和研究。單片機由于其微小的體積和極低的成本,廣泛的應(yīng)用于家用電器、工業(yè)控制等領(lǐng)域中。在工業(yè)生產(chǎn)中。單片微型計算機是微型計算機稱單片機,特別適用于控制領(lǐng)域,故又稱為微控制器。本系統(tǒng)是基于MCS-51系列單片機為核心的LED流水燈設(shè)計,實現(xiàn)8個LED燈變化方向和速度的可調(diào)。關(guān)鍵詞:單片機流水燈1 引言1.1 設(shè)計目的通過本次課題設(shè)計,應(yīng)用單片機原理及應(yīng)用等所學(xué)相關(guān)知識及查閱資料,完成簡易LED流水燈系統(tǒng)設(shè)計,以達到理論與實踐更好的結(jié)合、進一步提
4、高綜合運用所學(xué)知識和設(shè)計的能力的目的。通過本次設(shè)計的訓(xùn)練,可以使我在基本思路和基本方法上對基于MCS-51單片機的嵌入式系統(tǒng)設(shè)計有一個比較感性的認(rèn)識,并具備一定程度的設(shè)計能力。1.2 設(shè)計任務(wù)1、掌握MCS-51系列的最小電路及外圍擴展電路的設(shè)計方法;2、了解單片機數(shù)據(jù)轉(zhuǎn)換功能及工作過程;3、設(shè)計LED流水燈系統(tǒng),實現(xiàn)8個LED燈變化方向和速度的可調(diào);4、完成主要功能模塊的硬件電路設(shè)計;5、用protel軟件完成原理電路圖和PCB板的繪制;6、用proteus軟件實現(xiàn)系統(tǒng)的編程仿真。1.3設(shè)計方法本流水燈實際上就是一個帶有八個發(fā)光二極管的單片機最小應(yīng)用系統(tǒng),即為由發(fā)光二極管、晶振、復(fù)位、電源等
5、電路和必要的軟件組成的單個單片機。如果要讓接在P1.0口的LED1亮起來,那么只要把P1.0口的電平變?yōu)榈碗娖骄涂梢粤?;相反,如果要接在P1.0口的LED1熄滅,就要把P1.0口的電平變?yōu)楦唠娖剑煌?,接在P1.1P1.7口的其他7個LED的點亮和熄滅的方法同LED1。對于LED燈流速控制設(shè)計思路,是用兩個燈點亮的時間差來控制流速,用延時的長短來啟動下一個燈的點亮。在方向控制子程序中判斷速度控制鍵是否按下,如果按下,則表示速度快,否則則表示慢速。對于主程序設(shè)計思路主程序中先判斷啟動鍵是否按下,如果按下,在判斷方向控制鍵是否按下,如果按下則調(diào)用向左點亮燈的子程序,否則調(diào)用向右點亮燈的子程序。如果
6、啟動鍵沒有按下,則全部的燈都熄滅。在此我們還應(yīng)注意一點,由于人眼的視覺暫留效應(yīng)以及單片機執(zhí)行每條指令的時間很短,我們在控制二極管亮滅的時候應(yīng)該延時一段時間,否則我們就看不到“流水”效果了。2 設(shè)計內(nèi)容和所用器件2.1基本功能:利用AT89C52作為主控器組成一個LED流水燈系統(tǒng),實現(xiàn)8個LED燈變化方向和速度的可調(diào)。2.2元件清單表 2-1 元件清單表 元件名稱 型號 數(shù)量/個 用途 單片機 AT89C52 1 控制核心 晶振12MHZ 1 晶振電路 電容 30F2 晶振電路 電阻 10K 1 復(fù)位電路 電阻 1K 1 復(fù)位電路 電源 5V 1 提供電源 開關(guān) BUTTON 4 提供信號電容
7、10F1復(fù)位電路 LED燈 7SEG-MPX1-CC8顯示電路3 系統(tǒng)硬件設(shè)計3.1 AT89C52AT89C52是51系列單片機的一個型號,它是ATMEL公司生產(chǎn)的。AT89C52是一個低電壓,高性能CMOS 8位單片機,片內(nèi)含8k bytes的可反復(fù)擦寫的Flash只讀程序存儲器和256 bytes的隨機存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲單元,功能強大的AT89C52單片機可為您提供許多較復(fù)雜系統(tǒng)控制應(yīng)用場合。AT89C52有40個引腳,32個外部雙向輸入/輸出(I/O)端口
8、,同時內(nèi)含2個外中斷口,3個16位可編程定時計數(shù)器,2個全雙工串行通信口,2個讀寫口線,AT89C52可以按照常規(guī)方法進行編程,但不可以在線編程(S系列的才支持在線編程)。其將通用的微處理器和Flash存儲器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲器可有效地降低開發(fā)成本。兼容MCS51指令系統(tǒng) · 8k可反復(fù)擦寫(>1000次)Flash ROM · 32個雙向I/O口 · 256x8bit內(nèi)部RAM · 3個16位可編程定時/計數(shù)器中斷 · 時鐘頻率0-24MHz · 2個串行中斷 · 可編程UART串行通道 &
9、#183; 2個外部中斷源 · 共6個中斷源 · 2個讀寫中斷口線 · 3級加密位 · 低功耗空閑和掉電模式 · 軟件設(shè)置睡眠和喚醒功能 AT89C52 P為40 腳雙列直插封裝的8 位通用微處理器,采用工業(yè)標(biāo)準(zhǔn)的C51內(nèi)核,在內(nèi)部功能及管腳排布上與通用的8xc52 相同,其主要用于會聚調(diào)整時的功能控制。功能包括對會聚主IC 內(nèi)部寄存器、數(shù)據(jù)RAM及外部接口等功能部件的初始化,會聚調(diào)整控制,會聚測試圖控制,紅外遙控信號IR的接收解碼及與主板CPU通信等。主要管腳有:XTAL1(19 腳)和XTAL2(18 腳)為振蕩器輸入輸出端口,外接12MH
10、z 晶振。RST/Vpd(9 腳)為復(fù)位輸入端口,外接電阻電容組成的復(fù)位電路。VCC(40 腳)和VSS(20 腳)為供電端口,分別接+5V電源的正負(fù)端。P0P3 為可編程通用I/O 腳,其功能用途由軟件定義,在本設(shè)計中,P0 端口(3239 腳)被定義為N1 功能控制端口,分別與N1的相應(yīng)功能管腳相連接,13 腳定義為IR輸入端,10 腳和11腳定義為I2C總線控制端口,分別連接N1的SDAS(18腳)和SCLS(19腳)端口,12 腳、27 腳及28 腳定義為握手信號功能端口,連接主板CPU 的相應(yīng)功能端,用于當(dāng)前制式的檢測及會聚調(diào)整狀態(tài)進入的控制功能。P0 口P0 口是一組8 位漏極開路
11、型雙向I/O 口, 也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時,每位能吸收電流的方式驅(qū)動8 個TTL邏輯門電路,對端口P0 寫“1”時,可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址(低8 位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。在Flash 編程時,P0 口接收指令字節(jié),而在程序校驗時,輸出指令字節(jié),校驗時,要求外接上拉電阻。P1 口P1 是一個帶內(nèi)部上拉電阻的8 位雙向I/O 口, P1 的輸出緩沖級可驅(qū)動(吸收或輸出電流)4 個TTL 邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為內(nèi)部存在上拉電阻
12、,某個引腳被外部信號拉低時會輸出一個電流(IIL)。與AT89C51 不同之處是,P1.0 和P1.1 還可分別作為定時/計數(shù)器2 的外部計數(shù)輸入(P1.0/T2)和輸入(P1.1/T2EX),參見表1。Flash 編程和程序校驗期間,P1 接收低8 位地址。表.P1.0和P1.1的第二功能 表3-1 P1.0和P1.1的第二功能 引腳號功能特性 P1.0T2,時鐘輸出P1.1T2EX(定時/計數(shù)器2)P2 口P2 是一個帶有內(nèi)部上拉電阻的8 位雙向I/O 口,P2 的輸出緩沖級可驅(qū)動(吸收或輸出電流)4 個TTL 邏輯門電路。對端口P2 寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作
13、輸入口,作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。在訪問外部程序存儲器或16 位地址的外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX DPTR 指令)時,P2 口送出高8 位地址數(shù)據(jù)。在訪問8 位地址的外部數(shù)據(jù)存儲器(如執(zhí)行MOVX RI 指令)時,P2 口輸出P2 鎖存器的內(nèi)容。Flash 編程或校驗時,P2亦接收高位地址和一些控制信號。P3 口P3 口是一組帶有內(nèi)部上拉電阻的8 位雙向I/O 口。P3 口輸出緩沖級可驅(qū)動(吸收或輸出電流)4 個TTL 邏輯門電路。對P3 口寫入“1”時,它們被內(nèi)部上拉電阻拉高并可作為輸入端口。此時,被外部拉低的P3 口將用上
14、拉電阻輸出電流(IIL)。P3 口除了作為一般的I/O 口線外,更重要的用途是它的第二功能P3 口還接收一些用于Flash 閃速存儲器編程和程序校驗的控制信號。RST復(fù)位輸入。當(dāng)振蕩器工作時,RST引腳出現(xiàn)兩個機器周期以上高電平將使單片機復(fù)位。ALE/PROG當(dāng)訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8 位字節(jié)。一般情況下,ALE 仍以時鐘振蕩頻率的1/6 輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲器時將跳過一個ALE 脈沖。對Flash 存儲器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過
15、對特殊功能寄存器(SFR)區(qū)中的8EH 單元的D0 位置位,可禁止ALE 操作。該位置位后,只有一條MOVX 和MOVC指令才能將ALE 激活。此外,該引腳會被微弱拉高,單片機執(zhí)行外部程序時,應(yīng)設(shè)置ALE 禁止位無效。PSEN程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當(dāng)AT89C52 由外部程序存儲器取指令(或數(shù)據(jù))時,每個機器周期兩次PSEN 有效,即輸出兩個脈沖。在此期間,當(dāng)訪問外部數(shù)據(jù)存儲器,將跳過兩次PSEN信號。EA/VPP外部訪問允許。欲使CPU 僅訪問外部程序存儲器(地址為0000HFFFFH),EA 端必須保持低電平(接地)。需注意的是:如果加密位LB1 被編程
16、,復(fù)位時內(nèi)部會鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU 則執(zhí)行內(nèi)部程序存儲器中的指令。Flash 存儲器編程時,該引腳加上+12V 的編程允許電源Vpp,當(dāng)然這必須是該器件是使用12V 編程電壓Vpp。XTAL1振蕩器反相放大器的及內(nèi)部時鐘發(fā)生器的輸入端。XTAL2振蕩器反相放大器的輸出端。特殊功能寄存器在AT89C52 片內(nèi)存儲器中,80H-FFH 共128 個單元為特殊功能寄存器(SFE),SFR 的地址空間映象如表2 所示。并非所有的地址都被定義,從80HFFH 共128 個字節(jié)只有一部分被定義,還有相當(dāng)一部分沒有定義。對沒有定義的單元讀寫將是無效的,讀出的數(shù)值將不確定,而
17、寫入的數(shù)據(jù)也將丟失。不應(yīng)將數(shù)據(jù)“1”寫入未定義的單元,由于這些單元在將來的產(chǎn)品中可能賦予新的功能,在這種情況下,復(fù)位后這些單元數(shù)值總是“0”。AT89C52除了與AT89C51所有的定時/計數(shù)器0 和定時/計數(shù)器1 外,還增加了一個定時/計數(shù)器2。定時/計數(shù)器2 的控制和狀態(tài)位位于T2CON、T2MOD,寄存器對(RCAO2H、RCAP2L)是定時器2 在16 位捕獲方式或16 位自動重裝載方式下的捕獲/自動重裝載寄存器。數(shù)據(jù)存儲器AT89C52 有256 個字節(jié)的內(nèi)部RAM,80H-FFH 高128 個字節(jié)與特殊功能寄存器(SFR)地址是重疊的,也就是高128字節(jié)的RAM 和特殊功能寄存器的
18、地址是相同的,但物理上它們是分開的。當(dāng)一條指令訪問7FH 以上的內(nèi)部地址單元時,指令中使用的尋址方式是不同的,也即尋址方式?jīng)Q定是訪問高128 字節(jié)RAM 還是訪問特殊功能寄存器。如果指令是直接尋址方式則為訪問特殊功能寄存器。例如,下面的直接尋址指令訪問特殊功能寄存器0A0H(即P2 口)地址單元。MOV 0A0H,#data間接尋址指令訪問高128 字節(jié)RAM,例如,下面的間接尋址指令中,R0 的內(nèi)容為0A0H,則訪問數(shù)據(jù)字節(jié)地址為0A0H,而不是P2 口(0A0H)。MOV R0,#data堆棧操作也是間接尋址方式,所以,高128 位數(shù)據(jù)RAM 亦可作為堆棧區(qū)使用。定時器0和定時器1:AT8
19、9C52的定時器0和定時器1 的工作方式與AT89C51 相同。定時器2定時器2 是一個16 位定時/計數(shù)器。它既可當(dāng)定時器使用,也可作為外部事件計數(shù)器使用,其工作方式由特殊功能寄存器T2CON的C/T2 位選擇。定時器2 有三種工作方式:捕獲方式,自動重裝載(向上或向下計數(shù))方式和波特率發(fā)生器方式,工作方式由T2CON 的控制位來選擇。定時器2 由兩個8 位寄存器TH2 和TL2 組成,在定時器工作方式中,每個機器周期TL2 寄存器的值加1,由于一個機器周期由12 個振蕩時鐘構(gòu)成,因此,計數(shù)速率為振蕩頻率的1/12。在計數(shù)工作方式時,當(dāng)T2 引腳上外部輸入信號產(chǎn)生由1 至0 的下降沿時,寄存
20、器的值加1,在這種工作方式下,每個機器周期的5SP2 期間,對外部輸入進行采樣。若在第一個機器周期中采到的值為1,而在下一個機器周期中采到的值為0,則在緊跟著的下一個周期的S3P1 期間寄存器加1。由于識別1 至0 的跳變需要2 個機器周期(24 個振蕩周期),因此,最高計數(shù)速率為振蕩頻率的1/24。為確保采樣的正確性,要求輸入的電平在變化前至少保持一個完整周期的時間,以保證輸入信號至少被采樣一次。捕獲方式在捕獲方式下,通過T2CON 控制位EXEN2 來選擇兩種方式。如果EXEN2=0,定時器2 是一個16 位定時器或計數(shù)器,計數(shù)溢出時,對T2CON 的溢出標(biāo)志TF2 置位,同時激活中斷。如
21、果EXEN2=1,定時器2 完成相同的操作,而當(dāng)T2EX 引腳外部輸入信號發(fā)生1 至0 負(fù)跳變時,也出現(xiàn)TH2 和TL2 中的值分別被捕獲到RCAP2H 和RCAP2L 中。另外,T2EX 引腳信號的跳變使得T2CON 中的EXF2 置位,與TF2 相仿,EXF2 也會激活中斷。自動重裝載(向上或向下計數(shù)器)方式當(dāng)定時器2工作于16位自動重裝載方式時,能對其編程為向上或向下計數(shù)方式,這個功能可通過特殊功能寄存器T2CON的DCEN 位(允許向下計數(shù))來選擇的。復(fù)位時,DCEN 位置“0”,定時器2 默認(rèn)設(shè)置為向上計數(shù)。當(dāng)DCEN置位時,定時器2 既可向上計數(shù)也可向下計數(shù),這取決于T2EX 引腳
22、的值,當(dāng)DCEN=0 時,定時器2 自動設(shè)置為向上計數(shù),在這種方式下,T2CON 中的EXEN2 控制位有兩種選擇,若EXEN2=0,定時器2 為向上計數(shù)至0FFFFH 溢出,置位TF2 激活中斷,同時把16 位計數(shù)寄存器RCAP2H 和RCAP2L重裝載,RCAP2H 和RCAP2L 的值可由軟件預(yù)置。若EXEN2=1,定時器2 的16 位重裝載由溢出或外部輸入端T2EX 從1 至0 的下降沿觸發(fā)。這個脈沖使EXF2 置位,如果中斷允許,同樣產(chǎn)生中斷。定時器2 的中斷入口地址是:002BH 0032H 。當(dāng)DCEN=1 時,允許定時器2 向上或向下計數(shù)。這種方式下,T2EX 引腳控制計數(shù)器方
23、向。T2EX 引腳為邏輯“1”時,定時器向上計數(shù),當(dāng)計數(shù)0FFFFH 向上溢出時,置位TF2,同時把16 位計數(shù)寄存器RCAP2H 和RCAP2L 重裝載到TH2 和TL2 中。 T2EX 引腳為邏輯“0”時,定時器2 向下計數(shù),當(dāng)TH2 和TL2 中的數(shù)值等于RCAP2H 和RCAP2L中的值時,計數(shù)溢出,置位TF2,同時將0FFFFH 數(shù)值重新裝入定時寄存器中。當(dāng)定時/計數(shù)器2 向上溢出或向下溢出時,置位EXF2 位。波特率發(fā)生器當(dāng)T2CON中的TCLK 和RCLK 置位時,定時/計數(shù)器2 作為波特率發(fā)生器使用。如果定時/計數(shù)器2 作為發(fā)送器或收器,其發(fā)送和接收的波特率可以是不同的,定時器
24、1 用于其它功能。若RCLK 和TCLK 置位,則定時器2工作于波特率發(fā)生器方式。波特率發(fā)生器的方式與自動重裝載方式相仿,在此方式下,TH2 翻轉(zhuǎn)使定時器2 的寄存器用RCAP2H 和RCAP2L 中的16位數(shù)值重新裝載,該數(shù)值由軟件設(shè)置。在方式1 和方式3 中,波特率由定時器2 的溢出速率根據(jù)下式確定:方式1和3的波特率=定時器的溢出率/16定時器既能工作于定時方式也能工作于計數(shù)方式,在大多數(shù)的應(yīng)用中,是工作在定時方式(C/T2=0)。定時器2 作為波特率發(fā)生器時,與作為定時器的操作是不同的,通常作為定時器時,在每個機器周期(1/12 振蕩頻率)寄存器的值加1,而作為波特率發(fā)生器使用時,在每
25、個狀態(tài)時間(1/2 振蕩頻率)寄存器的值加1。波特率的計算公式如下:方式1和3的波特率=振蕩頻率/32*65536-(RCP2H,RCP2L)式中(RCAP2H,RCAP2L)是RCAP2H 和RCAP2L中的16 位無符號數(shù)。T2CON 中的RCLK 或TCLK=1 時,波特率工作方式才有效。在波特率發(fā)生器工作方式中,TH2 翻轉(zhuǎn)不能使TF2 置位,故而不產(chǎn)生中斷。但若EXEN2 置位,且T2EX 端產(chǎn)生由1 至0 的負(fù)跳變,則會使EXF2 置位,此時并不能將(RCAP2H,RCAP2L)的內(nèi)容重新裝入TH2 和TL2 中。所以,當(dāng)定時器2 作為波特率發(fā)生器使用時,T2EX 可作為附加的外部
26、中斷源來使用。需要注意的是,當(dāng)定時器2 工作于波特率器時,作為定時器運行(TR2=1)時,并不能訪問TH2 和TL2。因為此時每個狀態(tài)時間定時器都會加1,對其讀寫將得到一個不確定的數(shù)值。然而,對RCAP2 則可讀而不可寫,因為寫入操作將是重新裝載,寫入操作可能令寫和/或重裝載出錯。在訪問定時器2或RCAP2 寄存器之前,應(yīng)將定時器關(guān)閉(清除TR2)。中斷AT89C52 共有6 個中斷向量:兩個外中斷(INT0 和INT1),3 個定時器中斷(定時器0、1、2)和串行口中斷。這些中斷源可通過分別設(shè)置專用寄存器IE 的置位或清0 來控制每一個中斷的允許或禁止。IE 也有一個總禁止位EA,它能控制所
27、有中斷的允許或禁止。定時器2 的中斷是由T2CON 中的TF2 和EXF2 邏輯或產(chǎn)生的,當(dāng)轉(zhuǎn)向中斷服務(wù)程序時,這些標(biāo)志位不能被硬件清除,事實上,服務(wù)程序需確定是TF2 或EXF2 產(chǎn)生中斷,而由軟件清除中斷標(biāo)志位。定時器0 和定時器1 的標(biāo)志位TF0 和TF1 在定時器溢出那個機器周期的S5P2 狀態(tài)置位,而會在下一個機器周期才查詢到該中斷標(biāo)志。然而,定時器2 的標(biāo)志位TF2 在定時器溢出的那個機器周期的S2P2 狀態(tài)置位,并在同一個機器周期內(nèi)查詢到該標(biāo)志。時鐘振蕩器AT89C52 中有一個用于構(gòu)成內(nèi)部振蕩器的高增益反相放大器,引腳XTAL1 和XTAL2 分別是該放大器的輸入端和輸出端。這
28、個放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起構(gòu)成自激振蕩器,振蕩電路參見圖10。外接石英晶體(或陶瓷諧振器)及電容C1、C2 接在放大器的反饋回路中構(gòu)成并聯(lián)振蕩電路。對外接電容C1、C2 雖然沒有十分嚴(yán)格的要求,但電容容量的大小會輕微影響振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難易程序及溫度穩(wěn)定性,如果使用石英晶體,我們推薦電容使用30pF±10pF,而如使用陶瓷諧振器建議選擇40pF±10F。用戶也可以采用外部時鐘。這種情況下,外部時鐘脈沖接到XTAL1 端,即內(nèi)部時鐘發(fā)生器的輸入端,XTAL2 則懸空。由于外部時鐘信號是通過一個2 分頻觸發(fā)器后作為內(nèi)部時鐘信號
29、的,所以對外部時鐘信號的占空比沒有特殊要求,但最小高電平持續(xù)時間和最大的低電平持續(xù)時間應(yīng)符合產(chǎn)品技術(shù)條件的要求。編程方法編程前,須設(shè)置好地址、數(shù)據(jù)及控制信號, AT89C52 編程方法如下:1 在地址線上加上要編程單元的地址信號。2 在數(shù)據(jù)線上加上要寫入的數(shù)據(jù)字節(jié)。3 激活相應(yīng)的控制信號。4 在高電壓編程方式時,將EA/Vpp 端加上+12V 編程電壓。5 每對Flash 存儲陣列寫入一個字節(jié)或每寫入一個程序加密位,加上一個ALE/PROG 編程脈沖。每個字節(jié)寫入周期是自身定時的,通常約為1.5ms。重復(fù)15 步驟,改變編程單元的地址和寫入的數(shù)據(jù),直到全部文件編程結(jié)束。3.2 單片機時鐘電路時
30、鐘電路用于產(chǎn)生單片機工作所需要的時鐘信號,單片機本身就是一個復(fù)雜的同步時序電路,為了保證同步工作方式的實現(xiàn),電路應(yīng)在唯一的時鐘信號的控制下嚴(yán)格地按時序進行工作。在MCS-51芯片內(nèi)部有一個高增益反相放大器,其輸入端為芯片引腳X1,輸出端為芯片引腳X2,在芯片的外部跨接晶體振蕩器和微調(diào)電容,形成反饋電路,就構(gòu)成了一個穩(wěn)定的自激振蕩器。此電路采用12MHZ的石英晶體。時鐘電路如下圖所示:圖3-1 時鐘電路圖3.3 單片機復(fù)位電路電阻的作用是用于上電復(fù)位的,VCC以上電,由于電容兩端電壓不能夠突破,所以RST上為高電平,然后電容放電,RST就為低電平了 還可以用手動復(fù)位。復(fù)位電路如下圖所示: 圖3-
31、2 復(fù)位電路圖4 系統(tǒng)軟件設(shè)計4.1 proteus軟件環(huán)境介紹本系統(tǒng)的硬件設(shè)計首先是在Proteus軟件環(huán)境中仿真實現(xiàn)的。Proteus軟件是來自英國Labcenter electronics公司的EDA工具軟件,Proteus軟件有十多年的歷史,在全球廣泛使用,除了具有和其它EDA工具一樣的原理布圖、PCB自動或人工布線及電路仿真的功能外,其革命性的功能是,它的電路仿真是互動的。針對微處理器的應(yīng)用,還可以直接在基于原理圖的虛擬原型上編程,并實現(xiàn)軟件源碼級的實時調(diào)試。如果有顯示及輸出,配合系統(tǒng)配置的虛擬儀器如示波器、邏輯分析儀等,還能看到運行后輸入輸出的效果。Proteus建立了完備的電子設(shè)
32、計開發(fā)環(huán)境,尤其重要的是Proteus Lite可以完全免費,也可以花微不足道的費用注冊達到更好的效果。Proteus是目前最好的模擬單片機外圍器件的工具??梢苑抡?1系列、AVR、PIC等常用的MCU及其外圍電路(如LCD,RAM,ROM,鍵盤,馬達,LED,AD/DA,部分SPI器件,部分IIC器件.)。其實Proteus 與 multisim比較類似,只不過它可以仿真MCU,當(dāng)然,軟件仿真精度有限,而且不可能所有的器件都找得到相應(yīng)的仿真模型,用開發(fā)板和仿真器當(dāng)然是最好選擇,可是初學(xué)者擁有它們的可能性比較小。當(dāng)然,硬件實踐還是必不可少的。在沒有硬件的情況下,Proteus能像pspice
33、仿真模擬/數(shù)字電路那樣仿真MCU及外圍電路。另外,即使有硬件,在程序編寫早期用軟件仿真一下也是很有必要的。Proteus軟件主要具有以下幾個方面的特點:1、設(shè)計和仿真軟件Proteus 是一個很有用的工具,它可以幫助學(xué)生和專業(yè)人士提高他們的模擬和數(shù)字電路的設(shè)計能力。2、它允許對電路設(shè)計采用圖形環(huán)境,在這種環(huán)境中,可以使用一個特定符號來代替元器件,并完成不會對真實電路造成任何損害的電路仿真操作。3、它可以仿真儀表以及可描述在仿真過程中所獲得的信號的圖表。4、它可以仿真目前流行的單片機,如PICS, ATMEL-AVR, MOTOROLA, 8051 等。5、在設(shè)計綜合性方案中,還可以利用ARES
34、開發(fā)印制電路板。4.2 Protel軟件環(huán)境介紹Protel印制板設(shè)計軟件包是澳大利亞protel technology公司與1990年推出的電子CAD產(chǎn)品,具有方便、易學(xué)、實用、快速以及高速度、高步通率的特點。它采用了分層次下拉窗口菜單結(jié)構(gòu)形式,用戶基本上不需要記背太多的鍵盤命令,用鼠標(biāo)點擊菜單命令就能操作,protel有著很高的自動布線布通率。布通率是電子產(chǎn)CAD產(chǎn)品的一項重要指標(biāo),它反映電子元件在電路圖中連接關(guān)系有多少能在印刷版圖中實現(xiàn)。在設(shè)計常用的單、雙面印制板時只要選擇適當(dāng)?shù)脑季趾筒季€策略方法,protel就可以輕易的達到98%-100%的布通率。對于極少數(shù)不能布通的定方,pro
35、tel可以用飛線指示出來,引導(dǎo)用戶用手工方法連通。另外,protel有強大的宏命令設(shè)置功能,利用宏命令功能多定義的熱鍵可以大大提高操作速度。Protel對微機的軟硬件配置要求很低:cpu在8088以上,dos2.0以上版本,內(nèi)存640kb以上,雙軟件(或一個軟件一個硬盤),單色顯示器(多層板設(shè)計時最好用彩色),各種兼容打印機。也能在Windows9X平臺的模擬DOS下運行。Protel已成為印制板設(shè)計加工方面的工業(yè)標(biāo)準(zhǔn)。據(jù)初步統(tǒng)計protel在CAD的市場占有率達 95%,成為電子產(chǎn)品制造業(yè)界的首選CAD軟件。4.3 程序流程圖 1、主程序開 始端口初始化啟動按鍵是否按下Y 判斷方向鍵是否按下
36、燈 滅NNLED燈向右移動LED燈向左移動Y圖4-1 主程序流程圖 2、子程序 LED流水燈方向控制 LED燈向左(右)快速亮LED燈向左(右)慢速亮燈流速控制鍵是否按下開 始 Y N 結(jié) 束 圖4-2 LED流水燈方向控制流程圖 流水燈流程圖開 始P1口賦初值讓第一個燈亮調(diào)用延時函數(shù)延時P1口的值循環(huán)左移一位圖4-3 流水燈流程圖4.4 LED顯示原理LED 點陣顯示器亦稱LED 矩陣板,具有亮度高、發(fā)光均勻、可靠性好、接線簡單、拼裝方便等優(yōu)點,能構(gòu)成各種尺寸的大屏幕顯示器。因此,它被廣泛應(yīng)用于大型LED 智能顯示屏、智能儀器儀表和機電一體化設(shè)備的顯示單元中,取得了較好的效果。由于它經(jīng)濟、小
37、型的顯示系統(tǒng),同時要求使用方便靈活,方便地組成了由多塊大屏幕LED 顯示器構(gòu)成的顯示系統(tǒng),該系統(tǒng)可廣泛用于商場、車站、碼頭及其它公共場合。LED 顯示屏由 ED 點陣顯示器(常見型號為P2158A) 構(gòu)成。它是以發(fā)光二極管為像素,按照行與列的順序排列而成的顯示器件,采用逐行(或逐列) 掃描方式工作,由峰值較大的窄脈沖驅(qū)動,從上到下逐次不斷地對顯示屏的各行進行選通,同時又向各列送出表示圖形或文字信息的脈沖信號,反復(fù)循環(huán)以上操作,就可顯示各種圖形或文字信息。5 系統(tǒng)的調(diào)試過程通過上面的硬件設(shè)計和軟件設(shè)計過程,設(shè)計的工作已經(jīng)基本完成,接下來的工作就是對所設(shè)計好的應(yīng)用系統(tǒng)進行調(diào)試。通過調(diào)試可以檢查出系
38、統(tǒng)出現(xiàn)的一些錯誤,從而進行下一步的修改。5.1 原理圖與ERC檢查 圖5-1 protel原理圖 圖5-2 ERC電氣規(guī)則檢查結(jié)果5.2 PCB板圖圖 5-3 PCB板圖6 仿真結(jié)果圖有按鍵控制的LED流水燈仿真圖如下: 圖 6-1 有按鍵控制的LED流水燈仿真圖不受開關(guān)控制鍵控制的LED流水燈仿真圖如下(八個LED先從左向右依次點亮,再從兩邊向中間點亮,再從中間向兩邊點亮,最兩邊的燈亮完后,再從右邊向左邊依次點亮): 圖 6-2 不受開關(guān)控制鍵控制的LED流水燈仿真圖7 系統(tǒng)調(diào)試存在的問題在硬件調(diào)試中常見故障有:1、邏輯錯誤:它是由設(shè)計錯誤或加工過程中的工藝性錯誤所造成的。這類錯誤包括錯線、
39、開路、短路等。2、元器件失效:有兩方面的原因:一是器件本身已損壞或性能不符合要求;二是組裝錯誤造成元件失效,如電解電容、集成電路安裝方向錯誤等。3、可靠性差:因其可靠性差的原因很多,如金屬化孔、接插件接觸不良會造成系統(tǒng)時好時壞,經(jīng)不起振動;走線和布局不合理也會引起系統(tǒng)可靠性差。4、電源故障:若樣機由電源故障,則加電后很容易造成器件損壞。電源故障包括電壓值不符合設(shè)計要求,電源引線和插座不對,功率不足,負(fù)載能力差等。調(diào)試方法:包括多級調(diào)試和聯(lián)機調(diào)試。在調(diào)試過程中要針對可能出現(xiàn)的故障認(rèn)真分析,直至檢查出原因并排除。本次硬件調(diào)試過程中,對所出現(xiàn)的問題進行了認(rèn)真的分析和改正,最后能夠很好的達到設(shè)計要求的
40、效果。在軟件調(diào)試中軟件調(diào)試一般分為以下四個階段:1、 編寫程序并查錯;2、在匯編語言的編譯系統(tǒng)中編譯源程序3、對程序進行編譯連接,并及時發(fā)現(xiàn)程序中存在的錯誤;4、改正錯誤。在軟件調(diào)試過程中,對出現(xiàn)的錯誤進行了認(rèn)真的分析和修改,多次調(diào)試成功后,能夠很好的達到既定的設(shè)計效果。8 總結(jié) 經(jīng)過一段時間的努力,我順利的完成了這次單片機課設(shè)。這是一個磨練意志的過程。從課題的選擇開始,硬件和軟件系統(tǒng)的設(shè)計、到最后的Proteus軟件仿真完成,這其中經(jīng)歷了很多困難,但是更重要的是在這個過程中我得到了很大的鍛煉。一方面通過C51單片機等一些器件的設(shè)計讓我學(xué)習(xí)和掌握了單片機技術(shù)的基礎(chǔ)知識和技術(shù)要點,也使以前學(xué)的很
41、多知識都得到了運用;另一方面在用Protel軟件畫原理圖生成PCB板,用Proteus進行仿真的這個過程中讓我掌握了計算機輔助的設(shè)計技術(shù)。當(dāng)然,這是一個需要不斷的嘗試,不斷的校核,不斷的修改,最后完成一個合理的設(shè)計的過程。需要的是細(xì)心和耐心。在很大程度上培養(yǎng)了我拼搏的工作精神。使我受益匪淺,更加明確了自己專業(yè)的方向。通過本次課設(shè),我不僅學(xué)到了關(guān)于單片機技術(shù)方面的許多專業(yè)知識,同時也讓我感覺到很多方面的的重要性。其實如何有效和快速的找到資料也是課程設(shè)計給我的啟發(fā),利用好圖書館和網(wǎng)絡(luò),是資源的到最好的利用。與他人交流思想是取得成功的關(guān)鍵,在交流中,不僅強化了自己原有的知識體系,也擴展了自己的思維。
42、課程設(shè)計是一個通過思考、發(fā)問、自己解惑并動手、提高的過程。我會在以后的學(xué)習(xí)中不斷學(xué)習(xí),積累經(jīng)驗,完善自己。對于這次單片機課程設(shè)計不僅鞏固了以前所學(xué)過的知識,而且學(xué)到了很多在書本上沒有學(xué)到過的知識,掌握了一種系統(tǒng)的研究方法,可以進行一些簡單的編程。通過這次課程設(shè)計使我懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠遠不夠的,只有把所學(xué)的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,從而提高自己的實際動手能力和獨立思考的能力。同時在設(shè)計的過程中發(fā)現(xiàn)了自己的不足之處,例如對以前所學(xué)過的知識理解得不夠深刻,掌握得不夠牢固,學(xué)習(xí)了單片機C語言。 這里我要感謝我的指導(dǎo)老師陳飛老師,沒有老師的細(xì)致講解和耐心
43、的檢查,也就沒有我的順利完成,非常感謝!9 參考文獻1徐琤穎.Protel 99 SE EDA 技術(shù)及應(yīng)用.機械工業(yè)出版社.2010.2張毅剛.單片機原理與應(yīng)用設(shè)計.電子工業(yè)出版社.2008.3譚浩強.C語言設(shè)計.清華大學(xué)出版社.2005.4黃惟公.單片機原理與接口技術(shù)(C51版).四川大學(xué)出版社.2011.10 附錄程序代碼:有按鍵控制的LED流水燈程序#include <reg51.h>unsigned char code tab=0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80;unsigned char code tab1=0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01;sbit
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 英國羅伯特與學(xué)前教育發(fā)展史
- 工廠設(shè)計答辯結(jié)論撰寫要點
- 工程項目管理學(xué)習(xí)資源試題及答案
- 行政管理經(jīng)濟法申訴案例試題及答案
- 社會教育節(jié)約用水實施路徑
- 2025年工程經(jīng)濟經(jīng)典例題試題及答案
- 沖刺搶分卷03 備戰(zhàn)2025年高考考前仿真模擬卷沖刺搶分卷化學(xué)試題03 (遼寧、黑龍江、吉林、內(nèi)蒙古專用) 含解析
- 生產(chǎn)航天無人機領(lǐng)域裝置、海底深水探測動力裝置、工業(yè)母機直線電機項目可行性研究報告寫作模板-備案審批
- 如何優(yōu)化工程績效評估試題及答案
- 現(xiàn)代工程經(jīng)濟應(yīng)用實踐試題及答案
- 2025年離婚協(xié)議書范本(無爭議)
- 第12講 反比例函數(shù)的圖象、性質(zhì)及應(yīng)用 課件中考數(shù)學(xué)復(fù)習(xí)
- 2025中國東方航空技術(shù)限公司全球校園招聘高頻重點模擬試卷提升(共500題附帶答案詳解)
- 手動葫蘆吊裝施工方案1
- 建設(shè)工程質(zhì)量安全監(jiān)督人員考試題庫含答案
- 北森行測測評題庫2022
- 【MOOC期末】《大學(xué)體育射箭》(東南大學(xué))中國大學(xué)慕課答案
- 生物信息學(xué)基礎(chǔ)講座課件
- 衛(wèi)星互聯(lián)網(wǎng)應(yīng)用與挑戰(zhàn)
- 醫(yī)院保密知識培訓(xùn)
- 浙江寧波鄞州區(qū)市級名校2025屆中考生物全真模擬試卷含解析
評論
0/150
提交評論