第9章 接口技術(shù)(6學時)幻燈片.ppt_第1頁
第9章 接口技術(shù)(6學時)幻燈片.ppt_第2頁
第9章 接口技術(shù)(6學時)幻燈片.ppt_第3頁
第9章 接口技術(shù)(6學時)幻燈片.ppt_第4頁
第9章 接口技術(shù)(6學時)幻燈片.ppt_第5頁
已閱讀5頁,還剩188頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、,9.1LED 顯示器接口 9.2鍵盤與單片機接口 9.3D/A轉(zhuǎn)換器接口 9.4A/D轉(zhuǎn)換器接口,9.1LED 顯示器接口,LED顯示器用于顯示工業(yè)控制參數(shù)、過程狀態(tài)。 9.1.1LED數(shù)碼管 共陰極LED和共陽極LED 當LED字段引線與數(shù)據(jù)線連接,每個顯示字形對應一個字形碼。,D7 D6 D5 D4 D3 D2 D1 D0 h g f e d c b a,多個七段LED數(shù)碼管的接口,多個數(shù)碼管與CPU的連接方法有4種: 1、靜態(tài)軟譯碼連接法 2、靜態(tài)硬譯碼連接法 3、動態(tài)硬譯碼連接法 4、動態(tài)軟譯碼連接法,a,b,c,d,e,f,g,Dp,(a)共陰極 (b)共陽極 (c)管腳配置 圖9

2、-1 七段LED顯示塊,結(jié)構(gòu)和顯示原理 共陰極:各段發(fā)光二極管的陰極連在一起,并且將此公共點接地。 共陽極:各段發(fā)光二極管的陽極連在一起接+5V。 將各發(fā)光二極管的引腳a、b、c、g、dp接到微機的一個并口的D0、D1、D2、D6、D7,則顯示每個字符需輸出固定的編碼,稱字段碼。,表9-1 七段LED的段選碼,顯示程序任務(wù):,1)設(shè)置顯示緩沖區(qū),存放待顯示數(shù)據(jù)和字符(位置碼)。 2)顯示譯碼:程序存儲器中建立字形碼常數(shù)表,查表得出對應數(shù)據(jù)和字符的字形碼。 3)輸出顯示:輸出字形碼到顯示端口。,例: MOV DPTR,#WTAB;指向字形碼表首地址 MOV A,R0 ;取顯示緩沖區(qū)中數(shù)據(jù) MOV

3、C A,A+DPTR;查表顯示譯碼 MOV P1,A ;輸出顯示 WTAB:DB3FH,06H,5BH ;字形碼表 ,9.1.2 LED接口電路,顯示多位數(shù)據(jù)的兩種電路: 1、靜態(tài)顯示 1)靜態(tài)顯示方式: 每一位顯示器的字段控制線是獨立的,當顯示某一字符時,該隹的各字段線和字位線的電平不變。,靜態(tài)軟譯碼連接法,在靜態(tài)軟譯碼連接法下,4個LED數(shù)碼管與單片機的連接圖 :,a,b,c,d,e,f,g,Dp,Dp,P0.0,P0.1,P0.2,P0.3,89C51,P0.4,P0.5,P0.6,P0.7,COM,a,b,c,d,e,f,g,共陰極LED,Dp,P2.0,P2.1,P2.2,P2.3,

4、P2.4,P2.5,P2.6,P2.7,COM,a,b,c,d,e,f,g,Dp,P1.0,P1.1,P1.2,P1.3,P1.4,P1.5,P1.6,P1.7,COM,a,b,c,d,e,f,g,Dp,P3.0,P3.1,P3.2,P3.3,P3.4,P3.5,P3.6,P3.7,COM,a,b,c,d,e,f,g,1、編程在4個七段LED數(shù)碼管上顯示1234。,MOV P0,#06H MOV P1,#5BH MOV P2,#4FH MOV P3,#66H SJMP $,2、編程在4個七段LED數(shù)碼管上顯示30H, 31H,32H,33H單元中存放的1位BCD碼 的內(nèi)容 。,MOV DPTR

5、,#TAB UP0: MOV A,30H MOVC A,A+DPTR MOV P0,A MOV A,31H MOVC A,A+DPTR MOV P1,A MOV A,32H MOVC A,A+DPTR MOV P2,A MOV A,33H MOVC A,A+DPTR MOV P3,A SJMP UP0 TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,思考:編程在4個七段LED數(shù)碼管上顯示30H,31H單元中的內(nèi)容。(30H,31H單元中分別存有2位BCD碼)。,答案,靜態(tài)硬譯碼連接法,在靜態(tài)硬譯碼連接法下,4個LED數(shù)碼管與單片機的連接圖 :,a

6、,b,c,d,e,f,g,Dp,P2.0,P2.1,P2.2,P2.3,89C51,Dp,P2.4,P2.5,P2.6,P2.7,COM,a,b,c,d,e,f,g,Dp,P1.0,P1.1,P1.2,P1.3,COM,a,b,c,d,e,f,g,P1.4,P1.5,P1.6,P1.7,A,B,C,D,LT,RBO,RBI,a,b,c,d,e,f,g,74LS47,+5V,Dp,COM,a,b,c,d,e,f,g,A,B,C,D,LT,RBO,RBI,a,b,c,d,e,f,g,74LS47,+5V,A,B,C,D,LT,RBO,RBI,a,b,c,d,e,f,g,74LS47,+5V,Dp,

7、COM,a,b,c,d,e,f,g,A,B,C,D,LT,RBO,RBI,a,b,c,d,e,f,g,74LS47,+5V,編程在4個七段LED數(shù)碼管上顯示30H,31H單元中的內(nèi)容。(30H,31H單元中分別存有2位BCD碼)。,思考:編程在4個七段LED數(shù)碼管上顯示30H, 31H,32H,33H單元中存放的1位BCD碼的內(nèi)容 。,+5V,+5V,+5V,+5V,程 序,答 案,LED顯示器與顯示方式,圖9.2 N位LED顯示器,圖9-3 四位靜態(tài)LED顯示器電路,2)靜態(tài)顯示器硬件電路 串口:8031的串行口工作于方式時,為移位寄存器方式。 圖9.4為利用片串入并出移位寄存器74LS16

