單片機接口技術_第1頁
單片機接口技術_第2頁
單片機接口技術_第3頁
單片機接口技術_第4頁
單片機接口技術_第5頁
已閱讀5頁,還剩75頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第七章

單片機接口技術第一節(jié)鍵盤接口第二節(jié)顯示器接口第三節(jié)A/D轉換器接口第四節(jié)D/A轉換器接口圖7-189C51應用系統框圖89C517.1鍵盤接口非編碼鍵盤:按鍵的動作靠軟件識別編碼鍵盤:硬件電路識別按鍵動作,并產生按鍵的鍵值或編號按下:P1.0輸入低電平0松開:P1.0輸入高電平189C51抖動-去抖按鍵產生機械抖動,一次按鍵被誤讀為多次按鍵硬件去抖:利用RS觸發(fā)器軟件去抖:檢測到鍵動作,延時5~10ms,再次讀鍵,確認真正有鍵按下1.獨立式非編碼鍵盤接口及處理程序MOVA,#0FFHMOVP1,AMOVA,P1JNBACC.0,KEY0JNBACC.1,KEY1………假設為P1口為什么P1口寫1?獨立式非編碼鍵盤2.行列(矩陣)式非編碼鍵盤接口及處理程序用于較多按鍵,節(jié)省I/O線。判斷是否有健按下:向列線輸出全掃描字00H。讀入行線狀態(tài)。若行線有0,則有鍵按下;若行線全1,則無鍵按下。KS:MOVP1,#0FH ;全掃描字0送P1高4位,設置P1低4位為輸入

MOVA,P1 ;讀入P1口狀態(tài)(行線)

CPLA ;變正邏輯,P1.0-3高電平表示有鍵按下

ANLA,#0FH ;屏蔽高4位

RET ;返回,A不為0表示有鍵按下

P1.0P1.1P1.2P1.3P1.4P1.5P1.6P7.7行列式非編碼鍵盤列掃描法:依次將列線送低電平,逐個檢查行線狀態(tài),確定按鍵在某行某列交叉的點上,取得鍵值,執(zhí)行相應程序。P1.4P1.5P1.6P1.7P1.0P1.1P1.2P1.3例:鍵盤掃描程序SERCH:MOVR2,#0EFH MOVR3,#00HLINE0:MOVA,R2 MOVP1,A MOVA,P1 JBACC.3,LINE1 MOVA,#00H AJMPTRYKLINE1:JBACC.2,LINE2 MOVA,#04H AJMPTRYK LINE2:JBACC.1,LINE3MOVA,#08H

AJMPTRYK

LINE3:JBACC.0,NROW

MOVA,#0CH

AJMPTRYK

NROW:INCR3

MOVA,R2

RL A

JNBACC.0,BACK

MOVR2,A

AJMPLINE0

TRYK:ADDA,R3

BACK:RET 程序控制掃描方式只有當單片機空閑時才調用鍵盤掃描子程序定時掃描方式利用定時器的溢出中斷請求,每隔一定的時間對鍵盤掃描一次中斷掃描方式提高CPU的效率,當鍵盤上有鍵閉合時產生中斷請求單片機對非編碼鍵盤的控制7.2顯示器接口LED點陣雙色顯示屏LED16數段碼管LCD7.2顯示器接口由發(fā)光二極管組成,分共陽、共陰兩種。一、LightEmittingDiodeLED顯示器如何顯示出指定數字/字符?COM接低電平(共陰極),COM接高電平(共陽極);COM接低電平;各輸入端輸入一個顯示代碼,如5BH=01011011,對應c,f滅,而a,b,d,e,g點亮,則LED顯示字符“2”顯示各種字符的代碼見下表。對于共陽極LED,將顯示代碼取反。若顯示小數點,可利用D7位。D0aD1bD2cD3dD4eD5fD6gD7comh共陰LED限流電阻11011010字型表

LED顯示方式靜態(tài)顯示:電路解法:所有LED的位選均共同連接到+VCC或GND,每個LED的8根段選線分別連接一個8位并行I/O口,從該I/O口送出相應的字型碼顯示字型。

CPU送出一個顯示代碼,LED一直顯示該字形,直到送下一個代碼才改變顯示字形。特點:原理簡單;顯示亮度強,無閃爍;占用I/O資源較多。

