⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 LY-51S c语言 程序
💻 C
字号:
/*-----------------------------------------------
  名称:IIC协议 PCF8591 AD/DA转换
  论坛:www.doflye.net
  编写:shifang
  修改:无
  内容:使用DA输入,数码管显示输出数字量,LED显示模拟电压大小
------------------------------------------------*/  
#include <reg52.h>                
#include "i2c.h"


#define AddWr 0x90   //写数据地址 
#define AddRd 0x91   //读数据地址

/*unsigned char code tab[]={
                          0,25,50,75,100,125,150,175,200,225,250  //表格数值越多,波形越平滑
                          };*/
unsigned char code tab1[]={
                          0,10,20,30,40,50,60,70,80,90,100,110,120,130,140,150,160,
						  170,180,190,200,210,220,230,240,250
                          };

extern bit ack;
bit WriteDAC(unsigned char dat,unsigned char num);
/*------------------------------------------------
              主程序
------------------------------------------------*/
main()
{
 unsigned char i;
 while (1)         //主循环
  {
  for(i=0;i<26;i++)
     WriteDAC(tab1[i],1);
  }
}

/*------------------------------------------------
               写入DA转换数值
输入参数:dat 表示需要转换的DA数值,范围是0-255
------------------------------------------------*/
bit WriteDAC(unsigned char dat,unsigned char num)
{  unsigned char i;
   Start_I2c();               //启动总线
   SendByte(AddWr);             //发送器件地址
     if(ack==0)return(0);
   SendByte(0x40);            //发送器件子地址
     if(ack==0)return(0);
  for(i=0;i<num;i++)
     {
   SendByte(dat);             //发送数据
     if(ack==0)return(0);
     }
   Stop_I2c();  
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -