新聞中心

EEPW首頁(yè) > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > MCS-51與串行D/A轉(zhuǎn)換器的接口設(shè)計(jì)

MCS-51與串行D/A轉(zhuǎn)換器的接口設(shè)計(jì)

作者: 時(shí)間:2009-09-07 來(lái)源:網(wǎng)絡(luò) 收藏

  改變數(shù)據(jù)發(fā)送順序的程序如下:
OUTDA:MOV A,DBH??;取高位
   SWAP ;高4位和低4位交換
    MOV DBH,A
    MOV A,DBL ;取低位
    ANL A,#OFOH ;截取高4位
    SWAP ;高4位和低4位交換
    ORL A,DBH ;合成,(DBH)=D11 D10 D9 D8 D7 D6 D5 D4
    LCALL ASMBB ;順序轉(zhuǎn)換
    MOV DBH,A ??;存結(jié)果(DBH)=D4 D5 D6 D7 D8 D9 D10 D11
    MOV A,DBL   ;取低位
    ANL A,#OFH ??;截取低4位
    SWAP ;交換,(A)=D3 D2 D1 D0 0 0 0 0
    LCALL ASMBB ??;順序轉(zhuǎn)換
     MOV DBL,A ;存結(jié)果(A)=0 0 0 0 D0 D1 D2 D3
     MOV A, DBH
     MOV SBUF,A ;發(fā)送高8位
     JNB TI $  ;等待發(fā)送完成
     CLR TI    ;發(fā)送完畢,清標(biāo)志
     MOV A,DBL
   MOV SBUF,A  ;發(fā)送低4位
     JNB TI $    ;等待
     CLR TI     ;發(fā)送完畢
     CLR P1.0    ;A寄存器加載到B寄存器
     NOP
     SETB P1.0    ;恢復(fù)
     REF
     ……
ASMBB: MOV R6,#00H
     MOV R7,#08H
     CLR C
ALO:   RLC A
     XCH A,R6
     RRC A
     XCH A,R6
     DJNZ R7,AL0
     XCH A,R6
     RET
  以上這種方式的單片機(jī)通訊口與AD7543的接口電路,其波特率固定為CPU時(shí)鐘頻率的1/12,如果CPU的頻率為6MHz,那么波特率為50kbps,位周期為20μs,顯然,這種連接方法只能用于高速系統(tǒng)。
3.2 AD7543與單片機(jī)普通輸入輸出口線的連接
  AD7543可以用8031的P1口實(shí)現(xiàn)數(shù)據(jù)傳送。這種方法的波特率可調(diào),傳輸速度由程序控制。電路與圖2相同,僅把8031的數(shù)據(jù)輸出端由RXD引腳改為P1.1,將移位脈沖輸出端由TXD改為P1.2口線,P1.0仍為加載脈沖輸出。其程序如下:
FS:   MOV R7,#04H
    MOV A,DBH;數(shù)據(jù)高4位
    SWAP
LOOP1: RLC A
    MOV P1.0 ;輸出
    LCALL PULSE ;移位脈沖輸出
    DJNZ R7,LOOP1 ;4位未完繼續(xù)
    MOV R7,#08H
    MOV A,DBLH ;數(shù)據(jù)低8位
LOOP2: RLC A
    MOV P1.0 C ;輸出
    LCALL PULSE ;移位脈沖輸出
    DJNZ R7,LOOP2 ;8位未完繼續(xù)
    CLR P1.1 ;輸出加載脈沖
    NOP
    SETB P1.1
    RET ;傳送完畢
PULSE: SETB P1.1 ;輸出高電平
    MOV R3,#4
PULS1: DJNZ R3,PULS1
    CLR P1.1;輸出低電平
    MOV R3,#4
PULS2:DJNZ R3,PULS2
    RET
  其中FS為AD7543驅(qū)動(dòng)程序,子程序PULSE為移位脈沖形成程序,改變R3的數(shù)值可以改變移位脈沖的頻率。從而改變通訊波特率。

本文引用地址:http://m.butianyuan.cn/article/188674.htm

電度表相關(guān)文章:電度表原理



上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