常用于位數較少的場合。D0aD1bD2cD3dD4eD5fD6gD7comh共陰LED74LS273P0CLK+P2.0WRMOVA,#0FFH;顯示‘8’MOVDPTR,#0FEFFH;P2.0=0MOVX@DPTR,ALED顯示方式:

動態(tài)顯示

連接:將各個顯示器的輸入(段選)線并聯,由一個I/O口提供字形代碼;由另一個I/O口提供位選代碼。

顯示:采用軟件掃描顯示方法,某個時刻只點亮1個顯示器,點亮時間不超過20ms,分時逐個點亮LED。與靜態(tài)顯示相比,特點:節(jié)省硬件電路及I/O資源;占用CPU時間多;亮度相對較低;適用于LED位數較多的場合。與靜態(tài)顯示區(qū)別?逐位掃描顯示方式

6位共陰LED。利用8155的PA口(假設地址7F01H)作為位選,75452反相驅動;PB口(7F02H)作為段選,7407同相驅動。在片內RAM中設一顯示緩沖區(qū)40H~45H,依次存放要顯示的6個字符(高4位清0,即00~09H,0A~0FH)。反復調用顯示子程序。DIS:MOVR0,#45H;顯示緩沖區(qū)首址MOVR2,#01H;位選初始值MOVA,R2LP0:MOVDPTR,#7F01H;位選端口PAMOVX@DPTR,A;輸出位選代碼INCDPTR;段選端口PBMOVA,@R0;取顯示字符ADDA,#0DH;加偏移量MOVCA,@A+PC;查表得顯示字符的代碼MOVX@DPTR,A;輸出顯示ACALLDIMS;調用延時子程序DECR0;修改顯示緩沖區(qū)指針MOVA,R2;修改位選指針JBACC.5,LP1;判斷是否全部顯示一次?RLA;沒有,則左移一位MOVR2,ASJMPLP0LP1:RETDB3FH,06H,5BH,…;顯示代碼表格01h02h01h06h03h00h41H40H42H43H44H45H通用鍵盤顯示器接口芯片8279實現對鍵盤和顯示器的自動掃描識別閉合鍵的鍵號完成顯示器的動態(tài)掃描,節(jié)約CPU的時間通用鍵盤顯示接口芯片8279鍵盤和顯示器綜合應用

停車場計數器硬件設計軟件設計硬件電路設計顯示部分計數部分實際電路多數采用傳感器,這里用按鍵模擬代替停車場計數器程序設計編寫程序的基本思路主程序完成單片機的初始設定、初始顯示等兩個按鍵可采用查詢或者中斷方式,本例子采用中斷方式各段功能程序地址確定MAIN主程序流程主程序中斷初始化初始車數設為0設置查表首地址十位顯示(P2口)個位顯示(P0口)進車中斷子程序

模擬“進車”按鍵按下后出車中斷子程序DEC總結通過靜態(tài)顯示和獨立式按鍵完成了一個應用系統的設計。實際系統通常需傳感器。二、LCD液晶顯示器LiquidCrystalDisplay

微功耗、體積小、顯示內容豐富、超薄輕巧。這里介紹的字符型液晶模塊是一種用5x7點陣圖形來顯示字符的液晶顯示器,根據顯示的容量可以分為1行16個字、2行16個字、2行20個字等等,這里以常用的2行16個字的1602液晶模塊來介紹它的編程方法。

任務:如何在LCD的指定位置顯示出指定的字符以及字符串。2行×16列AbHelloworld主要內容TC1602ALCD模塊引腳及結構單片機與字符型LCD模塊接口LCD接口程序設計

12345678910111213141516VSSVDDVORSR/WEDB0DB1ADB3DB2DB5DB4DB7DB6KLCD模塊Vss:+5V電源管腳(Vcc)VDD:

地管腳(GND)Vo:

液晶顯示驅動電源(0V~5V)V0為液晶顯示器對比度調整端,接正電源時對比度最弱,接地電源時對比度最高,對比度過高時會產生“鬼影”,使用時可以通過一個10K的電位器調整對比度。一、TC1602ALCD模塊引腳及結構

12345678910111213141516VSSVDDVORSR/WEDB0DB1ADB3DB2DB5DB4DB7DB6KLCD模塊DB0~DB7:數據線,可以用8位連接,也可以只用高4位連接,節(jié)約單片機資源,本實驗中采用的是八位連接方法。

