版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、交通與汽車工程學(xué)院課程設(shè)計說明書課 程 名 稱: 微機(jī)原理及應(yīng)用課程設(shè)計 課 程 代 碼: 8234570 題 目: 基于單片機(jī)的led流水燈設(shè)計 年級/專業(yè)/班: 學(xué) 生 姓 名: 學(xué) 號: 開 始 時 間: 2012 年 07 月 02 日完 成 時 間: 2012 年 07 月 06 日課程設(shè)計成績:學(xué)習(xí)態(tài)度及平時成績(30)技術(shù)水平與實(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
2、 系統(tǒng)硬件設(shè)計53.1 at89c52 5 3.2 單片機(jī)時鐘電路113.3 單片機(jī)復(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 參考文獻(xiàn)2110 附錄 22 摘 要當(dāng)今社會,隨著人們物質(zhì)生活的不斷提高,電子產(chǎn)品已經(jīng)走進(jìn)了家家戶戶,無論是生活或?qū)W習(xí),還是娛樂和消遣幾乎樣樣都離不開電子產(chǎn)品,大型復(fù)雜的計算能力是人腦所不能勝任的,而且比較容易出錯。計算器作為
3、一種快速通用的計算工具方便了用戶的使用。計算器可謂是我們最親密的電子伙伴之一。本設(shè)計著重在于分析計算器軟件和開發(fā)過程中的環(huán)節(jié)和步驟,并從實(shí)踐經(jīng)驗(yàn)出發(fā)對計算器設(shè)計做了詳細(xì)的分析和研究。單片機(jī)由于其微小的體積和極低的成本,廣泛的應(yīng)用于家用電器、工業(yè)控制等領(lǐng)域中。在工業(yè)生產(chǎn)中。單片微型計算機(jī)是微型計算機(jī)稱單片機(jī),特別適用于控制領(lǐng)域,故又稱為微控制器。本系統(tǒng)是基于mcs-51系列單片機(jī)為核心的led流水燈設(shè)計,實(shí)現(xiàn)8個led燈變化方向和速度的可調(diào)。關(guān)鍵詞:單片機(jī) 流水燈 1 引言1.1 設(shè)計目的通過本次課題設(shè)計,應(yīng)用單片機(jī)原理及應(yīng)用等所學(xué)相關(guān)知識及查閱資料,完成簡易led流水燈系統(tǒng)設(shè)計,以達(dá)到理論與實(shí)
4、踐更好的結(jié)合、進(jìn)一步提高綜合運(yùn)用所學(xué)知識和設(shè)計的能力的目的。通過本次設(shè)計的訓(xùn)練,可以使我在基本思路和基本方法上對基于mcs-51單片機(jī)的嵌入式系統(tǒng)設(shè)計有一個比較感性的認(rèn)識,并具備一定程度的設(shè)計能力。1.2 設(shè)計任務(wù)1、掌握mcs-51系列的最小電路及外圍擴(kuò)展電路的設(shè)計方法;2、了解單片機(jī)數(shù)據(jù)轉(zhuǎn)換功能及工作過程;3、設(shè)計led流水燈系統(tǒng),實(shí)現(xiàn)8個led燈變化方向和速度的可調(diào);4、完成主要功能模塊的硬件電路設(shè)計;5、用protel軟件完成原理電路圖和pcb板的繪制;6、用proteus軟件實(shí)現(xiàn)系統(tǒng)的編程仿真。1.3設(shè)計方法本流水燈實(shí)際上就是一個帶有八個發(fā)光二極管的單片機(jī)最小應(yīng)用系統(tǒng),即為由發(fā)光二極
5、管、晶振、復(fù)位、電源等電路和必要的軟件組成的單個單片機(jī)。如果要讓接在p1.0口的led1亮起來,那么只要把p1.0口的電平變?yōu)榈碗娖骄涂梢粤?;相反,如果要接在p1.0口的led1熄滅,就要把p1.0口的電平變?yōu)楦唠娖?;同理,接在p1.1p1.7口的其他7個led的點(diǎn)亮和熄滅的方法同led1。對于led燈流速控制設(shè)計思路,是用兩個燈點(diǎn)亮的時間差來控制流速,用延時的長短來啟動下一個燈的點(diǎn)亮。在方向控制子程序中判斷速度控制鍵是否按下,如果按下,則表示速度快,否則則表示慢速。對于主程序設(shè)計思路主程序中先判斷啟動鍵是否按下,如果按下,在判斷方向控制鍵是否按下,如果按下則調(diào)用向左點(diǎn)亮燈的子程序,否則調(diào)用向
6、右點(diǎn)亮燈的子程序。如果啟動鍵沒有按下,則全部的燈都熄滅。在此我們還應(yīng)注意一點(diǎn),由于人眼的視覺暫留效應(yīng)以及單片機(jī)執(zhí)行每條指令的時間很短,我們在控制二極管亮滅的時候應(yīng)該延時一段時間,否則我們就看不到“流水”效果了。2 設(shè)計內(nèi)容和所用器件2.1基本功能:利用at89c52作為主控器組成一個led流水燈系統(tǒng),實(shí)現(xiàn)8個led燈變化方向和速度的可調(diào)。2.2元件清單 表 2-1 元件清單表 元件名稱 型號 數(shù)量/個 用途 單片機(jī) at89c52 1 控制核心 晶振12mhz 1 晶振電路 電容 30f2 晶振電路 電阻 10k 1 復(fù)位電路 電阻 1k 1 復(fù)位電路 電源 5v 1 提供電源 開關(guān) butt
7、on 4 提供信號電容 10f1復(fù)位電路 led燈 7seg-mpx1-cc8顯示電路3 系統(tǒng)硬件設(shè)計3.1 at89c52at89c52是51系列單片機(jī)的一個型號,它是atmel公司生產(chǎn)的。at89c52是一個低電壓,高性能cmos 8位單片機(jī),片內(nèi)含8k bytes的可反復(fù)擦寫的flash只讀程序存儲器和256 bytes的隨機(jī)存取數(shù)據(jù)存儲器(ram),器件采用atmel公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)mcs-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和flash存儲單元,功能強(qiáng)大的at89c52單片機(jī)可為您提供許多較復(fù)雜系統(tǒng)控制應(yīng)用場合。at89c52有40個引腳,32個外部雙向
8、輸入/輸出(i/o)端口,同時內(nèi)含2個外中斷口,3個16位可編程定時計數(shù)器,2個全雙工串行通信口,2個讀寫口線,at89c52可以按照常規(guī)方法進(jìn)行編程,但不可以在線編程(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串行通道 2個外部中斷源 共6個中斷源 2個讀寫中斷口線 3級加密位 低功耗空閑和掉電模式 軟
9、件設(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 腳)為振蕩器輸入輸出端口,外接12mhz 晶振。rst/vpd(9 腳)為復(fù)位輸入端口,外接電阻電容組成的復(fù)位電路。vcc(40 腳)和vss(20 腳)為供電端口,分別接+5v電源的正負(fù)端。p0p3 為
10、可編程通用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)進(jìn)入的控制功能。p0 口p0 口是一組8 位漏極開路型雙向i/o 口, 也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時,每位能吸收電流的方式驅(qū)動8 個ttl邏輯門電路,對端口p0 寫“1”時,可作為高阻抗輸入端用。在訪問外部
11、數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址(低8 位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。在flash 編程時,p0 口接收指令字節(jié),而在程序校驗(yàn)時,輸出指令字節(jié),校驗(yàn)時,要求外接上拉電阻。p1 口p1 是一個帶內(nèi)部上拉電阻的8 位雙向i/o 口, p1 的輸出緩沖級可驅(qū)動(吸收或輸出電流)4 個ttl 邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因?yàn)閮?nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(iil)。與at89c51 不同之處是,p1.0 和p1.1 還可分別作為定時/計數(shù)器2 的外部計數(shù)輸入(p1.0/t2)和
12、輸入(p1.1/t2ex),參見表1。flash 編程和程序校驗(yàn)期間,p1 接收低8 位地址。表.p1.0和p1.1的第二功能 表3-1 p1.0和p1.1的第二功能 引腳號 功能特性 p1.0 t2,時鐘輸出 p1.1 t2ex(定時/計數(shù)器2)p2 口p2 是一個帶有內(nèi)部上拉電阻的8 位雙向i/o 口,p2 的輸出緩沖級可驅(qū)動(吸收或輸出電流)4 個ttl 邏輯門電路。對端口p2 寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因?yàn)閮?nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(iil)。在訪問外部程序存儲器或16 位地址的外部數(shù)據(jù)存儲器(例如執(zhí)行m
13、ovx dptr 指令)時,p2 口送出高8 位地址數(shù)據(jù)。在訪問8 位地址的外部數(shù)據(jù)存儲器(如執(zhí)行movx ri 指令)時,p2 口輸出p2 鎖存器的內(nèi)容。flash 編程或校驗(yàn)時,p2亦接收高位地址和一些控制信號。p3 口p3 口是一組帶有內(nèi)部上拉電阻的8 位雙向i/o 口。p3 口輸出緩沖級可驅(qū)動(吸收或輸出電流)4 個ttl 邏輯門電路。對p3 口寫入“1”時,它們被內(nèi)部上拉電阻拉高并可作為輸入端口。此時,被外部拉低的p3 口將用上拉電阻輸出電流(iil)。p3 口除了作為一般的i/o 口線外,更重要的用途是它的第二功能p3 口還接收一些用于flash 閃速存儲器編程和程序校驗(yàn)的控制信號
14、。rst復(fù)位輸入。當(dāng)振蕩器工作時,rst引腳出現(xiàn)兩個機(jī)器周期以上高電平將使單片機(jī)復(fù)位。ale/prog當(dāng)訪問外部程序存儲器或數(shù)據(jù)存儲器時,ale(地址鎖存允許)輸出脈沖用于鎖存地址的低8 位字節(jié)。一般情況下,ale 仍以時鐘振蕩頻率的1/6 輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲器時將跳過一個ale 脈沖。對flash 存儲器編程期間,該引腳還用于輸入編程脈沖(prog)。如有必要,可通過對特殊功能寄存器(sfr)區(qū)中的8eh 單元的d0 位置位,可禁止ale 操作。該位置位后,只有一條movx 和movc指令才能將ale 激活。此外,該引腳會
15、被微弱拉高,單片機(jī)執(zhí)行外部程序時,應(yīng)設(shè)置ale 禁止位無效。psen程序儲存允許(psen)輸出是外部程序存儲器的讀選通信號,當(dāng)at89c52 由外部程序存儲器取指令(或數(shù)據(jù))時,每個機(jī)器周期兩次psen 有效,即輸出兩個脈沖。在此期間,當(dāng)訪問外部數(shù)據(jù)存儲器,將跳過兩次psen信號。ea/vpp外部訪問允許。欲使cpu 僅訪問外部程序存儲器(地址為0000hffffh),ea 端必須保持低電平(接地)。需注意的是:如果加密位lb1 被編程,復(fù)位時內(nèi)部會鎖存ea端狀態(tài)。如ea端為高電平(接vcc端),cpu 則執(zhí)行內(nèi)部程序存儲器中的指令。flash 存儲器編程時,該引腳加上+12v 的編程允許電
16、源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ù)值將不確定,而寫入的數(shù)據(jù)也將丟失。不應(yīng)將數(shù)據(jù)“1”寫入未定義的單元,由于這些單元在將來的產(chǎn)品中可能賦予新的功能,在這種情況下,復(fù)位后這些單元數(shù)值總是“0”。at89c52除
17、了與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 和特殊功能寄存器的地址是相同的,但物理上它們是分開的。當(dāng)一條指令訪問7fh 以上的內(nèi)部地址單元時,指令中使用的尋址方式是不同的,也即尋址方式?jīng)Q定是訪問高128 字節(jié)ram 還是
18、訪問特殊功能寄存器。如果指令是直接尋址方式則為訪問特殊功能寄存器。例如,下面的直接尋址指令訪問特殊功能寄存器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:at89c52的定時器0和定時器1 的工作方式與at89c51 相同。定時器2定時器2 是一個16 位定時/計數(shù)器。它既可當(dāng)定時器使用,也可作為外部事件計數(shù)器使用,
19、其工作方式由特殊功能寄存器t2con的c/t2 位選擇。定時器2 有三種工作方式:捕獲方式,自動重裝載(向上或向下計數(shù))方式和波特率發(fā)生器方式,工作方式由t2con 的控制位來選擇。定時器2 由兩個8 位寄存器th2 和tl2 組成,在定時器工作方式中,每個機(jī)器周期tl2 寄存器的值加1,由于一個機(jī)器周期由12 個振蕩時鐘構(gòu)成,因此,計數(shù)速率為振蕩頻率的1/12。在計數(shù)工作方式時,當(dāng)t2 引腳上外部輸入信號產(chǎn)生由1 至0 的下降沿時,寄存器的值加1,在這種工作方式下,每個機(jī)器周期的5sp2 期間,對外部輸入進(jìn)行采樣。若在第一個機(jī)器周期中采到的值為1,而在下一個機(jī)器周期中采到的值為0,則在緊跟著
20、的下一個周期的s3p1 期間寄存器加1。由于識別1 至0 的跳變需要2 個機(jī)器周期(24 個振蕩周期),因此,最高計數(shù)速率為振蕩頻率的1/24。為確保采樣的正確性,要求輸入的電平在變化前至少保持一個完整周期的時間,以保證輸入信號至少被采樣一次。捕獲方式在捕獲方式下,通過t2con 控制位exen2 來選擇兩種方式。如果exen2=0,定時器2 是一個16 位定時器或計數(shù)器,計數(shù)溢出時,對t2con 的溢出標(biāo)志tf2 置位,同時激活中斷。如果exen2=1,定時器2 完成相同的操作,而當(dāng)t2ex 引腳外部輸入信號發(fā)生1 至0 負(fù)跳變時,也出現(xiàn)th2 和tl2 中的值分別被捕獲到rcap2h 和r
21、cap2l 中。另外,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 引腳的值,當(dāng)dcen=0 時,定時器2 自動設(shè)置為向上計數(shù),在這種方式下,t2con 中的exen2 控制位有兩種選擇,若exen2=0,定時器2 為向上計數(shù)至0
22、ffffh 溢出,置位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ù)器方向。t2ex 引腳為邏輯“1”時,定時器向上計數(shù),當(dāng)計數(shù)0ffffh 向上溢出時,置位tf2,同時把16 位計數(shù)寄存器rcap2h 和rcap2l 重裝載到t
23、h2 和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ā)送和接收的波特率可以是不同的,定時器1 用于其它功能。若rclk 和tclk 置位,則定時器2工作于波特率發(fā)生器方式。波特率發(fā)生器的方式與自動重裝載方式相仿,在此方式下,th2 翻轉(zhuǎn)使定時器2
24、的寄存器用rcap2h 和rcap2l 中的16位數(shù)值重新裝載,該數(shù)值由軟件設(shè)置。在方式1 和方式3 中,波特率由定時器2 的溢出速率根據(jù)下式確定:方式1和3的波特率=定時器的溢出率/16定時器既能工作于定時方式也能工作于計數(shù)方式,在大多數(shù)的應(yīng)用中,是工作在定時方式(c/t2=0)。定時器2 作為波特率發(fā)生器時,與作為定時器的操作是不同的,通常作為定時器時,在每個機(jī)器周期(1/12 振蕩頻率)寄存器的值加1,而作為波特率發(fā)生器使用時,在每個狀態(tài)時間(1/2 振蕩頻率)寄存器的值加1。波特率的計算公式如下:方式1和3的波特率=振蕩頻率/32*65536-(rcp2h,rcp2l)式中(rcap2
25、h,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 可作為附加的外部中斷源來使用。需要注意的是,當(dāng)定時器2 工作于波特率器時,作為定時器運(yùn)行(tr2=1)時,并不能訪問th2 和tl2。因?yàn)榇藭r每個狀態(tài)時間定時器都會加1,對其
26、讀寫將得到一個不確定的數(shù)值。然而,對rcap2 則可讀而不可寫,因?yàn)閷懭氩僮鲗⑹侵匦卵b載,寫入操作可能令寫和/或重裝載出錯。在訪問定時器2或rcap2 寄存器之前,應(yīng)將定時器關(guān)閉(清除tr2)。中斷at89c52 共有6 個中斷向量:兩個外中斷(int0 和int1),3 個定時器中斷(定時器0、1、2)和串行口中斷。這些中斷源可通過分別設(shè)置專用寄存器ie 的置位或清0 來控制每一個中斷的允許或禁止。ie 也有一個總禁止位ea,它能控制所有中斷的允許或禁止。定時器2 的中斷是由t2con 中的tf2 和exf2 邏輯或產(chǎn)生的,當(dāng)轉(zhuǎn)向中斷服務(wù)程序時,這些標(biāo)志位不能被硬件清除,事實(shí)上,服務(wù)程序需確
27、定是tf2 或exf2 產(chǎn)生中斷,而由軟件清除中斷標(biāo)志位。定時器0 和定時器1 的標(biāo)志位tf0 和tf1 在定時器溢出那個機(jī)器周期的s5p2 狀態(tài)置位,而會在下一個機(jī)器周期才查詢到該中斷標(biāo)志。然而,定時器2 的標(biāo)志位tf2 在定時器溢出的那個機(jī)器周期的s2p2 狀態(tài)置位,并在同一個機(jī)器周期內(nèi)查詢到該標(biāo)志。時鐘振蕩器at89c52 中有一個用于構(gòu)成內(nèi)部振蕩器的高增益反相放大器,引腳xtal1 和xtal2 分別是該放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起構(gòu)成自激振蕩器,振蕩電路參見圖10。外接石英晶體(或陶瓷諧振器)及電容c1、c2 接在放大器的反饋回路中構(gòu)
28、成并聯(lián)振蕩電路。對外接電容c1、c2 雖然沒有十分嚴(yán)格的要求,但電容容量的大小會輕微影響振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難易程序及溫度穩(wěn)定性,如果使用石英晶體,我們推薦電容使用30pf10pf,而如使用陶瓷諧振器建議選擇40pf10f。用戶也可以采用外部時鐘。這種情況下,外部時鐘脈沖接到xtal1 端,即內(nèi)部時鐘發(fā)生器的輸入端,xtal2 則懸空。由于外部時鐘信號是通過一個2 分頻觸發(fā)器后作為內(nèi)部時鐘信號的,所以對外部時鐘信號的占空比沒有特殊要求,但最小高電平持續(xù)時間和最大的低電平持續(xù)時間應(yīng)符合產(chǎn)品技術(shù)條件的要求。編程方法編程前,須設(shè)置好地址、數(shù)據(jù)及控制信號, at89c52 編程方
29、法如下: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 單片機(jī)時鐘電路時鐘電路用于產(chǎn)生單片機(jī)工作所需要的時鐘信號,單片機(jī)本身就是一個復(fù)雜的同步時序電路,為了保證同步工作方式的實(shí)現(xiàn),電路應(yīng)在唯一的時鐘信號的控制下嚴(yán)格地按時序進(jìn)行工作。在mcs-51芯片內(nèi)部
30、有一個高增益反相放大器,其輸入端為芯片引腳x1,輸出端為芯片引腳x2,在芯片的外部跨接晶體振蕩器和微調(diào)電容,形成反饋電路,就構(gòu)成了一個穩(wěn)定的自激振蕩器。此電路采用12mhz的石英晶體。時鐘電路如下圖所示: 圖3-1 時鐘電路圖3.3 單片機(jī)復(fù)位電路電阻的作用是用于上電復(fù)位的,vcc以上電,由于電容兩端電壓不能夠突破,所以rst上為高電平,然后電容放電,rst就為低電平了 還可以用手動復(fù)位。復(fù)位電路如下圖所示: 圖3-2 復(fù)位電路圖4 系統(tǒng)軟件設(shè)計4.1 proteus軟件環(huán)境介紹本系統(tǒng)的硬件設(shè)計首先是在proteus軟件環(huán)境中仿真實(shí)現(xiàn)的。proteus軟件是來自英國labcenter elec
31、tronics公司的eda工具軟件,proteus軟件有十多年的歷史,在全球廣泛使用,除了具有和其它eda工具一樣的原理布圖、pcb自動或人工布線及電路仿真的功能外,其革命性的功能是,它的電路仿真是互動的。針對微處理器的應(yīng)用,還可以直接在基于原理圖的虛擬原型上編程,并實(shí)現(xiàn)軟件源碼級的實(shí)時調(diào)試。如果有顯示及輸出,配合系統(tǒng)配置的虛擬儀器如示波器、邏輯分析儀等,還能看到運(yùn)行后輸入輸出的效果。proteus建立了完備的電子設(shè)計開發(fā)環(huán)境,尤其重要的是proteus lite可以完全免費(fèi),也可以花微不足道的費(fèi)用注冊達(dá)到更好的效果。proteus是目前最好的模擬單片機(jī)外圍器件的工具??梢苑抡?1系列、avr
32、、pic等常用的mcu及其外圍電路(如lcd,ram,rom,鍵盤,馬達(dá),led,ad/da,部分spi器件,部分iic器件.)。其實(shí)proteus 與 multisim比較類似,只不過它可以仿真mcu,當(dāng)然,軟件仿真精度有限,而且不可能所有的器件都找得到相應(yīng)的仿真模型,用開發(fā)板和仿真器當(dāng)然是最好選擇,可是初學(xué)者擁有它們的可能性比較小。當(dāng)然,硬件實(shí)踐還是必不可少的。在沒有硬件的情況下,proteus能像pspice 仿真模擬/數(shù)字電路那樣仿真mcu及外圍電路。另外,即使有硬件,在程序編寫早期用軟件仿真一下也是很有必要的。proteus軟件主要具有以下幾個方面的特點(diǎn):1、設(shè)計和仿真軟件prote
33、us 是一個很有用的工具,它可以幫助學(xué)生和專業(yè)人士提高他們的模擬和數(shù)字電路的設(shè)計能力。2、它允許對電路設(shè)計采用圖形環(huán)境,在這種環(huán)境中,可以使用一個特定符號來代替元器件,并完成不會對真實(shí)電路造成任何損害的電路仿真操作。3、它可以仿真儀表以及可描述在仿真過程中所獲得的信號的圖表。4、它可以仿真目前流行的單片機(jī),如pics, atmel-avr, motorola, 8051 等。5、在設(shè)計綜合性方案中,還可以利用ares開發(fā)印制電路板。4.2 protel軟件環(huán)境介紹protel印制板設(shè)計軟件包是澳大利亞protel technology公司與1990年推出的電子cad產(chǎn)品,具有方便、易學(xué)、實(shí)用、
34、快速以及高速度、高步通率的特點(diǎn)。它采用了分層次下拉窗口菜單結(jié)構(gòu)形式,用戶基本上不需要記背太多的鍵盤命令,用鼠標(biāo)點(diǎn)擊菜單命令就能操作,protel有著很高的自動布線布通率。布通率是電子產(chǎn)cad產(chǎn)品的一項(xiàng)重要指標(biāo),它反映電子元件在電路圖中連接關(guān)系有多少能在印刷版圖中實(shí)現(xiàn)。在設(shè)計常用的單、雙面印制板時只要選擇適當(dāng)?shù)脑季趾筒季€策略方法,protel就可以輕易的達(dá)到98%-100%的布通率。對于極少數(shù)不能布通的定方,protel可以用飛線指示出來,引導(dǎo)用戶用手工方法連通。另外,protel有強(qiáng)大的宏命令設(shè)置功能,利用宏命令功能多定義的熱鍵可以大大提高操作速度。 protel對微機(jī)的軟硬件配置要求很低
35、:cpu在8088以上,dos2.0以上版本,內(nèi)存640kb以上,雙軟件(或一個軟件一個硬盤),單色顯示器(多層板設(shè)計時最好用彩色),各種兼容打印機(jī)。也能在windows9x平臺的模擬dos下運(yùn)行。protel已成為印制板設(shè)計加工方面的工業(yè)標(biāo)準(zhǔn)。據(jù)初步統(tǒng)計protel在cad的市場占有率達(dá) 95%,成為電子產(chǎn)品制造業(yè)界的首選cad軟件。4.3 程序流程圖 1、主程序開 始 端口初始化 啟動按鍵是否按下y 判斷方向鍵是否按下燈 滅nnled燈向右移動led燈向左移動y 圖4-1 主程序流程圖 2、子程序 led流水燈方向控制 led燈向左(右)快速亮led燈向左(右)慢速亮燈流速控制鍵是否按下開
36、 始 y n 結(jié) 束 圖4-2 led流水燈方向控制流程圖 流水燈流程圖開 始 p1口賦初值讓第一個燈亮調(diào)用延時函數(shù)延時p1口的值循環(huán)左移一位 圖4-3 流水燈流程圖4.4 led顯示原理led 點(diǎn)陣顯示器亦稱led 矩陣板,具有亮度高、發(fā)光均勻、可靠性好、接線簡單、拼裝方便等優(yōu)點(diǎn),能構(gòu)成各種尺寸的大屏幕顯示器。因此,它被廣泛應(yīng)用于大型led 智能顯示屏、智能儀器儀表和機(jī)電一體化設(shè)備的顯示單元中,取得了較好的效果。由于它經(jīng)濟(jì)、小型的顯示系統(tǒng),同時要求使用方便靈活,方便地組成了由多塊大屏幕led 顯示器構(gòu)成的顯示系統(tǒng),該系統(tǒng)可廣泛用于商場、車站、碼頭及其它公共場合。led 顯示屏由 ed 點(diǎn)陣顯
37、示器(常見型號為p2158a) 構(gòu)成。它是以發(fā)光二極管為像素,按照行與列的順序排列而成的顯示器件,采用逐行(或逐列) 掃描方式工作,由峰值較大的窄脈沖驅(qū)動,從上到下逐次不斷地對顯示屏的各行進(jìn)行選通,同時又向各列送出表示圖形或文字信息的脈沖信號,反復(fù)循環(huán)以上操作,就可顯示各種圖形或文字信息。5 系統(tǒng)的調(diào)試過程通過上面的硬件設(shè)計和軟件設(shè)計過程,設(shè)計的工作已經(jīng)基本完成,接下來的工作就是對所設(shè)計好的應(yīng)用系統(tǒng)進(jìn)行調(diào)試。通過調(diào)試可以檢查出系統(tǒng)出現(xiàn)的一些錯誤,從而進(jìn)行下一步的修改。5.1 原理圖與erc檢查 圖5-1 protel原理圖 圖5-2 erc電氣規(guī)則檢查結(jié)果5.2 pcb板圖 圖 5-3 pcb
38、板圖6 仿真結(jié)果圖有按鍵控制的led流水燈仿真圖如下: 圖 6-1 有按鍵控制的led流水燈仿真圖不受開關(guān)控制鍵控制的led流水燈仿真圖如下(八個led先從左向右依次點(diǎn)亮,再從兩邊向中間點(diǎn)亮,再從中間向兩邊點(diǎn)亮,最兩邊的燈亮完后,再從右邊向左邊依次點(diǎn)亮): 圖 6-2 不受開關(guān)控制鍵控制的led流水燈仿真圖7 系統(tǒng)調(diào)試存在的問題在硬件調(diào)試中常見故障有:1、邏輯錯誤:它是由設(shè)計錯誤或加工過程中的工藝性錯誤所造成的。這類錯誤包括錯線、開路、短路等。2、元器件失效:有兩方面的原因:一是器件本身已損壞或性能不符合要求;二是組裝錯誤造成元件失效,如電解電容、集成電路安裝方向錯誤等。3、可靠性差:因其可靠
39、性差的原因很多,如金屬化孔、接插件接觸不良會造成系統(tǒng)時好時壞,經(jīng)不起振動;走線和布局不合理也會引起系統(tǒng)可靠性差。4、電源故障:若樣機(jī)由電源故障,則加電后很容易造成器件損壞。電源故障包括電壓值不符合設(shè)計要求,電源引線和插座不對,功率不足,負(fù)載能力差等。調(diào)試方法:包括多級調(diào)試和聯(lián)機(jī)調(diào)試。在調(diào)試過程中要針對可能出現(xiàn)的故障認(rèn)真分析,直至檢查出原因并排除。本次硬件調(diào)試過程中,對所出現(xiàn)的問題進(jìn)行了認(rèn)真的分析和改正,最后能夠很好的達(dá)到設(shè)計要求的效果。在軟件調(diào)試中軟件調(diào)試一般分為以下四個階段:1、 編寫程序并查錯;2、在匯編語言的編譯系統(tǒng)中編譯源程序3、對程序進(jìn)行編譯連接,并及時發(fā)現(xiàn)程序中存在的錯誤;4、改正
40、錯誤。在軟件調(diào)試過程中,對出現(xiàn)的錯誤進(jìn)行了認(rèn)真的分析和修改,多次調(diào)試成功后,能夠很好的達(dá)到既定的設(shè)計效果。8 總結(jié) 經(jīng)過一段時間的努力,我順利的完成了這次單片機(jī)課設(shè)。這是一個磨練意志的過程。從課題的選擇開始,硬件和軟件系統(tǒng)的設(shè)計、到最后的proteus軟件仿真完成,這其中經(jīng)歷了很多困難,但是更重要的是在這個過程中我得到了很大的鍛煉。一方面通過c51單片機(jī)等一些器件的設(shè)計讓我學(xué)習(xí)和掌握了單片機(jī)技術(shù)的基礎(chǔ)知識和技術(shù)要點(diǎn),也使以前學(xué)的很多知識都得到了運(yùn)用;另一方面在用protel軟件畫原理圖生成pcb板,用proteus進(jìn)行仿真的這個過程中讓我掌握了計算機(jī)輔助的設(shè)計技術(shù)。當(dāng)然,這是一個需要不斷的嘗試
41、,不斷的校核,不斷的修改,最后完成一個合理的設(shè)計的過程。需要的是細(xì)心和耐心。在很大程度上培養(yǎng)了我拼搏的工作精神。使我受益匪淺,更加明確了自己專業(yè)的方向。 通過本次課設(shè),我不僅學(xué)到了關(guān)于單片機(jī)技術(shù)方面的許多專業(yè)知識,同時也讓我感覺 到很多方面的的重要性。其實(shí)如何有效和快速的找到資料也是課程設(shè)計給我的啟發(fā),利用好圖書館和網(wǎng)絡(luò),是資源的到最好的利用。與他人交流思想是取得成功的關(guān)鍵,在交流中,不僅強(qiáng)化了自己原有的知識體系,也擴(kuò)展了自己的思維。課程設(shè)計是一個通過思考、發(fā)問、自己解惑并動手、提高的過程。我會在以后的學(xué)習(xí)中不斷學(xué)習(xí),積累經(jīng)驗(yàn),完善自己。對于這次單片機(jī)課程設(shè)計不僅鞏固了以前所學(xué)過的知識,而且學(xué)
42、到了很多在書本上沒有學(xué)到過的知識,掌握了一種系統(tǒng)的研究方法,可以進(jìn)行一些簡單的編程。通過這次課程設(shè)計使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,從而提高自己的實(shí)際動手能力和獨(dú)立思考的能力。同時在設(shè)計的過程中發(fā)現(xiàn)了自己的不足之處,例如對以前所學(xué)過的知識理解得不夠深刻,掌握得不夠牢固,學(xué)習(xí)了單片機(jī)c語言。 這里我要感謝我的指導(dǎo)老師陳飛老師,沒有老師的細(xì)致講解和耐心的檢查,也就沒有我的順利完成,非常感謝!9 參考文獻(xiàn)1徐琤穎.protel 99 se eda 技術(shù)及應(yīng)用.機(jī)械工業(yè)出版社.2010.2張毅剛.單片機(jī)原理與應(yīng)用設(shè)計.電子工業(yè)出版社.2008.3譚浩強(qiáng).c語言設(shè)計.清華大學(xué)出版社.2005.4黃惟公.單片機(jī)原理與接口技術(shù)(c51版).四川大學(xué)出版社.2011. 10 附錄程序代碼:有按鍵控制的led流水燈程序#include unsigned char code tab=0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80;unsigne
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版新員工試崗期職業(yè)發(fā)展規(guī)劃與實(shí)施合同3篇
- 應(yīng)急預(yù)案與突發(fā)事件類型
- 電子行業(yè)產(chǎn)品維修培訓(xùn)總結(jié)
- 建筑與市政工程質(zhì)量安全巡查的背景
- 托育防恐防暴安全教育
- 交通運(yùn)輸行業(yè)促銷策略評估
- 二零二五版外貿(mào)實(shí)習(xí)實(shí)訓(xùn)基地建設(shè)合同3篇
- 二零二五年度環(huán)保設(shè)備委托托管合作協(xié)議3篇
- 《學(xué)校心理輔導(dǎo)》課件
- 二零二五年度居間服務(wù)合同范本6篇
- 新能源充電站運(yùn)營手冊
- 2024年蘭州新區(qū)實(shí)正鑫熱電有限公司招聘筆試沖刺題(帶答案解析)
- 血透室護(hù)士長述職
- (正式版)JTT 1218.4-2024 城市軌道交通運(yùn)營設(shè)備維修與更新技術(shù)規(guī)范 第4部分:軌道
- 2024年漢中市行政事業(yè)單位國有資產(chǎn)管理委員會辦公室四級主任科員公務(wù)員招錄1人《行政職業(yè)能力測驗(yàn)》模擬試卷(答案詳解版)
- 客車交通安全培訓(xùn)課件
- 藝術(shù)培訓(xùn)校長述職報告
- ICU新進(jìn)人員入科培訓(xùn)-ICU常規(guī)監(jiān)護(hù)與治療課件
- 選擇性必修一 期末綜合測試(二)(解析版)2021-2022學(xué)年人教版(2019)高二數(shù)學(xué)選修一
- 學(xué)校制度改進(jìn)
- 各行業(yè)智能客服占比分析報告
評論
0/150
提交評論