欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2022|回復(fù): 0
收起左側(cè)

51單片機(jī)IIC協(xié)議 PCF8591產(chǎn)生200ms方波源程序

[復(fù)制鏈接]
ID:330439 發(fā)表于 2018-5-15 15:26 | 顯示全部樓層 |閱讀模式
/*-----------------------------------------------
  名稱:IIC協(xié)議 PCF8591 AD/DA轉(zhuǎn)換
  編寫:shifang
  修改:無
  內(nèi)容:使用4路AD中的1路檢測外部模擬量輸入
------------------------------------------------*/  
#include <reg52.h>               
#include "i2c.h"
#include "delay.h"
#include "display.h"
#define AddWr 0x90   //寫數(shù)據(jù)地址
#define AddRd 0x91   //讀數(shù)據(jù)地址
extern bit ack;
unsigned char ReadADC(unsigned char Chl);
bit WriteDAC(unsigned char dat);
/*------------------------------------------------
              主程序
------------------------------------------------*/
main()
{
unsigned char num=0;
Init_Timer0();

while (1)         //主循環(huán)
  {
  
num=ReadADC(0);
TempData[0]=dofly_DuanMa[num/100];   
TempData[1]=dofly_DuanMa[(num%100)/10];
TempData[2]=dofly_DuanMa[(num%100)%10];
//主循環(huán)中添加其他需要一直工作的程序
DelayMs(100);
  }
}
/*------------------------------------------------
             讀AD轉(zhuǎn)值程序
輸入?yún)?shù) Chl 表示需要轉(zhuǎn)換的通道,范圍從0-3
返回值范圍0-255
------------------------------------------------*/
unsigned char ReadADC(unsigned char Chl)
{
   unsigned char Val;
   Start_I2c();               //啟動總線
   SendByte(AddWr);             //發(fā)送器件地址
     if(ack==0)return(0);
   SendByte(0x40|Chl);            //發(fā)送器件子地址
     if(ack==0)return(0);
   Start_I2c();
   SendByte(AddWr+1);
      if(ack==0)return(0);
   Val=RcvByte();
   NoAck_I2c();                 //發(fā)送非應(yīng)位
   Stop_I2c();                  //結(jié)束總線
  return(Val);
}
/*------------------------------------------------
               寫入DA轉(zhuǎn)換數(shù)值
輸入?yún)?shù):dat 表示需要轉(zhuǎn)換的DA數(shù)值,范圍是0-255
------------------------------------------------*/
/*bit WriteDAC(unsigned char dat)
{
   Start_I2c();               //啟動總線
   SendByte(AddWr);             //發(fā)送器件地址
     if(ack==0)return(0);
   SendByte(0x40);            //發(fā)送器件子地址
     if(ack==0)return(0);
   SendByte(dat);             //發(fā)送數(shù)據(jù)
     if(ack==0)return(0);
   Stop_I2c();  
}*/
需要自取

回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表