8、4作為位靜態(tài)顯示器輸出口,欲顯示的位段碼即字碼通過軟件譯碼產(chǎn)生,并由RXD串行發(fā)送出去,這樣,主程序可不必掃描顯示器,從而CPU能用于其它工作。,1靜態(tài)顯示器硬件電路,圖9.4 串行口六位靜態(tài)LED顯示器,程序清單:功能顯示“P-8031” START: MOV SCON,00H;定義串行工作方式 CLR TI SETB P1.7 ; 傳送控制 MOV R1, #06H MOV R0, #00H ;字型碼首址偏移量 MOV DPTR, #TAB LOOP: MOV A, R0 MOVC A, A+DPTR ;取出字型碼 MOV SBUF, A ;發(fā)送 WAIT: JNB T1, WAIT ;等

9、待一幀發(fā)送完畢 CLR T1 INC R0 ;指向下一個字型碼 DJNZ R1, LOOP CLR P1.7 ;關(guān)閉顯示器傳送控制 TAB: DB 06H, 4FH, 3FH, 7FH, 40H, 73H ;1308-P,硬件譯碼顯示器接口,圖9-5MC14495內(nèi)部邏輯與引腳圖,圖9-6 使用MC14495的多位LED靜態(tài)顯示接口,9.1.2 LED接口電路2017年1月4日星期三,2動態(tài)顯示,多位LED共用一個8位字段口,各位LED公共端用字位口控制,掃描輸出顯示不同字形。,顯示緩沖區(qū)與多位LED對應關(guān)系:,動態(tài)硬譯碼連接法,在動態(tài)硬譯碼連接法下,4個LED數(shù)碼管與單片機的連接圖 :,a,

10、b,c,d,e,f,g,Dp,P2.0,P2.1,P2.2,P2.3,89C51,P2.4,P2.5,P2.6,P2.7,COM,a,b,c,d,e,f,g,A,B,C,D,LT,RBO,RBI,a,b,c,d,e,f,g,74LS48,+5V,COM,a,b,c,d,e,f,g,COM,a,b,c,d,e,f,g,COM,a,b,c,d,e,f,g,例: 編程在4個七段LED數(shù)碼管上顯示1234。 在動態(tài)連接法下,數(shù)碼管公共端均受控。驅(qū)動程序的編制充分利用了人眼的視覺滯留效應,循環(huán)掃描各數(shù)碼管,使各數(shù)碼管不是連續(xù)顯示,但給人的視覺印象是連續(xù)地在顯示。每個數(shù)碼管的顯示時間不得低于1ms,不亮的

11、時間不能超過20 ms。 利用人眼的視覺滯留現(xiàn)象,實現(xiàn)讓4個七段LED數(shù)碼管上不同時顯示1234,但人眼看到的效果 卻是同時顯示1234。,1,2,3,4,思考:編程在4個七段LED數(shù)碼管上顯示 30H,31H,32H,33H單元中的內(nèi)容。,程 序,答 案,動態(tài)軟譯碼連接法,在動態(tài)軟譯碼連接法下,4個LED數(shù)碼管與單片機的連接圖 :,a,b,c,d,e,f,g,Dp,P2.0,P2.1,P2.2,P2.3,89C51,P3.0,P3.1,P3.2,P3.3,COM,a,b,c,d,e,f,g,驅(qū) 動 器,COM,a,b,c,d,e,f,g,COM,a,b,c,d,e,f,g,COM,a,b,c

12、,d,e,f,g,1,2,3,4,P2.4,P2.5,P2.6,P2.7,例: 編程在4個七段LED數(shù)碼管上顯示1234。 例:編程在4個七段LED數(shù)碼管上顯示30H,31H,32H,33H單元中的內(nèi)容。,程 序,程 序,動態(tài)顯示方式:將所有位的字段線對應并,由一個8位I/O口控制,而共陰極點或共陽點由另一I/O口線控制。,LED動態(tài)顯示方式,圖9.7 8位LED動態(tài)顯示器電路,圖9-8通過8155擴展I/O口控制的8位LED動態(tài)顯示接口 軟件譯碼顯示,2、軟件譯碼顯示2009年4月8日星期三,顯示程序:,DIS: MOV DPTR,#7F00H MOV A,#03H MOVX DPTR,A

13、MOV R0,#7AH ;指向顯示緩沖區(qū)起始單元 MOV R3,#80H ;字位碼初值R3 MOV A,R3 ;取字位碼 DLP: RL A ;顯示下一位1 MOV DPTR,#7F01H;指向字位口 (PA口) MOVX DPTR,A ;輸出字位碼,顯示其中1位 MOV A,R0 ;取一個顯示數(shù)據(jù) ADD A,#0BH ;查表偏移量 MOVC A,A+PC ;取出字形碼 INC DPTR ;指向字段口(PB口)1 MOVX DPTR,A ;輸出字形碼1 ACALL DLY1MS ;延時1ms2 INC R0 ;指向顯緩區(qū)下一單元1 MOV A,R3 ;修改字位碼1 MOV R3,A ;1 J

14、NB ACC.7,DLP ;未顯示到最右邊LED,繼續(xù)顯示3 RET ;全部掃描一遍,結(jié)束1,DTAB:DB 0C0H,0F9H,0A4H ;字形表 DB 0B0H,99H, DLY1MS: ;延時1ms子程序,動態(tài)顯示接口例,1)硬件設(shè)計 圖9-8為用8155擴展I/O口的位LED動態(tài)顯示器,顯示掃描由程序控實現(xiàn)。只需要8155提供出口即可。圖中PB口輸出段選碼,PA口輸出位選碼。位選碼占用輸出口線數(shù)決定于顯示器位數(shù)。BIC-8718為位集成驅(qū)動芯片。,2)程序設(shè)計.程序說明,程序說明:R0顯示緩沖區(qū)數(shù)據(jù)指針,初值為78H R3位掃描寄存器,初值7F R6、R7減1計數(shù)器 顯示緩沖區(qū)設(shè)803

