采样与保持——基于Proteus8 和 51单片机

 

目录

 

1、仿真电路

2、实现代码


1、仿真电路

2、实现代码

#include "reg51.h"

#define uchar unsigned char

#define uint unsigned int

//adc

#define in P1

#define out P0

uchar temp;

sbit start=P2^1;

sbit OE=P2^7;

sbit EOC=P2^3;

sbit CLOCK=P2^0;

sbit add_a=P2^4;

sbit add_b=P2^5;

sbit add_c=P2^6;


//dac

sbit DAC_cs=P3^0;

sbit DAC_wr=P3^1;

void ADC(void);

void DAC(void);

void main(void)

{

      

       add_a=0;add_b=0;add_c=0;

      

       while(1)

       {

              ADC();

              DAC();

       }

}


void ADC(void)

{

             

              start=0;

              start=1;

              start=0;

              while(1)

              {

                     CLOCK=!CLOCK;

                     if(EOC==1) break;

              }

                     OE=1;

                     temp=in;

                     OE=0;

}


void DAC(void)

{

       static uchar i=255;

       out=temp;

       DAC_cs=0;

       DAC_wr=0;

       DAC_cs=1;

       DAC_wr=1;

}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值