版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第9章應(yīng)用系統(tǒng)配置及接口技術(shù)PC機(jī)除了主機(jī)以外還需要哪些部分呢?單片機(jī)電路有時(shí)候也需要鍵盤、顯示等外設(shè)。本章主要內(nèi)容鍵盤顯示器A/D轉(zhuǎn)換D/A轉(zhuǎn)換9.1鍵盤與計(jì)算機(jī)接口非編碼鍵盤:按鍵的動(dòng)作靠軟件識(shí)別編碼鍵盤:由硬件電路產(chǎn)生按鍵的鍵值或編號(hào),并由硬件識(shí)別閉合鍵按下:P1.0輸入低電平0松開:P1.0輸入高電平1鍵功能的實(shí)現(xiàn):對(duì)于一組鍵或一個(gè)鍵盤,需通過接口電路與單片機(jī)相連。可采用查詢或中斷方式測(cè)試有無鍵按下,再確定是哪一個(gè)鍵按下,將該鍵號(hào)送入累加器ACC,然后判斷是數(shù)字鍵還是功能鍵,若是數(shù)字鍵,則將鍵號(hào)對(duì)應(yīng)的數(shù)字送入相關(guān)輸入緩沖區(qū);若是功能鍵,則通過跳轉(zhuǎn)指令轉(zhuǎn)入執(zhí)行該鍵的功能程序,執(zhí)行完后再返回主程序。抖動(dòng)在按鍵按下與斷開的過程中,按鍵產(chǎn)生機(jī)械抖動(dòng)。抖動(dòng)現(xiàn)象將使
CPU產(chǎn)生誤判斷??捎糜布蜍浖娜コ秳?dòng)方法9.1.1獨(dú)立式非編碼鍵盤接口MOVA,#0FFHMOVP1,AMOVA,P1JNBACC.0,KEY0JNBACC.1,KEY1………假設(shè)為P1口電路簡單;但鍵數(shù)較多時(shí),需占用較多的I/O線準(zhǔn)雙向口:輸入時(shí)須先寫1用于較多按鍵,節(jié)省I/O線。采用逐行(逐列)掃描法:向列線輸出全掃描字00H。讀入行線狀態(tài)。若行線有0,則有鍵按下;若行線全1,則無鍵按下。9.1.2行列式非編碼鍵盤接口1、鍵盤工作原理——舉例行線:X0~X3,通過電阻接+5V。沒有鍵閉合時(shí),行線呈高電平;某鍵閉合時(shí),該鍵對(duì)應(yīng)的行線和列線被短路。此時(shí)行線電平由列線電位所決定。例判斷有無鍵閉合:使列線為低電平,讀出行線狀態(tài)。找出哪一個(gè)鍵閉合:逐行(逐列)掃描查詢法逐行掃描法:依次將列線送低電平,逐個(gè)檢查行線狀態(tài),確定按鍵在某行某列交叉的點(diǎn)上,取得鍵值,執(zhí)行相應(yīng)程序。例:鍵盤掃描程序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,#08H3210476511109815141312+5VP1.4P1.3P1.089C51P1.7P1.6P1.5P1.2P1.1
AJMPTRYK
LINE3:JBACC.0,LINE4
MOVA,#0CH
AJMPTRYK
LINE4:INCR3
MOVA,R2
RL A
JNBACC.0,BACK
MOVR2,A
AJMPLINE0
TRYK:ADDA,R3
BACK:RET 9.1.3單片機(jī)對(duì)非編碼鍵盤的控制程序掃描方式CPU不斷調(diào)用鍵盤處理程序,對(duì)鍵盤進(jìn)行掃描定時(shí)掃描方式利用定時(shí)器的溢出中斷請(qǐng)求,每隔一定的時(shí)間對(duì)鍵盤掃描一次中斷掃描方式提高CPU的效率,當(dāng)鍵盤上有鍵閉合時(shí)產(chǎn)生中斷請(qǐng)求9.2LED顯示器及接口設(shè)計(jì)1、由發(fā)光二極管組成,分共陽、共陰兩種。
LowEmittingDiode問題引入:
LED顯示器如何顯示出指定數(shù)字/字符?comcom2.LED顯示字符方法:COM接低電平;各輸入端輸入一個(gè)顯示代碼,如5BH=01011011,對(duì)應(yīng)c,f滅,而a,b,d,e,g點(diǎn)亮,則LED顯示字符“2”顯示各種字符的代碼見下表。對(duì)于共陽極LED,將顯示代碼取反。若顯示小數(shù)點(diǎn),可利用D7位。限流電阻字型表
靜態(tài)顯示方式連接
所有LED的位選均共同連接到+VCC或GND,每個(gè)LED的8根段選線分別連接一個(gè)8位并行I/O口,從該I/O口送出相應(yīng)的字型碼顯示字型。
特點(diǎn)原理簡單;顯示亮度強(qiáng),無閃爍;占用I/O資源較多。
常用于位數(shù)較少的場(chǎng)合。動(dòng)態(tài)顯示將各個(gè)顯示器的輸入(段選)線并聯(lián),由一個(gè)I/O口提供字形代碼;由另一個(gè)I/O口提供位選代碼。采用軟件掃描顯示方法,某個(gè)時(shí)刻只點(diǎn)亮1個(gè)顯示器,點(diǎn)亮?xí)r間不超過20ms,分時(shí)逐個(gè)點(diǎn)亮LED。與靜態(tài)顯示相比,特點(diǎn):節(jié)省硬件電路及I/O資源;占用CPU時(shí)間多;亮度相對(duì)較低;適用于LED位數(shù)較多的場(chǎng)合。視覺暫留特性6位共陰LED。利用8155的PA口(假設(shè)地址7F01H)作為位選,75452反相驅(qū)動(dòng);PB口(7F02H)作為段選,7407同相驅(qū)動(dòng)。在片內(nèi)RAM中設(shè)一顯示緩沖區(qū)79H~7EH,依次存放要顯示的6個(gè)字符(高4位清0,即00~09H,0A~0FH)。反復(fù)調(diào)用顯示子程序。DIS:MOVR0,#7EH;顯示緩沖區(qū)首址MOVR2,#01H;位選初始值MOVA,R2LP0:MOVDPTR,#7F01H;位選端口PAMOVX@DPTR,A;輸出位選代碼INCDPTR;段選端口PBMOVA,@R0;取顯示字符ADDA,#0DH;加偏移量MOVCA,@A+PC;查表得顯示字符的代碼MOV@DPTR,A;輸出顯示ACALLDIMS;調(diào)用延時(shí)子程序DECR0;修改顯示緩沖區(qū)指針MOVA,R2;修改位選指針JBACC.5,LP1;判斷是否全部顯示一次?RLA;沒有,則左移一位MOVR2,ASJMPLP0LP1:RETDB3FH,06H,5BH,…;顯示代碼表格LCD液晶顯示器LiquidCrystalDisplay
微功耗、體積小、顯示內(nèi)容豐富、超薄輕巧。任務(wù):如何在LCD的指定位置顯示出指定的字符以及字符串。2行×16列AbHelloworld主要內(nèi)容TC1602ALCD模塊引腳及結(jié)構(gòu)單片機(jī)與字符型LCD模塊接口LCD接口程序設(shè)計(jì)
12345678910111213141516VSSVDDVORSR/WEDB0DB1ADB3DB2DB5DB4DB7DB6KLCD模塊Vss:+5V電源管腳(Vcc)VDD:
地管腳(GND)Vo:
液晶顯示驅(qū)動(dòng)電源(0V~5V)V0為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高,對(duì)比度過高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過一個(gè)10K的電位器調(diào)整對(duì)比度。一、TC1602ALCD模塊引腳及結(jié)構(gòu)
12345678910111213141516VSSVDDVORSR/WEDB0DB1ADB3DB2DB5DB4DB7DB6KLCD模塊DB0~DB7:數(shù)據(jù)線,可以用8位連接,也可以只用高4位連接,節(jié)約單片機(jī)資源,本實(shí)驗(yàn)中采用的是八位連接方法。
12345678910111213141516VSSVDDVORSR/WEDB0DB1ADB3DB2DB5DB4DB7DB6KLCD模塊A:背光控制正電源K:背光控制地
12345678910111213141516VSSVDDVORSR/WEDB0DB1ADB3DB2DB5DB4DB7DB6KLCD模塊單片機(jī)與LCD模塊之間有四種基本操作: 寫命令 讀狀態(tài) 寫顯示數(shù)據(jù) 讀顯示數(shù)據(jù)
12345678910111213141516VSSVDDVORSR/WEDB0DB1ADB3DB2DB5DB4DB7DB6KLCD模塊RSR/W操作00寫命令操作(初始化、光標(biāo)定位等)01讀狀態(tài)操作(讀忙標(biāo)志)10寫數(shù)據(jù)操作(要顯示內(nèi)容)11讀數(shù)據(jù)操作(可以把顯示存儲(chǔ)區(qū)中的數(shù)據(jù)反讀出來)
12345678910111213141516VSSVDDVORSR/WEDB0DB1ADB3DB2DB5DB4DB7DB6KLCD模塊RS:數(shù)據(jù)和指令選擇控制端,RS=0:命令/狀態(tài);RS=1:數(shù)據(jù)R/W:讀寫控制線,R/W=0:寫操作;R/W=1:讀操作E:數(shù)據(jù)讀寫操作控制位,E線向LCD模塊發(fā)送一個(gè)脈沖,LCD模塊與單片機(jī)之間將進(jìn)行一次數(shù)據(jù)交換TC1602A的內(nèi)部結(jié)構(gòu)由DDRAM、CGRAM、CGROM、IR、DR、BF、AC等大規(guī)模集成電路組成DDRAM:存放要LCD顯示的數(shù)據(jù)。CGROM:存放192個(gè)5*7的點(diǎn)陣字符,只讀不寫CGRAM:存儲(chǔ)特殊造型的造型碼IR:存儲(chǔ)MCU寫給LCD的指令碼DR:相當(dāng)于數(shù)據(jù)緩沖器BF:忙碌信號(hào)AC:地址計(jì)數(shù)器:負(fù)責(zé)計(jì)數(shù)寫入/讀出CGRAM、DDRAM的數(shù)據(jù)地址,AC依照MCU對(duì)LCD的設(shè)置值而自動(dòng)修改其本身內(nèi)容。讀寫操作、屏幕和光標(biāo)的操作都是通過指令編程來實(shí)現(xiàn)指令名稱控制信號(hào)控制代碼RSRWD7D6D5D4D3D2D1D0清屏0000000001歸home位000000001*輸入方式設(shè)置00000001I/DS顯示狀態(tài)設(shè)置0000001DCB光標(biāo)畫面滾動(dòng)000001S/CR/L**功能設(shè)置00001DLNF**CGRAM地址設(shè)置0001A5A4A3A2A1A0DDRAM地址設(shè)置001A6A5A4A3A2A1A0讀BF和AC01BFAC6AC5AC4AC3AC2AC1AC0寫數(shù)據(jù)10數(shù)據(jù)讀數(shù)據(jù)11數(shù)據(jù)清除屏幕---01H,光標(biāo)復(fù)位到地址00H位置光標(biāo)復(fù)位。光標(biāo)返回到地址00Hreturn指令名稱控制信號(hào)控制代碼RSRWD7D6D5D4D3D2D1D0清屏0000000001歸home位000000001*輸入方式設(shè)置00000001I/DS顯示狀態(tài)設(shè)置0000001DCB光標(biāo)畫面滾動(dòng)000001S/CR/L**功能設(shè)置00001DLNF**CGRAM地址設(shè)置0001A5A4A3A2A1A0DDRAM地址設(shè)置001A6A5A4A3A2A1A0讀BF和AC01BFAC6AC5AC4AC3AC2AC1AC0寫數(shù)據(jù)10數(shù)據(jù)讀數(shù)據(jù)11數(shù)據(jù)光標(biāo)和顯示模式設(shè)置。I/D:光標(biāo)移動(dòng)方向,1:右移,0:左移;S:屏幕上所有文字是否左移或者右移。S=1:移位S=0:不移位設(shè)整體顯示開關(guān)(D),光標(biāo)顯示開關(guān)(C),光標(biāo)位的字符閃耀(B)D=1;C=0;B=000001100——0cH指令名稱控制信號(hào)控制代碼RSRWD7D6D5D4D3D2D1D0清屏0000000001歸home位000000001*輸入方式設(shè)置00000001I/DS顯示開關(guān)控制0000001DCB光標(biāo)畫面滾動(dòng)000001S/CR/L**功能設(shè)置00001DLNF**CGRAM地址設(shè)置0001A5A4A3A2A1A0DDRAM地址設(shè)置001A6A5A4A3A2A1A0讀BF和AC01BFAC6AC5AC4AC3AC2AC1AC0寫數(shù)據(jù)10數(shù)據(jù)讀數(shù)據(jù)11數(shù)據(jù)S/C:高電平時(shí)移動(dòng)顯示的文字,低電平時(shí)移動(dòng)光標(biāo)
設(shè)接口數(shù)據(jù)位數(shù)(DL),顯示行數(shù)(N),及字型(F)DL=1,8位=0:4位N=1:2行=0:1行F=1:5×10=0:5×700111000——38H指令名稱控制信號(hào)控制代碼RSRWD7D6D5D4D3D2D1D0清屏0000000001歸home位000000001*輸入方式設(shè)置00000001I/DS顯示開關(guān)控制0000001DCB光標(biāo)畫面滾動(dòng)000001S/CR/L**功能設(shè)置00001DLNF**CGRAM地址設(shè)置0001A5A4A3A2A1A0DDRAM地址設(shè)置001A6A5A4A3A2A1A0讀BF和AC01BFAC6AC5AC4AC3AC2AC1AC0寫數(shù)據(jù)10數(shù)據(jù)讀數(shù)據(jù)11數(shù)據(jù)字符發(fā)生器RAM地址設(shè)置設(shè)置DDRAM地址,為顯示定位讀忙信號(hào)和光標(biāo)地址BF:為忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。二、單片機(jī)與字符型LCD模塊接口數(shù)據(jù)線:DB7~DB0接單片機(jī)的P1.7~P1.0控制端:
RS~~P3.0R/W~~P3.1
E~~P3.2
單片機(jī)與LCD模塊硬件連接
連線表:
A01A07連接1+5V/GND+5V/GND連接2P1.0-P1.7DB0-DB7連接3P3.0RS連接4P3.1RW連接5P3.2E液晶顯示模塊是一個(gè)慢顯示器件,所以在執(zhí)行每條指令之前一定要確認(rèn)模塊的忙標(biāo)志為低電平,表示不忙,否則此指令失效。要顯示字符時(shí)要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符三、LCD接口程序設(shè)計(jì)程序設(shè)計(jì)功能設(shè)置——寫命令子程序
LCD初始化:按一定順序?qū)懨钭秩纾簩懬迤撩钭?、寫DDRAM光標(biāo)定位地址命令字顯示數(shù)據(jù)——寫數(shù)據(jù)子程序讀入狀態(tài)字——讀狀態(tài)子程序
定位光標(biāo)位置把顯示數(shù)據(jù)顯示在某個(gè)位置,就是把顯示數(shù)據(jù)寫在相應(yīng)的DDRAM地址中,DDRAM地址占7位。SetDDRAMaddress命令如下:row12345……141516line100H01H02H03H04H……0dH0eH0fHline240H41H42H43H44H……4dH4eH4fH≈≈≈≈NOTICE≈≈≈≈光標(biāo)定位,寫入一個(gè)顯示字符后,DDRAM地址會(huì)自動(dòng)加1或減1,加或減由輸入方式字設(shè)置;第1行DDRAM地址與第2行DDRAM地址并不連續(xù)。80H81H82H83H84H8dH8eH8fH0c0H0c1H0c2H0c3H0c4H0cdH0ceH0cfH每一個(gè)字符都有一個(gè)固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時(shí)模塊把地址41H中的點(diǎn)陣字符圖形顯示出來,我們就能看到字母“A”。例如要在液晶模塊的第二行第一個(gè)字符的位置顯示字母“A”
第二行第一個(gè)字符的地址是40H,那么是否直接寫入40H就可以將光標(biāo)定位在第二行第一個(gè)字符的位置呢?這樣不行,因?yàn)閷懭腼@示地址時(shí)要求最高位D7恒定為高電平1所以實(shí)際寫入的數(shù)據(jù)應(yīng)該是01000000B(40H)+10000000B(80H)=11000000B(C0H)LCD顯示程序設(shè)計(jì)mainLCD初始化光標(biāo)定位顯示字符SJMP$RSEQUP3.0RWEQUP3.1EEQUP3.5ORG0000HMOVP1,#00000001B;清屏ACALLENABLEMOVP1,#00111000B;8位2行5x7點(diǎn)陣ACALLENABLEMOVP1,#00001111B;顯示器開、光標(biāo)開、閃爍開ACALLENABLEMOVP1,#00000110B;文字不動(dòng),光標(biāo)自動(dòng)右移ACALLENABLEMOVP1,#0C0H;寫入顯示起始地址(第二行第一個(gè)位置)ACALLENABLEMOVP1,#01000001B;字母A的代碼SETBRSCLRRWCLREACALLDELAYSETBEAJMP$程序在開始時(shí)對(duì)液晶模塊功能進(jìn)行了初始化設(shè)置,約定了顯示格式。注意顯示字符時(shí)光標(biāo)是自動(dòng)右移的,無需人工干預(yù),每次輸入指令都先調(diào)用判斷液晶模塊是否忙的子程序DELAY,然后輸入顯示位置的地址000H,最后輸入要顯示的字符A的代碼41H。在液晶模塊的第二行第一個(gè)字符的位置顯示字母“A”:返回命令字ENABLE:CLRRS;寫入控制命令的子程序
CLRRW CLRE ACALLDELAY SETBE RETDELAY:MOVP1,#0FFH;判斷液晶顯示器是否忙的子程序
CLRRS SETBRW CLRE NOP SETBE JBP1.7,DELAY;如果P1.7為高電平表示忙就循環(huán)等待
RETEND9.3A/D轉(zhuǎn)換接口技術(shù)A/D轉(zhuǎn)換器是將模擬量轉(zhuǎn)換成數(shù)字量的器件。模擬量可以是電壓、電流等電信號(hào),也可以是聲、光、壓力和溫度等隨時(shí)間連續(xù)變化的非電物理量。非電物理量可通過合適的傳感器等轉(zhuǎn)換成電信號(hào),模擬量只有轉(zhuǎn)換成數(shù)字量才能被計(jì)算機(jī)采集、分析和計(jì)算處理。A/D轉(zhuǎn)換器的主要技術(shù)指標(biāo)分辨率:即輸出的數(shù)字量變化一個(gè)相鄰的值所對(duì)應(yīng)的輸入模擬量的變化量。通常用數(shù)字輸出最低位(LSB)所對(duì)應(yīng)的模擬輸入的電平值表示。(3~8位/9~12位/13位以上)精度:反映實(shí)際A/D轉(zhuǎn)換器在量化值上與理想A/D轉(zhuǎn)換器的差值??杀硎境山^對(duì)精度和相對(duì)精度轉(zhuǎn)換時(shí)間:由啟動(dòng)轉(zhuǎn)換命令到轉(zhuǎn)換結(jié)束信號(hào)開始有效的時(shí)間間隔輸入/輸出特性和范圍電源種類和功耗工作環(huán)境接口是否方便接口時(shí)注意的問題模擬量輸入信號(hào)的連接輸出數(shù)字量引腳的連接內(nèi)部無輸出鎖存器的,需通過鎖存器或I/O接口與單片機(jī)相連;輸出位數(shù)高于8位的,應(yīng)該分步讀出數(shù)字量。A/D轉(zhuǎn)換器的啟動(dòng)方式片選信號(hào)選中的基礎(chǔ)上,發(fā)出啟動(dòng)該芯片所需的信號(hào)判斷A/D轉(zhuǎn)換器結(jié)束及讀取數(shù)據(jù)
轉(zhuǎn)換結(jié)束標(biāo)記信號(hào),如EOC
讀取數(shù)據(jù)指令:MOVXA,@DPTR參考電源的連接
模擬量信號(hào)為單極性時(shí):接模擬地,接參考電源正端;雙極性時(shí),接參考電源負(fù)端,接參考電源正端A/D轉(zhuǎn)換方法雙積分式:抗干擾能力好,轉(zhuǎn)換速度低逐次逼近式:轉(zhuǎn)換速度較快,適中并行輸出:ADC0809串行輸出:TLC1549逐次逼近法A/D轉(zhuǎn)換原理逐次逼近法:對(duì)每一位進(jìn)行試探的過程,即判斷該位應(yīng)為0還是1。假設(shè)A/D轉(zhuǎn)換器是8位數(shù)字輸出,首先是每一個(gè)位都為0,即0000000010000000,D/A——〉Vs,*1000000,…………**100000,…………依此類推*******1,…………..雙積分A/D轉(zhuǎn)換原理在進(jìn)行一次A/D轉(zhuǎn)換時(shí),開關(guān)先把Vx采樣輸入到積分器,積分器從0V開始進(jìn)行固定時(shí)間T的正向積分,時(shí)間T到后,開關(guān)將與Vx極性相反的基準(zhǔn)電壓VREF輸入到積分器進(jìn)行反相積分,到輸出為0V時(shí)停止反相積分。反相積分時(shí)積分器的斜率是固定的,Vx越大,積分器的輸出電壓就越大,反相積分時(shí)間就越長。計(jì)數(shù)器在反相積分時(shí)間內(nèi)計(jì)數(shù)值就是輸入電壓Vx在時(shí)間T內(nèi)的平均值對(duì)應(yīng)的數(shù)字量。電子開關(guān)計(jì)數(shù)器控制邏輯VxVref減0比較器積分器數(shù)字量時(shí)鐘9.3.189C51和ADC0809的接口ADC0809是逐次逼近式的8路8位A/D轉(zhuǎn)換器,并行輸出,28腳,DIP封裝,轉(zhuǎn)換速度為100μs,電源電壓+5VADC0809引腳說明:IN0~I(xiàn)N7:8個(gè)模擬量輸入通道D0(2-8)~D7(2-1):8位數(shù)字量輸出ADDC、ADDB、ADDA:通道地址選擇線
000~111依次選擇轉(zhuǎn)換IN0~I(xiàn)N7ALE:地址鎖存允許START:啟動(dòng)一次A/D轉(zhuǎn)換EOC:轉(zhuǎn)換結(jié)束信號(hào)輸出線,開始轉(zhuǎn)換時(shí)為低電平,當(dāng)轉(zhuǎn)換結(jié)束時(shí)為高電平。供查詢或申請(qǐng)中斷OE:輸出允許控制端ADC0809與89C51的接口原理圖接地址線查詢?中斷?P2.7=0外部電壓u0外部電壓u1外部電壓u7外部電壓u3外部電壓u4外部電壓u6外部電壓u5外部電壓u289C51P1.0或int1編程要點(diǎn)選擇模擬量輸入通道發(fā)出啟動(dòng)及地址鎖存信號(hào)用查詢或中斷方法等待轉(zhuǎn)換結(jié)束(延時(shí))讀取轉(zhuǎn)換結(jié)果編寫采集IN0~I(xiàn)N7上的模擬量u0~u7的轉(zhuǎn)換程序,并將數(shù)字量存入30H~37H。MOVR1,#30H;緩存區(qū)首址MOVDPTR,#7FF8H;P2.7=0,且指向通道0(A2A1A0=000)MOVR7,#08H;置通道數(shù)LOOP:MOVX@DPTR,A;啟動(dòng)A/D轉(zhuǎn)換MOVR6,#55;延時(shí)110μs等待轉(zhuǎn)換結(jié)束DJNZR6,$;2個(gè)機(jī)器周期,12MHz,2μs,MOVxA,@DPTR;讀取轉(zhuǎn)換結(jié)果MOV@R1,A;存放結(jié)果INCR1;修改數(shù)據(jù)區(qū)指針I(yè)NCDPTR;指向下一個(gè)通道DJNZR7,LOOP;8個(gè)通道全采樣完了嗎?…或JBP1.0,$中斷方式程序SETBIT1SETBEX1SETBEAMOVDPTR,#7FF8HMOVA,#0MOVX@DPTR,A…EINT1:MOVDPTR,#7FF8HMOVXA,@DPTRMOV30H,AMOVA,#00MOVX@DPTR,ARETI初始化,啟動(dòng)A/D轉(zhuǎn)換IN0讀取數(shù)據(jù),再次啟動(dòng)IN0如何接著啟動(dòng)下一個(gè)通道?EINT1:INCDPTRINCR0MOVXA,@DPTRMOV@R0,AMOVA,#00MOVX@DPTR,ARETI9.3.2單通道串行輸出A/D芯片TLC1549及接口逐次比較型10位A/D6個(gè)工作方式:區(qū)別主要是cs是否連續(xù)為低電平快速、慢速:決定于I/OCLOCK周期TLC1549工作原理CS無效,I/OCLOCK被禁止,DATAOUT處于高阻狀態(tài),CS有效,I/OCLOCK控制DATAOUT輸出前次轉(zhuǎn)換數(shù)據(jù),同時(shí)A/D轉(zhuǎn)換器對(duì)本次轉(zhuǎn)換采樣。方式1工作時(shí)序TLC1549與89C51接口89C51
P3.0P3.1P3.2TLC1549ANALOGINCSI/OCLOCK
DATAOUTREF-GNDVCCREF+89C51讀取TLC1549中10位數(shù)據(jù)程序如下:
ORG0050HR1549:CLRP3.0:片選有效,選中TLC1549MOVR0,#2;先讀取高兩位數(shù)據(jù)
LCALLRDADA;調(diào)用讀數(shù)子程序
MOVR1,A;高兩位數(shù)據(jù)存入R1MOVR0,#8;要讀取低8位數(shù)據(jù)
LCALLRDATAMOVR2,A;低8位數(shù)據(jù)存入R2SETBP3.0;片選無效
CLRP3.1;時(shí)鐘低電平
RET;程序結(jié)束RDADA:CLRP3.1;時(shí)鐘低電平
MOVC,P3.2;數(shù)據(jù)送進(jìn)位位CYRLCA;數(shù)據(jù)送累加器ASETBP3.1;時(shí)鐘變高電平
DJNZR0,RDATA;讀書結(jié)束了嗎
RET;子程序結(jié)束D/A:DigitalsignalAnalogysignal衡量D/A性能的主要參數(shù)分辨率:輸出的模擬量最小變化量滿刻度誤差:輸入全1時(shí)輸出電壓與理想值的誤差電流穩(wěn)定時(shí)間:描述D/A轉(zhuǎn)換速率快慢的重要參數(shù),一般是指輸入數(shù)字量從全0變成全1時(shí),輸出模擬量穩(wěn)定到相應(yīng)范圍內(nèi)所經(jīng)歷的時(shí)間9.3D/A轉(zhuǎn)換接口技術(shù)9.3.1并行輸入DAC0832芯片8位電流輸出,穩(wěn)定時(shí)間1μs雙緩沖、單緩沖、直接數(shù)字輸入DAC0832的引腳D0~D7:數(shù)據(jù)輸入線ILE:數(shù)據(jù)鎖存允許控制信號(hào)輸入線,高電片有效CS:片選信號(hào)XFFR:數(shù)據(jù)傳輸控制信號(hào)輸入線WR1:輸入鎖存器寫選通輸入線WR2:DAC寄存器寫選通輸入線IOUT1:電流輸出線,當(dāng)DAC寄存器為全1時(shí)IOUT1最大IOUT2:電流輸出線,其值和IOUT1值之和為一常數(shù)Rfb:反饋信號(hào)輸入線,改變Rfb端外接電值可調(diào)整轉(zhuǎn)換滿量程精度VREF:基準(zhǔn)電壓輸入線AGND:模擬地DGND:數(shù)字地DAC0832邏輯結(jié)構(gòu)工作方式直通方式:數(shù)據(jù)線上的數(shù)據(jù)字節(jié)直通D/A轉(zhuǎn)換器轉(zhuǎn)換并輸出。單緩沖方式:輸入數(shù)據(jù)在控制信號(hào)作用下,直接打入DAC寄存器中雙緩沖方式:數(shù)字量的輸入鎖存和D/A轉(zhuǎn)換輸出時(shí)分兩步完成的。單路模擬量輸出的89C51系統(tǒng)89C51DAC0832工作于單緩沖方式,ILE接+5V,CS和XFER相連后由MCS-51的P2.7控制
WR1和WR2相連后由MCS-51的WR控制.這樣,89C51對(duì)DAC0832執(zhí)行一次寫操作就把一個(gè)數(shù)據(jù)直接寫入DAC寄存器,模擬量輸出隨之而變化.系統(tǒng)只有一路模擬量輸出或幾路模擬量不需同步的輸出場(chǎng)合,可采用單緩沖方式
89C51執(zhí)行下面的程序后,運(yùn)放的輸出端將產(chǎn)生一個(gè)鋸齒形電壓波:WAVE:MOVDPTR,#7FFFH;設(shè)置D/A口地址
MOVA,#0;輸入數(shù)字初值LOOP:MOVX@DPTR,A;輸出對(duì)應(yīng)于A值的模擬量
INCA;修改A的內(nèi)容
AJMPLOOP試寫出產(chǎn)生方波的程序?
產(chǎn)生方波的程序
MOVDPTR,#7FFFH;設(shè)置D/A口地址
LOOP:MOVA,#FFH;輸入數(shù)字最大值
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年智能制造裝備入股合作協(xié)議范本
- 2024-2030年中國安全鞋內(nèi)鋼包頭市場(chǎng)競(jìng)爭策略分析及發(fā)展趨勢(shì)研究報(bào)告
- 2024年度智能制造設(shè)備融資合作意向協(xié)議書3篇
- 2024-2030年中國反6烯十八酸項(xiàng)目可行性研究報(bào)告
- 梅河口康美職業(yè)技術(shù)學(xué)院《生態(tài)建筑》2023-2024學(xué)年第一學(xué)期期末試卷
- 眉山藥科職業(yè)學(xué)院《建筑室內(nèi)設(shè)計(jì)制圖與識(shí)圖》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年版公司股份轉(zhuǎn)讓及業(yè)務(wù)重組專項(xiàng)合同版B版
- 馬鞍山學(xué)院《鄉(xiāng)鎮(zhèn)總體規(guī)劃》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年度水暖電消防設(shè)施改造與節(jié)能降耗服務(wù)合同2篇
- 2024年小學(xué)三年級(jí)數(shù)學(xué)(北京版)-簡單分?jǐn)?shù)的加減法-3學(xué)習(xí)任務(wù)單
- 前蘇聯(lián)卡巴列夫斯基的g小調(diào)大提琴協(xié)奏曲藝術(shù)探究
- 在小學(xué)語文課堂教學(xué)中如何滲透孝道教育研究
- 《2021國標(biāo)暖通圖集資料》96K150-3 圓錐形風(fēng)帽
- 大班幼兒告狀行為的現(xiàn)狀及解決策略學(xué)前教育專業(yè)
- 煤礦井下放炮請(qǐng)示匯報(bào)制度范本
- 常見織帶花鏈的排法和穿棕方法
- 拜太歲科儀.doc
- 【公開課】課件——小班數(shù)學(xué)活動(dòng)《青蛙跳荷葉》
- 趕工措施施工方案(完整版)
- 犬腎衰竭的診斷和治療
- 實(shí)驗(yàn)二十八 實(shí)驗(yàn)設(shè)計(jì)——食醋中總酸度的測(cè)定
評(píng)論
0/150
提交評(píng)論