《單片機(jī)原理及應(yīng)用 設(shè)計(jì)報(bào)告》由會(huì)員分享,可在線閱讀,更多相關(guān)《單片機(jī)原理及應(yīng)用 設(shè)計(jì)報(bào)告(7頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、真誠(chéng)為您提供優(yōu)質(zhì)參考資料,若有不當(dāng)之處,請(qǐng)指正。單片機(jī)設(shè)計(jì)報(bào)告編寫:HUBU2015級(jí)通信工程 xmx 2017年5月23日一、設(shè)計(jì)的目的與要求利用8*8LED點(diǎn)陣動(dòng)態(tài)顯示漢字的字樣。采用STC89C52單片機(jī)作為整個(gè)控制搭電路的核心,并編制軟件程序,實(shí)現(xiàn)漢字的顯示。通過此設(shè)計(jì)來鞏固單片機(jī)硬件系統(tǒng)的設(shè)計(jì)及軟件系統(tǒng)的編程,通過設(shè)計(jì)將平時(shí)所學(xué)知識(shí)付諸實(shí)踐,提高動(dòng)手能力。1、設(shè)計(jì)一個(gè)8*8點(diǎn)陣LED電子顯示屏。2、要求在目測(cè)條件下LED顯示屏各點(diǎn)亮度均勻、充足,可顯示一個(gè)“大”字。二、總體方案設(shè)計(jì)2.1 硬件電路的總體設(shè)計(jì)1、設(shè)計(jì)總體框圖硬件電路的設(shè)計(jì)框圖如圖1所示。硬件電路結(jié)構(gòu)由8個(gè)部分組成:時(shí)鐘
2、電路、復(fù)位電路、按鍵接口電路、電源電路、點(diǎn)陣顯示陽極電路、點(diǎn)陣顯示陰極電路和8*8點(diǎn)陣顯示電路。2、工作原理由于是8*8點(diǎn)陣屏設(shè)計(jì),需要端口16個(gè),可采用靜態(tài)顯示模式,用P0口控制行,P1口控制列,通過軟件編程,即可實(shí)現(xiàn)漢字的顯示。3、元器件清單元件名稱規(guī)格數(shù)量備注STC89C52單片機(jī)一塊附底座晶振12MHZ一塊8*8點(diǎn)陣LED顯示器一塊SZ411288k按鈕開關(guān)一個(gè)四腳極性電容10uF一支瓷片電容51pF兩個(gè)電阻5k八個(gè)電阻10k一個(gè)2.2 系統(tǒng)軟件的設(shè)計(jì)軟件程序主要由開始、初始化、主程序、字庫(kù)和延時(shí)子程序組成。開始系統(tǒng)初始化顯示函數(shù)載入字形延時(shí)函數(shù)延遲時(shí)間三、系統(tǒng)硬件電路的具體設(shè)計(jì)3.1
3、 時(shí)鐘電路STC89C52單片機(jī)內(nèi)部的振蕩電路是一個(gè)高增益反向放大器,引線X1和X2分別是放大器的輸入端和輸出端。單片機(jī)內(nèi)部雖然有振蕩電路,但要形成時(shí)鐘,外部還需附加電路。STC89C52的時(shí)鐘產(chǎn)生方式有兩種:內(nèi)部時(shí)鐘電方式和外部時(shí)鐘方式。由于外部時(shí)鐘方式用于多片單片機(jī)組成的系統(tǒng)中,所以此處選用內(nèi)部時(shí)鐘方式。內(nèi)部時(shí)鐘方式:利用其內(nèi)部的振蕩電路在X1和X2引線上外接定時(shí)元件,內(nèi)部振蕩電路產(chǎn)生自激振蕩。最常用的是在X1和X2之間接晶體振蕩器與電路構(gòu)成穩(wěn)定的自激振蕩器,如圖4所示電路所示為單片機(jī)最常用的時(shí)鐘振蕩電路的接法,其中晶振可選用振蕩頻率為12MHz的石英晶體,電容器一般選擇30PF左右3.2
4、 復(fù)位電路單片機(jī)在啟動(dòng)運(yùn)行時(shí)需要復(fù)位,使CPU以及其他功能部件處于一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開始工作。另外,在單片機(jī)工作過程中,如果出現(xiàn)死機(jī)時(shí),也必須對(duì)單片機(jī)進(jìn)行復(fù)位,使其重新開始工作。本設(shè)計(jì)中采用按鍵復(fù)位電路,上電瞬間,RC電路充電,RST引線端出現(xiàn)正脈沖,只要RST端保持10ms以上的高電平,就能使單片機(jī)有效地復(fù)位。其中R1選擇10K左右的電阻,電容器一般選擇10F。3.3顯示電路的設(shè)計(jì)本次設(shè)計(jì)中采用8*8點(diǎn)陣LED顯示器,簡(jiǎn)稱LED點(diǎn)陣板或LED矩陣板。它是以發(fā)光二極管為像素,按照行與列的順序排列起來,用集成工藝制成的顯示器件。有單色和雙色之分,這種顯示器有共陽極接法和共陰極接法兩
5、種。設(shè)計(jì)中用到的是“列共陽,行共陰”,即 “列用高電平控制,行用低電平控制”。圖中畫出了8*8點(diǎn)陣的二極管。每一行發(fā)光二極管的陽極接在一起,有一個(gè)引出端r,每一列發(fā)光二極管的陰極接在一起,有一個(gè)引出端c。當(dāng)給發(fā)光二極管陽極引出端r1加高電平,陰極引出端c1加低電平時(shí),左上角的二極管被點(diǎn)亮因此,對(duì)于行和列的電平進(jìn)行掃描控制時(shí),可以達(dá)到顯示不同字符的目的。(1)把“單片機(jī)系統(tǒng)”區(qū)域中的P0端口用8芯排芯連接到“點(diǎn)陣模塊”區(qū)域中的“AH”端口上;(2)把“單片機(jī)系統(tǒng)”區(qū)域中的P1端口用8芯排芯連接到“點(diǎn)陣模塊”區(qū)域中的“07”端口上;為了方便于單片機(jī)連接,我們?cè)诤附拥倪^程中特意將07接口排列出來作為
6、列,將AH接口作為行,這樣我們就可以直接將AT89C52單片機(jī)的P0口與07接口一次連接,將AT89C52單片機(jī)的P1口與AH接口一次連接。要使LED發(fā)亮即使給予數(shù)字端高電平,字母端給予低電平,就能使二極管發(fā)亮。四、系統(tǒng)軟件的具體設(shè)計(jì)4.1 顯示函數(shù) while(1) for(i=0;i0;z-) for(y=110;y0;y-);4.4 主程序void main() while(1) for(i=0;i8;i+) P1=DZ88liei; /列選 高電平有效 P0=DZ88hangi; /行選 低電平有效 delay_ms(1); 五、整體電路圖六、系統(tǒng)軟件完整程序代碼#include#define int unsigned int#define char unsigned charchar code DZ88lie=0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,;char code DZ88hang=0x77,0xB7,0xD7,0xE0,0xE0,0xD7,0xB7,0x77,;void delay_ms(int z);char i;void main() while(1) for(i=0;i0;z-) for(y=110;y0;y-);七、仿真結(jié)果7 / 7