久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 這個IIC總線程序為什么每次開啟之后顯示的數據為原來的一半?不是應該接著單片機關... [打印本頁]

作者: 單片機小白一個    時間: 2019-3-25 10:03
標題: 這個IIC總線程序為什么每次開啟之后顯示的數據為原來的一半?不是應該接著單片機關...
#include"reg52.h"
#define uchar unsigned char
#define uint unsigned int
bit write=0;
sbit scl=P2^1;
sbit sda=P2^0;
uchar sec,tcnt;
sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;
uint x,y;
uchar code table[10]={0x3f,0x06,0x5b,0x4f,0x66,
                      0x6d,0x7d,0x07,0x7f,0x6f};
void delay()
{ ; ; }
void delay1ms(uint z)
{  
   for(x=z;x>0;x--)
     for(y=110;y>0;y--);
}
void start()   //開始信號
{
  sda=1;
  delay();
  scl=1;
  delay();
  sda=0;
  delay();
}
void stop()       //結束信號
{
  sda=0;
  delay();
  scl=1;
  delay();
  sda=1;
  delay();
}
void respons()
{
   uchar i;
   scl=1;
   delay();
   while((sda==1)&&(i<250))
   i++;
   scl=0;
   delay();
}
void init()    //初始化函數
{
   sda=1;
   delay();
   scl=1;
   delay();
}
void writebyte(uchar date)    //寫
{
   uchar i,temp;
   temp=date;
   for(i=0;i<8;i++)
   {
        temp=temp<<1;//將temp左移一位,最高位移入CY位,然后將CY賦給SDA進而在SCL的控制下發送出去
     scl=0;
     delay();
     sda=CY;
     delay();
     scl=1;
     delay();
   }
   scl=0;
   delay();
   sda=1;
   delay();
}
uchar readbyte()
{
  uchar i,k;
  scl=0;
  delay();
  sda=1;
  delay();
  for(i=0;i<8;i++)
  {
       scl=1;
     delay();
     k=(k<<1)|sda;//將k左移一位后與SDA進行或運算,依次把8個獨立的位放入1字節中完成接收
     scl=0;
     delay();
  }
  return k;
}
void writeadd(uchar address,uchar date)//向任一地址寫一字節的數據
{
    start();
    writebyte(0xa0);//發送從器件地址
    respons();
    writebyte(address);    // 發送地址
    respons();
    writebyte(date);//發送數據
    respons();
    stop();
}
uchar readadd(uchar address)//從中任一地址讀取一字節的數據
{
   uchar date;
   start();
   writebyte(0xa0);//發送從器件地址
   respons();
   writebyte(address);// 發送地址
   respons();
   start();
   writebyte(0xa1);// 發送數據
   date=readbyte();//讀數據
   stop();
   return date;
}
void display(uchar yiwei,uchar erwei)
{
      LSA=0;
      LSB=0;
      LSC=0;
      P0=table[erwei];
      delay1ms(10);
      LSA=1;
      LSB=0;
      LSC=0;
      P0=table[yiwei];
      delay1ms(10);
}
void main()
{
   init();
   sec=readadd(2);//讀出保存的數據賦給sec
   if(sec>100)
    sec=0;
   TMOD=0x01;
   ET0=1;
   EA=1;
   TH0=0x3c;
   TL0=0xb0;
   TR0=1;
   while(1)
   {
        display(sec/10,sec%10);
     if(write==1)
     {
       write=0;
       writeadd(2,sec);
     }
   }
}
void time0() interrupt 1
{
   TH0=0x3c;
   TL0=0xb0;
   tcnt++;
   if(tcnt==20)
   {
         tcnt=0;
      sec++;
      write=1;
      if(sec==100)
      sec=0;
   }
}

作者: 7358655    時間: 2019-3-25 22:37
從新上電可能初始值剛好激發程序,建議你把EA=1放最后打開。閥門從最小到最大。




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 亚洲精品一 | 国产欧美一区二区三区久久人妖 | 国产在线视频一区二区董小宛性色 | 亚洲综合国产 | 99资源站 | 亚洲天堂999| 色吧综合网 | 久在线观看| 日韩免费网 | 欧美日韩在线一区二区三区 | 精品国产一区探花在线观看 | 亚洲情综合五月天 | 成人在线一级片 | 免费在线毛片 | 欧美二三区 | 国产成人精品999在线观看 | 亚洲精品久 | 国产视频福利 | 911精品美国片911久久久 | 精品国产一区二区三区四区在线 | 在线欧美日韩 | 日韩欧美精品在线 | 午夜视频网 | 国产欧美日韩综合精品一 | 一级黄色夫妻生活 | 亚洲精品在线观 | 午夜影院在线观看视频 | 精品久久影院 | 亚洲美女在线一区 | 亚洲精品高清视频 | 97起碰| 99久久久无码国产精品 | 国产精品亚洲一区二区三区在线 | 精品国产一区二区三区性色av | 久久99精品久久久久久国产越南 | 亚洲图片一区二区三区 | 91大片| 欧美精三区欧美精三区 | 蜜桃视频在线观看免费视频网站www | 欧美极品一区二区 | 综合色影院|