15、1片內(nèi)RAM的78H7FH單元位顯示緩沖區(qū),依次(從低位到高位)存放八個要顯示的字符/數(shù)據(jù)在段選碼地址表中的序號。,3)動態(tài)顯子程序設(shè)計要點,建立顯示數(shù)據(jù)緩沖區(qū)存放待顯示數(shù)字、字符在字型編碼表中的序號; 軟件譯碼利用查表方法獲得字型編碼(段選碼); 位掃描輸出采用移位方法逐位點亮LED顯示器; 延時子程序控制點亮時間和時間間隔。,DIR: MOV A, #00000011B ;8155初始化 MOV DPTR, #7F00H MOVX DPTR, A MOV R0, #78H ;設(shè)顯示 緩沖區(qū)首址 MOV R3, #7FH ;存首位位選字 MOV A, R3,LD0:MOV DPTR, #7F

16、01H ;指向PA口 MOVX DPTR, A ;送位選字入PA口 INC DPTR ;指向PB口 MOV A, R0 ;查段選碼 ADD A, #0DH ;#0DH為從查表指令下一個機器碼至首的偏移量 MOVC A, A+PC; MOVX DPTR, A ;段選碼送PB口1 ACALL DL1 ;延時1ms2 INC R0 ;指向顯示緩沖區(qū)下一單元1 MOV A, R3 ;1 JNB ACC.0, LD1 ;判斷八位顯示完?3 RR A ;未顯示完,變?yōu)橄乱晃晃贿x字1 MOV R3, A;1 AJMP LD0 ;轉(zhuǎn)顯示下一位 2 LD1: RET;1,DSEG: DB 3FH, 06H, 5

17、BH, 4FH, 66H, 6DH, “0” “1” “2” “3” “4” “5” DB 7DH, 07H, 7FH, 6FH, 77H, 7CH , “6” “7” “8” “9” “A” “B” DB 39H, 5EH, 79H, 71H, 73H,3EH, “C” “D” “E” “F” “P” “U” DB 31H, 6EH “R” “Y” DL1: MOV R7, #02H ;延時子程序 DL: MOV R6, #0FFH DL6: DJNZ R6, DL6 DJNZ R7, DL RET,4、動態(tài)顯示子程序的應用顯示CPUREADY,MAIN: MOV SP, #60H MOV

18、R0, #78H MOV R0, #0CH;C INC R0 MOV R0, #10H;P INC R0 MOV R0, #11H;U INC R0 MOV R0, #12H;R INC R0 MOV R0, #0EH;E INC R0 MOV R0, #0AH;A INC R0 MOV R0, #0DH;D INC R0 MOV R0, #13H;Y,NEXT: LCALL DIR SJMP NEXT,9.2 鍵盤與單片機接口,鍵盤處理程序任務(wù) 1)鍵輸入 檢查鍵盤是否有鍵被按下,消除按鍵抖動。確定被按鍵的鍵號,獲取鍵號。 硬件電路消除抖動或軟件消除抖動。,2)鍵譯碼 鍵號為鍵盤位置碼,根據(jù)

19、鍵號查表得出被按鍵的鍵值。鍵值:數(shù)字鍵09、字符鍵0AH0FH、功能鍵10H 。,3)鍵處理 根據(jù)鍵值轉(zhuǎn)移到不同程序段。 若鍵值屬于數(shù)字、字符鍵,則調(diào)用顯示數(shù)字和字符的子程序。 若鍵值屬于功能鍵,則進行多分支轉(zhuǎn)移,執(zhí)行各個功能程序段。,按鍵處理程序:,9.2.1 獨立式鍵盤電路,9.2.2 矩陣式鍵盤,1.掃描法 列線輸出,行線輸入。 列線逐行輸出0,某行有按鍵,行線輸入有0,若無按鍵,行線輸入全部為1。 2.反轉(zhuǎn)法 行列線交換輸入、輸出,兩步獲取按鍵鍵號。,每個按鍵單獨占有一根I/O接口引線。,(a)線反轉(zhuǎn)法第一步 (b)線反轉(zhuǎn)法第二步 圖9-9 線反轉(zhuǎn)法原理,圖9-10 行列式鍵盤原理電路

20、,圖9-11 中斷方式鍵盤接口,非編碼鍵盤與單片機的接口,線性非編碼鍵盤的鍵開關(guān)排成一行或一列的形式,它與單片機的接口電路如圖所示:,K1,K2,K3,K4,P1.1,P1.0,P1.2,P1.3,89C51,+5V,線性非編碼鍵盤的工作原理:當鍵未被按下時,與此鍵相連的I/O線獲得高電平;當鍵被按下時,與此鍵相連的I/O線獲得低電平,單片機只要讀取I/O口狀態(tài),就可以獲取按鍵信息,識別有無鍵按下和哪個鍵被按下。 鍵處理程序如下: MOV P1,#0FFH UP1: MOV A,P1 ;讀I/O口狀態(tài) ANL A,#0FH ;屏蔽無用位 CJNE A,#0FH,NEXT1 ;有閉合鍵? SJM

21、P UP1 NEXT1: LCALL D10ms ;延時10ms去抖動 MOV A,P1 ;再讀I/O口狀態(tài) ANL A,#0FH CJNE A,#0FH,NEXT2 ;有閉合鍵? SJMP UP1 NEXT2:JB P1.0,NEXT3 ;K1按下? LCALL K1 ;K1鍵處理程序 NEXT3: JB P1.1,NEXT4 ;K2按下? LCALL K2 ;K2鍵處理程序 NEXT4: JB P1.2,NEXT5 ;K3按下? LCALL K3 ;K3鍵處理程序 NEXT5: JB P1.3,UP1 ;K4按下? LCALL K4 ;K4鍵處理程序 LJMP UP1,例,9.2.3鍵盤掃

22、描控制方式,(1)程序控制掃描方式(查詢) (2) 定時掃描控制方式 (3)中斷控制方式,1) 查詢工作方式 鍵盤中有無鍵按下是由列線送出全掃描字,讀入行線狀態(tài)來判別的。其方法是:PA口輸出00H,即所有列線置成低電平,然后將行線電平狀態(tài)讀入累加器A中。如果有鍵按下,總會有一根行線電平被拉至低電平,從而使行輸入狀態(tài)不全為“1”。(見下圖) 鍵盤中哪一個鍵按下是由列線逐列置低電平后,檢查行輸入狀態(tài),稱為逐列掃描。其方法是:從PA0開始,依次輸出0,置對應的列線為低電平,然后從PC口讀入行線狀態(tài),如果全為1,則所按下之鍵不在此列;如果不全為1,則所按下的鍵必在此列,而且是與0電平行線相交的交點上的