12345678910111213141516VSSVDDVORSR/WEDB0DB1ADB3DB2DB5DB4DB7DB6KLCD模塊A:背光控制正電源K:背光控制地

12345678910111213141516VSSVDDVORSR/WEDB0DB1ADB3DB2DB5DB4DB7DB6KLCD模塊RS:數據和指令選擇控制端,RS=0:命令/狀態(tài);RS=1:數據R/W:讀寫控制線,R/W=0:寫操作;R/W=1:讀操作E:數據讀寫操作控制位,E線向LCD模塊發(fā)送一個脈沖,LCD模塊與單片機之間將進行一次數據交換

12345678910111213141516VSSVDDVORSR/WEDB0DB1ADB3DB2DB5DB4DB7DB6KLCD模塊單片機與LCD模塊之間有四種基本操作: 寫命令 讀狀態(tài) 寫顯示數據 讀顯示數據

12345678910111213141516VSSVDDVORSR/WEDB0DB1ADB3DB2DB5DB4DB7DB6KLCD模塊RSR/W操作00寫命令操作(初始化、光標定位等)01讀狀態(tài)操作(讀忙標志)10寫數據操作(要顯示內容)11讀數據操作(可以把顯示存儲區(qū)中的數據反讀出來)二、單片機與字符型LCD模塊接口數據線:DB7~DB0接單片機的P1.7~P1.0控制端:

RS~~P3.0R/W~~P3.1

E~~P3.2return

單片機與LCD模塊硬件連接

連線表:

A01A07連接1+5V/GND+5V/GND連接2P1.0-P1.7DB0-DB7連接3P3.0RS連接4P3.1RW連接5P3.2E三、LCD接口程序設計程序設計功能設置——寫命令子程序

LCD初始化:按一定順序寫命令字如:寫清屏命令字、寫DDRAM光標定位地址命令字顯示數據——寫數據子程序讀入狀態(tài)字——讀狀態(tài)子程序

1.寫命令讀寫操作、屏幕和光標的操作都是通過指令編程來實現指令名稱控制信號控制代碼RSRWD7D6D5D4D3D2D1D0清屏0000000001歸home位000000001*輸入方式設置00000001I/DS顯示狀態(tài)設置0000001DCB光標畫面滾動000001S/CR/L**功能設置00001DLNF**CGRAM地址設置0001A5A4A3A2A1A0DDRAM地址設置001A6A5A4A3A2A1A0讀BF和AC01BFAC6AC5AC4AC3AC2AC1AC0寫數據10數據讀數據11數據清除屏幕---01H,光標復位到地址00H位置光標復位。光標返回到地址00Hreturn指令名稱控制信號控制代碼RSRWD7D6D5D4D3D2D1D0清屏0000000001歸home位000000001*輸入方式設置00000001I/DS顯示狀態(tài)設置0000001DCB光標畫面滾動000001S/CR/L**功能設置00001DLNF**CGRAM地址設置0001A5A4A3A2A1A0DDRAM地址設置001A6A5A4A3A2A1A0讀BF和AC01BFAC6AC5AC4AC3AC2AC1AC0寫數據10數據讀數據11數據光標和顯示模式設置。I/D:光標移動方向,1:右移,0:左移;S:屏幕上所有文字是否左移或者右移。S=1:移位S=0:不移位設整體顯示開關(D),光標顯示開關(C),光標位的字符閃耀(B)D=1;C=0;B=000001100——0cH指令名稱控制信號控制代碼RSRWD7D6D5D4D3D2D1D0清屏0000000001歸home位000000001*輸入方式設置00000001I/DS顯示開關控制0000001DCB光標畫面滾動000001S/CR/L**功能設置00001DLNF**CGRAM地址設置0001A5A4A3A2A1A0DDRAM地址設置001A6A5A4A3A2A1A0讀BF和AC01BFAC6AC5AC4AC3AC2AC1AC0寫數據10數據讀數據11數據S/C:高電平時移動顯示的文字,低電平時移動光標設接口數據位數(DL),顯示行數(N),及字型(F)DL=1,8位=0:4位N=1:2行=0:1行F=1:5×10=0:5×700111000——38H指令名稱控制信號控制代碼RSRWD7D6D5D4D3D2D1D0清屏0000000001歸home位000000001*輸入方式設置00000001I/DS顯示開關控制0000001DCB光標畫面滾動000001S/CR/L**功能設置00001DLNF**CGRAM地址設置0001A5A4A3A2A1A0DDRAM地址設置001A6A5A4A3A2A1A0讀BF和AC01BFAC6AC5AC4AC3AC2AC1AC0寫數據10數據讀數據11數據字符發(fā)生器RAM地址設置設置DDRAM地址,為顯示定位讀忙信號和光標地址BF:為忙標志位,高電平表示忙,此時模塊不能接收命令或者數據,如果為低電平表示不忙。定位光標位置把顯示數據顯示在某個位置,就是把顯示數據寫在相應的DDRAM地址中,DDRAM地址占7位。SetDDRAMaddress命令如下:row12345……141516line100H01H02H03H04H……0dH0eH0fHline240H41H42H43H44H……4dH4eH4fH≈≈≈≈NOTICE≈≈≈≈光標定位,寫入一個顯示字符后,DDRAM地址會自動加1或減1,加或減由輸入方式字設置;第1行DDRAM地址與第2行DDRAM地址并不連續(xù)。80H81H82H83H84H8dH8eH8fH0c0H0c1H0c2H0c3H0c4H0cdH0ceH0cfH2.寫數據10√3.讀狀態(tài)液晶顯示模塊是一個慢顯示器件,所以在執(zhí)行每條指令之前一定要確認模塊的忙標志為低電平,表示不忙,否則此指令失效。每一個字符都有一個固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時模塊把地址41H中的點陣字符圖形顯示出來,我們就能看到字母“A”。例如要在液晶模塊的第二行第一個字符的位置顯示字母“A”

