南昌大學(xué)單片機(jī)原理實(shí)驗(yàn)報(bào)告(打印上交)_第1頁
南昌大學(xué)單片機(jī)原理實(shí)驗(yàn)報(bào)告(打印上交)_第2頁
南昌大學(xué)單片機(jī)原理實(shí)驗(yàn)報(bào)告(打印上交)_第3頁
南昌大學(xué)單片機(jī)原理實(shí)驗(yàn)報(bào)告(打印上交)_第4頁
南昌大學(xué)單片機(jī)原理實(shí)驗(yàn)報(bào)告(打印上交)_第5頁
已閱讀5頁,還剩64頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

單片機(jī)原理及應(yīng)用實(shí)驗(yàn)報(bào)告學(xué)生姓名:學(xué)號(hào):學(xué)院名稱:專業(yè)班級(jí):目錄實(shí)驗(yàn)一I/O口輸入、輸出實(shí)驗(yàn)實(shí)驗(yàn)二外部中斷實(shí)驗(yàn)實(shí)驗(yàn)三定時(shí)/計(jì)數(shù)器實(shí)驗(yàn)實(shí)驗(yàn)四交通燈控制實(shí)驗(yàn)實(shí)驗(yàn)五串轉(zhuǎn)并與并轉(zhuǎn)串實(shí)驗(yàn)實(shí)驗(yàn)六8255輸入、輸出實(shí)驗(yàn)實(shí)驗(yàn)八并行A/D轉(zhuǎn)換實(shí)驗(yàn)實(shí)驗(yàn)十LCD顯示實(shí)驗(yàn)實(shí)驗(yàn)一I/O口輸入、輸出實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康恼莆諉纹瑱C(jī)Pl口、P3口的使用方法。二、實(shí)驗(yàn)內(nèi)容以P1口為輸出口,接八位邏輯電平顯示,LED顯示跑馬燈效果。以P3口為輸入口,接八位邏輯電平輸出,用來控制跑馬燈的方向。三、實(shí)驗(yàn)要求根據(jù)實(shí)驗(yàn)內(nèi)容編寫一個(gè)程序,并在實(shí)驗(yàn)儀上調(diào)試和驗(yàn)證。四、實(shí)驗(yàn)說明和電路原理圖P1口是準(zhǔn)雙向口,它作為輸出口時(shí)與一般的雙向口使用方法相同。由準(zhǔn)雙向口結(jié)構(gòu)可知當(dāng)P1口作為輸入口時(shí),必須先對(duì)它置高電平使內(nèi)部MOS管截止。因?yàn)閮?nèi)部上拉電阻阻值是20K~40K,故不會(huì)對(duì)外部輸入產(chǎn)生影響。若不先對(duì)它置高,且原來是低電平,則MOS管導(dǎo)通,讀入的數(shù)據(jù)是不正確的。本實(shí)驗(yàn)需要用到CPU模塊(F3區(qū)和八位邏輯電平輸出模塊(E4區(qū)和八位邏輯電平顯示模塊(B5區(qū),八位邏輯電平輸出電路原理圖參見圖1-1。八位邏輯電平顯示電路原理圖參見圖1-2。

2LED1C3UED2匚42LED1C3UED2匚4LEDHSLED4C韋UED5C7LED6C8KED7C孕LED3CvccLEOEQIDIQ2D2Dl即m9D5QSD6Q7DTQBD8GNDLO;斗LI7L2aL313L414L517L618L7LIIIL31L4IL51L6IL7I五、實(shí)驗(yàn)預(yù)習(xí)要求學(xué)習(xí)教材的相關(guān)內(nèi)容,根據(jù)實(shí)驗(yàn)要求畫出程序流程圖,寫出實(shí)驗(yàn)程序。六、實(shí)驗(yàn)步驟1系統(tǒng)各跳線器處在初始設(shè)置狀態(tài)。用導(dǎo)線連接八位邏輯電平輸出模塊的K0到CPU模塊的RXD(P3.0口;用8位數(shù)據(jù)線連接八位邏輯電平顯示模塊的JD4B到CPU模塊的JD8(P1口。2啟動(dòng)PC機(jī),打開THGMW-51軟件,輸入源程序,并編譯源程序。編譯無誤后,下載程序運(yùn)行。3觀察發(fā)光二極管顯示跑馬燈效果,撥動(dòng)K0可改變跑馬燈的方向。程序流程圖:+JiFtfZ.'KiltPl程序流程圖:+JiFtfZ.'KiltPl也棒—世&rsnstift七、實(shí)驗(yàn)現(xiàn)象和心得體會(huì)實(shí)驗(yàn)現(xiàn)象:程序下載到單片機(jī)以后,現(xiàn)象是LED燈沿著一個(gè)方向循環(huán)流動(dòng),當(dāng)撥動(dòng)K0開關(guān)后,亮的LED燈跳到邊緣然后沿著相反的方向循環(huán)流動(dòng)。心得體會(huì):通過這次實(shí)驗(yàn),我掌握了單片機(jī)P1口、P3口的使用方法。了解并熟悉了單片機(jī)I/O口和LED燈的電路結(jié)構(gòu),對(duì)于單片機(jī)實(shí)驗(yàn)臺(tái)上的相關(guān)器件有了一定了解,深化了課本上對(duì)于I/O口功能的理解,P1口是準(zhǔn)雙向口,它作為輸出口時(shí)與一般的雙向口使用方法相同。由準(zhǔn)雙向口結(jié)構(gòu)可知當(dāng)P1口作為輸入口時(shí),必須先對(duì)它置高電平使內(nèi)部MOS管截止。如果讓我自己通過跑馬燈的工作原理來編寫實(shí)驗(yàn)程序,就現(xiàn)在的只是水平來講肯定是做不到的,這需要我在日后的學(xué)習(xí)過程中,不斷加強(qiáng)自己的動(dòng)手能力和編程方面理論的學(xué)習(xí)。八、實(shí)驗(yàn)參考程序本實(shí)驗(yàn)參考程序;文件名:PortforMCU51;功能:I/O口輸入、輸出實(shí)驗(yàn);接線:用導(dǎo)線連接八位邏輯電平輸出模塊的K0到CPU模塊的RXD(P3.0口;;用8位數(shù)據(jù)線連接八位邏輯電平顯示模塊的JD2B到CPU模塊的JD8(P1DIRBITP3.0ORG0000HLJMPSTARTORG0100HSTART:Output1:mova,#0fEHmovr5,#8loop1:CLRCmovC,DIRJCOutput2movP1,arlaAcallDelaydjnzr5,loop1SjmpOutput1Output2:mova,#07fHmovr5,#8loop2:CLRCmovC,DIRJNCOutput1movP1,arraAcallDelaydjnzr5,loop2SjmpOutput2Delay:movr6,#0DelayLoop1:movr7,#0DelayLoop2:NOPNOPdjnzr7,DelayLoop2djnzr6,DelayLoop1ret實(shí)驗(yàn)二外部中斷實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康膶W(xué)習(xí)外部中斷技術(shù)的基本使用方法。二、實(shí)驗(yàn)內(nèi)容INTO端接單次脈沖發(fā)生器。按一次脈沖產(chǎn)生一次中斷,CPU使P1.0狀態(tài)發(fā)生一次反轉(zhuǎn),P1.0接LED燈,以查看信號(hào)反轉(zhuǎn)。三、實(shí)驗(yàn)要求根據(jù)實(shí)驗(yàn)內(nèi)容編寫一個(gè)程序,并在實(shí)驗(yàn)儀上調(diào)試和驗(yàn)證。四、實(shí)驗(yàn)說明和電路原理圖1外部中斷的初始化設(shè)置共有三項(xiàng)內(nèi)容:中斷總允許即EA=1,外部中斷允許即EXi=1(i=O或1,中斷方式設(shè)置。中斷方式設(shè)置一般有兩種方式:電平方式和脈沖方式,本實(shí)驗(yàn)選用后者,其前一次為高電平后一次為低電平時(shí)為有效中斷請(qǐng)求。因此高電平狀態(tài)和低電平狀態(tài)至少維持一個(gè)周期,中斷請(qǐng)求信號(hào)由引腳INT0(P3.2和INT1(P3.3引入。中斷服務(wù)的關(guān)鍵:a、保護(hù)進(jìn)入中斷時(shí)的狀態(tài)。堆棧有保護(hù)斷點(diǎn)和保護(hù)現(xiàn)場(chǎng)的功能使用PUSH指令,在轉(zhuǎn)中斷服務(wù)程序之前把單片機(jī)中有關(guān)寄存單元的內(nèi)容保護(hù)起來。b、必須在中斷服務(wù)程序中設(shè)定是否允許中斷重入,即設(shè)置EX0位。c、用POP指令恢復(fù)中斷時(shí)的現(xiàn)場(chǎng)。中斷控制原理:中斷控制是提供給用戶使用的中斷控制手段。實(shí)際上就是控制一些寄存器,51系列用于此目的的控制寄存器有四個(gè):TCON、IE、SCON及IP。4中斷響應(yīng)的過程:首先中斷采樣然后中斷查詢最后中斷響應(yīng)。采樣是中斷處理的第一步,對(duì)于本實(shí)驗(yàn)的脈沖方式的中斷請(qǐng)求,若在兩個(gè)相鄰周期采樣先高電平后低電平則中斷請(qǐng)求有效,IE0或IE1置T”否則繼續(xù)為“0”。所謂查詢就是由CPU測(cè)試TCON和SCON中各標(biāo)志位的狀態(tài)以確定有沒有中斷請(qǐng)求發(fā)生以及是那一個(gè)中斷請(qǐng)求。中斷響應(yīng)就是對(duì)中斷請(qǐng)求的接受,是在中斷查詢之后進(jìn)行的,當(dāng)查詢到有效的中斷請(qǐng)求后就響應(yīng)一次中斷。本實(shí)驗(yàn)需要用到CPU模塊(F3區(qū)和八位邏輯電平顯示模塊(B5區(qū)、單次脈沖模塊(E3區(qū)。五、實(shí)驗(yàn)預(yù)習(xí)要求學(xué)習(xí)教材的相關(guān)內(nèi)容,根據(jù)實(shí)驗(yàn)要求畫出程序流程圖,寫出實(shí)驗(yàn)程序。六、實(shí)驗(yàn)步驟1系統(tǒng)各跳線器處在初始設(shè)置狀態(tài),用導(dǎo)線連接單次脈沖模塊的輸出端到CPU模塊的P32;CPU模塊的P10接八位邏輯電平顯示模塊的燈。2啟動(dòng)PC機(jī),打開THGMW-51軟件,輸入源程序,并編譯源程序。編譯無誤后,下載程序運(yùn)行。3連續(xù)按動(dòng)單次脈沖產(chǎn)生電路的按鍵,發(fā)光二極管L0每按一次狀態(tài)取反,即隔一次點(diǎn)亮。程序流程圖:

(開始中斷(開始中斷七、實(shí)驗(yàn)分析和實(shí)驗(yàn)現(xiàn)象實(shí)驗(yàn)現(xiàn)象把外部中斷引腳連接到脈沖開關(guān),每次撥動(dòng)開關(guān)時(shí)就會(huì)觸發(fā)中斷,經(jīng)過中斷服務(wù)程序的處理會(huì)把P1.0取反,即LED的狀態(tài)隨之改變。如果撥動(dòng)開關(guān)數(shù)次,LED會(huì)隨之一亮一滅。心得體會(huì):通過這次實(shí)驗(yàn),我學(xué)到了如何通過外部的控制,要使用外部中斷要從兩方面進(jìn)行準(zhǔn)備:首先,在硬件上必須將中斷信號(hào)引到DSP的外部中斷引腳上;其次是在軟件上的配置對(duì)單片機(jī)實(shí)現(xiàn)中斷的處理,外部中斷首先要初始化設(shè)置,中斷總允許即EA=1,外部中斷允許即EXi=1(i=0或1,中斷方式的選擇可以選擇電平方式或者脈沖方式,掌握如何通過產(chǎn)生脈沖來控制單片機(jī)的中斷處理。外部中斷在專業(yè)領(lǐng)域應(yīng)用十分廣泛,能有機(jī)會(huì)通過實(shí)驗(yàn)掌握它的基本原理讓人受益匪淺。七、實(shí)驗(yàn)現(xiàn)象和心得體會(huì)實(shí)驗(yàn)現(xiàn)象把外部中斷引腳連接到脈沖開關(guān),每次撥動(dòng)開關(guān)時(shí)就會(huì)觸發(fā)中斷,經(jīng)過中斷服務(wù)程序的處理會(huì)把P1.0取反,即LED的狀態(tài)隨之改變。如果撥動(dòng)開關(guān)數(shù)次,LED會(huì)隨之一亮一滅。心得體會(huì):通過這次實(shí)驗(yàn),我學(xué)到了如何通過外部的控制,要使用外部中斷要從兩方面進(jìn)行準(zhǔn)備:首先,在硬件上必須將中斷信號(hào)引到DSP的外部中斷引腳上;其次是在軟件上的配置對(duì)單片機(jī)實(shí)現(xiàn)中斷的處理,外部中斷首先要初始化設(shè)置,中斷總允許即EA=1,外部中斷允許即EXi=1(i=0或1,中斷方式的選擇可以選擇電平方式或者脈沖方式,掌握如何通過產(chǎn)生脈沖來控制單片機(jī)的中斷處理。外部中斷在專業(yè)領(lǐng)域應(yīng)用十分廣泛,能有機(jī)會(huì)通過實(shí)驗(yàn)掌握它的基本原理讓人受益匪淺。八、實(shí)驗(yàn)參考程序本實(shí)驗(yàn)參考程序;文件名:EXintforMCU51;功能:外部中斷實(shí)驗(yàn);接線:導(dǎo)線連接單次脈沖模塊的輸出端到CPU模塊的P32,;CPU模塊的P10接八位邏輯電平顯示模塊的L0燈。LEDBITP1.0LEDBufBIT20Horg0ljmpStartorg3Interrupt0:pushPSW;保護(hù)現(xiàn)場(chǎng)cplLEDBuf;取反LEDmovc,LEDBufmovLED,cpopPSW;恢復(fù)現(xiàn)場(chǎng)retiStart:clrLEDBufclrLEDmovTCON,#01h;外部中斷0下降沿觸發(fā)movIE,#81h;打開外部中斷允許位(EXO及總中斷允許位(EAOK:ljmpOKEnd實(shí)驗(yàn)三定時(shí)/計(jì)數(shù)器實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康膶W(xué)習(xí)MCS-51內(nèi)部計(jì)數(shù)器的使用和編程方法。二、實(shí)驗(yàn)內(nèi)容使用MCS-51內(nèi)部定時(shí)/計(jì)數(shù)器,定時(shí)一秒鐘,CPU運(yùn)用定時(shí)中斷方式,實(shí)現(xiàn)每秒鐘輸出狀態(tài)發(fā)生一次反轉(zhuǎn),即發(fā)光管每隔一秒鐘亮一次。三、實(shí)驗(yàn)要求根據(jù)實(shí)驗(yàn)內(nèi)容編寫一個(gè)程序,并在實(shí)驗(yàn)儀上調(diào)試和驗(yàn)證。四、實(shí)驗(yàn)說明關(guān)于內(nèi)部計(jì)數(shù)器的編程主要是定時(shí)常數(shù)的設(shè)置和有關(guān)控制寄存器的設(shè)置。內(nèi)部計(jì)數(shù)器在單片機(jī)中主要有定時(shí)器和計(jì)數(shù)器兩個(gè)功能。本實(shí)驗(yàn)使用的是定時(shí)器,定時(shí)為一秒鐘。定時(shí)器有關(guān)的寄存器有工作方式寄存器TMOD和控制寄存器TCON。TMOD用于設(shè)置定時(shí)器/計(jì)數(shù)器的工作方式0-3,并確定用于定時(shí)還是用于計(jì)數(shù)。TCON主要功能是為定時(shí)器在溢出時(shí)設(shè)定標(biāo)志位,并控制定時(shí)器的運(yùn)行或停止等。內(nèi)部計(jì)數(shù)器用作定時(shí)器時(shí),是對(duì)機(jī)器周期計(jì)數(shù)。每個(gè)機(jī)器周期的長(zhǎng)度是12個(gè)振蕩器周期。假設(shè)實(shí)驗(yàn)系統(tǒng)的晶振是12MHZ,程序工作于方式2,即8位自動(dòng)重裝方式定時(shí)器,定時(shí)器100uS中斷一次,所以定時(shí)常數(shù)的設(shè)置可按以下方法計(jì)算:機(jī)器周期=12m12MHz=1uS(256-定時(shí)常數(shù)x1uS=100uS定時(shí)常數(shù)=156。然后對(duì)100uS中斷次數(shù)計(jì)數(shù)10000次,就是1秒鐘。在本實(shí)驗(yàn)的中斷處理程序中,因?yàn)橹袛喽〞r(shí)常數(shù)的設(shè)置對(duì)中斷程序的運(yùn)行起到關(guān)鍵作用,所以在置數(shù)前要先關(guān)對(duì)應(yīng)的中斷,置數(shù)完之后再打開相應(yīng)的中斷。本實(shí)驗(yàn)需要用到CPU模塊(F3區(qū)和八位邏輯電平顯示模塊(B5區(qū)。五、實(shí)驗(yàn)預(yù)習(xí)要求學(xué)習(xí)教材的相關(guān)內(nèi)容,根據(jù)實(shí)驗(yàn)要求畫出程序流程圖,寫出實(shí)驗(yàn)程序。六、實(shí)驗(yàn)步驟1系統(tǒng)各跳線器處在初始設(shè)置狀態(tài),用導(dǎo)線連接CPU模塊P10到八位邏輯電平顯示模塊的L0。2啟動(dòng)PC機(jī),打開THGMW-51軟件,輸入源程序,并編譯源程序。編譯無誤后,下載程序運(yùn)行。3運(yùn)行程序觀察發(fā)光二極管隔一秒點(diǎn)亮一次,點(diǎn)亮?xí)r間為一秒。程序流程圖:高八位為零0tilhwtiaitJvi.tfi.jj|IlilHirl高八位為零0tilhwtiaitJvi.tfi.jj|IlilHirl換K-VUAi^'Kl變-.ftKAte自減1保護(hù)現(xiàn)場(chǎng)七、實(shí)驗(yàn)現(xiàn)象和心得體會(huì)實(shí)驗(yàn)現(xiàn)象:把P1.0連接到LED燈上,下載程序后發(fā)現(xiàn)LED隔一秒點(diǎn)亮一次,亮一秒滅一秒。心得體會(huì):通過本次實(shí)驗(yàn),我對(duì)單片機(jī)的定時(shí)/計(jì)數(shù)功能有了一定的了解,加上復(fù)習(xí)鞏固課本上的知識(shí),熟悉了定時(shí)/計(jì)數(shù)器的設(shè)置、控制和最基本的應(yīng)用,初步獲悉了定時(shí)/計(jì)數(shù)器的內(nèi)部結(jié)構(gòu),能夠和上一次實(shí)驗(yàn)對(duì)中斷的實(shí)驗(yàn)結(jié)合起來思考問題,可以說是學(xué)習(xí)得比較扎實(shí)了。定時(shí)器和計(jì)數(shù)器是單片機(jī)里比較重要的部分,在實(shí)驗(yàn)中我也遇到了一些困難,程序復(fù)制中由于粗心沒有復(fù)制正確導(dǎo)致電腦一直報(bào)錯(cuò),后來通過逐一地讀程序排查得到了解決,順利完成了實(shí)驗(yàn)。八、實(shí)驗(yàn)參考程序本實(shí)驗(yàn)參考程序;文件名:TimerforMCU51;功能:定時(shí)/計(jì)數(shù)器實(shí)驗(yàn);接線:導(dǎo)線連接CPU模塊P10到八位邏輯電平顯示模塊的L0.Tickequ10000;10000x100us=1sTIOOusequ156;1OOus時(shí)間常數(shù)(6MC100usequ30h;100us記數(shù)單元LEDBufbit2OhorgOljmpStartorgOOObhTOInt:pushPSWmova,C1OOus+1jnzGoondecC100usGoon:decC100us+1mova,C100usorla,C100us+1jnzExit;100us記數(shù)器不為0,返回movC100us,#27H;#high(TickmovC100us+1,#10H;#low(TickcplLEDBuf;100us記數(shù)器為0,重置記數(shù)器;取反LEDExit:popPSWretiStart:movTMOD,#02h;方式2,定時(shí)器movTH0,#t100usmovTL0,#t100usmovIE,#10000010b;EA=1,IT0=1setbTR0;開始定時(shí)clrLEDBufclrP1.0movC100us,#27H;#high(TickmovC100us+1,#10H;#low(TickLoop:movc,LEDBufmovP1.0,cljmpLoopend實(shí)驗(yàn)四交通燈控制實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康恼莆帐致房诮煌艨刂品椒?。二、?shí)驗(yàn)內(nèi)容利用系統(tǒng)提供的雙色LED顯示電路,和四位靜態(tài)數(shù)碼管顯示電路模擬十字路口交通信號(hào)燈。4位LED數(shù)碼管顯示時(shí)間,LED顯示紅綠燈狀態(tài)。三、實(shí)驗(yàn)要求根據(jù)實(shí)驗(yàn)內(nèi)容編寫一個(gè)程序,并在實(shí)驗(yàn)儀上調(diào)試和驗(yàn)證。四、實(shí)驗(yàn)說明和電路原理圖交通信號(hào)燈控制邏輯如下:假設(shè)一個(gè)十字路口為東西南北走向。開始為四個(gè)路口的紅燈全部亮之后,東西路口的綠燈亮,南北路口的紅燈亮,東西路口方向通車,延時(shí)一段時(shí)間后(20秒,東西路口的綠燈,閃爍若干次后(3秒,東西路口的綠燈熄滅,同時(shí)東西路口的黃燈亮,延時(shí)一段時(shí)間后(2秒,東西路口的紅燈亮,南北路口的綠燈亮,南北路口方向通車,延時(shí)一段時(shí)間后(20秒,南北路口的綠燈閃爍若干次后(3秒,南北路口的綠燈熄滅,同時(shí)南北路口的黃燈亮,延時(shí)一段時(shí)間后(2秒,再切換到東西路口的綠燈亮,南北路口的紅燈亮,之后重復(fù)以上過程。

雙色LED是由一個(gè)紅色LED管芯和一個(gè)綠色LED管芯封裝在一起,共用負(fù)極,當(dāng)紅色正端加高電平,綠色正端加低電平時(shí),紅燈亮;紅色正端加低電平,綠色正端加高電平時(shí),綠燈亮;兩端都加高電平時(shí),黃燈亮。本實(shí)驗(yàn)需要用到CPU模塊(F3區(qū)、靜態(tài)數(shù)碼管/雙色LED顯示模塊(B4區(qū)。雙色LED顯示電路原理參見圖4-1。24SA0TFTl0O徒他A1.A2;?A4貼斯A?伽£R胡L2$24SA0TFTl0O徒他A1.A2;?A4貼斯A?伽£R胡L2$亍石了JD1BJi:A:TFT;TTTRIG1R2G1尅G3R4G4圖4-1雙色LED顯示電路五、實(shí)驗(yàn)程序參考框圖實(shí)驗(yàn)示例程序參考框圖如圖4-2。IS判了M癒此氓態(tài)完凋狀査IS判了M癒此氓態(tài)完凋狀査K詢顯示?<初始化定時(shí)辭尸妗」圖4-2程序流程圖六、實(shí)驗(yàn)預(yù)習(xí)要求學(xué)習(xí)教材的相關(guān)內(nèi)容,根據(jù)實(shí)驗(yàn)要求畫出程序流程圖,寫出實(shí)驗(yàn)程序。八、實(shí)驗(yàn)步驟1系統(tǒng)各跳線器處在初始設(shè)置狀態(tài)。P10同時(shí)接G1、G3;P11同時(shí)接R1、R3;P1.2同時(shí)接G2、G4;P1.3同時(shí)接R2R4;P1.6、P1.7分別接靜態(tài)數(shù)碼顯示的DIN、CLK。2啟動(dòng)PC機(jī),打開THGMW-51軟件,輸入源程序,并編譯源程序。編譯無誤后,下載程序運(yùn)行。3觀察十字路口交通燈效果。七、實(shí)驗(yàn)現(xiàn)象和心得體會(huì)實(shí)驗(yàn)現(xiàn)象:開始為四個(gè)路口的紅燈全部亮之后,東西路口的綠燈亮,南北路口的紅燈亮,東西路口方向通車,延時(shí)一段時(shí)間后(20秒,東西路口的綠燈,閃爍若干次后(3秒,東西路口的綠燈熄滅,同時(shí)東西路口的黃燈亮,延時(shí)一段時(shí)間后(2秒,東西路口的紅燈亮,南北路口的綠燈亮,南北路口方向通車,延時(shí)一段時(shí)間后(20秒,南北路口的綠燈閃爍若干次后(3秒,南北路口的綠燈熄滅,同時(shí)南北路口的黃燈亮,延時(shí)一段時(shí)間后(2秒,再切換到東西路口的綠燈亮,南北路口的紅燈亮,之后重復(fù)以上過程。心得體會(huì):通過本次實(shí)驗(yàn),我了解到交通燈其實(shí)是通過編程一步步實(shí)現(xiàn)的,共有六種狀態(tài)。本實(shí)驗(yàn)的程序比較長(zhǎng),看起來也很費(fèi)勁,但是功能很強(qiáng)大,所以在閱讀程序的過程中我也回顧了比如定時(shí)器的設(shè)置,查詢中斷,查表的方法,以及大量的調(diào)用和循環(huán)語句,另外我對(duì)數(shù)碼管的顯示原理也有了進(jìn)一步的深入。實(shí)驗(yàn)成功后,發(fā)現(xiàn)了交通燈的變化,從交通燈變成了有各種閃光形式的霓虹燈。八、實(shí)驗(yàn)參考程序本實(shí)驗(yàn)參考程序//;//*******************************************************************;文件名:交通燈程序FORMCU51;功能:雙色LED模擬交通燈信號(hào),并通過調(diào)用靜態(tài)數(shù)碼顯示狀態(tài)時(shí)間。;接線:P1.0同時(shí)接Gl、G3,P1.1接Rl、R3,P1.2接G2、G4,P1.3同時(shí)接R2、R4,;P1.6、P1.7接靜態(tài)數(shù)碼顯示的DIN、CLK。SECOND1EQU30H;東西秒寄存器SECOND2EQU31H;南北秒寄存器DBUFEQU40H;顯示緩沖1TEMPEQU44H;顯示緩沖2LED_G1BITP1.0;東西綠燈LED_R1BITP1.1;東西紅燈LED_G2BITP1.2;南北綠燈LED_R2BITP1.3;南北紅燈DinBITP1.6;串行顯示數(shù)據(jù)CLKBITP1.7;串行顯示時(shí)鐘ORG0000HLJMPSTARTORG0100HSTART:LCALLSTATE0;調(diào)用狀態(tài)0LCALLDELAY;調(diào)用延時(shí)MOVTMOD,#01H;置T0工作方式1MOVTHO,#3CH;置TO定時(shí)初值50mSMOVTL0,#0B0HSETBTRO;啟動(dòng)TOCLREALOOP:MOVR2,#20;置1S計(jì)數(shù)初值50mS*20=lSMOVR3,#2O;紅燈2OSMOVSECOND1,#25;東西秒顯示初值25SMOVSECOND2,#25;南北秒顯示初值25SLCALLDISPLAYLCALLSTATE1;調(diào)用狀態(tài)1WAIT1:JNBTF0,WAIT1;查詢50mS到否CLRTFOMOVTH0,#3CH;恢復(fù)T0定時(shí)初值50mSMOVTLO,#OBOHSETBTRO;啟動(dòng)TODJNZR2,WAIT1;判1S到否?未到繼續(xù)狀態(tài)1MOVR2,#20;置50mS計(jì)數(shù)初值DECSECOND1;東西秒顯示減一DECSECOND2;南北秒顯示減一LCALLDISPLAYDECSECOND2DECSECOND2;南北秒顯示減一DJNZR3,WAIT1;狀態(tài)1維持20S3MOVR2,#5;置50mS計(jì)數(shù)初值5*4=20MOVR3,#3;綠燈閃3SMOVR4,#4;閃爍間隔200mSMOVSECOND1,#5;東西秒顯示初值5SMOVSECOND2,#5;南北秒顯示初值5SLCALLDISPLAYWAIT2:LCALLSTATE2;調(diào)用狀態(tài)2JNBTF0,WAIT2;查詢50mS到否CLRTF0MOVTH0,#3CH;恢復(fù)T0定時(shí)初值50mSMOVTL0,#0B0HDJNZR4,WAIT2;判200mS到否?未到繼續(xù)狀態(tài)2CPLLED_G1;東西綠燈閃MOVR4,#4;閃爍間隔200mSDJNZR2,WAIT2;判1S到否?未到繼續(xù)狀態(tài)2MOVR2,#5;置50mS計(jì)數(shù)初值DECSECOND1;東西秒顯示減一LCALLDISPLAYDJNZR3,WAIT2;狀態(tài)2維持3S3MOVR2,#20;置50mS計(jì)數(shù)初值MOVR3,#2;黃燈2SMOVSECOND1,#2;東西秒顯示初值2SMOVSECOND2,#2;南北秒顯示初值2SLCALLDISPLAYWAIT3:LCALLSTATE3;調(diào)用狀態(tài)3JNBTF0,WAIT3;查詢30mS到否CLRTF0MOVTHO,#3CH;恢復(fù)T0定時(shí)初值50mSMOVTL0,#0B0HDJNZR2,WAIT3;判1S到否?未到繼續(xù)狀態(tài)3MOVR2,#20;置50mS計(jì)數(shù)初值DECSECOND1;東西秒顯示減一DECSECOND2;南北秒顯示減一LCALLDISPLAYDJNZR3,WAIT3;狀態(tài)3維持2SMOVSECOND1,#5MOVSECOND1,#5;東西秒顯示初值#SMOVSECOND2,#5;南北秒顯示初值5SLCALLDISPLAYWAIT5:LCALLSTATE5;調(diào)用狀態(tài)5JNBTF0,WAIT5;查詢50mS到否CLRTF0MOVTHO,#3CH;恢復(fù)TO定時(shí)初值100mSMOVTL0,#0B0HDJNZR4,WAIT5;判200mS到否?未到繼續(xù)狀態(tài)5CPLLED_G2;南北綠燈閃MOVR4,#4;閃爍2OOmSDJNZR2,WAIT5;判1S到否?未到繼續(xù)狀態(tài)5MOVR2,#5;置100mS計(jì)數(shù)初值DECSECOND1;東西秒顯示減一DECSECOND2;南北秒顯示減一LCALLDISPLAYDJNZR3,WAIT5;狀態(tài)5維持3S.3MOVR2,#20;置50mS計(jì)數(shù)初值MOVR3,#2;黃燈2SMOVSECOND2,#2;南北秒顯示初值2SLCALLDISPLAYWAIT6:LCALLSTATE6;調(diào)用狀態(tài)6JNBTF0,WAIT6;查詢100mS到否CLRTF0MOVTHO,#3CH;恢復(fù)TO定時(shí)初值100mSMOVTL0,#0B0HDJNZR2,WAIT6;判1S到否?未到繼續(xù)狀態(tài)6MOVR2,#20;置100mS計(jì)數(shù)初值DECSECOND1;東西秒顯示減一DECSECOND2;南北秒顯示減一LCALLDISPLAYDJNZR3,WAIT6;狀態(tài)6維持2SLJMPLOOP;大循環(huán)STATE0:;狀態(tài)0MOVP1,#OCLRLED_G1SETBLED_R1;東西紅燈亮CLRLED_G2SETBLED_R2;南北紅燈亮RETSTATE1:;狀態(tài)1SETBLED_G1;東西綠燈亮CLRLED_R1CLRLED_G2SETBLED_R2;南北紅燈亮RETSTATE2:;狀態(tài)2CLRLED_R1CLRLED_G2SETBLED_R2;南北紅燈亮RETSTATE3:;狀態(tài)3SETBLED_G1SETBLED_R1;東西黃燈亮CLRLED_G2SETBLED_R2;南北紅燈亮RETSTATE4:;狀態(tài)4CLRLED_G1SETBLED_R1;東西紅燈亮SETBLED_G2;南北綠燈亮CLRLED_R2RETSTATE5:;狀態(tài)5CLRLED_G1SETBLED_R1;東西紅燈亮CLRLED_R2RETSTATE6:;狀態(tài)6CLRLED_G1SETBLED_R1;東西紅燈亮SETBLED_G2SETBLED_R2;南北黃燈亮RETDISPLAY:;數(shù)碼顯示MOVA,SECOND1;東西秒寄存器MOVB,#10;16進(jìn)制數(shù)拆成兩個(gè)10進(jìn)制數(shù)DIVABMOVDBUF+1,AMOVA,BMOVDBUF,AMOVA,SECOND2;南北秒寄存器MOVB,#10;16進(jìn)制數(shù)拆成兩個(gè)10進(jìn)制數(shù)DIVABMOVDBUF+3,AMOVA,BMOVDBUF+2,AMOVR0,#DBUFMOVR1,#TEMPMOVR7,#4DP10:MOVDPTR,#LEDMAPMOVA,@R0MOVCA,@A+DPTRMOV@R1,AINCR0INCR1DJNZR7,DP10MOVR0,#TEMPMOVR1,#4DP12:MOVR7,#8MOVA,@R0DP13:RLCAMOVDIN,CCLRCLKSETBCLKDJNZR7,DP13INCR0DJNZR1,DP12RETLEDMAP:DB3FH,6,5BH,4FH,66H,6DH;0,1,2,3,4,5DB7DH,7,7FH,6FH,77H,7CH;6,7,8,9,A,BDB58H,5EH,7BH,71H,0,40H;C,D,E,F,,Delay:movr5,#5DLoop0:movr6,#0DLoop1:movr7,#0DLoop2:NOPNOPdjnzr7,DLoop2djnzr6,DLoop1djnzr5,DLoop0retEND實(shí)驗(yàn)五串轉(zhuǎn)并與并轉(zhuǎn)串實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康恼莆帐褂?4LS164擴(kuò)展輸出的方法。掌握使用74LS165擴(kuò)展輸入的方法。二、實(shí)驗(yàn)內(nèi)容使用74LS165擴(kuò)展輸入數(shù)據(jù),使用74LS164擴(kuò)展輸出數(shù)據(jù)。74LS165的并行口接八位邏輯電平輸出(開關(guān),CPU使用P1.0、P1.1和P1.2串行讀入開關(guān)狀態(tài);74LS164的并行口接一只數(shù)碼管,CPU使用P1.3和P1.4串行輸出剛讀入的開關(guān)狀態(tài),使之在數(shù)碼管上顯示出來。三、實(shí)驗(yàn)要求根據(jù)實(shí)驗(yàn)內(nèi)容編寫一個(gè)程序,并在實(shí)驗(yàn)儀上調(diào)試和驗(yàn)證。四、實(shí)驗(yàn)說明和電路原理圖174LS165為8位移位寄存器,其引腳功能如下:22。22。S/L:移位/置數(shù)端,低電平有效。P0?P7:并行數(shù)據(jù)輸入端。QH、QH:串行數(shù)據(jù)輸出端。CLK、CKLINH:時(shí)鐘信號(hào)輸入端。274LS164為串行輸入并行輸出移位寄存器,其引腳功能如下:A、B:串行輸入端;Q0~Q7:并行輸出端;MR:清零端,低電平有效;CLK:時(shí)鐘脈沖輸入端,上升沿有效。3用P1端口輸出數(shù)據(jù)時(shí),要編程位移數(shù)據(jù),每操作一個(gè)數(shù)據(jù)位,對(duì)應(yīng)一個(gè)移位脈沖。4本實(shí)驗(yàn)需要用到CPU模塊(F3區(qū)、八位邏輯電平輸出模塊(E4區(qū)和靜態(tài)數(shù)碼管顯示模塊(B4區(qū)。74LS165電路原理圖參見圖5-l,74LS164電路原理圖參見圖8-注:74LS164集成電路芯片在主板反面。vcciffDIN27vcc|-tP18EQH1657KI12K213K31斗K43K5+K65,K76圖5-174LS165電路74LS164AQOQlBQ2Q3VCCQ4MRQ5CLKQ6GKDQ?圖5-274LS164電路五、實(shí)驗(yàn)預(yù)習(xí)要求學(xué)習(xí)教材的相關(guān)內(nèi)容,根據(jù)實(shí)驗(yàn)要求畫出程序流程圖,寫出實(shí)驗(yàn)程序。六、實(shí)驗(yàn)步驟1系統(tǒng)各跳線器處在初始設(shè)置狀態(tài)。用導(dǎo)線對(duì)應(yīng)連接八位邏輯電平輸出模塊的QH165、CLK165、SH/LD到CPU模塊的Pio、Pll、P12。用導(dǎo)線對(duì)應(yīng)連接靜態(tài)數(shù)碼管顯示模塊的DIN、CLK到CPU模塊的P13、P14。啟動(dòng)PC機(jī),打開THGMW-5l軟件,輸入源程序,并編譯源程序。編譯無誤后,下載程序運(yùn)行。觀察數(shù)碼(八段碼管的亮滅與撥動(dòng)開關(guān)的狀態(tài)是否一致。撥動(dòng)開關(guān)撥下輸出為低電平,段碼點(diǎn)亮。程序流程圖:耳M沖刪■■1■右QU?槍HU槍■沖七、實(shí)驗(yàn)分析和實(shí)驗(yàn)現(xiàn)象實(shí)驗(yàn)現(xiàn)象:74LS165的并行口接八位邏輯電平輸出(開關(guān),CPU使用Pl.O、P1.1和P1.2串行讀入開關(guān)狀態(tài);74LS164的并行口接一只數(shù)碼管,CPU使用P1.3和P1.4串行輸出剛讀入的開關(guān)狀態(tài),使之在數(shù)碼管上顯示出來。在按鍵區(qū)撥相應(yīng)的開關(guān),數(shù)據(jù)串行輸入單片機(jī),再通過串行輸出經(jīng)164轉(zhuǎn)化后進(jìn)入數(shù)碼管顯示。心得體會(huì):通過本次實(shí)驗(yàn)我對(duì)單片機(jī)的串行并行轉(zhuǎn)換有了更加深克的的了解,并且學(xué)會(huì)了74LS164擴(kuò)展輸出的方法和74LS165擴(kuò)展輸入的方法。對(duì)程序的分析能力有了一定提高。八、實(shí)驗(yàn)參考程序本實(shí)驗(yàn)參考程序“8_164165位于THGMW軟件文件夾下THGMW\Exp\51文件夾。;//*文件名:164165串轉(zhuǎn)并,并轉(zhuǎn)串實(shí)驗(yàn)程序;功能:把開關(guān)量通過74**165串行輸入到內(nèi)存,并通過74**164串行輸出到數(shù);碼管上顯示。;接線:P1.0接QH165,P1.1接CLK165,P1.2接SH_LD,;P1.3、P1.4接靜態(tài)數(shù)碼顯示的DIN、CLK。QH165BITP1.0CLK165BITP1.1SH_LDBITP1.2DAT164BITP1.3CLK164BITP1.4MEMORYEQU30HORG0000HAJMPSTARTORG00B0HSTART:setbCLK165clrSH_LDsetbSH_LDmovr7,#8Input:rramovc,QH165movACC.7,cclrCLK165nopsetbCLK165djnzr7,InputmovMEMORY,AmovA,MEMORYmovr6,#8Output:rrcAmovDAT164,CclrCLK164setbCLK164djnzr6,OutputacallDELAYsjmpSTARTDELAY:movR0,#5DD2:movR1,#0FFHdjnzR1,$djnzR0,DD2RETEND實(shí)驗(yàn)六8255輸入、輸出實(shí)驗(yàn)1.了解8255芯片結(jié)構(gòu)及接口方式。2.掌握8255輸入、輸出的編程方法。二、實(shí)驗(yàn)內(nèi)容以PA口為輸入口,接八位邏輯電平輸出,以PB、PC口為輸出口,接八位邏輯電平顯示,編寫一個(gè)程序,讀入PA口狀態(tài)并在PB、PC口輸出顯示。三、實(shí)驗(yàn)要求根據(jù)實(shí)驗(yàn)內(nèi)容編寫一個(gè)程序,并在實(shí)驗(yàn)儀上調(diào)試和驗(yàn)證。四、實(shí)驗(yàn)說明和電路原理圖

8255是可編程的并行輸入/輸出接口芯片,通用性強(qiáng)且使用靈活。8255共有三個(gè)八位口,其中A口和B口是單純的數(shù)據(jù)口,供數(shù)據(jù)I/O口使用。C口可分為兩個(gè)4位端口(C口的上半部分和下半部,不僅可以作數(shù)據(jù)I/O口使用,還能用作控制線,配合A口和B口使用。本實(shí)驗(yàn)需要用到CPU模塊(F3區(qū)和8255模塊(C6區(qū)、八位邏輯電平輸出模塊(E4區(qū)、八位邏輯電平顯示模塊(B5區(qū)。8255電路原理圖參見圖10-1。CS_8255接8000H,則8255狀態(tài)/命令口地址為8006H,PA口地址為8000H,PB口地址為8002H。ICADL3?KAD?rIC.AD^ICAD430ICAD52SICAD628IC.AD721ICADO扣D3戕EMD7VCC.RD\CICADL3?KAD?rIC.AD^ICAD430ICAD52SICAD628IC.AD721ICADO扣D3戕EMD7VCC.RD\C15,7~RIC北.M■AlS:二陸妄一廷.一I",VCCT267csRI-SET亙WKAOAlVCCGNDPC-KKPCMPCPC'PC-JD3CPAO-7JD4CPBO-7JD5C圖6-18255電路五、實(shí)驗(yàn)預(yù)習(xí)要求學(xué)習(xí)教材的相關(guān)內(nèi)容,根據(jù)實(shí)驗(yàn)要求畫出程序流程圖,寫出實(shí)驗(yàn)程序1系統(tǒng)各跳線器處在初始設(shè)置狀態(tài)。用8位數(shù)據(jù)線連接八位邏輯電平輸出模塊的JD1E到8255模塊的JD3C(PA口;八位邏輯電平顯示模塊的JD4B到8255模塊的JD4C(PB口或JD5C(PC口;用導(dǎo)線連接8255模塊的CS_8255到地。啟動(dòng)PC機(jī),打開THGMW-51軟件,輸入源程序,并編譯源程序。編譯無誤后,下載程序運(yùn)行。觀察發(fā)光二極管的亮滅與撥動(dòng)開關(guān)的狀態(tài)是否一致。設(shè)撥動(dòng)開關(guān)撥下輸出為低電平,發(fā)光二極管點(diǎn)亮。改變撥動(dòng)開關(guān)的狀態(tài),發(fā)光二極管的亮滅隨之變化。七、實(shí)驗(yàn)現(xiàn)象和心得體會(huì)實(shí)驗(yàn)現(xiàn)象:設(shè)撥動(dòng)開關(guān)撥下輸出為低電平,發(fā)光二極管點(diǎn)亮。改變撥動(dòng)開關(guān)的狀態(tài),發(fā)光二極管的亮滅隨之變化。心得體會(huì):通過實(shí)驗(yàn)我基本上掌握了鍵盤輸入和顯示的方法,鍵盤顯示可以用8255來實(shí)現(xiàn),也可以用專門的鍵盤輸入顯示芯片來實(shí)現(xiàn)。實(shí)驗(yàn)中采用8255的方法來實(shí)現(xiàn),讓我掌握了8255的使用方法,并且掌握了鍵盤按鍵識(shí)別的方法。在分析實(shí)驗(yàn)的時(shí)候我們發(fā)現(xiàn),本實(shí)驗(yàn)雖然采用行掃描法,我們還可以采用反轉(zhuǎn)法實(shí)現(xiàn)。實(shí)驗(yàn)中提到的數(shù)碼管的動(dòng)態(tài)顯示方法和他的編程過程,看起來很難,但是仔細(xì)讀下去發(fā)現(xiàn)還是可以大致弄懂的。以后實(shí)驗(yàn)可以增加一些自主變成的內(nèi)容,讓我們更好地分析實(shí)驗(yàn)原理。八、實(shí)驗(yàn)參考程序本實(shí)驗(yàn)參考程序//;//*******************************************************;文件名:8255IOforMCU51;功能:8255輸入輸出實(shí)驗(yàn);接線:用8位數(shù)據(jù)線連接八位邏輯電平輸出模塊的JD1E到8255模塊的JD3C(PA口;;八位邏輯電平顯示模塊的JD4B到8255模塊的JD4C(PB口或JD5C(PC口;;用導(dǎo)線連接8255模塊的CS_8255到地。D8255AEQU8000H;8255PA口地址D8255BEQU8001H;8255PB口地址D8255CEQU8002H;8255PC口地址D8255EQU8003H;8255狀態(tài)/命令口地址ORG0000HLJMPSTARTORG0100HSTART:MOVDPTR,#D8255;MOVA,#82H;置8255狀態(tài);方式O,PA,PC口輸出,PB口輸入MOVA,#90H;置8255狀態(tài);方式O,PB,PC口輸出,PA口輸入MOVX@DPTR,ALOOP:MOVDPTR,#D8255AMOVXA,@DPTR;讀開關(guān)狀態(tài)MOVDPTR,#D8255BMOVX@DPTR,A;點(diǎn)亮對(duì)應(yīng)的LEDMOVDPTR,#D8255CMOVX@DPTR,A;點(diǎn)亮對(duì)應(yīng)的LEDSJMPLOOPEND實(shí)驗(yàn)八并行A/D轉(zhuǎn)換實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康恼莆誂DC0809模/數(shù)轉(zhuǎn)換芯片與單片機(jī)的連接方法及ADC0809的典型應(yīng)用。掌握用查詢方式、中斷方式完成模/數(shù)轉(zhuǎn)換程序的編寫方法。二、實(shí)驗(yàn)內(nèi)容利用系統(tǒng)提供的ADC0809接口電路,實(shí)現(xiàn)單片機(jī)模數(shù)轉(zhuǎn)換。模擬信號(hào)為0~5V電位器分壓輸出,單片機(jī)控制ADC0809讀取模擬信號(hào),并在數(shù)碼管上用十六進(jìn)制形式顯示出來。三、實(shí)驗(yàn)要求根據(jù)實(shí)驗(yàn)內(nèi)容編寫一個(gè)程序,并在實(shí)驗(yàn)儀上調(diào)試和驗(yàn)證。四、實(shí)驗(yàn)說明和電路原理圖1.本實(shí)驗(yàn)使用ADC0809模數(shù)轉(zhuǎn)換器,ADC0809是8通道8位CMOS逐次逼近式A/D轉(zhuǎn)換芯片,片內(nèi)有模擬量通道選擇開關(guān)及相應(yīng)的通道鎖存、譯碼電路,A/D轉(zhuǎn)換后的數(shù)據(jù)由三態(tài)鎖存器輸出,由于片內(nèi)沒有時(shí)鐘需外接時(shí)鐘信號(hào)。芯片的引腳如圖8-1,各引腳功能如下:IN0?IN7:八路模擬信號(hào)輸入端。ADD-A、ADD-B、ADD-C:三位地址碼輸入端。CLOCK:外部時(shí)鐘輸入端。CLOCK輸入頻率范圍在10~1280KHZ,典型值為640KHz,此時(shí)A/D轉(zhuǎn)換時(shí)間為100us。51單片機(jī)ALE直接或分頻后可與CLOCK相連。D0~D7:數(shù)字量輸出端。OE:A/D轉(zhuǎn)換結(jié)果輸出允許控制端。當(dāng)OE為高電平時(shí),允許A/D轉(zhuǎn)換結(jié)果從D0~D7端輸出。ALE:地址鎖存允許信號(hào)輸入端。八路模擬通道地址由A、B、C輸入,在ALE信號(hào)有效時(shí)將該八路地址鎖存。START:啟動(dòng)A/D轉(zhuǎn)換信號(hào)輸入端。當(dāng)START端輸入一個(gè)正脈沖時(shí),將進(jìn)行A/D轉(zhuǎn)換。EOC:A/D轉(zhuǎn)換結(jié)束信號(hào)輸出端。當(dāng)A/D轉(zhuǎn)換結(jié)束后,EOC輸出高電平Vref(+、Vref(-:正負(fù)基準(zhǔn)電壓輸入端?;鶞?zhǔn)正電壓的典型值為+5V。2.本實(shí)驗(yàn)需要用到CPU模塊(F3區(qū)、電位器模塊(E2區(qū)、并行模數(shù)轉(zhuǎn)換模塊(D7區(qū)、串行靜態(tài)數(shù)碼顯示模塊(B4區(qū)。ADC0809并行模數(shù)轉(zhuǎn)換電路原理參見圖8-2。.■I丄:r-]xl\I\J\]X圖8-10809引腳

232125INI6?48珂6IN7n1613■■RDKvccu_TINDnTT1819tT0,74U144:』U11DD-U11DC_JWRJC4r.232125INI6?48珂6IN7n1613■■RDKvccu_TINDnTT1819tT0,74U144:』U11DD-U11DC_JWRJC4r.p釣CSQ?09VCC]i:lfDToiuf74LSHICALHIC/lD?IOCK2,4^22IUAIMZaklcadoicwTICAD2ia57CLOCKirsb?-!IN』1X-1IN2STARTIN3ALEZ2ZTX-7E4ABL=EOCADD<ADM誡-[ADDAGNDADC0SO9圖8-2ADC0809并行模數(shù)轉(zhuǎn)換電路五、實(shí)驗(yàn)預(yù)習(xí)要求學(xué)習(xí)教材的相關(guān)內(nèi)容,根據(jù)實(shí)驗(yàn)要求畫出程序流程圖,寫出實(shí)驗(yàn)程序。六、實(shí)驗(yàn)步驟1系統(tǒng)各跳線器處在初始設(shè)置狀態(tài)。用導(dǎo)線對(duì)應(yīng)連接并行模數(shù)轉(zhuǎn)換模塊的CS_O8O9、EOC到CPU模塊的8000、P32;電位器模塊的輸出端接并行模數(shù)轉(zhuǎn)換模塊的IN-0;并行模數(shù)轉(zhuǎn)換模塊的Vref接+5V電源;CPU模塊的P10、P11接串行靜態(tài)數(shù)碼顯示模塊DIN、CLK。2啟動(dòng)PC機(jī),打開THGMW-51軟件,輸入源程序,并編譯源程序。編譯無誤后,下載程序運(yùn)行。3數(shù)碼管以十六進(jìn)制形式顯示模擬量,手動(dòng)調(diào)節(jié)輸入電位器,改變輸入模擬量電壓的大小,數(shù)碼管顯示將隨之變化。七、實(shí)驗(yàn)現(xiàn)象和心得體會(huì)通過本實(shí)驗(yàn)使我對(duì)A/D轉(zhuǎn)換器(ADC的功能有了更深入的了解,A/D轉(zhuǎn)換器就是把模擬量轉(zhuǎn)換成數(shù)字量,以便于計(jì)算機(jī)進(jìn)行處理。ADC0809轉(zhuǎn)換的基本原則是逐次比較,A/D轉(zhuǎn)換器喲工作電壓和基準(zhǔn)電壓,基準(zhǔn)電壓源是提供給A/D轉(zhuǎn)換器在轉(zhuǎn)換時(shí)所需要的參考電壓,在要求較高精度時(shí),基準(zhǔn)電壓要單獨(dú)用高精度穩(wěn)壓電源供給。八、實(shí)驗(yàn)參考程序本實(shí)驗(yàn)參考程序“21_0809.ASM”立于THGMW軟件文件夾下THGMW\Exp\51文件夾。//;//*******************************************************************;文件名:AD0809FOR51MCU;功能:并行A/D轉(zhuǎn)換實(shí)驗(yàn);接線:用導(dǎo)線對(duì)應(yīng)連接并行模數(shù)轉(zhuǎn)換模塊的CS_0809、EOC到CPU模塊的8000、P32;;電位器模塊的輸出端接并行模數(shù)轉(zhuǎn)換模塊的IN-0;;并行模數(shù)轉(zhuǎn)換模塊的Vref接+5V電源;;CPU模塊的P10、P11接串行靜態(tài)數(shù)碼顯示模塊DIN、CLK。DJNZR2,DP10DJNZR2,DP10DBUFEQU30HTEMPEQU40HD0809EQU8000H;通道0地址DINBITP1.0CLKBITP1.1ORG0000HJMPSTARTORG0080HSTART:MOVDBUF+3,#0AHMOVDBUF+2,#0DHMOVDPTR,#D0809MOVA,#0MOVX@DPTR,AJNBP3.2,$MOVXA,@DPTR;讀入結(jié)果MOVB,ASWAPAANLA,#0FHMOVDBUF+1,AINCR0MOVA,BANLA,#0FHMOVDBUF,AACALLDISP1acalldelayAJMPSTARTDISP1:;串行數(shù)碼顯示MOVR0,#DBUFMOVR1,#TEMPMOVR2,#4DP10:MOVDPTR,#SEGTABMOVA,@R0MOVCA,@A+DPTRMOV@R1,AINCR0INCR1MOVR0,#TEMPMOVR1,#4DP12:MOVR2,#8MOVA,@R0DP13:RLCAMOVDIN,CCLRCLKSETBCLKDJNZR2,DP13INCR0DJNZR1,DP12RETSEGTAB:DB3FH,6,5BH,4FH,66H,6DH;0,1,2,3,4,5DB7DH,7,7FH,6FH,77H,7CH;6,7,8,9,A,BDB58H,5EH,79H,71H,0,00H;C,D,E,F,-DELAY:MOVR4,#80HAA1:MOVR5,#0FFHAA:NOPNOPDJNZR5,AADJNZR4,AA1RETEND實(shí)驗(yàn)十LCD顯示實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康恼莆拯c(diǎn)陣式(128x64點(diǎn)帶漢字字庫液晶顯示屏的程序設(shè)計(jì)方法。二、實(shí)驗(yàn)內(nèi)容根據(jù)系統(tǒng)提供的電路,掌握128x64點(diǎn)陣LCD的工作原理,編程實(shí)現(xiàn)顯示字符、漢字和圖片。三、實(shí)驗(yàn)要求根據(jù)實(shí)驗(yàn)內(nèi)容編寫一個(gè)程序,并在實(shí)驗(yàn)儀上調(diào)試和驗(yàn)證。四、實(shí)驗(yàn)說明和電路原理圖系統(tǒng)使用OCMJ4X8C_3型液晶顯示屏(奧可拉中文集成模塊。此模塊可以顯示字母、數(shù)字符號(hào)、中文字型及圖形,具有繪圖及文字畫面混合顯示功能。提供三種控制接口,分別是8位微處理器接口,4位微處理器接口及串行接口(OCMJ4X16A/B無串行接口。所有的功能,包含顯示RAM,字型產(chǎn)生器,都包含在一個(gè)芯片里面,只要一個(gè)最小的微處理系統(tǒng),就可以方便操作模塊。內(nèi)置2M-位中文字型ROM(CGROM總共提供8192個(gè)中文字型(16x16點(diǎn)陣,16K位半寬字型ROM(HCGROM總共提供126個(gè)符號(hào)字型(16x8點(diǎn)陣,64x16位字型產(chǎn)生RAM(CGRAM,另外繪圖顯示畫面提供一個(gè)64x256點(diǎn)的繪圖區(qū)域(GDRAM,可以和文字畫面混和顯示。提供多功能指令:畫面清除(Displayclear、光標(biāo)歸位(Returnhome、顯示打開/關(guān)閉(Displayon/off、光標(biāo)顯示/隱藏(Cursoron/off、顯示字符閃爍(Displaycharacterblink、光標(biāo)移位(Cursorshift、顯示移位(Displayshift、垂直畫面卷動(dòng)(Verticallinescroll、反白顯示(By_linereversedisplay、待命模式(Standbymode。OCMJ4X8C_3的引腳說明如表10-1:引腳名稱方向說明1vssGND<0V)2VDDSupplyVoltageForLogic+5V)3NCSupplyVoltageForLCD(懸空》4RS(CS)IH:DataL:[nstructionCode5R/W(STD)IH:ReadL:Write6E(SCLK)IEnableSignal>高電晉有效7DBOI0數(shù)據(jù)0「?DB1TO數(shù)據(jù)19DB210數(shù)據(jù)2fL0DB310數(shù)據(jù)311DB4ro數(shù)據(jù)412DB5I/O數(shù)據(jù)313DBGI0數(shù)膵14DB710L6PSBiH:ParaliefModeL:SerialModeL6NC空腳17RSTiResetSignal-低電平有效本實(shí)驗(yàn)需要用到CPU模塊(F3區(qū)、LCD液晶顯示模塊(B3區(qū)。液晶顯示電路原理圖參見圖10-1。引腳名稱方向說明1VSSGXD(0巧2VDDSupplyVoltageForLogicI3NCSupplyVoltag-eForLCD4RS(CS)IH:DaraL:InstrucrionCoc5R/W(STD)IH:ReadL:Write6E(SCLKJIEnableSignal,高電平有效DBOI/O數(shù)據(jù)08DELI/O數(shù)據(jù)19DB2I/O數(shù)據(jù)210DB3I/O數(shù)據(jù)311DB4I/O數(shù)據(jù)4圖10-1液晶顯示電路五、實(shí)驗(yàn)預(yù)習(xí)要求學(xué)習(xí)教材的相關(guān)內(nèi)容,根據(jù)實(shí)驗(yàn)要求畫出程序流程圖,寫出實(shí)驗(yàn)程序。六、實(shí)驗(yàn)步驟1系統(tǒng)各跳線器處在初始設(shè)置狀態(tài),JT2B跳線器的兩只短路帽置位上端。用導(dǎo)線對(duì)應(yīng)連接液晶顯示模塊的RS、R/W、E、PSB、RST到CPU模塊的P10~P14。2啟動(dòng)PC機(jī),打開THGMW-51軟件,輸入源程序,并編譯源程序。編譯無誤后,下載程序運(yùn)行。3LCD將顯示字符和漢字及圖形。七、實(shí)驗(yàn)分析或心得體會(huì)本實(shí)驗(yàn)是單片機(jī)外接12864型液晶顯示屏,通過程序?qū)崿F(xiàn)漢字和圖案的顯示。與實(shí)際生活聯(lián)系較為密切,是單片機(jī)實(shí)際應(yīng)用的簡(jiǎn)單實(shí)例。通過本次實(shí)驗(yàn),有助于我們對(duì)單片機(jī)向外擴(kuò)展的認(rèn)識(shí),有利于提高我們對(duì)單片機(jī)外設(shè)進(jìn)行操控的能力。八、實(shí)驗(yàn)參考程序本實(shí)驗(yàn)參考程序//、;//*****************************************************************;文件名:LCD_SforMCU51(LCD12864串行接口程序;功能:LCD顯示實(shí)驗(yàn);接線:JT2B跳線器的兩只短路帽置位上端。;對(duì)應(yīng)連接液晶顯示模塊的RS、R/W、E、PSB、RST到CPU模塊的P10~P14。;RS=CS=D/I;R/W=STD=STD;E=SCLK=SCLKCSBITP1.0;D/ISTDBITP1.1;串行數(shù)據(jù)線W/RSCLKBITP1.2;串行時(shí)鐘線EPSBBITP1.3;CS1RESBITP1.4;RESSTARTEQU30H;起始字節(jié)COMEQU31H;命令/數(shù)據(jù)HDATAEQU32H;命令/數(shù)據(jù)字節(jié)高位LDATAEQU33H;命令/數(shù)據(jù)字節(jié)低位ASCEQU34H;ASCII數(shù)據(jù)單元XPOSEQU35HYPOSEQU36HORG0000HMAIN:MOVSP,#60HCLRRESSETBRES;可以直接接電源VDDSETBCS;可以直接接電源VDDCLRPSB;可以直接接地VSSCALLLCDRESET;模塊系統(tǒng)初始化CALLHZKDIS;顯示漢字子程序MOVSTART,#0F8H;寫入命令(11111000MOVCOM,#80H;設(shè)定顯示位置CALLLCDWRITEMOVSTART,#0FAH;寫數(shù)據(jù)(11111010MOVCOM,#10H;顯示字符CLEAR:CLEAR:;清屏子程序CLEAR:CLEAR:;清屏子程序CALLLCDWRITEMOVCOM,#11H;顯示字符CALLLCDWRITEMOVCOM,#1EH;顯示字符CALLLCDWRITEMOVCOM,#1FH;顯示字符CALLLCDWRITEMOVSTART,#0F8H;寫入命令(11111000MOVCOM,#34H;擴(kuò)充功能設(shè)定CALLLCDWRITEMOVCOM,#05H;反白選擇CALLLCDWRITECALLDL40MS;延時(shí)CALLDL40MSCALLDL40MSMOVA,#055H;繪圖方式下寫55數(shù)據(jù)CALLLCDFILLCALLCLEAR;清屏JMPMAINMOVA,#00HCALLLCDFILLRETLCDRESET:LCALLDL1MS;延時(shí)等待內(nèi)部復(fù)位MOVSTART,#0F8H;寫入命令(11111000MOVCOM,#30H;使用基本指令集LCALLLCDWRITEMOVCOM,#0CHLCALLLCDWRITE;整體顯示ONMOVCOM,#01H;清屏LCALLLCDWRITELCALLDL1MSMOVCOM,#06H;顯示右移LCALLLCDWRITELCALLDL1MSRETLCDWRITE:;模塊寫入子程序MOVA,COM;送待發(fā)數(shù)據(jù)命令A(yù)ANLA,#0F0H;屏蔽低4位MOVHDATA,A;將高4位送HDATA單元MOVA,COM;取低4位SWAPA;高低4位互換ANLA,#0F0HMOVLDATA,A;將低4位送LDATA單元MOVA,START;取起始字節(jié)LCALLSE

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論