版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第11章
80C51的系統(tǒng)擴(kuò)展與外設(shè)接口技術(shù)
本章重點(diǎn):?jiǎn)纹瑱C(jī)系統(tǒng)串行擴(kuò)展技術(shù);常用外設(shè)接口技術(shù)。本章難點(diǎn):I2C總線的工作時(shí)序。11.1并行擴(kuò)展技術(shù)11.1.1并行總線與工作時(shí)序?yàn)閷?shí)現(xiàn)單片機(jī)與外圍擴(kuò)展芯片的正確連接與數(shù)據(jù)交換,有必要了解單片機(jī)總線信號(hào)間的時(shí)序配合關(guān)系。
80C51并行總線的結(jié)構(gòu)
片外程序存儲(chǔ)器取指操作時(shí)序
片外數(shù)據(jù)存儲(chǔ)器讀操作時(shí)序
11.1.2存儲(chǔ)器的并行擴(kuò)展
存儲(chǔ)器并行擴(kuò)展示意圖
11.1.3I/O接口的并行擴(kuò)展
普通I/O口的并行擴(kuò)展
可編程I/O口的并行擴(kuò)展
11.2串行擴(kuò)展技術(shù)
11.2.1SPI串行總線及系統(tǒng)擴(kuò)展根據(jù)時(shí)鐘極性與相位的不同,SPI有四種工作模式。極性指的是空閑狀態(tài)下時(shí)鐘信號(hào)處于高電平還是低電平,相位指的是數(shù)據(jù)位更新發(fā)生在時(shí)鐘周期的第一個(gè)邊沿還是第二個(gè)邊沿。SPI主機(jī)和所有SPI從機(jī)的時(shí)鐘相位與極性必須設(shè)為一致。SPI數(shù)據(jù)傳輸示意圖
SPI工作時(shí)序圖(模式0)
SPI擴(kuò)展系統(tǒng)示意圖
11.2.2I2C串行總線及系統(tǒng)擴(kuò)展
I2C總線(InterIntegratedCircuitBus)是Philips公司推出的二線制高性能串行總線,具備總線仲裁和高低速設(shè)備同步功能,數(shù)據(jù)傳輸速率可達(dá)400kbit/s(高速模式下可達(dá)3.4Mbit/s),總線驅(qū)動(dòng)能力為400pF。
I2C總線只有串行數(shù)據(jù)(SDA)和時(shí)鐘(SCL)兩根信號(hào)線,無(wú)需片選信號(hào)(地址信息也以數(shù)據(jù)的形式傳送)。
I2C總線接口的電路結(jié)構(gòu)
I2C總線上的各種信號(hào)
I2C數(shù)據(jù)幀格式
I2C擴(kuò)展系統(tǒng)示意圖
11.3功率接口技術(shù)
11.3.1非隔離型功率接口
1.繼電器的非隔離驅(qū)動(dòng)繼電器的非隔離驅(qū)動(dòng)電路
2.步進(jìn)電機(jī)的非隔離驅(qū)動(dòng)小型步進(jìn)電機(jī)的非隔離驅(qū)動(dòng)電路
ULN2803的內(nèi)部結(jié)構(gòu)(只畫(huà)出一路)
3.直流電機(jī)的非隔離驅(qū)動(dòng)直流電機(jī)全橋驅(qū)動(dòng)電路
采用集成芯片的直流電機(jī)驅(qū)動(dòng)電路11.3.2隔離型功率接口
1.直流設(shè)備的隔離驅(qū)動(dòng)繼電器的隔離驅(qū)動(dòng)電路
步進(jìn)電機(jī)的隔離驅(qū)動(dòng)電路
2.交流設(shè)備的隔離驅(qū)動(dòng)交流設(shè)備的隔離驅(qū)動(dòng)電路11.4模擬量接口技術(shù)
11.4.1D/A轉(zhuǎn)換器
1.DAC0832的結(jié)構(gòu)及工作原理
DAC0832的內(nèi)部結(jié)構(gòu)
DAC0832電壓輸出電路
2.DAC0832與80C51的接口
(1)單緩沖方式DAC0832單緩沖方式接口
以下是利用單緩沖接口輸出周期性鋸齒波信號(hào)的控制程序:
START: MOV DPTR,#7FFFH; 選擇DAC0832(A15=0)
MOV A,#00H ; 從0開(kāi)始NEXT: MOVX@DPTR,A ; 向DAC0832發(fā)送數(shù)據(jù)
INC A ; 數(shù)字量加1 SJMP NEXT ; 連續(xù)輸出(2)直通方式DAC0832直通方式接口(3)雙緩沖方式
DAC0832雙緩沖方式接口
以下是實(shí)現(xiàn)兩路同步輸出的控制程序:MOVDPTR,#0DFFFH ; 選中DAC0832(1)的輸入鎖存器MOVA,#data1 MOVX@DPTR,A ; 數(shù)據(jù)data1送入DAC0832(1)的輸入鎖存器MOVDPTR,#0BFFFH ; 選中DAC0832(2)的輸入鎖存器MOVA,#data2 MOVX@DPTR,A ; 數(shù)據(jù)data2送入DAC0832(2)的輸入鎖存器MOVDPTR,#7FFFH ; 同時(shí)選中兩片DAC0832的DAC寄存器MOVX@DPTR,A ; 同步進(jìn)行轉(zhuǎn)換11.4.2A/D轉(zhuǎn)換器
1.ADC0809的結(jié)構(gòu)及工作原理ADC0809的內(nèi)部結(jié)構(gòu)
ADC0809的工作時(shí)序
2.ADC0809與80C51的接口
ADC0809的接口電路和程序設(shè)計(jì)主要考慮兩方面問(wèn)題,一是模擬通道的選擇和啟動(dòng)信號(hào)的發(fā)送,另外就是轉(zhuǎn)換結(jié)束的確認(rèn)與數(shù)據(jù)讀取。
ADC0809與80C51的接口電路
(1)通道選擇與啟動(dòng)控制圖(a):MOV DPTR,#7FF8H ; 選擇通道0MOVX @DPTR,A ; 啟動(dòng)A/D轉(zhuǎn)換(A可為任意值)圖(b):ANL P1,#11111000B ; P1口低3位為0(選擇通道0)CLR P1.7 ; 使P1.7為低電平SETB P1.7 ; 使P1.7為高電平CLR P1.7 ; 使P1.7為低電平(2)轉(zhuǎn)換結(jié)束的確認(rèn)與數(shù)據(jù)讀取A/D轉(zhuǎn)換后得到的數(shù)據(jù)應(yīng)及時(shí)傳送給單片機(jī)進(jìn)行處理。對(duì)單片機(jī)來(lái)說(shuō),首先必須知道轉(zhuǎn)換是否結(jié)束,通??刹捎靡韵?種方式:①查詢方式:將ADC0809的EOC端接到單片機(jī)某根口線上,程序中通過(guò)反復(fù)查詢EOC的狀態(tài)來(lái)了解A/D轉(zhuǎn)換是否結(jié)束。②中斷方式:將EOC求反后接到單片機(jī)的外中斷輸入引腳(見(jiàn)圖11-29),一旦轉(zhuǎn)換結(jié)束,可使單片機(jī)自動(dòng)進(jìn)入中斷服務(wù)程序。③延時(shí)等待方式:A/D轉(zhuǎn)換器的轉(zhuǎn)換時(shí)間作為一項(xiàng)指標(biāo)是已知和固定的,可在轉(zhuǎn)換開(kāi)始后延時(shí)相應(yīng)的時(shí)間,過(guò)了這段時(shí)間,轉(zhuǎn)換肯定已經(jīng)結(jié)束了。確認(rèn)轉(zhuǎn)換已經(jīng)結(jié)束后,單片機(jī)便可通過(guò)指令產(chǎn)生有效的OE信號(hào),讀入轉(zhuǎn)換結(jié)果。對(duì)圖(a),可使用以下兩條指令:MOV DPTR,#7FF8H ;選擇通道0(實(shí)際上只要求80C51的P2.7=0)MOVX A,@DPTR ; 將轉(zhuǎn)換結(jié)果通過(guò)數(shù)據(jù)總線讀入單片機(jī)對(duì)圖(b),可使用以下四條指令:CLR P1.6 ; 使P1.6為低電平SETB P1.6 ; 使P1.6為高電平MOV A,P0 ; 將轉(zhuǎn)換結(jié)果通過(guò)P0口讀入單片機(jī)CLR P1.6 ; 使P1.6為低電平
(3)8路轉(zhuǎn)換控制程序?qū)D(a)電路,若要求使用中斷方式,將8路轉(zhuǎn)換結(jié)果依次存入內(nèi)部RAM50H~57H單元,則A/D轉(zhuǎn)換初始化程序和中斷服務(wù)程序如下:初始化程序:MOV R0,#50H;R0指向數(shù)據(jù)存儲(chǔ)區(qū)起始單元
MOV R2,#08H ;需進(jìn)行8路轉(zhuǎn)換
SETB IT0 ;INT0采用邊沿觸發(fā)方式
SETB EX0 ;允許INT0中斷
SETB EA ;開(kāi)中斷
MOV DPTR,#7FF8H ;先選擇通道0 MOVX @DPTR,A ;啟動(dòng)A/D轉(zhuǎn)換
SJMP $ ;等待中斷INT0中斷服務(wù)程序(入口為0003H)如下:
MOVXA,@DPTR ;讀取當(dāng)前通道的轉(zhuǎn)換結(jié)果
MOV @R0,A ;轉(zhuǎn)存到數(shù)據(jù)存儲(chǔ)區(qū)當(dāng)前單元
INC DPTR ;轉(zhuǎn)向下一個(gè)通道
INC R0 ;指向數(shù)據(jù)存儲(chǔ)區(qū)下一個(gè)單元
DJNZ R2,NEXT ;8路未轉(zhuǎn)換完,則繼續(xù)
CLR EA ;已轉(zhuǎn)換完,則關(guān)中斷
CLR EX0 RETI NEXT:MOVX@DPTR,A ;再次啟動(dòng)A/D轉(zhuǎn)換
RETI 11.5人機(jī)接口技術(shù)
11.5.1LED數(shù)碼顯示器
1.結(jié)構(gòu)及工作原理
LED數(shù)碼顯示器由若干個(gè)LED數(shù)碼管構(gòu)成。每個(gè)LED數(shù)碼管包括a~g和dp(小數(shù)點(diǎn))共8個(gè)發(fā)光二極管筆段,可通過(guò)筆段的亮滅組合顯示出所需要的字形,如十進(jìn)制數(shù)字符號(hào)“0”~“9”、”A”、”b”、”C”等簡(jiǎn)單字符。數(shù)碼管分為共陽(yáng)極和共陰極兩種類型。構(gòu)成數(shù)碼顯示器的多個(gè)數(shù)碼管一般屬于同一類型。
2.顯示方式及接口(1)靜態(tài)顯示
LED數(shù)碼管靜態(tài)顯示電路
靜態(tài)顯示子程序如下:S_DISP:MOV SCON,#00H ;置串口方式0
MOV DPTR,#DSEG ;DPTR指向段碼表起始單元
MOV R0,#30H ;R0指向顯示緩沖區(qū)起始單元
MOV R2,#4 ;共顯示4位NEXT:MOV A,@R0 ;取顯示緩沖區(qū)當(dāng)前單元中的數(shù)據(jù)
MOVC A,@A+DPTR;查表求段碼
MOV SBUF,A ;串行輸出段碼JNB TI,$ ;等待串行發(fā)送完畢
CLR TI ;清串行發(fā)送中斷標(biāo)志
INC R0 ;R0指向顯示緩沖區(qū)下一單元
DJNZR2,NEXT ;未顯示完3位,繼續(xù)
RET DSEG:DB 0C0H,0F9H,0A4H,0B0H,99H ;共陽(yáng)數(shù)碼管段碼表(對(duì)應(yīng)0~9)
DB 92H,82H,0F8H,80H,90H (2)動(dòng)態(tài)顯示LED數(shù)碼管動(dòng)態(tài)顯示電路
動(dòng)態(tài)顯示子程序如下:D_DISP:MOV DPTR,#DSEG ;DPTR指向段碼表起始單元
MOV R0,#30H ;R0指向顯示緩沖區(qū)起始單元
MOV R2,#11111110B;從第1位開(kāi)始刷新NEXT: MOV A,@R0 ;取顯示緩沖區(qū)當(dāng)前單元中的數(shù)據(jù)
MOVC A,@A+DPTR ;查表求段碼
MOV P0,A ;通過(guò)P0口輸出段碼
MOV P2,R2 ;通過(guò)P2口輸出位碼
LCALL DELAY1MS ;調(diào)延時(shí)1ms子程序(假設(shè)已編好)
INC R0 ;R0指向顯示緩沖區(qū)下一單元
MOV A,R2 ;調(diào)整位碼(準(zhǔn)備點(diǎn)亮下一位)
RL A MOV R2,A CJNE R2,#11101111B,NEXT;還未刷新完4位顯示,繼續(xù)
MOV P2,#11111111B ;關(guān)閉顯示
RET DSEG:DBDB 0C0H,0F9H,0A4H,0B0H,99H92H,82H,0F8H,80H,90H ;共陽(yáng)數(shù)碼管段碼表(對(duì)應(yīng)0~9)11.5.2鍵盤(pán)
1.特點(diǎn)與分類單片機(jī)應(yīng)用系統(tǒng)中鍵盤(pán)與單片機(jī)的接口形式取決于按鍵實(shí)際數(shù)量以及單片機(jī)可用口線的多少,一般可分為獨(dú)立式和矩陣式兩種。
2.接口形式(1)獨(dú)立式鍵盤(pán)獨(dú)立式鍵盤(pán)由少量(一般少于8個(gè))按鍵構(gòu)成,每個(gè)按鍵單獨(dú)占用單片機(jī)的一根I/O口線。獨(dú)立式鍵盤(pán)與單片機(jī)的連接(查詢方式)
按鍵查詢(識(shí)別)子程序:SCAN_KEY:ORL P1,#00001111B ;P1.0~P1.3作為輸入口
MOV A,P1 ;讀按鍵狀態(tài)
ANL A,#00001111B ;屏蔽高4位
CJNE A,#00001111B,SCANK1 ;低4位中有0存在,說(shuō)明有鍵按下
RET ;無(wú)鍵按下,通過(guò)A返回鍵值0FHSCANK1:LCALL DLY10MS;延時(shí)10ms(消抖)
MOV A,P1 ;重讀按鍵狀態(tài)
JB ACC.0,SCANK2;K1未按下,繼續(xù)檢測(cè)K2 MOV A,#01H;K1按下,通過(guò)A返回鍵值1 RET SCANK2:JB ACC.1,SCANK3 ;K2未按下,繼續(xù)檢測(cè)K3 MOV A,#02H ;K2按下,通過(guò)A返回鍵值2 RET SCANK3:JB ACC.2,SCANK4 ;K3未按下,繼續(xù)檢測(cè)K4 MOV A,#03H ;K3按下,通過(guò)A返回鍵值3 RET SCANK4:JB ACC.3,SCAN_EXIT ;K4未按下,結(jié)束查詢
MOV A,#04H ;K4按下,通過(guò)A返回鍵值4 RET SCAN_EXIT: MOV A,#0FH ;通過(guò)A返回鍵值0FH RET 按鍵查詢子程序通過(guò)返回不同的鍵值來(lái)反映鍵盤(pán)的狀態(tài),上例中,0FH表示無(wú)鍵按下,01H~04H分別表示K1~K4被按下。以下的按鍵查詢子程序直接將按鍵的位置編碼作為鍵值返回(無(wú)鍵按下為0FH,某鍵按下則返回值低4位中對(duì)應(yīng)位為0),看起來(lái)更加簡(jiǎn)潔。SCAN_KEY2: ORL P1,#00001111B ;P1.0~P1.3作為輸入口
MOV A,P1 ;讀按鍵狀態(tài)
ANL A,#00001111B ;屏蔽高4位
CJNE A,#00001111B,SCAN22 ;低4位中有0存在,說(shuō)明有鍵按下
RET ;無(wú)鍵按下,通過(guò)A返回0FHSCAN22: LCALL DLY10M;延時(shí)10ms(消抖)
MOV A,P1 ;重讀按鍵狀態(tài)
ANL A,#00001111B ;屏蔽高4位
RET ;通過(guò)A返回按鍵位置編碼(無(wú)鍵則為0FH)主程序結(jié)構(gòu)如下:
K1EQU00001110B ;聲明K1的位置編碼(鍵值)
K2EQU00001101B ;聲明K2的位置編碼(鍵值)
K3EQU00001011B ;聲明K3的位置編碼(鍵值)
K4EQU00000111B ;聲明K4的位置編碼(鍵值)NOKEYEQU00001111B;聲明無(wú)鍵按下?tīng)顟B(tài)的位置編碼(鍵值)MAIN: …
… ;系統(tǒng)初始化等操作LOOP: …
… ;主循環(huán)中其它操作(刷新顯示等)
LCALL SCAN_KEY2 ;調(diào)用按鍵查詢子程序
CJNE A,#NOKEY,KEY_PROC;有鍵按下,準(zhǔn)備處理
LJMP LOOP ;無(wú)鍵按下,繼續(xù)主循環(huán)KEY_PROC: PUSH ACC ;保存鍵值,待該鍵釋放后處理WAIT_NULL: LCALL SCAN_KEY2 CJNE A,#NOKEY,WAIT_NULL;等待按鍵釋放
POP ACC ;恢復(fù)A先前保存的鍵值CHK_K1: CJNE A,#K1,CHK_K2;K1未按下,繼續(xù)檢查K2
…
… ;K1被按下,執(zhí)行相應(yīng)的操作
LJMP LOOP ;回到主循環(huán)CHK_K2: CJNE A,#K2,CHK_K3 ;K2未按下,繼續(xù)檢查K3
…
… ;K2被按下,執(zhí)行相應(yīng)的操作
LJMP LOOP ;回到主循環(huán)CHK_K3: CJNE A,#K3,CHK_K4 ;K3未按下,繼續(xù)檢查K4
…
… ;K3被按下,執(zhí)行相應(yīng)的操作
LJMP LOOP ;回到主循環(huán)CHK_K4:CJNE A,#K4,LOOP ;K4未按下,回到主循環(huán)
…
… ;K4被按下,執(zhí)行相應(yīng)的操作
LJMP LOOP ;回到主循環(huán)獨(dú)立式鍵盤(pán)與單片機(jī)的連接(中斷方式)
2.矩陣式鍵盤(pán)矩陣式鍵盤(pán)與單片機(jī)的連接按鍵處理:(1)掃描法SCAN_KEY3: MOV P1,#11110000B ;列線全置為低電平,行線作輸入
MOV A,P1 ;讀行線狀態(tài)
ANL A,#11110000B ;屏蔽低4位(僅需要行線狀態(tài))
CJNE A,#11110000B,SCAN32;行線中有0,說(shuō)明有鍵按下
MOV A,#0FFH;通過(guò)A返回?zé)o鍵按下?tīng)顟B(tài)的鍵值FFH RET SCAN32:LCALL DLY10MS ;延時(shí)10ms(消抖)
MOV R2,#11110111B ;列掃描字由R2保存(0列開(kāi)始掃描)
MOV R3,#0 ;列號(hào)由R3保存SCAN33:MOV P1,R2 ;當(dāng)前列輸出低電平,行線作輸入
MOV A,P1 ;讀行線狀態(tài)
ANL A,#11110000B ;屏蔽低4位(僅需要行線狀態(tài))
CJNE A,#11110000B,SCAN34;行線中有0,說(shuō)明當(dāng)前列有鍵按下
INC R3 ;當(dāng)前列無(wú)鍵按下,列號(hào)加1 MOV A,R2 ;準(zhǔn)備檢查或修改列掃描字
JNB ACC.0,SCAN3_EXIT ;已掃描完所有列,結(jié)束掃描返回
RR A ;掃描字右移1位,準(zhǔn)備掃描下一列
MOV R2,A AJMP SCAN33 ;掃描下一列SCAN34:JB ACC.7,SCAN35;第0行無(wú)鍵按下,檢查第1行
MOV A,#0 ;第0行有鍵按下,首鍵值0送給A ADD A,R3 ;加上列號(hào)得到鍵值
RET ;通過(guò)A返回鍵值SCAN35:jB ACC.6,SCAN36 ;第1行無(wú)鍵按下,檢查第2行
MOV A,#4 ;第1行有鍵按下,首鍵值4送給A ADD A,R3 ;加上列號(hào)得到鍵值
RET ;通過(guò)A返回鍵值SCAN36:JB ACC.5,SCAN37 ;第2行無(wú)鍵按下,檢查第3行
MOV A,#8 ;第2行有鍵按下,首鍵值8送給A ADD A,R3 ;加上列號(hào)得到鍵值
RET ;通過(guò)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年跨境電商知識(shí)產(chǎn)權(quán)保護(hù)合同規(guī)范2篇
- 2025版協(xié)議離婚辦理指南與離婚證獲取時(shí)效標(biāo)準(zhǔn)解讀3篇
- 2025版影視基地租賃合同匯編4篇
- 2025版司機(jī)雇傭服務(wù)質(zhì)量評(píng)價(jià)與獎(jiǎng)懲合同3篇
- 二零二五年度門(mén)面租賃合同環(huán)保要求與責(zé)任4篇
- 二零二五年度2025版國(guó)有企業(yè)設(shè)備租賃合同范本4篇
- 終止2025年度勞動(dòng)合同并規(guī)定經(jīng)濟(jì)補(bǔ)償辦法3篇
- 2025年度離婚后財(cái)產(chǎn)分配與債務(wù)承擔(dān)協(xié)議3篇
- 2025年消防防排煙系統(tǒng)施工與消防安全風(fēng)險(xiǎn)管理合同3篇
- 2024離婚后雙方權(quán)益保障與責(zé)任劃分合同
- 中國(guó)末端執(zhí)行器(靈巧手)行業(yè)市場(chǎng)發(fā)展態(tài)勢(shì)及前景戰(zhàn)略研判報(bào)告
- 北京離婚協(xié)議書(shū)(2篇)(2篇)
- Samsung三星SMARTCAMERANX2000(20-50mm)中文說(shuō)明書(shū)200
- 2024年藥品質(zhì)量信息管理制度(2篇)
- 2024年安徽省高考地理試卷真題(含答案逐題解析)
- 廣東省廣州市2024年中考數(shù)學(xué)真題試卷(含答案)
- 無(wú)人機(jī)應(yīng)用平臺(tái)實(shí)施方案
- 2019年醫(yī)養(yǎng)結(jié)合項(xiàng)目商業(yè)計(jì)劃書(shū)
- 安全生產(chǎn)管理問(wèn)題與對(duì)策探討
- 2024屆浙江寧波鎮(zhèn)海區(qū)中考生物全真模擬試題含解析
- 人教版八年級(jí)物理下冊(cè) (功)教育教學(xué)課件
評(píng)論
0/150
提交評(píng)論