第二行第一個字符的地址是40H,那么是否直接寫入40H就可以將光標定位在第二行第一個字符的位置呢?這樣不行,因為寫入顯示地址時要求最高位D7恒定為高電平1。所以實際寫入的數據應該是11000000B(40H)+10000000B(80H)=11000000B(C0H)LCD顯示程序設計mainLCD初始化光標定位顯示字符SJMP$程序在開始時對液晶模塊功能進行了初始化設置,約定了顯示格式。注意顯示字符時光標是自動右移的,無需人工干預,每次輸入指令都先調用判斷液晶模塊是否忙的子程序

,然后輸入顯示位置的地址,最后輸入要顯示的字符的代碼。

lcd_rsbitP3.0;LCD寄存器選擇

lcd_rwbitP3.1;LCD讀寫控制

lcd_ebitP3.2;LCD選通

lcdio

equP1

lcdbusy

equ33H;LCD忙寄存

lcddata

equ34H;LCD傳遞數據

ORG0000H

ljmpmain;復位入口,轉主程序ORG030HMain:

movsp,#50H;設置堆棧指針

movdptr,#char1

lcalldelay

lcalldelay

lcall

lcd_init;調液晶初始化

lcall

lcd_sendcharloop:

nop

Ajmploop

lcd_init_3:

lcall

lcd_readbusy

mov

a,lcdbusy

cjneA,#0,lcd_init_3

movlcddata,#0dH;顯示狀態(tài)設置

lcall

lcd_writecomm

lcalldelaylcd_init_4:

lcall

lcd_readbusy

mov

a,lcdbusy

cjneA,#0,lcd_init_4

movlcddata,#01H;清屏

lcall

lcd_writecomm

lcalldelayretlcd_init:;液晶初始化程序lcd_init_1:

lcall

lcd_readbusy

mov

a,lcdbusy

cjneA,#0,lcd_init_1

movlcddata,#38H;8位2行5x7點陣

lcall

lcd_writecomm

lcalldelaylcd_init_2:

lcall

lcd_readbusy

mov

a,lcdbusy

cjneA,#0,lcd_init_2

movlcddata,#06H;文字不動,光標自 ;動右移

lcall

lcd_writecomm

lcalldelaylcd_sendchar:;發(fā)送字符lcd_sendchar_1:

lcall

lcd_readbusy

mov

a,lcdbusy

cjneA,#0,lcd_sendchar_1

movlcddata,#80H;

lcall

lcd_writecomm

lcalldelay

movr1,#16lcd_sendchar_2:

lcall

lcd_readbusy

mov

a,lcdbusy

cjneA,#0,lcd_sendchar_2CLRA

movcA,@A+DPTRIncdptr

mov

lcddata,A

lcall

lcd_writedata

lcalldelay

djnzr1,lcd_sendchar_2lcd_sendchar_3:

