- 56
- 0
- 约2.03万字
- 约 104页
- 2017-03-15 发布于浙江
- 举报
程序中上、下限电平的改变,可向DAC0832送不同的数字量来实现。矩形波高、低电平时的持续时间,由delay( )的延时程序决定。也可使用两个延时时间不同的延时程序,来分别决定矩形波高、低电平的持续时间,频率可采用控制延时的方法来改变。 2.双缓冲方式 多路的D/A转换要求同步输出时,须采用双缓冲同步方式,此时数字量的输入锁存和D/A转换输出是分两步完成的。AT89S51与DAC0832的双缓冲方式的连接如图11-7。 { uint i; for(i=0;i200;i++); } 程序说明: (1)在调用函数writechip1时只是向1#0832芯片写入数据,不会写到2#0832中,因为2#0832没有被选通,对于函数writechip2也是同样道理。 (2)在调用函数TransformData( )时,函数参数可以为任意值,因为将被转换的数字量已经被锁存到DAC寄存器中。调用函数TransformData( )只是发出启动第二级转换的控制信号,数据线上的数据不会被锁存。 (3)程序的3~5行对DAC0832的3个端口使用了3个宏定义。例如,将0832Addr的端口地址0x7fff宏定义为DAC0832Addr(第5行),是为了定义明确,方便使用和修改。使用该地址向DAC0832写入时要先进行类型转换。用(uchar xdata*)把DAC0832Ad
原创力文档

文档评论(0)