23、那個鍵。 為求取鍵碼,在逐列掃描時,可用計數(shù)器記錄下當前掃描列的列號,然后用行線值為0的行首鍵碼加列號的辦法計算。,鍵盤掃描子程序如下:(掃描法) KEY1:ACALL KS1 ;調(diào)用判斷有無鍵按下子程序 JNZ LK1 ;有鍵按下時,(A) 0轉(zhuǎn)消抖延時 AJMP KEY1 ;無鍵按下返回 LK1:ACALL TM12S ;調(diào)12 ms延時子程序 ACALL KS1 ;查有無鍵按下,若有則真有鍵按下 JNZ LK2 ;鍵(A) 0逐列掃描 AJMP KEY1 ;不是真有鍵按下,返回 LK2;MOV R2,#0FEH ;初始列掃描字(0列)送入R2 MOV R4,#00H ;初始列(0列)號送

24、入R4,LK4:MOV DPTR,#7F01H ;DPTR指向8155PA口逐行判斷 MOV A,R2 ;列掃描字送至8155PA口 MOVX DPTR,A INC DPTR ;DPTR指向8155PC口 INC DPTR MOVX A,DPTR ;從8155 PC口讀入行狀態(tài) JB ACC.0,LONE ;查第0行無鍵按下,轉(zhuǎn)查第1行 MOV A,#00H ;第0行有鍵按下,行首鍵碼#00HA AJMP LKP ;轉(zhuǎn)求鍵碼 LONE:JB ACC.1,LTWO ;查第1行無鍵按下,轉(zhuǎn)查第2行 MOV A,#08H ;第1行有鍵按下,行首鍵碼#08HA AJMP LKP ;轉(zhuǎn)求鍵碼,LTWO:

25、JB ACC.2,LTHR ;查第2行無鍵按下,轉(zhuǎn)查第3行 MOV A,#10H ;第2行有鍵按下,行首鍵碼#10HA AJMP LKP ;轉(zhuǎn)求鍵碼 LTHR:JB ACC.3,NEXT ;查第3行無鍵按下,轉(zhuǎn)該查下一列 MOV A,#18H ;第3行有鍵按下,行首鍵碼#18HA LKP:ADD A,R4 ;求鍵碼,鍵碼=行首鍵碼+列號 PUSH ACC ;鍵碼進棧保護 LK3:ACALL KS1 ;等待鍵釋放 JNZ LK3 ;鍵未釋放,等待 POP ACC ;鍵釋放,鍵碼A RET ;鍵掃描結(jié)束,出口狀態(tài)(A)=鍵碼,NEXT:INC R4 ;準備掃描下一列,列號加1控制逐列 MOV A,

26、R2 ;取列號送累加器A JNB ACC.7,KEND ;判斷8列掃描否?掃描完返回 RL A ;掃描字左移一位,變?yōu)橄乱涣袙呙枳?MOV R2,A ;掃描字送入R2 AJMP LK4 ;轉(zhuǎn)下一列掃描 KEND:AJMP KEY1 KS1:MOV DPTR,#7F01H ;DPTR指向8155PA口 MOV A,#00H ;全掃描字A MOVX DPTR,A ;全掃描字送往8155PA口,INC DPTR ;DPTR指向8155PC口 INC DPTR MOVX A,DPTR ;讀入PC口行狀態(tài) CPL A ;變正邏輯,以高電平表示有鍵按下 ANL A,#0FH ;屏蔽高4位,只保留低4位行線

27、值 RET ;出口狀態(tài):(A)0時有鍵按下 TM12ms:MOV R7,#18H ;延時12 ms子程序 TM: MOV R6,#0FFH TM6 : DJNZ R6,TM6 DJNZ R7,TM RET,2) 定時掃描工作方式 定時掃描方式就是利用單片機內(nèi)的定時器來產(chǎn)生定時中斷,然后在定時中斷的服務(wù)程序中掃描和讀鍵,檢查有無鍵按下,并確定鍵值,3) 中斷工作方式 計算機應用系統(tǒng)工作時,并不經(jīng)常需要鍵輸入。但無論是查詢工作方式還是定時掃描工作方式,CPU經(jīng)常處于空掃描狀態(tài)。為了提高CPU的效率,可采用中斷工作方式。這種工作方式是當鍵盤上有鍵按下時,向CPU發(fā)一個中斷請求信號,CPU響應中斷后,

28、在中斷服務(wù)程序中掃描鍵盤,執(zhí)行鍵功能程序。中斷請求信號的接口電路可參考圖9-11。中斷服務(wù)程序中應完成鍵識別、消除抖動、排除多次執(zhí)行鍵功能操作等功能,可參考查詢工作方式鍵盤程序。,矩陣式鍵盤及其接口(反轉(zhuǎn)法),9.3D/A轉(zhuǎn)換器接口,在數(shù)字測量和數(shù)字控制裝置以及微型計算機應用系統(tǒng)中,都廣泛應用D/A和AD轉(zhuǎn)換器,以實現(xiàn)這些裝置及系統(tǒng)對模擬信號的處理和操作。近年來由于數(shù)字電子技術(shù)和微機應用技術(shù)的迅速發(fā)展,也推動了A/D和D/A轉(zhuǎn)換技術(shù)的飛快發(fā)展,產(chǎn)生了大量的A/D和D/A換器供用戶選擇使用。,A/D和D/A作用,D/A轉(zhuǎn)換器的主要參數(shù): 分辨率(Resolution) 偏移誤差(OffsetEr

29、ror) 線性度(Linearity) 精度(Accuracy) 轉(zhuǎn)換速度(ConvemionRate) 溫度靈敏度(TemperatureSensitivity),工作原理,采用R-2R的電阻網(wǎng)絡(luò),D/A芯片是將R-2R電阻網(wǎng)絡(luò)、二進制數(shù)碼控制的電子開關(guān)以及一些控制電路集成在一起的電路。,9.3.1 典型D/A轉(zhuǎn)換器芯片DAC0832 主要性能參數(shù): 分辨率:DAC0832是一個8位D/A轉(zhuǎn)換器芯片, 單電源供電,從+5V+15V均可正常工作 基準電壓的范圍為10V 精度 (線性誤差 0.2FSR) 電流建立時間為1s,CMOS工藝, 低功耗20mW。 理想輸出電壓,其內(nèi)部結(jié)構(gòu)如圖9.1所示

