Thông báo

Collapse
No announcement yet.

giúp em giao tiếp với DAC MCP4922

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • giúp em giao tiếp với DAC MCP4922

    mọi người ơi . mình đang viết code cho 8051 để giao tiếp với con DAC MCP4922 . mình có mô phỏng trên proteus nhưng con DAC không hoạt động . bác nào biết giúp mình với ...
    mình có đính kèm file mô phỏng ở dưới nhé . code này mình làm trên kid . LED ma 7 đoạn có địa chỉ 0000H và con ADC có địa chỉ 4000H .

    ý nghĩa bài này là dùng DAC xuất điện áp ra ngoài sau đó dùng ADC đọc điện áp và ngi vào LED 7 đoạn
    ORG 2000H
    SCK BIT P1.1
    SDI BIT P1.2
    nCS BIT P1.0
    nLD BIT P1.3

    SETB SCK
    MAIN: setB NLD
    CLR NCS

    MOV A,#00H
    MOV R4,#00H
    tiep: INC R4
    MOV A,R4
    ACALL lay8
    INC R4
    MOV A,R4
    ACALL lay4
    SETB NCS
    NOP
    NOP
    CLR NLD
    NOP
    NOP
    setB NLD
    ACALL DELAY




    LAP: MOV A,#00H
    MOV DPTR,#4000H
    MOVX @DPTR,A
    ACALL DELAY
    MOVX A,@DPTR

    ACALL BI2BCD

    ORL A,#0E0H
    ACALL XUATLED

    MOV A,B
    ORL A,#0D0H
    ACALL XUATLED

    MOV A,R5
    ORL A,#0B0H
    ACALL XUATLED
    ACALL DELAY2



    SJMP tiep









    lay8:
    mov R6,#9
    mov DPTR,#TABLE
    movc A,@A+DPTR
    loop8: RLC A
    ACALL xuat
    DJNZ R6,loop8
    RET

    lay4:
    mov R6,#9
    mov DPTR,#TABLE
    movc A,@A+DPTR
    Loop4: RLC A
    ACALL xuat
    DJNZ R6,loop4
    RET

    xuat:
    MOV SDI,C
    NOP
    NOP
    SETB SCK
    NOP
    NOP
    NOP
    NOP
    CLR SCK
    NOP
    NOP
    RET








    DELAY:
    MOV R3,#2
    L11: MOV R2,#2
    L22: MOV R1,#250
    DJNZ R1,$
    DJNZ R2,L22
    DJNZ R3,L11
    RET

    DELAY1:
    MOV R3,#20
    L1: MOV R2,#20
    L2: MOV R1,#100
    DJNZ R1,$
    DJNZ R2,L2
    DJNZ R3,L1
    RET








    DELAY2:
    MOV R3,#20
    L111: MOV R2,#200
    L222: MOV R1,#250
    DJNZ R1,$
    DJNZ R2,L222
    DJNZ R3,L111
    RET


    xuatLED:
    MOV DPTR,#0000H
    MOVX @DPTR,A
    ACALL DELAY
    RET

    BI2BCD: MOV B,#10
    DIV AB
    MOV R5,B
    MOV B,#10
    DIV AB
    RET

    TABLE: DB 38H,39H,30H,37H,34H,35H,36H,37H,38H,39H

    END
    Attached Files

  • #2
    sao không viết bằng C cho dễ hả ban?

    Comment


    • #3
      Nguyên văn bởi caonhan_2004 Xem bài viết
      sao không viết bằng C cho dễ hả ban?
      đang làm bài tập lớn 8051 bác ơi ^^!

      Comment


      • #4
        Nguyên văn bởi HoLyNightKin Xem bài viết
        đang làm bài tập lớn 8051 bác ơi ^^!
        Mệt đây. bạn biết giao tiếp SPI là làm được thui. Viết chương trình giao tiếp thì gần giống với 74hc595. khác nhau là 595 là 8bit, còn con này phải gửi gói dữ liệu 16bit.

        Comment


        • #5
          mình cũng đang quang tấm tới dac đây

          Comment


          • #6
            Cho mình hỏi IC MCP4922 mua ở đâu vậy các bạn

            Comment

            Về tác giả

            Collapse

            HoLyNightKin Tìm hiểu thêm về HoLyNightKin

            Bài viết mới nhất

            Collapse

            Đang tải...
            X