91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 5KB
    文件類型: .c
    金幣: 1
    下載: 0 次
    發布日期: 2021-05-27
  • 語言: C/C++
  • 標簽: ADS1115??51??

資源簡介

用C語言寫的51單片機驅動ADS1115的程序源碼,經實測,有效。

資源截圖

代碼片段和文件信息


/************************************************************************
程序功能:???為IIC總線的基本驅動程序(此程序沒有寫主函數,只是一些IIC必備的子函數)。
***********************************************************************/

#include??????????????????????????????????????????????????//1腳接三腳接地??二腳置空??4、5信號??sd、sl見程序
#include?
#define?uint?unsigned?int
#define?uchar?unsigned?char
sbit?sda=P2^0;??????????????????????????//IO口定義
sbit?scl=P2^1;
sbit?dula=P2^6;??//數碼管段選鎖存器控制信號
sbit?wela=P2^7;??//數碼管位選鎖存器控制信號

/*定義數碼管顯示字符跟數字的對應數組關系*/
uchar?code?mun_to_char[]={0x3f0x060x5b0x4f0x660x6d0x7d???????????//數碼管顯示編碼(1-F)
????????????????????????0x070x7f0x6f0x770x7c0x390x5e0x790x710x40};

uchar?code?sled_bit_table[]={0x7e0x7d0x7b0x770x6f0x5f};/*定義點亮的數碼管與數組的關系*/

void?nop()
{
????_nop_();
????_nop_();
}
/////////24C02讀寫驅動程序////////////////////
void?delay1(unsigned?int?m)
{???unsigned?int?n;
????for(n=0;n}
void?delay(uchar?x)
{
????uchar?j;
????while(x--){
????????for(j=0;j<125;j++)
????????????{;}
????????}???
}

void?init()??//24c02初始化子程序
{
????scl=1;
????nop();
????sda=1;
????nop();
}

void?start()????????//啟動I2C總線
{
????sda=1;
????nop();
????scl=1;
????nop();
????sda=0;
????nop();
????scl=0;
????nop();
}

void?stop()?????????//停止I2C總線
{
????sda=0;
????nop();
????scl=1;
????nop();
????sda=1;
????nop();
}

void?writebyte(unsigned?char?j)??//寫一個字節
{
????unsigned?char?itemp;
????temp=j;
????for?(i=0;i<8;i++)
???{
???????temp=temp<<1;
???????scl=0;
???????nop();
???????sda=CY;??????//temp左移時,移出的值放入了CY中
???????nop();
???????scl=1;???????//待sda線上的數據穩定后,將scl拉高
???????nop();
???}
???scl=0;
???nop();
???sda=1;
???nop();
}

unsigned?char?readbyte()???//讀一個字節
{
???unsigned?char?ijk=0;
???scl=0;?nop();?sda=1;
???for?(i=0;i<8;i++)
???{??
????????nop();?scl=1;?nop();
????????if(sda==1)?
????????j=1;
????????else
????????j=0;
????????k=(k<<1)|j;
????????scl=0;
????}
????nop();
????return(k);
}

void?respons()?????????//I2C總線時鐘
{
???unsigned?char?i=0;
???scl=1;
???nop();
???while((sda==1)&&(i<255))
??????i++;
???scl=0;
???nop();
}
void?respons_()?????????//I2C總線時鐘
{
???unsigned?char?i=0;
???sda=0;
???scl=1;
???nop();
???no

評論

共有 條評論