單片機(jī)并行IO口的擴(kuò)展.ppt_第1頁
單片機(jī)并行IO口的擴(kuò)展.ppt_第2頁
單片機(jī)并行IO口的擴(kuò)展.ppt_第3頁
單片機(jī)并行IO口的擴(kuò)展.ppt_第4頁
單片機(jī)并行IO口的擴(kuò)展.ppt_第5頁
已閱讀5頁,還剩70頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

,第7章 單片機(jī)并行I/O口的擴(kuò)展 7.1 I/O接口擴(kuò)展概述 I/O(輸入/輸出)接口是MCS-51與外設(shè)交換數(shù)字信 息的橋梁。 MCS-51真正用作I/O口線的只有P1口的8位I/O線和 P3口的某些位線。 在多數(shù)應(yīng)用系統(tǒng)中,MCS-51單片機(jī)都需要外擴(kuò)I/O 接口電路。,7.1.1 I/O口擴(kuò)展的原因 1.I/O信息的組成 (1)數(shù)據(jù)信息 CPU與外設(shè)交換的基本信息就是數(shù)據(jù)信息,數(shù)據(jù)的傳送可采用并行傳送(n位同時(shí)傳送)和串行傳送(一位一位地傳送)兩種形式。 (2)狀態(tài)信息 狀態(tài)信息是指在CPU與外設(shè)之間交換數(shù)據(jù)時(shí)的聯(lián)絡(luò)信息。CPU通過對外設(shè)狀態(tài)信息的讀取,可知其工作狀態(tài)。了解狀態(tài)信息是CPU與I/O設(shè)備正確進(jìn)行數(shù)據(jù)交換的重要條件。 (3)控制信息 控制信息指CPU發(fā)給外設(shè)命令信息,CPU通過發(fā)送控制信息控制外設(shè)的工作。,2.I/O口接口的作用 CPU與I/O設(shè)備交換信息情況較為復(fù)雜,所以通常I/O設(shè)備并不直接與CPU進(jìn)行信息交換,而是通過相應(yīng)的輸入/輸出接口(稱為I/O接口)來進(jìn)行的。I/O接口是CPU和I/O設(shè)備之間進(jìn)行信息交換的中間環(huán)節(jié),其主要功能如下: (1)對輸入輸出數(shù)據(jù)進(jìn)行緩沖、隔離和鎖存,實(shí)現(xiàn)速度匹配。 (2)完成信息格式的變換,如串并轉(zhuǎn)換。 (3)實(shí)現(xiàn)電氣特性的匹配。 (4)選擇設(shè)備或地址譯碼等。,3.單片機(jī)I/O擴(kuò)展的原因 I/O (輸入/輸出)接口是MCS-51與外設(shè)交換數(shù)字信息的橋梁,MCS-51系列單片機(jī)有4個(gè)并行I/O口(P0,P1,P2,P3口),但對一個(gè)稍微復(fù)雜的應(yīng)用系統(tǒng)來說,由于P0口和P2口配合使用用于系統(tǒng)擴(kuò)展、P3口是一個(gè)多功能口每個(gè)引腳都具有第二功能,所以真正可供用戶使用的并行口,只有P1口,況且常常因擴(kuò)展I2C和SPI等需占用P1口某些引腳,這使用戶不得不擴(kuò)展并行口以滿足實(shí)際的需要。因此,當(dāng)在I/O口線不夠用的情況下我們需要擴(kuò)展并行I/O口。,圖7-1 并行接口連接CPU與外設(shè)示意圖,7.1.2 I/O口數(shù)據(jù)的傳遞方式 MCS-51單片機(jī)為了實(shí)現(xiàn)數(shù)據(jù)的輸入/輸出傳送,通常使用以下4種方式傳遞數(shù)據(jù)。 (1)無條件傳送方式:當(dāng)外設(shè)和單片機(jī)能夠同步工作時(shí),可以采用無條件方式進(jìn)行傳送,即數(shù)據(jù)可以隨時(shí)進(jìn)行傳送。 (2)查詢方式:查詢方式又稱為有條件傳送方式,即數(shù)據(jù)的傳送是有條件的。在進(jìn)行I/O操作之前,用戶要通過軟件查詢外設(shè)是否為數(shù)據(jù)傳送做好準(zhǔn)備,只有確認(rèn)外設(shè)為數(shù)據(jù)傳送做好準(zhǔn)備。單片機(jī)才能執(zhí)行數(shù)據(jù)的輸入/輸出(I/O)操作。,(3)中斷方式:當(dāng)外設(shè)和計(jì)算機(jī)進(jìn)行數(shù)據(jù)交換時(shí),外設(shè)向單片機(jī)發(fā)出中斷請求。單片機(jī)接到中斷請求后,就作出響應(yīng),暫停正在執(zhí)行的程序,而轉(zhuǎn)去為設(shè)備的數(shù)據(jù)輸入/輸出服務(wù)。當(dāng)服務(wù)完成后,程序返回,單片機(jī)再繼續(xù)執(zhí)行被中斷的程序。 (4)DMA方式:DMA(Direct Memory Access,直接內(nèi)存存取) 中斷方式雖提高了CPU的效率,但仍然是通過CPU執(zhí)行程序來實(shí)現(xiàn)數(shù)據(jù)傳送。其缺點(diǎn)是大量的數(shù)據(jù)在磁盤與內(nèi)存間交換需大量的時(shí)間,高速I/O設(shè)備時(shí)或成組數(shù)據(jù)交換時(shí),顯得速度太慢。DMA方式就是在外設(shè)與內(nèi)存間直接傳送數(shù)據(jù),DMA的速度取決于內(nèi)存的工作速度。,7.1.3 I/O端口的編址方式 I/O端口編址是給所有I/O接口中的寄存器編址。 I/O端口編址兩種方式:獨(dú)立編址與統(tǒng)一編址。 1獨(dú)立編址方式 I/O寄存器地址空間和存儲器地址空間分開編址,但需專門讀寫I/O的指令和控制信號。 2統(tǒng)一編址方式 I/O寄存器與數(shù)據(jù)存儲器單元同等對待,統(tǒng)一編址。不需要專門的I/O指令,直接使用訪問數(shù)據(jù)存儲器。的指令進(jìn)行I/O操作,簡單、方便且功能強(qiáng)。,常用的外圍I/O接口芯片有: (1)8255:可編程的通用并行接口電路(3個(gè)8位 I/O口)。 (2)8155:可編程的IO/RAM擴(kuò)展接口電路(2個(gè)8 位I/O口,1個(gè)6位I/O口, 256個(gè)RAM字節(jié)單元, 1個(gè)14位的減法定時(shí)器/計(jì)數(shù)器)。 可與MCS-51單片機(jī)直接連接,接口邏輯十分簡單。 此外,74LS系列的TTL電路也可以作為MCS-51的擴(kuò)展I/O口,如74LS244、 74LS273等。,7.2 簡單I/O口的擴(kuò)展,簡單I/O口的擴(kuò)展是利用74LS273和74LS244,將P0口擴(kuò)展成簡單的輸入、輸出口的電路。,如圖7-2所示74LS273輸出端接8個(gè)LED發(fā)光二極管, 以顯示8個(gè)按鈕開關(guān)狀態(tài),某位低電平時(shí)二極管發(fā)光。,74LS244是緩沖驅(qū)動器,擴(kuò)展輸入口,接8個(gè)按鈕開關(guān)。 74LS273和74LS244的工作受8031的P2.0、RD*、WR*三條控制線控制。電路的工作原理如下:,當(dāng)P2.0=0,WR*=0(RD*=)選中寫74LS273, 8031 通過P0口輸出數(shù)據(jù)到74LS273,;,當(dāng)P2.0=0,RD*=0(WR*=1)時(shí)選中讀74LS244, 某開關(guān)按下時(shí)則對應(yīng)位輸入為“0”。,圖7-2 簡單I/O擴(kuò)展實(shí)例,輸出程序段: (1)匯編語言 MOV A,#data ;數(shù)據(jù)A MOV DPTR,#0FEFFH;I/O地址DPTR MOVX DPTR,A ;WR*為低,數(shù)據(jù)經(jīng)74LS273口輸出 (2)C語言 #define PORT XBYTE0xFEFF; A= data; PORT= A;,輸入程序段: (1)匯編語言 MOV DPTR,#0FEFFH ;I/O地址DPTR MOVX A,DPTR;RD*為低,74LS244口,數(shù)據(jù)讀入內(nèi)部RAM (2)C語言 #define PORT XBYTE0xFEFF; A=PORT;,【例題7-1】編寫程序把按鈕開關(guān)狀態(tài)通過圖7-2中的發(fā)光二極管顯示出來。 (1)匯編語言 DDIS: MOV DPTR,#0FEFFH ;輸入口地址DPTR LP: MOVX A,DPTR ;按鈕開關(guān)狀態(tài)讀入A中 MOVX DPTR,A ;A中數(shù)據(jù)送輸出口 SJMP LP ;反復(fù)連續(xù)執(zhí)行 (2)C語言 #define PORT XBYTE0xFEFF; while(1) A=PORT; PORT=A; ,7.3 8255A可編程并行接口芯片擴(kuò)展I/O口 8255A芯片介紹: 8255A是Intel公司生產(chǎn)的可編程并行I/O接口芯片, 具有3個(gè)8位的并行I/O口,3種工作方式,可通過 編程改變其功能,因而使用靈活方便,通用性強(qiáng)。,7.3.1.內(nèi)部結(jié)構(gòu),圖7-3 8255A內(nèi)部編程結(jié)構(gòu),(1)端口A、B、C,功能和結(jié)構(gòu)上有些差異,PA口:輸出鎖存和緩沖;輸入鎖存,PB口:輸出鎖存和緩沖;輸入緩沖,PC口:輸出鎖存;數(shù)據(jù)輸入緩沖,PC口可在軟件的控制下,分為兩個(gè)4位端口,作為 PA口、PB口選通方式操作時(shí)的狀態(tài)控制信號。,(2)A組和B組控制電路,A組:PA口和PC口的上半部(PC7PC4);,B組:PB口和PC口的下半部(PC3PC0),可根據(jù)“命 令字”對PC口按位“置1”或“清0”。,(3)數(shù)據(jù)總線緩沖器線線,三態(tài)雙向,作為8255A與單片機(jī)數(shù)據(jù)線之間接口, 傳送數(shù)據(jù)、指令、控制命令及外部狀態(tài)信息。,(4)讀/寫控制邏輯電路線,該電路接收CPU發(fā)來的控制信號、RESET、地址信號A1、A0等。對端口進(jìn)行讀寫。,各端口的工作狀態(tài)與控制信號的關(guān)系如表7-1所示。,表7-1 8255A端口工作狀態(tài)選擇,圖7-4 8255A芯片引腳圖,7.3.2 引腳功能,D7D0:三態(tài)雙向數(shù)據(jù)線,與單片機(jī)數(shù)據(jù)總線連接,CS*:片選信號線,低電平有效,表示本芯片被選中,RD*:讀出信號線,控制8255A中數(shù)據(jù)的讀出高,WR*:寫入信號線,控制向8255A數(shù)據(jù)的寫入。,Vcc:+5V電源。,PA7PA0:A口輸入/輸出線。,PB7PB0:B口輸入/輸出線。,PC7PC0:C口輸入/輸出線。,A1、A0:地址線,用來選擇8255A內(nèi)部的4個(gè)端口。,7.3.3 8255A的三種工作方式,1.方式0,基本的輸入/輸出方式。,外設(shè)的I/O數(shù)據(jù)可在8255A的各端口得到鎖存和緩沖,MCS-51可對8255A進(jìn)行數(shù)據(jù)的無條件傳送。,例如:從口線讀入一組開關(guān)狀態(tài),向端口輸出數(shù)字量,控制一組指示燈的亮、滅。不需要聯(lián)絡(luò)信號,,基本功能為:,(1)具有兩個(gè)8位端口(A、B)和兩個(gè)4位端口(C的上半部分和下半部分)。,(2)任一個(gè)端口都可以設(shè)定為輸入或輸出,各端口 的輸入、輸出可構(gòu)成16種組合。,(3)數(shù)據(jù)輸出鎖存,輸入不鎖存。,例 假設(shè)8255A的控制字寄存器地址為FF7FH,則令A(yù)口 和C口的高4位工作在方式0輸出, B口和C口的低4位 工作于方式0輸入,初始化程序:,MOV DPTR,#0FF7FH ;控制字寄存器地址送DPTR MOV A,#83H ;方式控制字83H送A MOVX DPTR,A ;83H送控制字寄存器,2. 方式1,選通輸入/輸出工作方式。A口和B口通常用于I/O數(shù) 據(jù)傳送,C口用作A口和B口的聯(lián)絡(luò)線,以中斷方式傳 送數(shù)據(jù)。,(1) 方式1輸入,控制聯(lián)絡(luò)信號如下圖所示,STB*與IBF構(gòu)成了一 對應(yīng)答聯(lián)絡(luò)信號,聯(lián)絡(luò)信號的功能如下圖:,STB*:選通輸入,是由輸入外設(shè)送來的輸入信號。 IBF:輸入緩沖器滿,高電平有效。表示數(shù)據(jù)已送入 8255A的輸入鎖存器,它由STB*信號的下降沿置 位,由信號的上升沿使其復(fù)位,INTR:中斷請求信號,高電平有效。由8255A輸出, 向單片機(jī)發(fā)中斷請求。,INTE A:A口中斷允許,由PC4控制, INTE B:B口中斷允許,由PC2控制。,A口的方式1輸入工作方式見下圖。,(2)方式1輸出,如下圖所示。OBF*與ACK*構(gòu)成了一對應(yīng)答聯(lián)絡(luò)信號,各信號的功能如下:,OBF*:輸出緩沖器滿信號,8255A給外設(shè)的聯(lián)絡(luò)信號,外設(shè)可以將數(shù)據(jù)取走。,ACK*:外設(shè)的響應(yīng)信號,外設(shè)已將數(shù)據(jù)取走。,INTR*:中斷請求信號。表示該數(shù)據(jù)已被外設(shè)取走, 請求單片機(jī)繼續(xù)輸出下一個(gè)數(shù)據(jù)。,INTE A:中斷允許,由PC6控制。 INTE B:中斷允許,由PC2控制。,B口的方式1輸出如下圖所示:,3.方式2,只有A口才能設(shè)定為方式2。下圖為方式2工作示意圖。,在方式2下,PA7PA0為雙向I/O總線。,當(dāng)輸入時(shí),PA7PA0受STBA*和IBFA控制,其工作 過程和方式1輸入時(shí)相同;,當(dāng)輸出時(shí),PA7PA0受OBFA*、ACKA*控制,其工作 過程和方式1輸出時(shí)相同。,7.3.4 8255A的控制字,8255A有三種工作方式:,(1) 方式0:基本輸入輸出;,(2) 方式1:選通輸入輸出;,(3) 方式2:雙向傳送(僅A口有)。,1.工作方式選擇控制字,三種工作方式由方式控制字來決定。 控制字格式如下。,C口上半部分(PC7PC4)隨A口稱為A組,,C口下半部分(PC3PC0)隨B口稱為B組。,其中A口可工作于方式0、1、和2,而B口只能工作在 方式0和1。,例如:寫入工作方式控制字95H,可將8255A編程為:A口方式0輸入,B口方式1輸出, C口的上半部分(PC7 PC4)輸出,C口的下半部分 (PC3PC0)輸入。,2. C口按位置位/復(fù)位控制字,可對C口8位中的任一位置“1”或清“0”。用于位控。,【例題7-2】 如下圖是在PROTEUS軟件中繪制的用8051擴(kuò)展1片8255的電路,8255的PA口接輸出設(shè)備(八個(gè)發(fā)光二極管)、PB口接輸入設(shè)備(八個(gè)開關(guān))PC口不用,均采用方式0,將8255 B口輸入的開關(guān)置的數(shù)據(jù)從A口輸出,要求開關(guān)合上的對應(yīng)LED亮,編出相關(guān)匯編語言和C語言程序段。,分析:由圖7-8可知,P2.7=0才選中該片8255,A1 A0(P2.1 P2.0)為00 01對應(yīng)PA口和PB口、為11時(shí)對應(yīng)控制口。其余地址寫1,A口、B口、控制口地址分別為7CFFH、 7DFFH、7FFFH。設(shè)定PA口方式0輸出, B口方式0輸入,控制字10000010B82H,編程如下: (1)匯編語言 MOV DPTR, #7FFFH ;DPTR指向控制口 MOV A, #82H MOVX DPTR, A ; 控制字寫入控制口 MOV DPTR, #7DFFH ;DPTR指向PB口 MOVX A, DPTR ;從PB口輸入數(shù)據(jù) CPL A ;開關(guān)合上的對應(yīng)LED亮 DEC DPL ;DPTR指向PA口 MOVX DPTR, A ;從PA口輸出 SJMP $,(2)C語言 #include #include #define COM8255 XBYTE0x7FFF #define PA8255 XBYTE0x7CFF #define PB8255 XBYTE0x7DFF #define PC8255 XBYTE0x7EFF #define uchar unsigned char main( ) char a; COM8255=0x82; /* 寫方式控制*/ a=PB8255; /*B口輸入*/ PA8255=a; /*A口輸出*/ ,【例題7-3】 在8255的PC7引腳接一個(gè)LED,用置位/復(fù)位控制字使其閃爍。 8255和單片機(jī)的連接同例7-2。 由圖可知,8255的控制口地為7FFFH (1)匯編語言 MOV DPTR,#7FFFH ;指向控制口 MOV A,#80H ;先寫方式控制字 MOVX DPTR,A MOV A,#7FH ;使PC7位置位 PNOT:MOVX DPTR,A ACALL DAY XRL A, #01H ;使PC7位變反 SJMP PNOT,(2)C語言 #include #include #define COM8255 XBYTE0x7FFF #define uchar unsigned char main( ) uchar i; COM8255=0x80; /* 設(shè)置工作方式*/ while(1) COM8255=0x7f; /*使PC7位置位*/ for(i=0;i5000;i+); /*延時(shí)*/ COM8255=0x7e; /*使PC7位復(fù)位*/ for(i=0;i5000;i+); /*延時(shí)*/ ,7.3.5 單片機(jī)和8255A的接口舉例,1.硬件接口電路,如下圖是8031擴(kuò)展1片8255A的電路圖。74LS373是地 址鎖存器,P0.1、P0.0經(jīng)74LS373與8255A的地址線A1、A0 連接; P0.7經(jīng)74LS373與片選端相連,其他地址線懸空。,2.端口地址確定,圖中8255A各端口寄存器的地址為:,A口: FF7CH B口: FF7DH C口: FF7EH 控制寄存器: FF7FH,3.軟件編程,例: 要求8255A工作在方式0,且A口作為輸入,B口、 C口作為輸出,程序如下:,MOV A,#90H ;A口方式0輸入,B口、 ;C口輸出的控制字送A MOV DPTR,#0FF7FH ;控制寄存器地址DPTR MOVX DPTR,A ;方式控制字控制寄存器,MOV DPTR,#0FF7CH ;A口地址DPTR MOVX A,DPTR ;從A口讀數(shù)據(jù) MOV DPTR,#0FF7DH ;B口地址DPTR,MOV A,#DATA1 ;要輸出的數(shù)據(jù)DATA1A MOVX DPTR,A ;將DATA1送B口輸出 MOV DPTR,#0FF7EH ;C口地址DPTR,MOV A,#DATA2 ;DATA2A MOVX DPTR,A ;將數(shù)據(jù)DATA2送C口輸出,例: 對端口C的置位/復(fù)位。,把PC5置位,控制字為0BH,MOV R1,#7FH ;控制口地址R1 MOV A,#0BH ;控制字A MOVX R1,A ;控制字控制口,PC5=1,把PC5復(fù)位,控制字為0AH,MOV R1,#7FH ;控制口地址R1 MOV A,#0AH ;控制字A MOVX R1,A ;控制字控制口,PC5=0,7.4 8155可編程并行接口芯片擴(kuò)展I/O口,7.4.1 8155芯片介紹,1.8155的邏輯結(jié)構(gòu),如下圖所示。,2.8155的引腳功能8155H的引腳功能,(1)AD7AD0(8條) (2)I/O總線(22條),(3)控制總線(8條) RESET:復(fù)位輸入線 CE*和IO/M* RD*和WR* ALE:地址鎖存允許 TIMERIN和TIMEROUT*:,(4)電源線(2條) Vcc:+5V電源 Vss:地,3.CPU對8155 I/O端口的控制,(1) 8155各端口地址分配,(2)8155的命令字,(3)8155的狀態(tài)字,7.4.2 8155的工作方式,1.存儲器方式,對片內(nèi)RAM單元進(jìn)行讀寫,若IO/M*=0和CE*=0,則 通過AD7AD0上的地址對RAM存儲器任一單元讀寫。,2.I/O方式,8155H的I/O方式分為基本I/O和選通I/O兩種工作 方式,如表9-3所示??蓪ζ瑑?nèi)任一寄存器讀寫, 端口地址由A2、A1、A0三位決定(見表9-2)。,表7-2 C口在兩種I/O工作方式下各位定義,(1)基本I/O方式,(2)選通I/O方式 (見右圖),a.選通I/O輸入 b.選通I/O輸出,3. 內(nèi)部定時(shí)器/計(jì)數(shù)器及使用,14位的減1定時(shí)器/計(jì)數(shù)器,計(jì)數(shù)長度和計(jì)數(shù)方式 由寫入計(jì)數(shù)寄存器的控制字來確定。,計(jì)數(shù)器的兩個(gè)寄存器的格式如下圖。,T13T0:計(jì)數(shù)器長度,M2、M1:設(shè)置定時(shí)器的4種工作方式,4種工作方式及相應(yīng)輸出波形如下圖。,7.4.3 單片機(jī)與8155接口及軟件編程,1.硬件接口電路,2. 編程舉例8155H,(1) 初始化程序設(shè)計(jì),例 若A口定義為基本輸入方式,B口定義為基本輸出方 式,對輸入脈沖進(jìn)行24分頻,初始化程序如下:,START:MOV DPTR, 7F04H ;指針指向定時(shí)器低8位 MOV A,18H ;計(jì)數(shù)初值24送A, MOVX DPTR,A ;計(jì)數(shù)初值低8位裝入定時(shí)器,INC DPTR ;指針指向定時(shí)器高8位 MOV A,40H ;設(shè)定時(shí)器連續(xù)方波輸出 MOVX DPTR,A ;計(jì)數(shù)初值高6位裝入定時(shí)器,MOV DPTR,7F00H ;指向命令/狀態(tài)口 MOV A,#0C2H ;設(shè)定命令控制字 MOVX DPTR,A ;A口輸入,B口輸出,開定時(shí)器,MOVX DPTR,A ;A中數(shù)據(jù)送輸出口 SJMP LP ;反復(fù)連續(xù)執(zhí)行,7.5 單片機(jī)串行口到并行口的轉(zhuǎn)換,7.5.1 用74LS165擴(kuò)展并行輸入口,例 從16位擴(kuò)展口讀入5組數(shù)據(jù)(每組二個(gè)字節(jié)), 并把它們轉(zhuǎn)存到內(nèi)部RAM 20H開始的單元中。,MOV R7,#05H ;設(shè)置讀入組數(shù) MOV R0,#20H ;設(shè)置內(nèi)部RAM數(shù)據(jù)區(qū)首址,START: CLR P1.0 ;并行置入數(shù)據(jù),S/L*=0 SETB P1.0 ;允許串行移位,S/L*=1 MOV R1,#02H ;設(shè)置每組字節(jié)數(shù),即外擴(kuò) ;74LS165的個(gè)數(shù),RXDAT: MOV SCON,#10H ;設(shè)串口方式0,允許接收,啟動,WAIT: JNB RI,WAIT ;未接收完一幀,循環(huán)等待 CLR RI ;清RI標(biāo)志,準(zhǔn)備下次接收,MOV A,SBUF ;讀入數(shù)據(jù) MOV R0,A ;送至RAM緩沖區(qū),INC R0 ;指向下一個(gè)地址,DJNZ R1,RXDATA ;未讀完一組數(shù)據(jù),繼續(xù) DJNZ R7,START ;5組數(shù)據(jù)未讀完重新并行置入 ;對數(shù)據(jù)進(jìn)行處理,7.5.2 用74LS164擴(kuò)展并行輸出口.,74LS164:8位串入并出移位寄存器。,下圖是利用74LS164擴(kuò)展二個(gè)8位并行輸出口的接 口電路。,例 編寫將內(nèi)部RAM單元30H、31H的內(nèi)容經(jīng)串行口 由74LS164并行輸出子程序。,START: MOV R7,#02H ;設(shè)置要發(fā)送的字節(jié)個(gè)數(shù) MOV R0,#30H ;設(shè)置地址指針 MOV SCON,#00H ;設(shè)置串行口為方式0,SEND: MOV A,R0 MOV SBUF,A ;啟動串行口發(fā)送過程,WAIT: JNB TI,WAIT ;1幀數(shù)據(jù)未發(fā)完,循環(huán)等待 CLR TI INC R0 ;取下一個(gè)數(shù) DJNZ R7,SEND ;未完,發(fā)完從子程序返回 RET,7.6 日歷時(shí)鐘接口芯片及應(yīng)用,7.6.1 并行接口日歷時(shí)鐘芯片DS12887,DS12887是內(nèi)置鋰電池的實(shí)時(shí)日歷時(shí)鐘芯片,它可以產(chǎn)生秒、分、時(shí)、星期、日、月及年等7個(gè)時(shí)標(biāo),并有供用戶使用的114B帶掉電保護(hù)的RAM,可以通過編程讀取和修改這些時(shí)標(biāo),也可以編程產(chǎn)生定時(shí)間隔時(shí)間中斷,使用十分方便。,1. DS12887芯片的引腳,2.片內(nèi)結(jié)構(gòu)和寄存器,DS12887的內(nèi)部有10B時(shí)標(biāo)寄存器、4B狀態(tài)寄存器、114B帶掉電保護(hù)的RAM。其地址分配如右圖所示。,1)時(shí)標(biāo)寄存器 10個(gè)時(shí)標(biāo)寄存器可用二進(jìn)制表示,也可用BCD碼表示。其功能和數(shù)值范圍如下表所示。,2)寄存器0AH 寄存器0AH的格式如下圖所示。,UIP:更新周期進(jìn)行標(biāo)志位,UIP = 1時(shí),芯片正處于或?qū)㈤_始新周期,此期間不允許讀寫時(shí)標(biāo)寄存器。 DV2DV0:為010時(shí)晶振工作,其他組合時(shí)晶振停止。 RS3RS0:中斷周期時(shí)間和SQW輸出頻率選擇位。,3)寄存器0BH 寄存器0BH中的格式如下圖所示。,SET:為1時(shí)禁止更新。為0時(shí)正常。 PIE:為1時(shí)周期中斷允許。 AIE:為1時(shí)警報(bào)中斷允許。 UIE:為1時(shí)更新結(jié)束中斷允許。 SQWE:為1時(shí)方波輸出允許。 DM:為0時(shí)時(shí)間為BCD碼,為1時(shí)為二進(jìn)制。 24/12:為1時(shí)

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論