30、,它由1個8位輸入寄存器、1個8位DAC寄存器和1個8位D/A轉(zhuǎn)換器組成和引腳排列如圖9.2所示。,DAC0830/DAC0831/ DAC0832的結(jié)構(gòu)與引腳功能,DAC0830系列結(jié)構(gòu)框圖,9.3.2 DAC0832管角功能,該D/A轉(zhuǎn)換器為20引腳雙列直插式封裝,各引腳含義如下: (1)D0D7:8位數(shù)據(jù)輸入線,TTL電平,有效時間應大于90ns(否則鎖存器的數(shù)據(jù)會出錯); (2)ILE:數(shù)據(jù)鎖存允許控制信號輸入線,高電平有效; (3) /CS:片選信號輸入線(選通數(shù)據(jù)鎖存器),低電平有效; (4)/WR1:數(shù)據(jù)鎖存器寫選通輸入線,負脈沖(脈寬應大于500ns)有效。由ILE、/CS、/

31、WR1的邏輯組合產(chǎn)生/LE1,當/LE1為高電平時,數(shù)據(jù)鎖存器狀態(tài)隨輸入數(shù)據(jù)線變換,/LE1的負跳變時將輸入數(shù)據(jù)鎖存; (5)/XFER:數(shù)據(jù)傳輸控制信號輸入線,低電平有效,負脈沖(脈寬應大于500ns)有效; (6)/WR2:DAC寄存器選通輸入線,負脈沖(脈寬應大于500ns)有效。由/WR2、/XFER的邏輯組合產(chǎn)生/LE2,當/LE2為高電平時,DAC寄存器的輸出隨寄存器的輸入而變化,/LE2的負跳變時將數(shù)據(jù)鎖存器的內(nèi)容打入DAC寄存器并開始D/A轉(zhuǎn)換。,(7)IOUT1:電流輸出端1,其值隨DAC寄存器的內(nèi)容線性變化; (8)IOUT2:電流輸出端2,其值與IOUT1值之和為一常數(shù);

32、 (9)Rfb:反饋信號輸入線,改變Rfb端外接電阻值可調(diào)整轉(zhuǎn)換滿量程精度; (10)Vcc:電源輸入端,Vcc的范圍為+5V+15V; (11)VREF:基準電壓輸入線,VREF的范圍為-10V+10V; (12)AGND:模擬信號地; (13) DGND:數(shù)字信號地。,9.3.3DAC0832的工作方式 由于DAC0832內(nèi)部有兩級緩沖寄存器,所以可以方便地選擇三種工作方式: 1)直通式:/WR1、/WR2、/XFER、/CS接地,ILE接高電平,即不用寫信號控制,使輸入數(shù)據(jù)直接進入D/A轉(zhuǎn)換器。 2)單緩沖式:兩個寄存器一個處于直通狀態(tài),另一個處于受控狀態(tài),輸入數(shù)據(jù)只經(jīng)過一個寄存器緩沖控

33、制后,進入D/A轉(zhuǎn)換器?;騼蓚€寄存器同時鎖存。 3)雙緩沖式:兩個寄存器都處于受控狀態(tài),即用/WR1和/WR2分兩步控制。在這種為方式下可使多路D/A轉(zhuǎn)換器同步輸出。,9.3.4DAC0832的電壓轉(zhuǎn)換,使用運算放大器將DAC0832的電流輸出線性地轉(zhuǎn)換成電壓輸出。,上圖 中 MCS-51執(zhí)行下面的程序后,運放的輸出端產(chǎn)生一個鋸齒型電壓波: MAIN;MOV DPTR,#7 FFFH MOV A, #0 LOOP:MOVXDPTR, A INC A AJMP LOOP,9.3.5 DAC0832的接口,8位 輸入 寄 存 器,8位 DAC 寄 存 器,8位 D/A 轉(zhuǎn) 換 器,DI0,DI1,

34、DI2,DI3,DI4,DI5,DI6,DI7,+,+,ILE,CS,WR1,XFER,WR2,VREF,IOUT1,IOUT2,DGND,LE1,LE2,DAC0832轉(zhuǎn)換器可以有三種工作方法,即直通方式、單緩沖方式和雙緩沖方式。 直通方式:這時兩個8位數(shù)據(jù)寄存器都處于數(shù)據(jù)接收狀態(tài),即LEI和IE2都為1。輸入數(shù)據(jù)直接送到內(nèi)部DA轉(zhuǎn)換器去轉(zhuǎn)換。 單緩沖方式:這時兩個8位數(shù)據(jù)寄存器中有一個處于直通方式(數(shù)據(jù)接收狀態(tài)),而另一個則受微機送來的控制信號控制。在單緩沖工作方式時,0832中兩個數(shù)據(jù)寄存器有一個處于直通方式,一般都是將8位DAC寄存器置于直通方式。 雙緩沖方式:這時兩個8位數(shù)據(jù)寄存器都

35、不處于直通方式,單片機或其他微機必須送兩次寫信號才能完成一次DA轉(zhuǎn)換。,Rfb,DAC0832的接口直通方式,直通方式:這時兩個8位數(shù)據(jù)寄存器都處于數(shù)據(jù)接收狀態(tài),即LEI和IE2都為1。因此,IEL =1,而CS、WRl、WR2和XFER為0。輸入數(shù)據(jù)直接送到內(nèi)部DA轉(zhuǎn)換器去轉(zhuǎn)換。這種方式可用于一些不帶微機的控制系統(tǒng)中。,DAC0832的接口單緩沖方式,單緩沖方式:這時兩個8位數(shù)據(jù)寄存器中有一個處于直通方式(數(shù)據(jù)接收狀態(tài)),而另一個則受微機送來的控制信號控制。在單緩沖工作方式時,0832中兩個數(shù)據(jù)寄存器有一個處于直通方式,一般都是將8位DAC寄存器置于直通方式。為此,應將WR2和XFER固定接

