版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Good is good, but better carries it.精益求精,善益求善。MCS-51單片機(jī)系統(tǒng)設(shè)計(jì)指導(dǎo)書(shū)-一、單片機(jī)開(kāi)發(fā)系統(tǒng)應(yīng)用初步基本I/O口賦值1.內(nèi)容提要:aKEILC軟件對(duì)程序進(jìn)行編譯調(diào)試及燒錄軟件的使用方法。b單片機(jī)基本I/O口的驅(qū)動(dòng)方式、特點(diǎn)等。c匯編語(yǔ)句的基本用法;對(duì)基本I/O口的賦值方法;程序的具體流程等。2實(shí)驗(yàn)?zāi)康募耙螅篴課前預(yù)習(xí)好編程的基本知識(shí)。程序的基本概念、*.asm、*.c、*.hex、*.uv2所表示的文件類(lèi)型等。b熟練掌握不同數(shù)據(jù)類(lèi)型之間的相互轉(zhuǎn)換,不同類(lèi)型的數(shù)據(jù)在程序中的表示方法等。c課前弄清楚單片機(jī)I/O口的基本驅(qū)動(dòng)方式,理解何謂上拉及下
2、拉方式,單片機(jī)驅(qū)動(dòng)電流、灌入電流等概念。d復(fù)習(xí)數(shù)碼管的相關(guān)知識(shí),弄清數(shù)碼管需顯示某個(gè)字符應(yīng)如何對(duì)其進(jìn)行控制等。對(duì)P0口賦值跳轉(zhuǎn)至主程序開(kāi)始結(jié)束3實(shí)驗(yàn)源程序及流程圖:ORG0000HAJMPMAINMAIN:MOVP0,#0FHJMPMAINEND4實(shí)驗(yàn)步驟:a.通過(guò)讀程序,弄懂程序?qū)δ膫€(gè)口進(jìn)行賦初值,通過(guò)發(fā)光管亮或滅的情況反映出單片機(jī)輸出數(shù)據(jù)的情況(注意區(qū)分?jǐn)?shù)據(jù)的高低位)。b.通過(guò)KEILC軟件對(duì)以上程序進(jìn)行編譯,正確后生成*.HEX機(jī)器語(yǔ)言文件,隨即打開(kāi)燒錄軟件,將生成的*.HEX文件燒錄到單片機(jī)芯片中,完成后點(diǎn)擊運(yùn)行按鈕便可脫機(jī)運(yùn)行編寫(xiě)好的程序。c.觀(guān)察發(fā)光管亮滅情況,最終得出硬件的實(shí)際連
3、接情況。d.修改程序中的輸出數(shù)據(jù),重復(fù)以上編譯燒錄步驟,再次觀(guān)察LED發(fā)光情況是否與數(shù)據(jù)對(duì)應(yīng)。例:ORG0000HAJMPMAINMAIN:MOVP0,#65HJMPMAINENDe.修改單片機(jī)輸出數(shù)據(jù)的I/O口(如改為P2口輸出),觀(guān)察其余口是否能正確輸出數(shù)據(jù)。例:ORG0000HAJMPMAINMAIN:MOVP2,#0FHJMPMAINEND5發(fā)揮部分:將I/O口通過(guò)8芯排線(xiàn)接至獨(dú)立兩位數(shù)碼管處,通過(guò)I/O口賦值能使數(shù)碼管顯示出本人學(xué)號(hào)最后一位(注意數(shù)據(jù)高位統(tǒng)一用來(lái)控制數(shù)碼管的a筆段,低位控制h筆段)。6.電路原理圖:提示:1.由于單片機(jī)芯片燒錄時(shí)需用到P1口,故在燒錄過(guò)程中P1.5、P
4、1.6、P1.7口不應(yīng)有導(dǎo)線(xiàn)連接,否則易引起實(shí)驗(yàn)臺(tái)初始化失敗等錯(cuò)誤(燒錄完成后可以進(jìn)行連接)。7C語(yǔ)言編程:#includevoidmain(void)while(1)P0=0 x0f;二、基本控制語(yǔ)句應(yīng)用簡(jiǎn)單廣告牌霓虹燈設(shè)計(jì)1.內(nèi)容提要:a匯編語(yǔ)言控制語(yǔ)句應(yīng)用。b程序的循環(huán)、子程序調(diào)用、程序跳轉(zhuǎn)等。c單片機(jī)基本I/O口的驅(qū)動(dòng)方式、特點(diǎn)等。2實(shí)驗(yàn)?zāi)康募耙螅篴理解左移RL、右移RR概念。b延時(shí)程序DELAY的具體執(zhí)行過(guò)程、延時(shí)量控制等。c掌握通過(guò)設(shè)置程序的跳轉(zhuǎn)來(lái)實(shí)現(xiàn)程序循環(huán)的方法。開(kāi)始P0及累加器A初始化化A內(nèi)容賦予P0A內(nèi)容左移跳轉(zhuǎn)至LOOP結(jié)束3實(shí)驗(yàn)源程序及流程圖:ORG0000HAJMP
5、MAINMAIN:MOVP0,#00HMOVA,#01HLOOP:MOVP0,ARLAJMPLOOPEND4實(shí)驗(yàn)步驟:a.讀懂程序,分析程序中哪一句為控制語(yǔ)句,起到什么控制作用以及最終能實(shí)現(xiàn)何功能。b.運(yùn)行程序,觀(guān)察結(jié)果是否與程序一致,分析出現(xiàn)問(wèn)題的原因所在。c.試著向源程序中加入延時(shí)語(yǔ)句,觀(guān)察現(xiàn)象是否有所改變。ORG0000HAJMPMAINMAIN:MOVP0,#00HMOVA,#01HLOOP:MOVP0,ARLAACALLDELAYJMPLOOP;*延時(shí)子程序*;DELAY:MOVR2,#10HLOOP1:MOVR1,#0FFHLOOP2:DJNZR1,LOOP2DJNZR2,LOOP
6、1RETENDd.適當(dāng)修改延時(shí)量,使LED閃爍更為明顯,易于肉眼觀(guān)察。e.適當(dāng)修改程序,使程序最終實(shí)現(xiàn)一只LED作流水狀移動(dòng)。5發(fā)揮部分:能自左向右自右向左自左向右反復(fù)循環(huán)來(lái)控制一只發(fā)光管如反彈狀移動(dòng)。6.電路原理圖:7.C語(yǔ)言編程:#includeunsignedchari,c,d,temp=0 xfe;voiddelay(void)unsignedchara,b;for(a=0;a255;a+)for(b=0;b200;b+);voidmain(void)while(1)for(i=0;i8;i+)c=temp(8-i);P0=c|d;delay();三、單片機(jī)I/O口輸入獨(dú)立按鍵識(shí)別1.
7、內(nèi)容提要:a獨(dú)立式按鍵的連接。b匯編語(yǔ)句對(duì)按鍵的是否按下的具體判斷、按鍵按下后所執(zhí)行的跳轉(zhuǎn)等。c按鍵抖動(dòng)對(duì)單片機(jī)所造成的影響以及如何消除抖動(dòng)對(duì)單片機(jī)在執(zhí)行程序上的影響。2實(shí)驗(yàn)?zāi)康募耙螅篴掌握J(rèn)B、CPL語(yǔ)句的具體使用方法。b延時(shí)程序的具體執(zhí)行過(guò)程、延時(shí)量控制等。c掌握通過(guò)設(shè)置程序的跳轉(zhuǎn)來(lái)執(zhí)行相應(yīng)語(yǔ)句的方法。開(kāi)始P0及累加器A初始化化A內(nèi)容賦予P0判斷是否有鍵按下結(jié)束對(duì)A取反NYd體會(huì)按鍵抖動(dòng)對(duì)單片機(jī)系統(tǒng)所造成的影響,以及如何通過(guò)軟件延時(shí)去抖動(dòng)方法來(lái)消除按鍵抖動(dòng)。3實(shí)驗(yàn)源程序及流程圖:ORG0000HAJMPMAIN;*主程序*;MAIN:MOVP0,#0FFHMOVA,#0FFHWAIT:M
8、OVP0,AJBP3.0,WAITCPLAJMPWAITEND4實(shí)驗(yàn)步驟:a.運(yùn)行以上程序,同時(shí)反復(fù)按下連接至P3.0口的獨(dú)立式輕觸開(kāi)關(guān)(平時(shí)按鍵抬起時(shí)為高電平,按下按鍵時(shí)為低電平),觀(guān)察LED發(fā)光情況。5發(fā)揮部分:由于按鍵抖動(dòng),使LED的亮滅情況無(wú)法通過(guò)按鍵準(zhǔn)確控制,試著通過(guò)前面一節(jié)的實(shí)驗(yàn),在程序適當(dāng)?shù)奈恢眉尤胙訒r(shí)程序,實(shí)現(xiàn)軟件去抖動(dòng)。6.電路原理圖:(K2應(yīng)接在P3.0)7.C語(yǔ)言編程:#includesbitkey=P30;unsignedchara=0;voidmain(void)while(1)P0=a;if(key=0)a=a;四、外部中斷應(yīng)用按鍵計(jì)數(shù)器1.內(nèi)容提要:a單片機(jī)中斷系
9、統(tǒng)基本功能、中斷控制字定義以及外中斷觸發(fā)方式等。b中斷服務(wù)程序入口地址、中斷斷點(diǎn)及中斷返回。c按鍵抖動(dòng)對(duì)中斷所造成的影響。2實(shí)驗(yàn)?zāi)康募耙螅篴理解中斷服務(wù)程序的入口地址及熟記各中斷服務(wù)程序入口地址。b掌握中斷控制字TCON、IE、IP的具體含義及正確定義等。c掌握中斷服務(wù)程序的具體執(zhí)行過(guò)程。d體會(huì)按鍵抖動(dòng)對(duì)單片機(jī)系統(tǒng)所造成的影響及如何消除按鍵抖動(dòng)。開(kāi)始外中斷及數(shù)據(jù)初始化化死循環(huán)判斷是否有中斷結(jié)束對(duì)A累加計(jì)數(shù)NY3實(shí)驗(yàn)源程序及流程圖:ORG0000HAJMPMAINORG0003HAJMPDEALMAIN:SETBEASETBEX0SETBIT0MOVA,#00HMOVP0,#0FFHWAIT:
10、SJMPWAITDEAL:INCACPLAMOVP0,ACPLARETIEND4實(shí)驗(yàn)步驟:a.閱讀并理解程序,理解程序第三行的“ORG0003H”及“MAIN”程序中初始化部分的具體含義。b.運(yùn)行程序,通過(guò)反復(fù)按下P3.2獨(dú)立式按鍵(INT0),觀(guān)察LED顯示結(jié)果。5發(fā)揮部分:通過(guò)以上實(shí)驗(yàn)結(jié)果得出:由于按鍵抖動(dòng),導(dǎo)致P3.2/INT0口頻繁出現(xiàn)高低變化的電平,致使單片機(jī)多次執(zhí)行中斷服務(wù)程序。能否在程序的適當(dāng)部分加入延時(shí)程序并更改觸發(fā)方式,成功解決按鍵抖動(dòng)問(wèn)題?6.電路原理圖:7.C語(yǔ)言編程:#includeunsignedchara=0;voidint0(void)interrupt0usin
11、g0a+;a=a;P0=a;a=a;voidmain(void)EA=1;EX0=1;IT0=1;while(1);五、數(shù)碼管顯示基礎(chǔ)數(shù)顯按鍵計(jì)數(shù)器1.內(nèi)容提要:a數(shù)碼管內(nèi)部結(jié)構(gòu)、引腳定義及驅(qū)動(dòng)。b數(shù)碼管段代碼表具體含義。c變址尋址在單片機(jī)查表中的意義所在。2實(shí)驗(yàn)?zāi)康募耙螅篴掌握數(shù)碼管與單片機(jī)的連接方法。b掌握段代碼表的推算及變址尋址的具體含義。c掌握判斷語(yǔ)句的具體用法。開(kāi)始外中斷及數(shù)據(jù)初始化化循環(huán)顯示R0內(nèi)容判斷是否有中斷結(jié)束對(duì)R0累加計(jì)數(shù)NY3實(shí)驗(yàn)源程序及流程圖:ORG0000HAJMPMAINORG0003HAJMPDEALORG0030HMAIN:SETBEASETBEX0SETBI
12、T0MOVP0,#00HMOVR0,#00HMOVDPTR,#TABDISPLAY:MOVA,R0MOVCA,A+DPTRMOVP0,AJMPDISPLAYDEAL:INCR0RETITAB:DB0FCH,60H,0DAH,0F2H,66HDB0B6H,0BEH,0E0H,0FEH,0F6HDB0EEH,3EH,9CH,7AH,9EH,8EH,00HEND4實(shí)驗(yàn)步驟:a.閱讀并理解程序,重點(diǎn)掌握數(shù)碼管“TAB”段代碼表以及段代碼表查表過(guò)程。b.根據(jù)程序定義,將P0口通過(guò)8芯排線(xiàn)連接至靜態(tài)二位數(shù)碼管的其中一位(注意將撥碼開(kāi)關(guān)撥至斷開(kāi)狀態(tài),以免PO口與74LS164輸出發(fā)生沖突),注意數(shù)據(jù)高位控制
13、a筆段;P3.2/INT0端仍接獨(dú)立式按鍵。c.運(yùn)行以上程序,通過(guò)按下按鍵觀(guān)察數(shù)碼管顯示情況。d.解決按鍵抖動(dòng)問(wèn)題,同時(shí)分析數(shù)碼管顯示完“F”字符后為何會(huì)出現(xiàn)亂碼。5發(fā)揮部分:使程序?qū)崿F(xiàn)16進(jìn)制計(jì)數(shù),即按下按鍵時(shí)能從09AF0循環(huán)顯示。6.電路原理圖:7.C語(yǔ)言編程:#includeunsignedchara=0;/*數(shù)碼管代碼表(共陽(yáng)且高位接a筆段)*/unsignedcharTab=0 x03,0 x9F,0 x25,0 x0D,0 x99,0 x49,0 x41,0 x1F,0 x01,0 x09,0 x11,0 xC1,0 x63,0 x85,0 x61,0 x71,0 xFF;voi
14、dint0(void)interrupt0using0a+;P0=Taba;voidmain(void)EA=1;EX0=1;IT0=1;while(1);六、矩陣式鍵盤(pán)應(yīng)用矩陣鍵盤(pán)識(shí)別1.內(nèi)容提要:a矩陣式鍵盤(pán)優(yōu)點(diǎn)、具體結(jié)構(gòu)、連接方式等。b單片機(jī)C語(yǔ)言基礎(chǔ)編程應(yīng)用。2實(shí)驗(yàn)?zāi)康募耙螅篴掌握矩陣式鍵盤(pán)的內(nèi)部構(gòu)架以及鍵盤(pán)與單片機(jī)之間的連接方式。b掌握矩陣鍵盤(pán)掃描識(shí)別的編程方法。c掌握C語(yǔ)言常用語(yǔ)句如if、for、switch、while的具體用法等。開(kāi)始初始化各列線(xiàn)循環(huán)置低電平判斷P3口數(shù)據(jù)是否改變結(jié)束進(jìn)入Switch得出最終鍵值NY3實(shí)驗(yàn)源程序及流程圖:#includeunsignedchar
15、key;/按鍵延時(shí)程序voidys()unsignedcharaaa,bbb;for(aaa=200;aaa0;aaa-)for(bbb=0;bbb200;bbb+);voidmain(void)key=0;while(1)P3=0 x7f;if(P3!=0 x7f)ys();if(P3!=0 x7f)switch(P3)case0 x77:key=7;break;case0 x7b:key=4;break;case0 x7d:key=1;break;case0 x7e:key=0;break;P0=key;P3=0 xbf;if(P3!=0 xbf)ys();if(P3!=0 xbf)swi
16、tch(P3)case0 xb7:key=8;break;case0 xbb:key=5;break;case0 xbd:key=2;break;case0 xbe:key=13;break;P0=key;P3=0 xdf;if(P3!=0 xdf)ys();if(P3!=0 xdf)switch(P3)case0 xd7:key=9;break;case0 xdb:key=6;break;case0 xdd:key=3;break;case0 xde:key=14;break;P0=key;P3=0 xef;if(P3!=0 xef)ys();if(P3!=0 xef)switch(P3)c
17、ase0 xe7:key=10;break;case0 xeb:key=11;break;case0 xed:key=12;break;case0 xee:key=15;break;P0=key;4實(shí)驗(yàn)步驟:a.理解矩陣鍵盤(pán)的結(jié)構(gòu)及硬件連接。b.運(yùn)行程序,按下44鍵盤(pán)上的按鍵,觀(guān)察P0口的LED顯示情況。5發(fā)揮部分:發(fā)揮部分:通過(guò)加入數(shù)碼管段代碼表,使鍵值能通過(guò)數(shù)碼管顯示出來(lái),依次對(duì)應(yīng)09AF。C語(yǔ)言中數(shù)碼管段代碼表可參考如下(共陰數(shù)碼管,高位接a筆段):unsignedcharTab=0 xFC,0 x60,0 xDA,0 xF2,0 x66,0 xB6,0 xBE,0 xE0,0 xFE,
18、0 xF6,0 xEE,0 x3E,0 x9C,0 x7A,0 x9E,0 x8E,0 x00;如要將key值通過(guò)查表賦予P0,可直接定義為:P0=Tabkey。6.電路原理圖(實(shí)際電路板中的鍵盤(pán)行與列接P3口):發(fā)揮部分原理圖(實(shí)際電路板中的鍵盤(pán)行與列接P3口):七、單片機(jī)定時(shí)/計(jì)數(shù)器秒脈沖定時(shí)器1.內(nèi)容提要:a定時(shí)/計(jì)數(shù)器控制字定義。b中斷服務(wù)程序入口地址、中斷斷點(diǎn)及中斷返回。c單片機(jī)定時(shí)時(shí)長(zhǎng)計(jì)算方法、間接定時(shí)獲取長(zhǎng)時(shí)間定時(shí)方法。2實(shí)驗(yàn)?zāi)康募耙螅篴理解中斷服務(wù)程序的入口地址及熟記各中斷服務(wù)程序入口地址。b掌握定時(shí)/計(jì)數(shù)控制字TMOD、TCON的具體含義及正確定義等。c掌握不同工作方式下定
19、時(shí)時(shí)間初值的具體算法。開(kāi)始系統(tǒng)初始化進(jìn)入死循環(huán)有無(wú)定時(shí)中斷請(qǐng)求結(jié)束進(jìn)入中斷重裝值并對(duì)P1.0取反NY3實(shí)驗(yàn)源程序及流程圖:ORG0000HLJMPMAINORG000BHLJMPINTT0MAIN:MOVTMOD,#01HMOVTL0,#0B0HMOVTH0,#3CHSETBEASETBET0SETBTR0SJMP$INTT0:MOVTL0,#0B0HMOVTH0,#3CHCPLP1.0RETIEND4實(shí)驗(yàn)步驟:a.運(yùn)行以上程序,觀(guān)察P1.0口的LED閃爍情況。5發(fā)揮部分:精確定義一秒鐘時(shí)間,并結(jié)合前面學(xué)過(guò)的知識(shí),能通過(guò)數(shù)碼管顯示出秒鐘的個(gè)位信息(注意秒鐘個(gè)位為十進(jìn)制)(結(jié)合實(shí)驗(yàn)五電路圖連接)
20、。6.電路原理圖:八、單片機(jī)顯示初步數(shù)碼管動(dòng)態(tài)掃描1.內(nèi)容提要:a人眼有視覺(jué)暫留效應(yīng)。b數(shù)碼管動(dòng)態(tài)掃描的硬件連接特點(diǎn)。c單片機(jī)C語(yǔ)言的具體應(yīng)用。2實(shí)驗(yàn)?zāi)康募耙螅篴通過(guò)實(shí)驗(yàn)體會(huì)人眼的視覺(jué)暫留效應(yīng),通過(guò)實(shí)踐得出八位數(shù)碼管動(dòng)態(tài)掃描的時(shí)間間隔大于多少會(huì)產(chǎn)生閃爍問(wèn)題。b掌握定時(shí)/計(jì)數(shù)控制字TMOD、TCON的具體含義;不同工作方式下定時(shí)時(shí)間初值的具體算法等。c掌握數(shù)碼管動(dòng)態(tài)掃描的硬件連接。3實(shí)驗(yàn)源程序:#include/*頭文件*/unsignedcharmg=9,ms=8,fg=7,bitdisplay=0;/*定義變量*/*數(shù)碼管段代碼表*/unsignedcharTab=0 xFC,0 x60,
21、0 xDA,0 xF2,0 x66,0 xB6,0 xBE,0 xE0,0 xFE,0 xF6,0 xEE,0 x3E,0 x9C,0 x7A,0 x9E,0 x8E,0 x00;/*定時(shí)中斷服務(wù)程序*/voidtimer0(void)interrupt1using0TH0=0 x3c;TL0=0 xb0;switch(bitdisplay)case0:P0=Tabmg;P2=0 x7F;break;case1:P0=Tabms;P2=0 xBF;break;case2:P0=Tabfg;P2=0 xDF;break;bitdisplay+;if(bitdisplay=3)bitdisplay
22、=0;/*主程序*/voidmain(void)TMOD=0 x01;TH0=0 x3c;TL0=0 xb0;EA=1;ET0=1;TR0=1;while(1);4實(shí)驗(yàn)步驟:a.掌握數(shù)碼管動(dòng)態(tài)掃描的硬件連接方法。弄清程序?qū)?dòng)態(tài)掃描部分的定義,軟件與硬件需相吻合,否則出現(xiàn)亂碼或高低位對(duì)調(diào)。b.運(yùn)行以上程序,觀(guān)察數(shù)碼管顯示情況,正常情況下應(yīng)能以較慢速度(閃爍態(tài))顯示“789”。5發(fā)揮部分:在以上程序基礎(chǔ)上,編寫(xiě)一程序,能正確穩(wěn)定地顯示出本人學(xué)號(hào)(8位數(shù)字,且顯示時(shí)無(wú)閃爍問(wèn)題)。6.電路原理圖:(僅畫(huà)出三位數(shù)碼管)九、單片機(jī)串行口應(yīng)用數(shù)碼管并行靜態(tài)顯示1.內(nèi)容提要:a串行口基本定義;RXD、TXD信
23、號(hào)實(shí)現(xiàn)串行數(shù)據(jù)發(fā)送。b串行口控制寄存器SCON具體定義;中斷請(qǐng)求的標(biāo)志位等。c74LS164芯片串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù)的硬件連接。2實(shí)驗(yàn)?zāi)康募耙螅篴掌握單片機(jī)串行口收發(fā)數(shù)據(jù)的全過(guò)程。b掌握串行口控制寄存器SCON的具體定義;數(shù)據(jù)發(fā)送過(guò)程中中斷請(qǐng)求標(biāo)志位的相應(yīng)變化;欲發(fā)送的數(shù)據(jù)必須先送入緩沖區(qū)等。c掌握74LS164芯片的工作原理、連接方法等。3實(shí)驗(yàn)源程序:#include/*數(shù)碼管代碼表(共陽(yáng)且高位接a筆段)*/unsignedcharTab=0 x03,0 x9F,0 x25,0 x0D,0 x99,0 x49,0 x41,0 x1F,0 x01,0 x09,0 x11,0 xC1,0 x
24、63,0 x85,0 x61,0 x71,0 xFF;unsignedcharmg=5,ms=0,bittime=20;/顯示程序/voiddisplay(void)TI=0;SBUF=Tabms;while(!TI);TI=0;SBUF=Tabmg;while(!TI);/定時(shí)中斷服務(wù)程序voidtimer0(void)interrupt1using0TH0=0 x3c;TL0=0 xb0;bittime-;while(bittime=0)bittime=20;display();/每經(jīng)一秒調(diào)用一次顯示程序/主程序voidmain(void)TMOD=0 x01;SCON=0X00;TH0=
25、0 x3c;TL0=0 xb0;EA=1;ET0=1;TR0=1;while(1);4實(shí)驗(yàn)步驟:a.讀懂并理解程序,掌握串行口控制字的定義及子程序調(diào)用等相關(guān)知識(shí)。b.掌握串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù)的連接方法及74LS164串并轉(zhuǎn)換芯片的具體用法。根據(jù)程序定義將單片機(jī)串行信號(hào)(P3.0/RXD、P3.1/TXD)通過(guò)兩單芯導(dǎo)線(xiàn)對(duì)應(yīng)連接至74LS164的RXD、TXD端(電路板內(nèi)部已連接);74LS164芯片輸出的并行信號(hào)(Q1Q8)通過(guò)撥碼開(kāi)關(guān)接至靜態(tài)數(shù)碼管筆段中(ah,其中撥碼開(kāi)關(guān)的第8位對(duì)應(yīng)a筆段)。c.運(yùn)行以上程序,觀(guān)察兩數(shù)碼管顯示情況,正常情況下應(yīng)能顯示“05”。5發(fā)揮部分:通過(guò)加入若干語(yǔ)句
26、,對(duì)mg及ms變量進(jìn)行控制,實(shí)現(xiàn)每當(dāng)一秒鐘到來(lái)時(shí)mg自動(dòng)加1;當(dāng)mg10(即經(jīng)歷10秒鐘)時(shí)mg自動(dòng)清零,同時(shí)ms自動(dòng)加1;當(dāng)ms6(即經(jīng)歷60秒)時(shí)ms自動(dòng)清零,最終實(shí)現(xiàn)標(biāo)準(zhǔn)時(shí)間的秒信息顯示(mg及ms變量通過(guò)串行口送出,經(jīng)轉(zhuǎn)換至數(shù)碼管顯示)。6.電路原理圖:十、單片機(jī)系統(tǒng)設(shè)計(jì)(一)動(dòng)態(tài)掃描數(shù)字鐘1.內(nèi)容提要:a單片機(jī)軟件系統(tǒng)設(shè)計(jì)。b單片機(jī)硬件接口系統(tǒng)設(shè)計(jì)。c單片機(jī)C語(yǔ)言的綜合應(yīng)用。2實(shí)驗(yàn)?zāi)康募耙螅篴能夠系統(tǒng)性地總結(jié)掌握的知識(shí),將單元模塊知識(shí)有機(jī)的結(jié)合在一起。b能夠充分協(xié)調(diào)好硬件與軟件之間的相互結(jié)合,合理設(shè)計(jì)硬件電路。c掌握單片機(jī)C語(yǔ)言判斷語(yǔ)句、分支語(yǔ)句以及子程序調(diào)用等編程知識(shí)。3實(shí)驗(yàn)源程
27、序:#include/*頭文件*/unsignedcharmg=0,ms=0,fg=0,bittime=0,bitdisplay=0;/*定義變量*/*數(shù)碼管段代碼表(共陰且高位對(duì)應(yīng)a段)*/unsignedcharTab=0 xFC,0 x60,0 xDA,0 xF2,0 x66,0 xB6,0 xBE,0 xE0,0 xFE,0 xF6,0 xEE,0 x3E,0 x9C,0 x7A,0 x9E,0 x8E,0 x00;/*定時(shí)中斷服務(wù)程序*/voidtimer0(void)interrupt1using0TH0=0 x3c;TL0=0 xb0;switch(bitdisplay)case
28、0:P0=Tabmg;P2=0 x7F;break;case1:P0=Tabms;P2=0 xBF;break;case2:P0=Tabfg;P2=0 xDF;break;bitdisplay+;bittime+;if(bitdisplay=3)bitdisplay=0;/*主程序*/voidmain(void)TMOD=0 x01;TH0=0 x3c;TL0=0 xb0;EA=1;ET0=1;TR0=1;while(1)if(bittime=20)bittime=0;mg+;4實(shí)驗(yàn)步驟:a.根據(jù)程序定義將P0口通過(guò)8芯排線(xiàn)接至數(shù)碼管動(dòng)態(tài)掃描筆段控制端;P2口接至位地址端(電路內(nèi)部已連接,無(wú)需
29、連線(xiàn))。b.運(yùn)行以上程序,觀(guān)察數(shù)碼管顯示情況,應(yīng)能以閃爍狀顯示“000”、“001”,直至秒個(gè)位出現(xiàn)亂碼(由于秒個(gè)位mg一直在不斷地累加,超過(guò)16后在段代碼表中無(wú)代碼與之對(duì)應(yīng),故出現(xiàn)亂碼)。c.針對(duì)以上情況,請(qǐng)修改程序,最終實(shí)現(xiàn)正確穩(wěn)定地顯示小時(shí)(兩位數(shù))、分鐘(兩位數(shù))、秒鐘(兩位數(shù)),同時(shí)數(shù)碼管應(yīng)無(wú)閃爍問(wèn)題。5.電路原理圖:(僅畫(huà)出三位數(shù)碼管)十一、單片機(jī)系統(tǒng)設(shè)計(jì)(二)16路數(shù)顯競(jìng)賽搶答器1.內(nèi)容提要:a單片機(jī)軟件系統(tǒng)設(shè)計(jì)。b單片機(jī)硬件接口系統(tǒng)設(shè)計(jì)。c單片機(jī)C語(yǔ)言的綜合應(yīng)用。2實(shí)驗(yàn)?zāi)康募耙螅篴能夠系統(tǒng)性地總結(jié)掌握的知識(shí),將單元模塊知識(shí)有機(jī)的結(jié)合在一起。b能夠充分協(xié)調(diào)好硬件與軟件之間的相互
30、結(jié)合,合理設(shè)計(jì)硬件電路。c掌握單片機(jī)C語(yǔ)言判斷語(yǔ)句、分支語(yǔ)句以及子程序調(diào)用等編程知識(shí)。3實(shí)驗(yàn)源程序:#includeunsignedcharkey;voidmain(void)key=0;while(1)P3=0 x7f;if(P3!=0 x7f)switch(P3)case0 x77:key=7;break;case0 x7b:key=4;break;case0 x7d:key=1;break;case0 x7e:key=0;break;P0=key;P3=0 xbf;if(P3!=0 xbf)switch(P3)case0 xb7:key=8;break;case0 xbb:key=5;b
31、reak;case0 xbd:key=2;break;case0 xbe:key=13;break;P0=key;P3=0 xdf;if(P3!=0 xdf)switch(P3)case0 xd7:key=9;break;case0 xdb:key=6;break;case0 xdd:key=3;break;case0 xde:key=14;break;P0=key;P3=0 xef;if(P3!=0 xef)switch(P3)case0 xe7:key=10;break;case0 xeb:key=11;break;case0 xed:key=12;break;case0 xee:key=
32、15;break;P0=key;4實(shí)驗(yàn)步驟:a.弄清44矩陣鍵盤(pán)的電路連接。b.設(shè)計(jì)程序,使之能夠同時(shí)為16支參賽隊(duì)提供搶答功能,搶答成功后應(yīng)能通過(guò)數(shù)碼管顯示出參賽隊(duì)號(hào)數(shù),同時(shí)點(diǎn)亮發(fā)光二極管示意搶答成功。c加入獨(dú)立開(kāi)關(guān),可啟動(dòng)10秒倒計(jì)時(shí)功能,通過(guò)數(shù)碼管顯示出倒計(jì)時(shí)時(shí)間(倒計(jì)時(shí)狀態(tài)下?lián)尨鸸δ懿黄鹱饔茫粗嗳?。5.電路原理圖:十二、單片機(jī)系統(tǒng)設(shè)計(jì)(三)數(shù)字頻率計(jì)1.內(nèi)容提要:a單片機(jī)軟件系統(tǒng)設(shè)計(jì)。b單片機(jī)硬件接口系統(tǒng)設(shè)計(jì)。c單片機(jī)C語(yǔ)言的綜合應(yīng)用。2實(shí)驗(yàn)?zāi)康募耙螅篴能夠系統(tǒng)性地總結(jié)掌握的知識(shí),將單元模塊知識(shí)有機(jī)的結(jié)合在一起。b能夠充分協(xié)調(diào)好硬件與軟件之間的相互結(jié)合,合理設(shè)計(jì)硬件電路。c掌握
33、單片機(jī)C語(yǔ)言判斷語(yǔ)句、分支語(yǔ)句、子程序調(diào)用、定時(shí)/計(jì)數(shù)器應(yīng)用等編程知識(shí)。3實(shí)驗(yàn)源程序:#includeunsignedchara=0,b=0,c=0,bitdisplay=0,bittime=0;unsignedlongdigit=0;unsignedcharTab=0 xFC,0 x60,0 xDA,0 xF2,0 x66,0 xB6,0 xBE,0 xE0,0 xFE,0 xF6,0 xEE,0 x3E,0 x9C,0 x7A,0 x9E,0 x8E,0 x00;voidtimer0(void)interrupt1using0TH0=0 x3c;TL0=0 xb0;bittime+;swi
34、tch(bitdisplay)case0:P0=Taba;P2=0 x7F;break;case1:P0=Tabb;P2=0 xBF;break;case2:P0=Tabc;P2=0 xDF;break;bitdisplay+;if(bitdisplay=3)bitdisplay=0;voidmain(void)TMOD=0 x51;TH0=0 x3c;TL0=0 xb0;IP=0 x02;/定時(shí)器0優(yōu)先級(jí)高EA=1;TR0=1;TR1=1;ET0=1;ET1=1;TH1=0;TL1=0;while(1)if(bittime=20)digit=TH1*256+TL1;c=digit/100;b
35、=digit%100/10;a=digit%10;TH1=0;TL1=0;bittime=0;4實(shí)驗(yàn)步驟:a.讀懂程序,根據(jù)程序定義將頻率產(chǎn)生器的跳線(xiàn)接通,從而將方波引至單片機(jī)計(jì)數(shù)器T1輸入端P3.5/T1。b.運(yùn)行以上程序,正常情況下數(shù)碼管應(yīng)有三位數(shù)顯示,此顯示值便是當(dāng)前輸入方波頻率的低三位,其中百位為亂碼(已超出段代碼表范圍)。c.依據(jù)以上情況,編寫(xiě)一完整程序,能夠正確顯示出5位數(shù)的頻率值(需解決數(shù)碼管閃爍問(wèn)題)。5.電路原理圖:十三、單片機(jī)系統(tǒng)設(shè)計(jì)(四)16音電子琴1.內(nèi)容提要:a單片機(jī)軟件系統(tǒng)設(shè)計(jì)。b單片機(jī)鍵盤(pán)硬件接口系統(tǒng)設(shè)計(jì)。c單片機(jī)C語(yǔ)言的綜合應(yīng)用。2實(shí)驗(yàn)?zāi)康募耙螅篴能夠系統(tǒng)性地總結(jié)掌握的知識(shí),將單元模塊知識(shí)有機(jī)的結(jié)合在一起。b能夠充分協(xié)調(diào)好硬件與軟件之間的相互結(jié)合,合理設(shè)計(jì)硬件電路。c掌握單片機(jī)C語(yǔ)言判斷語(yǔ)句、分支語(yǔ)句、子程序調(diào)用、定時(shí)/計(jì)數(shù)器應(yīng)用等編程知識(shí)。d理解單片機(jī)發(fā)聲原理以及如何改變音調(diào)。3實(shí)驗(yàn)源程序:#includeunsignedcharkey,KTH0,KTL0;sbitsp=P10;unsignedintcodetab=64021,64103,64260,64400,64524,64580,64684,64777,64820,64898,64968,65
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度工業(yè)廠(chǎng)房交易全程服務(wù)合同4篇
- 2024音樂(lè)制作方與影視制作公司版權(quán)許可合同
- 二零二五年度交通樞紐害蟲(chóng)防治與消毒作業(yè)合同3篇
- 專(zhuān)業(yè)水電安裝及消防系統(tǒng)承包合同2024年版版B版
- 2025年度12年首次智慧旅游項(xiàng)目合作協(xié)議3篇
- 2025年度叉車(chē)租賃合同范本(叉車(chē)租賃與維護(hù))4篇
- 2025年度智慧城市基礎(chǔ)設(shè)施場(chǎng)地平整與物聯(lián)網(wǎng)協(xié)議4篇
- 2025年度奶牛養(yǎng)殖牛場(chǎng)租賃合同范本3篇
- 2025年廠(chǎng)房租賃合同風(fēng)險(xiǎn)評(píng)估與管理規(guī)范4篇
- 2024年04月廣西桂林銀行南寧分行社會(huì)招考筆試歷年參考題庫(kù)附帶答案詳解
- 三年級(jí)數(shù)學(xué)寒假作業(yè)每日一練30天
- 二年級(jí)數(shù)學(xué)上冊(cè)100道口算題大全 (每日一套共26套)
- 根因分析(huangyan)課件
- 圓形蓄水池工程量及配筋Excel計(jì)算
- 浙教版初中科學(xué)八下《表示元素的符號(hào)》課件
- 總住院醫(yī)師管理制度
- 八年級(jí)上冊(cè)歷史 第二單元 社會(huì)主義制度的建立與社會(huì)主義建設(shè)的探索
- DB31T 360-2020 住宅物業(yè)管理服務(wù)規(guī)范
- 園林綠化工程大樹(shù)移植施工方案
- 應(yīng)收賬款最高額質(zhì)押擔(dān)保合同模版
- 基于新型光彈性實(shí)驗(yàn)技術(shù)的力學(xué)實(shí)驗(yàn)教學(xué)方法探索
評(píng)論
0/150
提交評(píng)論