//AD
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit wr=P3^6;
sbit rd=P3^7;
void delay(uint z){
uint t1,y;
for(t1=z;t1>0;t1--)
for(y=110;y>0;y--);
}
void init();
void start();
void main(){
init();
while(1){
start();
delay(20);
rd=0;
delay(10);
rd=1;
delay(10);
}
}
void init(){
P0=0;
}
void start(){
wr=1;
wr=0;
wr=1;
}
/*P3.6第二功能 WR(外部数据存储器写选通)
P3.7第二功能 RD(外部数据存储器读选通)
1)作为第二功能输出的引脚,当输出第二功能信号改锁存器应预先置1,使与非门对第二功能信号的输出是畅通的,从而实现第二功能的输出。
2)作为第二功能输入的引脚,在口线引脚的内部怎家了1个缓冲器,输入的信号就从这个缓冲器的输出端取得。
总的来说,P3口无论是作为输入口还是第二功能信号的输入,锁存器输出和第二输出功能线都应保持高电平。*/
//DA
#include<reg52.h>
sbit csda=P3^2;
sbit wr=P3^6;
void main(){
csda=0;
wr=0;
P0=0;
while(1);
}
/*csda是DA芯片的片选信号,
wr是它的写数据信号,
P0接的是DA芯片的数据口,
这里的P0=0就是DA的输入值,
更改这个值,DA就会输出不同的电压或者电流*/