关于DAC0832的一个疑问


这是一个产生锯齿波的程序,
PORT EQU 0CFB0H    ;“0CFB0H”这个值怎么得来的?是算出来的么?一直不太明白,希望大家指点一下,谢谢!
           ORG 0000H
           SJMP START
           ORG 0030H
START:MOV DPTR,#PORT        ;选中DAC0832     
             MOV A,#00H
LP:   MOVX @DPTR,A
        INC A              
        SJMP LP
        END

我也来说两句 查看全部回复

最新回复

  • budhy (2008-9-23 13:29:03)

    QUOTE:

    原帖由 nationlee 于 2008-9-23 13:26 发表
    这是一个产生锯齿波的程序,
    PORT EQU 0CFB0H    ;“0CFB0H”这个值怎么得来的?是算出来的么?一直不太明白,希望大家指点一下,
    要看你的线路图。把线路传上来吧
  • nationlee (2008-9-23 13:47:38)

    这是电路图,有点简单,没画晶振电路和复位电路


    电路图.jpg

  • budhy (2008-9-23 13:56:46)

    QUOTE:

    原帖由 nationlee 于 2008-9-23 13:47 发表
    这是电路图,有点简单,没画晶振电路和复位电路
    画的不对,DAC0832 的 CS (#1)联到 CS2, 可是CS2 不知去向。
    还是传仿真图(DSN)更好。
  • nationlee (2008-9-23 14:12:43)

    老师,书上“CS2”就是这么连的,我没找到它连哪去了!可能是P2.6,我也不太清楚,
    这是我昨天新买的书,可能有错误。
    下面是DSN文件

    a3.rar
    (2008-09-23 14:12:43, Size: 12.1 KB, Downloads: 11)

  • budhy (2008-9-23 14:28:09)

    QUOTE:

    原帖由 nationlee 于 2008-9-23 14:12 发表
    老师,书上“CS2”就是这么连的,我没找到它连哪去了!可能是P2.6,我也不太清楚,
    这是我昨天新买的书,可能有错误。
    下面是DSN文件
    CS2 连到P2.5 或 P2.4,就可以用“0CFB0H”。
    其实任何地址都可以用,按上述线路只要 A12 或 A13 是 ‘0’。 “0CFB0H” = 11001111 10110000 -〉A12 = A13 = 0
  • nationlee (2008-9-23 14:52:21)

    P0和P2组成16位数据线,A0~A15。在这个电路图上,P0口连的是0832的8根数据线,
    没说高低电平。P2口也是悬空的,也没说高低电平。怎么看这个电路图,才能得到“0CFB0H”呢?
  • budhy (2008-9-23 15:15:13)

    QUOTE:

    原帖由 nationlee 于 2008-9-23 14:52 发表
    P0和P2组成16位数据线,A0~A15。
    1. 在这个电路图上,P0口连的是0832的8根数据线,没说高低电平。
    2. P2口也是悬空的,也没说高低电平。怎么看这个电路图,才能得到“0CFB0H”呢? ...

  1. 所以说我们不管A0。。A7
  2. CS2 连到 P2.4(A12) 或 P2.5(A13)不就不悬空吗?A12=0  或 A13=0 不就是 BF吗?
  • 超低温 (2008-9-23 15:44:53)

    刚开始学习这些东西,受教了,哈哈
  • budhy (2008-9-23 16:31:35)

    QUOTE:

    A0~A7我们不管,要是CS2连到A12和A13上,定义成“CFFF”也可以吧?或者定义成“CF00”也可以吧? ...
    要是CS2连到A12和A13上,A0~A7我们不管, A8~A11,A14~A15 也不管 (反正没有连线),全部地址只要 A12=0 和 A13=0 都可以用。
    0000 也可以,0F00 也行。。。