C51计数器中的值怎样编程输出给DAC0832?

请求权   2007-9-12 10:08 楼主
需要把AT89S51中计数器中的值输出,采用直通方式连接DAC0832,然后电流电压转换,结果电压根本没变化,请问是什么原因?
把计数器中的值进行了BCD编码处理,原来是通过P0和P2端口输出给LED显示的,显示正确。现在通过P0直接输出给DAC0832是否可以?要是不能这样输出应该怎样调整?
计数器中的值应该怎样编程输出给DAC0832?

回复评论 (6)

看了一些介绍说计数器中的值不用转换成BCD码给DAC0832,直接把数据送到DA,是这样吗?能否给一段代码例子
点赞  2007-9-12 10:33
LZ主帅哥,这个DAC0832我看到的是:/CS,/WR1,/WR2,/XFER这四个信号全都接地...
Ile信号接+5V

然后直接向IO输出八位数字量,而非BCD码

直通工作

..........................
如果你非要代码:

设P1连接DAC那就是:

P1 = xx;//xx为DAC值
MOV P1,#xx;汇编的
点赞  2007-9-12 11:57
楼上的正确
建议LZ看看单片机地址译码方法
点赞  2007-9-12 13:29
谢谢楼上两位,我用了BCD码输出,可能是这个原因。
再问一下,单片机中计数器中的值怎么转换成八位数字量呢?给点代码,看一下。
点赞  2007-9-12 14:10
LZ还记得基本的乘除法吗?

给你个例子,你去想想吧:

设BCD 有这么长:-------------

八位量有这么长:++++++++++++++++++++++++++++++

如果,非要对应:---这么长的BCD到八位量怎么做呢?

数学公式告诉我们:

[ --- / ------------- ] == [ ??? / ++++++++++++++++++++++++++++++ ]

然后,中/小学的知识告诉我们:

LZ你来解吧,看懂了吗?

???就是我们要求的值.
点赞  2007-9-12 14:43
如果楼上几位说的还解决不了问题
那就得查查你的管脚驱动能力是否不够了
点赞  2007-9-15 11:11
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复