lcall

lcd_readbusy

mov

a,lcdbusy

cjneA,#0,lcd_sendchar_3

movlcddata,#0c0H;

lcall

lcd_writecomm

lcalldelay

movr1,#16

movdptr,#char2lcd_sendchar_4:

lcall

lcd_readbusy

mov

a,lcdbusy

cjneA,#0,lcd_sendchar_4CLRA

movcA,@A+DPTRIncdptr

mov

lcddata,A

lcall

lcd_writedata

lcalldelay

djnzr1,lcd_sendchar_4retlcd_writecomm:;寫命令

clr

lcd_rs

nop

clr

lcd_rw

nop

mov

lcdio,lcddata

nop

setb

lcd_e

nop

clr

lcd_eretlcd_writedata:;寫數據

setb

lcd_rs

nop

clr

lcd_rw

nop

mov

lcdio,lcddata

nop

setb

lcd_e

nop

clr

lcd_eretlcd_readdata:;讀數據

setb

lcd_rs

nop

setb

lcd_rw

nop

setb

lcd_e

nop

mov

lcdbusy,lcdio

clr

lcd_eretlcd_readbusy:;讀忙

clr

lcd_rs

nop

setb

lcd_rw

nop

setb

lcd_e

nop

mov

lcdbusy,lcdio

clr

lcd_e

anllcdbusy,#80Hretchar1:DB'WelcomeTo......';char2:DB'';END7.3A/D轉換器接口技術A/D轉換器是將模擬量轉換成數字量的器件。模擬量可是電壓、電流等電信號,也可是聲、光、壓力和溫度等隨時間連續(xù)變化的非電物理量。非電物理量可通過合適的傳感器等轉換成電信號,模擬量只有轉換成數字量才能被計算機采集、分析和計算處理。A/D轉換方法電壓頻率式:精度高價格低,但轉換速度不高雙積分式:抗干擾能力好,轉換速度低逐次逼近式:轉換速度較快,適中并行轉換:速度快,價格高串行轉換:體積小,速度滿硬件設計考慮的問題選擇分辨率(3~8位/9~12位/13位以上)確定精度(誤差范圍)A/D轉換時間和路數輸入/輸出特性和范圍電源種類和功耗工作環(huán)境接口是否方便8051和ADC0809的接口ADC0809是逐次比較式的8路8位A/D轉換器,28腳,DIP封裝,轉換速度為100μs,電源電壓+5VADC0809引腳說明:IN0~IN7:8個模擬量輸入通道D0(2-8)~D7(2-1):8位數字量輸出ADDC、ADDB、ADDA:通道地址選擇線

000~111依次選擇轉換IN0~IN7,表8-2ALE:地址鎖存允許START:啟動一次A/D轉換EOC:轉換結束信號輸出線,開始轉換時為低電平,當轉換結束時為高電平。供查詢或申請中斷(89C51需加反相)OE:輸出允許控制端地址線:CBA選擇的通道000

IN0001

IN1010

IN2011

IN3100

IN4101

IN5110

IN6111