36、零。而輸入寄存器是工作于鎖存器狀態(tài),它對于8031單片機來說,相當于一個外部RAM單元。,DAC0832的接口雙緩沖方式,雙緩沖方式:這時兩個8位數(shù)據(jù)寄存器都不處于直通方式,單片機或其他微機必須送兩次寫信號才能完成一次DA轉(zhuǎn)換。若采用雙緩沖方式,則DAC0832應被看作是外部RAM的兩個單元而不是一個單元。,9.3.6DAC0832的應用 (1)單緩沖方式,只有一路輸入時,DAC0832內(nèi)部有輸入寄存器,所以可以直接相連而不必加鎖存器。 輸入寄存器允許信號ILE固定接高電平。 片選信號/CS和傳送控制信號/Xfer一起接到8031的某根高位地址線如P27端 寫信號WRl和WR2一起接到8031

37、的/WR端。 這樣,DAC0832作為8031的一個擴展I/O口,地址為7FFFH。 基準電壓V ref直接與工作電源電壓相連,8031對 DAC0832執(zhí)行一次寫操作,就能使DAC0832對輸入的數(shù)字量進行一次D/A轉(zhuǎn)換。轉(zhuǎn)換程序如下。 MOV DPTR,7 FFFH;送DAC0832地址 MOV A,data;要轉(zhuǎn)換的數(shù)字量送A MOVXDPTR, A;數(shù)字量送D/A芯片,進行轉(zhuǎn)換輸出 (2)雙緩沖方式,(2)雙緩沖方式,多路輸出,同步轉(zhuǎn)換輸出,2014年12月15日,在多路D/A轉(zhuǎn)換的情況下,若要求同步轉(zhuǎn)換輸出,必須采用雙緩沖方式。 DAC0832采用雙緩沖方式時,數(shù)字量輸入 鎖存和D/

38、A轉(zhuǎn)換輸出量是分兩步進行的:第一,CPU分時向各路D/A轉(zhuǎn)換器輸入要轉(zhuǎn)換的數(shù)字量并鎖存在各自的輸入寄存器中;第二,CPU對所有的D/A轉(zhuǎn)換器發(fā)出控制信號,使各路輸入寄存器中的數(shù)據(jù)進入DAC寄存器,實現(xiàn)同步轉(zhuǎn)換輸出。,實現(xiàn)兩路同步輸出的示例程序如下: MOV DPTR,0DFFFH;送0832(1)輸入鎖存器地址 MOV A,datal;datal送0832(1)輸入鎖存器 MOVX DPTR,A MOV DPTR,0BFFFH;送0832 (2)輸入鎖存器地址 MOV A,data2;data2送0832(2)輸入鎖存器 MOVX DPTR,A MOV DPTR,7FFFH;送兩路DAC寄存器

39、地址 MOVXDPTR, A;兩路數(shù)據(jù)同步轉(zhuǎn)換輸出,DAC 0832與單片機連接,例:D/A轉(zhuǎn)換程序,用DAC 0832輸出05V鋸齒波,電路為直通方式。 設(shè)VREF= - 5V,DAC 0832地址為7FFFH,脈沖周期要求為100ms。,DACS:MOVDPTR,#7FFFH;0832 I/O地址 MOVA,#0;開始輸出0V DACL:MOVXDPTR,A;輸出模擬量 INCA;升壓 ACALLDELAY;延時100ms/256 AJMPDACL;連續(xù)輸出 DELAY:;延時子程序,單緩沖方式:輸入寄存器和DAC寄存器共用一個地址,同時選通輸出。,雙緩沖器方式:輸入寄存器和DAC寄存器分

40、配有各自的地址,可分別選通用同時輸出多路模擬信號。,/XFER控制線與/CS接P2. 6。當P2. 6=0時,選通D/A通道。 對于D/A轉(zhuǎn)換器輸出部分的接口電路,由于考慮到由軟件產(chǎn)生電壓波形有正、負極性輸出,因此這部分電路設(shè)計成雙極性電壓輸出。其中U6, U7亦可選用LF356, OP07等集成電路,低噪聲的運算放大器可選用OP27集成電路。 2.軟件設(shè)計 在圖7-14同一硬件電路支持下,只要編寫不同的程序便可產(chǎn)生不同波形的模擬電壓。,1)反向鋸齒波程序清單 MSW: MOV DPTR,#0BFFFH;指向D/A輸入寄存器 DA0:MOV R7,#80H;置輸出初值 DA1:MOV A, R

41、7;數(shù)字量送A MOVX DPTR,A;送D/A轉(zhuǎn)換 DJNZ R7,DA1;修改數(shù)字量 AJMP DA0;重復下一個波形 其輸出電壓波形如圖7-15(a)所示。,2)正向鋸齒波程序清單 PSW: MOV DPTR,#0BFFFH;指向D/A輸入寄存器 DAP0:MOV R7,#80H;置輸出初值 DAP1:MOV A, R7;數(shù)字量送A MOVX DPTR,A;送D/A轉(zhuǎn)換 INC R7;修改數(shù)字量 CJNE R7,#255,DAP1;數(shù)字量,255,轉(zhuǎn)DAP1 AJMP DAP0;重復下一個波形 其輸出電壓波形如圖7-15(b)所示。,3)雙向鋸齒波程序清單 DSW:MOV DPTR,#0

42、BFFFH MOV R7,#0 DAD0:MOV A,R7 MOVX DPTR,A INC R7 AJMP DAD0 其輸出波形如圖7-15(c)所示。,4)三角波程序清單 SSW:MOV DPTR,0BFFFH DAS0:MOV R7,80H DAS1:MOVA,R7 MOVX DPTR,A INC R7 CJNE R7,255,DAS1 DAS2:DEC R7 MOVA,R7 MOVX DPTR,A CJNE R7,80H,DAS2,AJMP DAS0 其輸出波形為正向三角波如圖7一15(d)所示。 5)正弦波電壓輸出 正弦波電壓輸出雙極性電壓。最簡單的辦法是將一個周期內(nèi)電壓變化的幅值(-

