




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、單片機課程設(shè)計學(xué)號:021專業(yè)班級:機電四班)、單片機原理及應(yīng)用簡介隨著國內(nèi)超大規(guī)模集成電路的出現(xiàn),微處理器及其外圍芯片有了迅速的發(fā)展。集成技術(shù)的最新發(fā)展之一是將CPU和外圍芯片,如程序存儲器、數(shù)據(jù)存儲器、并行、串行I/O口、定時/計數(shù)器、中斷控制器及其他控制部件集成在一個芯片之中,制成單片計算機(Single-ChipMicrocomputer)。而近年來推出的一些髙檔單片機還包括有許多特殊功能單元,如A/D、D/A轉(zhuǎn)換器、調(diào)制解調(diào)器、通信控制器、鎖相環(huán)、DMA、浮點運算單元等。因此,只要外加一些擴展電路及必要的通道接口就可以構(gòu)成各種計算機應(yīng)用系統(tǒng),如工業(yè)控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、自動測試系統(tǒng)
2、、萬年歷電子表等。二、系統(tǒng)硬件設(shè)計(8052是標準的40引腳雙列直插式集成電路芯片,引腳分布請參照單片機引腳圖圖1:Fl.0LP1.1Epi.2rP1.3rFl.4EFl.0LP1.1Epi.2rP1.3rFl.4EP1.5LP1.GEP1.7EEESETEKKD/F3.0LTHD/P3.1E(I1TT1/F5.3ET0/F3.4LTl/F呂一5Ep3.&rTO/F3.7EXTAZ2EXTAL1Lvssr0987&54321ogsTG5432143333333333222222222nnmnnnnnnannnnnmnnnmvacpa.o/adopa.1/adipa.2/AD2PCI.3/AD3
3、PCI-4/AD4PG.5/AD5PCI-B/AD&Fp.7/ADTEA/VPPale/prjocPSEWF2.7/AD15F2.6/AD14P2.5/AD13P2.4/AD12P.3/AD11F2.2/AD10P2.1/AD9P2.O/ADS圖18052引腳P0口8位雙向口線(在引腳的3932號端子)。*P1口8位雙向口線(在引腳的18號端子)。P2口8位雙向口線(在引腳的2128號端子)。P2口8位雙向口線(在引腳的1017號端子)。8052芯片管腳說明:VCC:供電電壓。GND:接地。P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定
4、義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因
5、此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號?!縋3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口,
6、如表1所示:口管腳備選功能RXD串行輸入口TXD串行輸出口/INT0外部中斷0/INT1外部中斷1T0記時器0外部輸入T1記時器1外部輸入/WR外部數(shù)據(jù)存儲器寫選通/RD外部數(shù)據(jù)存儲器讀選通表1特殊功能口P3口同時為閃爍編程和編程校驗接收一些控制信號。RST:復(fù)位輸入。當振蕩器復(fù)位器件時,要保持RST腳兩個機器周期的高電平時間。#ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。一般情況下,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是
7、:每當用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時,ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。/EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當/EA端保持高電平時,此間內(nèi)部程序存儲器。
8、在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。三、系統(tǒng)總體方案我選用的是單片機(8052)來實現(xiàn)電子萬年歷的功能。共具備兩個功能:(1)顯示年月日及分秒信息#(2)具有可調(diào)整日期和時間功能。該電子萬年歷能夠成功實現(xiàn)時鐘運行,調(diào)整功能,且精確度經(jīng)調(diào)試一天的誤差在2S內(nèi)。1微處理器在設(shè)計過程中我使用12MHZ晶振與單片機8052相連接,通過軟件編程的方法實現(xiàn)了以24小時為一個周期同時顯示小時,分鐘和秒的要求,該定時鬧鐘設(shè)有九個按鍵,使之具備了校時、定時功能。利用單片機定時器及計數(shù)器產(chǎn)生定時
9、效果通過編程形成數(shù)字鐘效果,再利用數(shù)碼管動態(tài)掃描顯示單片機內(nèi)部處理的數(shù)據(jù)。同時通過端口讀入當前外部控制狀態(tài)來改變程序的不同狀態(tài),實現(xiàn)不同功能。在PROTEUS軟件環(huán)境下的8052芯片如圖4所示:::TAL1FDHADnPD.VAD-IFDSADaXTALZ::3VT-lF1S陽同麗F17Fl.TrftDU1E-SUEZZ5iz.33735S34-333ZZ1zzZ3zs2G27113111Z13U悄圖4PROTEUS軟件環(huán)境下的8052芯片2顯示電路就時鐘而言,通??刹捎靡壕э@示或數(shù)碼管顯示。由于一般的段式液晶屏,需要專門的驅(qū)動電路,而且液晶顯示作為一種被動顯示,可視性相對較差;對于具有驅(qū)動電
10、路和微處理器接口的液晶顯示模塊(字符或點陣),一般多采用并行接口,對微處理器的接口要求較高,占用資源多。另外,89C2051本身無專門的液晶驅(qū)動接口,因此,本設(shè)計采用點陣式數(shù)碼管顯示,點陣式數(shù)碼管是由八行八列的發(fā)光二極管組成,對于顯示文字比較適合。初始化時,由軟件編寫的指令就集中在顯示功能的設(shè)置上。LGM12641BS1R的指令可帶一個、兩個參數(shù),或無參數(shù)。若指令中含有參數(shù),則每條指令執(zhí)行時均須先送入?yún)?shù),再送入指令代碼。由于狀態(tài)位作用不一樣,因此執(zhí)行不同指令必須檢測不同狀態(tài)位。液晶顯示模塊LGM12641BS1R如圖5所示:UGU12541BG1RIiiiiii圖5顯示電路LGM12641B
11、S1R3按鍵電路由于我設(shè)計的是電子萬年歷,需要實現(xiàn)多種功能的顯示,并要能夠切換顯示和調(diào)節(jié)年月曰,因此,在設(shè)計過程中按鍵的設(shè)計就顯得尤為重要。在設(shè)計過程中我一共采用了4個按鍵,盡量在小的空間里實現(xiàn)最多的功能。其中MODE鍵是年月日與時間顯示切換鍵,按下一次就能夠更換一次顯示位。在調(diào)整顯示環(huán)境下UP和DONW鍵是顯示調(diào)整位的的加1減1鍵,F(xiàn)UNCTION鍵實現(xiàn)清零,并提高萬年歷顯示的精確性。按鍵電路如圖6所示:|上丄-udarrav.匕.r*j._=*_pown_array=k:leaf,arrayfunctionarrayQfl1.F圖6按鍵電路四、硬件電路的總體框圖設(shè)計該設(shè)計的硬件電路的總體框
12、圖如圖7所示:圖7總體框圖五、硬件電路原理圖設(shè)計該萬年歷是以單片機8052為核心來完成的。在硬件電路中采用P0口作為6位液晶顯示電路的驅(qū)動接口,這是由于P0口輸出驅(qū)動電路工作處于開漏狀態(tài),它的驅(qū)動能力強,故只需外接上拉電阻便可以把LED數(shù)碼管點亮。因為共陰的LED數(shù)碼管它的驅(qū)動電流是分開的,在單片機進行動態(tài)掃描的時候不會影響彼此的電流,故該電路中的8位LED數(shù)碼管均用共陽陰極的數(shù)碼管。8位LED數(shù)碼管的位選線分別由相應(yīng)的P2.0P2.5控制,而將其相應(yīng)的段選線并聯(lián)在一起,由一個8位的I/O口控制,即P0口。P3口與八個校時按鍵相連,以成功實現(xiàn)萬年歷校時的功能。電路原理圖如圖8所示::-船皿GM
13、D.fDSSM:TE治LCD1-bGiiisiiisihF-心。DCI口32a匕工匸口口口叱一口CjNlJI門1.l呱LCD1-bGiiisiiisihF-心。DCI口32a匕工匸口口口叱一口CjNlJI門1.l呱I柚1皿弗肚mePD1ADJ?D.IADl皿弭站4J6顧RST?a.ijfiorP2HW5P2.1MP22R1DEfflPLP.1IALEP21R.12盟咖P25A1LP2JW5piimPJ酮亂F1.112E(?3.unnP12P33INTT卩們RJFNFIPU盟帥F15P3ST1P1J6rasuiRP1IF盅麗3J更21M812325L$3621盤(E13E啊DI寸亦.11測一in
14、J3dDwn_arraycleararray-fundion_array|C1;12iiiiiiiiiiiiAST9CLKUZiX2J1|pli12u15C&111SCK.mSDAAnp;丁滋硬件電路六、主程序流程圖設(shè)計圖9主程序流程圖基本顯示模塊設(shè)計的重點是由顯示代碼取得相應(yīng)的段碼、顯示段碼數(shù)據(jù)的串行發(fā)送,程序流程如圖111所示。其中時個位的段碼必須加上小數(shù)點,即帶小數(shù)點顯示時個位,目的是以小數(shù)點符代替時間分割符“-”。軟件秒脈沖發(fā)生器其實質(zhì)是利用了定時器0的定時溢出中斷,將它設(shè)定為100ms溢出中斷,則10次中斷的時間正好為Is。將時間參數(shù)設(shè)計為100ms的原因有兩個:1)根據(jù)系統(tǒng)時鐘主頻
15、為6M的特點,16位定時器最大定時時間為65536X2M(M為機器周期,這里是2uS),即131ms,取整數(shù)100便于計次數(shù);2)如取的太短,如10ms,則定時器頻繁中斷,干擾系統(tǒng)正常運行效果。有了秒脈沖發(fā)生器,10次中斷為1s,秒指示燈閃亮1次,秒變量單元加1,60后分變量單元加1,如果為60分則時變量單元加1。任何一個變量的變化,則顯示刷新一次(更新)。上述思想的實現(xiàn)均集成在定時器0的中斷子程序中。該設(shè)計顯示模塊流程圖如圖10所示:將16進制時分數(shù)據(jù)轉(zhuǎn)化為BCD顯示|代碼*關(guān)顯示以免顯示抖動通過串口將時十位段碼送入對應(yīng)的LSrri月卩將時個位段碼送入對應(yīng)的LS164|圖10基本顯示模塊的程
16、序流程圖七、仿真過程1、仿真:打開WAVE6000,輸入所編寫的源程序并對程序進行編譯,在軟件的幫助下檢查其中的錯誤并進行反復(fù)修改,知道編譯正確后運行,確保沒有錯誤以后對正確的源程序進行保存,保存時給其命名,以便將來載入程序時容易找到。2、打開PROTEUS軟件,并出畫單片機電子萬年歷具體運行電路圖。3、檢查所畫電路運行圖,確保沒有錯誤以后,在PROTEUS下對原理圖進行加載WAVE6000下的源程序。4、加載完成后,單擊電路圖框下的開始按鈕,進行仿真,觀察LED數(shù)碼管現(xiàn)實情況,此時LED數(shù)碼管開始顯示數(shù)字。調(diào)節(jié)開關(guān)進行時間的調(diào)節(jié)。當秒的顯示間隔快與或慢與實際間隔時,調(diào)節(jié)石英晶體震蕩器的頻率參
17、數(shù),從而使秒的間隔達到標準。然后檢查電路其它問題,并對其的各參數(shù)進行調(diào)整,使之正確。八、仿真結(jié)果通過在WAVE6000下對源程序的編譯,改正了其中的很多錯誤,然后運行,保證源程序的正確性。然后按原理圖選擇正確合理的電器元件,畫出正確的電路圖,加載源程序運行,順利實現(xiàn)了單片機數(shù)字電子鐘的“小時”、“分鐘”、“秒”的顯示。該電子萬年歷的顯示效果及電子萬年歷時間和日期的調(diào)節(jié)效果分別如圖12和圖13所示:DQ2上-coe事7EKTLODI-!GUl25iiaSlRII08年月SOE狽時皿介14秒農(nóng)歷QE-書-苗星期一J4.云|匕r-spypririL口=!巳1y匸b*IllimDmmmcomw_aZi
18、jill|eaDCiCi口EiCiOUJIEij號5巴匚|二I二I:-I.:-p卜卜廠?-HLCDI-E李時徇20:08-06-30:19:5Z31PQDMDDFQWiDIPD2WD2XTA12FI13HD?PHQHDSrnmnRETPQ7J04D7山餉迥PEIIP3jjOI11F2.4WEBfP25ft13F2J&K14P2.TA1SpiarzramwoP1.1/T2KPZVDiDPl2P3Z1H1O-PUraprrP14J7.W1PI5P3JW1P1朗R4DPPIJP3/.RD13:IL.36H13DIHl和M-FEa-.|.g.230謹-UUuparray;own_array-clear
19、arrayunction.array圖1213U15l:.CBI亠17電子萬年歷的運行效果;U1LQ_31777LU=耳I耳i4p-xtnliFOEDDFD.1AD1FDJADZXTNL2FDD3FHgD*山鈕MFQjGiADEFKTFQ.TAD?和JWP22AWREN吒麗IIQLEEAPi加P2.1AI5P1OTEPSnUKHP111T2E:F1VTKDP12F33ilffTlP13F3.31HTTP15P3ST1D1RfSlKJjlp-pirU12i3TKS7UCC1閒SCLkLD2D&1X2Tpr=-:-2$19CK;DDAA1RPP2;2CEEC.JTJ3ft2J.p工碑*:wparr
20、ayb|dewnarrayarray-functiomarray2CE2CTBrr=-圖勞A電子萬年歷時間和日期的調(diào)節(jié)效果九、課程設(shè)計體會IJCC1iiCD2KISCLKKI通過這一周的課程設(shè)計,我學(xué)到了不少的知識。把以前沒有學(xué)好的模擬電路的知識進行了補充和加強。這使我受益很大。加深了我對于單片機和數(shù)字電路的認識,相信在以后的學(xué)習(xí)和工作中碰到這些基礎(chǔ)的元器件我會更加得心應(yīng)手。通過查閱大量的資料,我獲得了以前在課堂上學(xué)不到的東西,我想這對于以后的畢業(yè)設(shè)計,或者工作也好,都是很有幫助的。我很認真地對待這個過程中的每一個細節(jié),希望自己能做得更好。希望今后還有這樣的機會,能夠讓我學(xué)到更多的知識。在此次
21、的數(shù)字鐘設(shè)計過程中,更進一步地熟悉了芯片的結(jié)構(gòu)及掌握了各芯片的工作原理和其具體的使用方法。在連接六進制,十進制,六十進制的進位及十二進制的接法中,要求熟悉邏輯電路及其芯片各引腳的功能,那么在電路出錯時便能準確地找出錯誤所在并及時糾正了。在設(shè)計電路中,往往是先仿真后連接實物圖,但有時候仿真和電路連接并不是完全一致的,例如仿真的連接示意圖中,往往沒有接高電平的16腳或14腳以及接低電平的7腳或8腳,因此在實際的電路連接中往往容易遺漏。在設(shè)計電路的連接圖中出錯的主要原因都是接線和芯片的接觸不良以及接線的錯誤所引起的。對該設(shè)計的建議:此次的電子萬年歷設(shè)計重在于仿真和接線,雖然能把電路圖接出來,并能正常
22、顯示,但對于電路本身的原理并不是十分熟悉總的來說,通過這次的設(shè)計實驗更進一步地增強了實驗的動手能力。學(xué)無止境,我們現(xiàn)在所做的一切都還只是一個開始。附1源程序代碼#include#include#include#include#include#include#include/HIZr-)/#defineucharunsignedchar#defineuintunsignedintnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
23、nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnsbitbell=P20;/定義蜂鳴器端口sbitin=P27;/定義紅外檢測端口/*名稱:Timer0_Service()inturrupt1*功能:中斷服務(wù)程序整點報時3聲嘟嘟的聲音*入口參數(shù):*出口參數(shù):/voidTimer0_Service()interrupt1staticucharcount=0;staticucharflag=0;/記錄鳴叫的次數(shù)count=0;TR0=0;/關(guān)閉Timer。TH0=0 x3c;TL0=0XB0;/延時50msTR0=1;/啟動TimerOcount+;if(count
24、=20)/鳴叫1秒bell=bell;count=0;flag+;if(flag=6)flag=0;TRO=0;/關(guān)閉TimerO/*名稱:Timer2_Servie()interrupt5*功能:中斷服務(wù)程序整點報時一分鐘*入口參數(shù):*出口參數(shù):/nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn/voidTimer3_Service()interrupt5staticucharcount;TF2=0;/軟件清除中斷標志count+;if(in=1)count=0;/計算清0TR2=0;/關(guān)閉Timer2bell=1;/關(guān)閉蜂鳴器if(count=120)/一分鐘后關(guān)閉報警count=0;/計算清0TR2=0;/關(guān)閉Timer2bell=1;/關(guān)閉蜂鳴器)/nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn*函數(shù)名稱:main()*功能:*入口參數(shù):*出口參數(shù):/voidmain(void)ucharclock_time7=0 x00,0 x00,0 x02,0 x30,0 x06,0 x08;/定義時
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年軍隊文職人員招聘之軍隊文職管理學(xué)與服務(wù)全真模擬考試試卷A卷含答案
- 2025年軍隊文職人員招聘之軍隊文職管理學(xué)提升訓(xùn)練試卷B卷附答案
- 新泰數(shù)學(xué)初一試題及答案
- 安全防火知識培訓(xùn)課件
- 2025年黨史競賽知識題庫50題及答案
- 監(jiān)理基礎(chǔ)知識培訓(xùn)課件
- 人工智能醫(yī)療輔助系統(tǒng)應(yīng)用及操作指南
- 唐宋八大家之一王安石介紹與作品欣賞教案
- 公司股份制改革法律文件匯編手冊
- 保險理賠處理流程協(xié)議
- 京鐵師〔2016〕408號《營業(yè)線施工安全管理實施細則》
- 汽車電動助力轉(zhuǎn)向系統(tǒng)發(fā)展綜述外文文獻翻譯、中英文翻譯、外文翻譯
- 有機合成中的合成子課件
- 混凝土澆筑技術(shù)交底全
- 數(shù)學(xué)建模的介紹教學(xué)課件
- 邏輯代數(shù)的基本定律和規(guī)則課件
- 【短視頻質(zhì)量對消費者購買行為的影響研究4300字(論文)】
- 茄子課件完整版
- 戰(zhàn)地衛(wèi)生與救護教案-模板
- 《中華民族大團結(jié)》(初中) 第1課 愛我中華 教案
- 蘇科版五年級下冊勞動第10課《便攜衣架》課件
評論
0/150
提交評論