第四章 模数转换与数模转换

//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就会输出不同的电压或者电流*/

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值