实验:对DAC0832进行编程;
对AD0804芯片进行编程操作,是发光二极管点亮.
好像是本人的数电,模电没学过,感觉初次接触DA/AD,还是有点模糊的,后来努力的学习了两遍,终于能把程序自己给写下来,调试出来.
DA 跟 AD的操作,都是查看时序图,根据时序图然后对照着开发板原理图,对IO口进行一些操作.
DA在单片机的原理图如下:
DA的时序图如下:
从时序图中,我们可以看到,当CS为低电平的时候,WR置为低电平,然后数据就变成了有效数据,过一会,就趋于稳定了,所以,编程的时候,我们可以让CS默认为低电平,只需要让WR置为低电平,然后发送数据即可,数据口对应的是P0口.
DA代码如下:
#include <reg52.h>
sbit csda = P3 ^ 2;
sbit wr = P3 ^ 6;
void main()
{
csda = 0;
wr = 0;
P0 = 0;
while (1);
}
AD的原理图如下:
AD的时序图如下:
第一个是启动AD转换的时序图:
第二个是AD发送数据的时序图:
AD的代码:
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit wr = P3 ^ 6;
sbit rd = P3 ^ 7;
void init();
void start();
void delay(uint time)
{
uint x, y;
for (x = time; x > 0; x--)
for(y = 110; y > 0; y--);
}
void main()
{
init();
while (1) {
start();
delay(10);
rd = 0;
delay(30);
rd = 1;
delay(30);
}
}
void init()
{
P0 = 0x7f;
}
void start()
{
wr = 1;
wr = 0;
wr = 1;
}
文章的脚注信息由WordPress的wp-posturl插件自动生成





微信扫一扫,打赏作者吧~![[整理]三极管驱动继电器](http://www.jyguagua.com/wp-content/themes/begin/timthumb.php?src=http://www.jyguagua.com/wp-content/uploads/2014/02/11.jpg&w=280&h=210&zc=1)