IN7ADC0809與8051的接口原理圖接地址線查詢?中斷?P2.7=0外部電壓u0外部電壓u1外部電壓u7外部電壓u3外部電壓u4外部電壓u6外部電壓u5外部電壓u2OEEOC編程要點選擇模擬量輸入通道發(fā)出啟動及地址鎖存信號用延時、查詢或中斷方法等待轉換結束讀取轉換結果定時傳送方式對于一種A/D轉換器來說,轉換時間作為一項技術指標是已知的和固定的。例如,ADC0809轉換時間約為100μs。可據此設計一個延時子程序,A/D轉換啟動后即調用這個延時子程序,延遲時間一到,轉換肯定已經完成了,接著就可進行數據傳送。在這種方式下,EOC引腳懸空。查詢傳送方式單片機啟動0809后,檢測EOC,若EOC=0則A/D轉換沒有結束,繼續(xù)檢測EOC,直到EOC=1。當EOC=1時,A/D轉換已經結束,單片機讀取A/D轉換結果。在這種方式下,EOC必須接到8051的一條I/O線上。P1.0中斷傳送方式單片機啟動A/D轉換后可以做其它工作,當A/D轉換結束時,EOC由0---1經過非門傳到INT端,8051收到中斷請求信號,若8051開著中斷,則進入中斷服務程序,在中斷服務程序中單片機讀取A/D轉換的結果。在這種方式下,EOC必須經過非門接到8051的中斷請求輸入線INT0或INT1上,89C51的中斷觸發(fā)方式為下降沿觸發(fā)。INT1編寫連續(xù)采集IN0~IN7上的模擬量u0~u7的轉換程序,并將數字量存入30H~37H。MOVR1,#30H;緩存區(qū)首址MOVDPTR,#7FF8H;P2.7=0,且指向通道0(A2A1A0=000)MOVR7,#08H;置通道數LOOP:MOVX@DPTR,A;啟動A/D轉換MOVR6,#55;延時110μs等待轉換結束DJNZR6,$;2個機器周期,12MHz,2μs,MOVA,@DPTR;讀取轉換結果MOV@R1,A;存放結果INCR1;修改數據區(qū)指針I(yè)NCDPTR;指向下一個通道DJNZR7,LOOP;8個通道全采樣完了嗎?…查詢:JBP1.0,$JNBP1.0,$中斷方式程序SETBIT1SETBEX1SETBEAMOVR1,#30HMOVDPTR,#7FF8HMOVA,#0MOVX@DPTR,A…PUSHACCMOVXA,@DPTRMOV@R1,AINCR1INCDPTRMOVX@DPTR,APOPACCRETI初始化,啟動A/D轉換IN0如何接著啟動下一個通道?實驗-原理、調試通道的選擇是由地址線A0、A1、A2來完成,只可用IN0,IN1輸入,電位器單步運行程序,觀察讀入的A/D轉換結果,并測量對應的模擬輸入電壓值,記錄試采用延時、查詢、中斷,最少兩種7.4D/A轉換器接口后向通道分開關量、模擬量信號開關量:繼電器、接觸器、SSR、晶閘管,如控制電機啟停、信號有無等模擬量:D/A轉換器SolidStateRalayDAC0832芯片介紹分辨率8位電流輸出,穩(wěn)定時間1μs雙緩沖、單緩沖、直接數字輸入單電源供電邏輯結構工作方式直通方式:各控制端口一直有效單緩沖方式:輸入寄存器和8位DAC寄存器鎖存信號同時有效;或者一個寄存器控制端一直有效。雙緩沖方式:輸入寄存器和8位DAC寄存器鎖存信號分開控制系統只有一路模擬量輸出或幾路模擬量不需同步的輸出場合,可采用單緩沖方式實驗:輸出00~FFH,0~-5V和-5~+5V兩種VREF00H~FFH通過運放可輸出一個鋸齒波

MOVDPTR,#7FFFHMOVA,#00HLOOP:MOVX@DPTR,AINCAAJMPLOOP產生方波的程序

MOVDPTR,#7FFFH;設置D/A口地址

LOOP:MOVA,#FFH;輸入數字最大值

MOVX@DPTR,A;輸出對應于A值的模擬量

ACALLDELAY;延時

MOVA,#00H;修改A的內容

MOVX@DPTR,A;輸出對應于A值的模擬量

ACALLDELAY;延時

AJMPLOOP;循環(huán)輸出下一個方波DELAY:延時程序實驗:輸出鋸齒波,三角波。思考:幅值變化的方波、三角波?雙緩沖方式適用于幾個模擬量同時輸出的系統先分時將數字量裝入兩片0832輸入寄存器(地址:P2.5和P2.6)然后同時選通兩片0832的DAC寄存器(地址:P2.7),同時輸出模擬量信號單通道串行輸出A/D芯片TLC1549及接口逐次比較型10位A/D6個工作方式:區(qū)別主要是cs是否連續(xù)為低電平快速、慢速:決定于I/OCLOCK周期TLC1549與89C51接口89C51

P3.0P3.1P3.2TLC1549ANALOGINCSI/OCLOCK

DATAOUTREF-GNDVCCREF+89C51讀取TLC1549中10位數據程序如下:

ORG0050HR1549:CLRP3.0;片選有效,選中TLC1549MOVR0,#2;先讀取高兩位數據

LCALLRDADA;調用讀數子程序

MOVR1,A;高兩位數據存入R1MOVR0,#8;要讀取低8位數據

LCALLRDATAMOVR2,A;低8位數據存入R2SETBP3.0;片選無效

CLRP3.1;時鐘低電平

RET;程序結束RDADA:CLRP

溫馨提示

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

評論

0/150

提交評論