43、5V5V)按8位DA分辨率分為256個數(shù)值列成表格,然后依次將這些數(shù)字量送人DA轉(zhuǎn)換輸出。只要循環(huán)不斷地送數(shù),在輸出端就能獲得正弦波輸出,如圖7-15(e)所示。正弦波程序清單如下。,SIN:MOV R7,00H;置偏移量 DAS0:MOVA,R7 MOV DPTR,TABH;設(shè)指針 MOVX A,ADPTR;取數(shù)據(jù) MOV DPTR,8000H MOVX DPTR,A;送DA轉(zhuǎn)換 INC R7;修改偏移量 AJMP DAS0,TAB:DB 80H,83H,86H,89H,8DH,90H DB 93H,96H,99H,9CH,9FH,0A2H DB 0A5H,0A8H,0ABH,0AEH DB

44、 6FH,72H,76H,79H,7CH,80H,應用舉例,正弦波發(fā)生器 若要產(chǎn)生正弦波可以采用查表的方法。假設(shè)正弦波的幅值為5V,一個周期中的表示點數(shù)為N,那么第1點的角度為0,對應的正弦值為5 sin0;第2點的角度為360/N,對應的正弦值為5sin(360N);正弦彼產(chǎn)生方法示意如圖4-17所示。將這些模擬量正弦值都轉(zhuǎn)換為雙極性方式下的數(shù)字量。這樣就能建立一張按照點的號碼順序排列的數(shù)字量正弦值表格,產(chǎn)生正弦波的程序如下。 MOV R5,00H;計數(shù)器賦初值 SIN:MOV A,R5 MOV DPTR,TAB;送表格首址 MOVC A,A + DPTR;查表得正弦值 MOV DPTR,0

45、7FFFH;送0832地址 MOVX DPTR,A;轉(zhuǎn)換輸出 INC R5 AJMP SIN TAB:DB 80H,83H,86H,89H,8DH,90H,93H,96H,99H,9CH,9FH,A2H,A5H ,A8 H,ABH,AEH,B1H,B4H,B7H,BAH,BCH, BFH,C2H, C5H,C7 H,CAH,CCH,CFH,D1H,D4H,9.4A/D轉(zhuǎn)換器接口,能把模擬量轉(zhuǎn)換為數(shù)字量的一種接口電路稱為構(gòu)數(shù)轉(zhuǎn)換器,簡稱A心轉(zhuǎn)換器(簡寫成ADC)。 從轉(zhuǎn)換方式來看,較常用的有逐次逼近型、雙積分式和電壓頻率(U/F)變換式三種。 9.4.1 集成A/D轉(zhuǎn)換器 ADC 0809/08

46、08為8路輸入通道、8位逐次逼近式A/D轉(zhuǎn)換器,可分時轉(zhuǎn)換8路模擬信號。,一個8位逐次逼近式A/D轉(zhuǎn)換器、8路模擬轉(zhuǎn)換開關(guān)、3-8地址鎖存譯碼器和三態(tài)輸出數(shù)據(jù)鎖存器。 ADC0809是目前常用的一種逐次逼近式A/D轉(zhuǎn)換器,它是CMOS單片28條引腳雙列直插式A/D轉(zhuǎn)換器,精度為8位,其邏輯方框圖和引腳圖如圖所示,它由8通路模擬開關(guān)、地址鎖存譯碼器、8位A/D轉(zhuǎn)換器以及三態(tài)輸出鎖存器等組成。,ADC0809的主要性能指標 分辨率為8位。 單電源(+5V)供電,模擬量輸入范圍是0-5V. 功耗為15mW。 不必進行零點和滿度調(diào)整。 轉(zhuǎn)換速度取決于芯片的時鐘頻率。時鐘頻率范圍為10- 1280kHz

47、。轉(zhuǎn)換時間100s 允許8路模擬信號輸入。 線性誤差1LSB,ADC0809 引腳分配,AD轉(zhuǎn)換芯片0809 0809內(nèi)部結(jié)構(gòu),模擬輸入部分,控制邏輯,地址譯碼輸入選通,基準電壓輸入端,2009年4月13日星期一,逐位逼近式A/D轉(zhuǎn)換器原理 逐位逼近式A/D轉(zhuǎn)換器原理圖如圖7-18所示。主要由n位逐位逼近式寄存器、D/A轉(zhuǎn)換器、比較器、控制邏輯和輸出緩沖器5部分組成。 能實現(xiàn)對分搜索的控制,完成A/D轉(zhuǎn)換。n位寄存器的初始狀態(tài)為全“0”,當啟動信號作用后,先使最高位Dn-1=1,n位寄存器內(nèi)容經(jīng)D/A轉(zhuǎn)換得到一個整個量程一半的模擬電壓Vs,與輸入被測電壓Vx比較,若Vx大于Vs,則保留Dn-1

48、=1,若Vx小于Vs,則Dn-1清“0“,然后使下一位Dn-2=1,與上一次的結(jié)果一起經(jīng)D/A轉(zhuǎn)換后與Vx相比較,重復這樣的過程直至使D0=1,,再經(jīng)D/A轉(zhuǎn)換后得到的模擬量Vs與被測電壓Vx比較,由Vx大于Vs還是小于Vs決定D0位保留為“1”還是清“0”,這樣經(jīng)過n次逐位比較后,發(fā)出轉(zhuǎn)換結(jié)果信號,此時,n位寄存器的內(nèi)容即為轉(zhuǎn)換后的數(shù)據(jù),只要發(fā)送讀(輸出允許)信號即可獲得A/D轉(zhuǎn)換結(jié)果。逐位逼近式A/D轉(zhuǎn)換器從速度和轉(zhuǎn)換精度來看比較適中,即有較高的速度和精度,電路結(jié)構(gòu)又不太復雜,因而得到廣泛的應用,尤其是在一些實時控制系統(tǒng)中應用最多的一種。,計數(shù)逼近原理,逐次逼近原理,ADC0809的引腳功

49、能 1、IN0- IN7:8路模擬信號輸入通道。 2、ADDA, ADDB, ADDC: 8路模擬信號輸入通道的3位地址輸入端,ADDC為最高位,ADDA為最低位。 3、ALE地址鎖存允許信號輸入端,高電平有效,有效期間將ADDA, ADDB、ADDC通道地址鎖存到內(nèi)部地址鎖存器中。 4、START:啟動轉(zhuǎn)換信號輸入端,此輸入信號的上升沿使內(nèi)部寄存器清零,下降沿使A/D轉(zhuǎn)換器進行新的一次轉(zhuǎn)換。 5、EOC: A/D轉(zhuǎn)換結(jié)束信號標志,它在A/D轉(zhuǎn)換開始由高電平變?yōu)榈碗娖?,轉(zhuǎn)換結(jié)束時該端輸出一個正脈沖。此信號的上升沿表示A/D轉(zhuǎn)換完畢,常用作中斷申請信號。,6、OE:輸入允許信號,高電平有效,有效

50、期間允許從AD轉(zhuǎn)換器的三態(tài)輸出鎖存器讀取數(shù)據(jù),并將數(shù)據(jù)送到數(shù)據(jù)總線。 7、D7-D0: 8位數(shù)據(jù)輸出端,可直接接入數(shù)據(jù)總線。 8、CLK (CLOCK)外接時鐘脈沖輸入端,時鐘的頻率決定A/D轉(zhuǎn)換的速度。轉(zhuǎn)換時間TC等于64個時鐘周期,CLK的頻率范圍是10kHz - 1280kHz,典型頻率為 640kHz,TC為100微妙 。 9、VREF(+) 和VREF(-):參考電壓輸入端,一般VREF(+) =+5V,和VREF(-)=-5V/0V 接地。 10、Vcc:電源電壓, Vcc =+5V。 11、GND:接地端。,9.4.2 ADC 0809接口,(1)啟動A/D 轉(zhuǎn)換,從ADC080

51、9的控制時序圖可看到,要將特定模擬通道輸入信號進行A/D轉(zhuǎn)換,需滿足以下條件: 在START端需產(chǎn)生一個正脈沖,上升沿復位ADC0809,下降沿啟動AD轉(zhuǎn)換。 在啟動AD轉(zhuǎn)換之前,待轉(zhuǎn)換的模擬通道的地址應穩(wěn)定地出現(xiàn)在地址線上,同時需在ALE端產(chǎn)生一個正跳變,將地址鎖存起來,使得在A/D轉(zhuǎn)換期間,比較器內(nèi)部輸入始終是選中的模擬通道輸入信號。 在A/D轉(zhuǎn)換結(jié)束之前,在START端和ALE端不能再次出現(xiàn)正脈沖信號。 用什么信號作為START端的復位和啟動A/D轉(zhuǎn)換信號,以及ALE端的地址鎖存信號呢?我們自然地想到了MCS-51單片機的/WR信號。將/WR信號取反后送ADC0809的START端和AL

52、E端,可滿足條件和,,將/WR信號與某一僅在訪問ADC0809時變低的片選線或非處理后,可進一步滿足條件。 在這種接口方式下,啟動A/D轉(zhuǎn)換時序圖如圖6-39所示。從該圖可看到,在ADC0809 ALE端地址鎖存信號有效時,MCS-51外部數(shù)據(jù)總線和地址總線上的信號都是穩(wěn)定的,都可以作為ADC0809的地址信號。于是就形成了ADC0809與MCS-51單片機的3種硬件連接方法,如圖6-40所示。 3種情況下,啟動A/D轉(zhuǎn)換的程序指令需作相應的變動。,1) ADDA ; ADDB, ADDC分別接地址鎖存器提供地址的低3位,如圖b-40a所示,指向IN7通道的相應程序指令為 MOV DPTR,

53、#0EFF7H;指向D/A轉(zhuǎn)換器和模擬通道的IN7地址 MOVXDPTR, A;啟動A/D轉(zhuǎn)換,A中可以是任意值,2)ADDA,ADDB,ADDC分別接數(shù)據(jù)線中的低3位(P0PO. 2),如圖6-40b所示, 則指向IN7通道的相應程序指令為 MOV DPH,#OE0H;送D/A轉(zhuǎn)換器端口地址 MOV A,#7H:IN7地址送A MOVXDPTR,A;送地址并啟動燈D轉(zhuǎn)換 3)ADDA,ADDB,ADDC分別接高8位地址中的低3位(P20P2.2),如圖6-40c所 示,則指向IN7通道的相應程序指令為 MOV DPTR,#0E700H MOVXDPTR,A,(2)確認A/D轉(zhuǎn)換完成 為了確認

54、轉(zhuǎn)換結(jié)束,可以采用無條件、查詢、中斷三種數(shù)據(jù)傳送方式。 l)無條件傳送方式。轉(zhuǎn)換時間是轉(zhuǎn)換器的一項已知和固定的技術(shù)指標。例如: ADC0809轉(zhuǎn)換時間為100s,可在A/D轉(zhuǎn)換啟動后,調(diào)用一個延時足夠長的子程序,規(guī)定時間到,轉(zhuǎn)換也肯定已經(jīng)完成。 2)查詢方式。ADC0809的EOC端高電平,表明AD轉(zhuǎn)換完成,查詢測試EOC的狀態(tài),即可確知轉(zhuǎn)換是否完成。需注意ADC0809從復位到EOC變低約需10少時間,查詢時,應首先確定EOC已變低,再變高,才說明A/D轉(zhuǎn)換完成。 3)中斷方式。把表明轉(zhuǎn)換完成的狀態(tài)信號(EOC)作為中斷請求信號,以中斷方式進 行數(shù)據(jù)傳送。 (3)轉(zhuǎn)換數(shù)據(jù)的傳送 不管使用上述哪種方式,一旦確認轉(zhuǎn)換完成,即可通過指令傳送在三態(tài)輸出鎖存器中的 結(jié)果數(shù)據(jù)。對于如圖6-40所示的硬件連接,只要對可使P2.4 = 0的端口地址作讀操作,即,可在OE端產(chǎn)生一個正脈沖,把轉(zhuǎn)換數(shù)據(jù)送上數(shù)據(jù)總線,供單片機接收。例如: MOV DPH,#0EFH MOVX A

溫馨提示

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

評論

0/150

提交評論