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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2753|回復: 8
收起左側

單片機程序編譯完 有一個警告 沒找到原因 那位幫忙看看 萬分感謝

[復制鏈接]
ID:872398 發表于 2021-1-2 23:14 | 顯示全部樓層 |閱讀模式
  1. #include<reg52.h>   
  2. #include <intrins.h>

  3. #define  AddWr 0x90   

  4. sbit scl=P2^0;      
  5. sbit sda=P2^1;      
  6. bit ack;            

  7. unsigned char date;
  8. sbit C1=P2^3;         
  9. sbit C2=P2^4;         
  10. sbit C3=P2^5;         
  11. sbit Dp=P2^2;         
  12. table[10]=
  13. {0x3f,0x06,0x5B,0x4F,0x66,
  14. 0x6D,0x7D,0x07,0x7F,0x6F};
  15. unsigned int data dis[3]={0x00,0x00,0x00};
  16. unsigned int getData;

  17. void Start_I2c()
  18. {
  19.   sda=1;                  
  20.   _nop_();
  21.   scl=1;
  22.   _nop_();               
  23.   _nop_();
  24.   _nop_();
  25.   _nop_();
  26.   _nop_();   
  27.   sda=0;                 
  28.   _nop_();               
  29.   _nop_();
  30.   _nop_();
  31.   _nop_();
  32.   _nop_();      
  33.   scl=0;                 
  34.   _nop_();
  35.   _nop_();
  36. }

  37. void Stop_I2c()
  38. {
  39.   sda=0;                  
  40.   _nop_();                 
  41.   scl=1;                  
  42.   _nop_();
  43.   _nop_();
  44.   _nop_();
  45.   _nop_();
  46.   _nop_();
  47.   sda=1;                  
  48.   _nop_();
  49.   _nop_();
  50.   _nop_();
  51.   _nop_();
  52. }

  53. void  I2C_SendByte(unsigned char  c)
  54. {
  55. unsigned char  i;

  56. for(i=0;i<8;i++)               
  57.     {
  58.      if((c<<i)&0x80)sda=1;     
  59.        else  sda=0;               
  60.      _nop_();
  61.      scl=1;                        
  62.       _nop_();
  63.       _nop_();                          
  64.       _nop_();
  65.       _nop_();
  66.       _nop_();         
  67.      scl=0;
  68.     }

  69.     _nop_();
  70.     _nop_();
  71.     sda=1;                                 
  72.     _nop_();
  73.     _nop_();   
  74.     scl=1;
  75.     _nop_();
  76.     _nop_();
  77.     _nop_();
  78.     if(sda==1)ack=0;     
  79.        else ack=1;              
  80.     scl=0;
  81.     _nop_();
  82.     _nop_();
  83. }

  84. unsigned char   I2C_RcvByte()
  85. {
  86.   unsigned char  retc=0,i;
  87.   sda=1;                                
  88.   for(i=0;i<8;i++)
  89.       {
  90.         _nop_();           
  91.         scl=0;                             
  92.         _nop_();
  93.         _nop_();                           
  94.         _nop_();
  95.         _nop_();
  96.         _nop_();
  97.         scl=1;                  
  98.         _nop_();
  99.         _nop_();
  100.         retc=retc<<1;
  101.         if(sda==1)retc=retc+1;  
  102.         _nop_();
  103.         _nop_();
  104.       }
  105.   scl=0;   
  106.   _nop_();
  107.   _nop_();
  108.   return(retc);
  109. }

  110. void Ack_I2c(bit a)
  111. {  
  112.   if(a==0)sda=0;                           
  113.   else sda=1;                                                
  114.   _nop_();
  115.   _nop_();
  116.   _nop_();      
  117.   scl=1;
  118.   _nop_();
  119.   _nop_();                                      
  120.   _nop_();
  121.   _nop_();
  122.   _nop_();  
  123.   scl=0;                           
  124.   _nop_();
  125.   _nop_();   
  126. }

  127. bit Pcf8591_DaConversion(unsigned char addr,unsigned char channel,  unsigned char Val)
  128. {
  129.    Start_I2c();            
  130.    I2C_SendByte(addr);         
  131.    if(ack==0)return(0);
  132.    I2C_SendByte(0x40|channel);         
  133.    if(ack==0)return(0);
  134.    I2C_SendByte(Val);         
  135.    if(ack==0)return(0);
  136.    Stop_I2c();               
  137.    return(1);
  138. }


  139. bit PCF8591_SendByte(unsigned char addr,unsigned char channel)
  140. {
  141.    Start_I2c();            
  142.    I2C_SendByte(addr);        
  143.    if(ack==0)return(0);
  144.    I2C_SendByte(0x40|channel);        
  145.    if(ack==0)return(0);
  146.    Stop_I2c();               
  147.    return(1);
  148. }

  149. unsigned char PCF8591_RcvByte(unsigned char addr)
  150. {  
  151.    unsigned char dat;

  152.    Start_I2c();         
  153.    I2C_SendByte(addr+1);  
  154.    if(ack==0)return(0);
  155.    dat=I2C_RcvByte();     

  156.    Ack_I2c(1);      
  157.    Stop_I2c();        
  158.    return(dat);
  159. }



  160. void delay(unsigned char i)
  161. {
  162.   unsigned char j,k;
  163.   for(j=i;j>0;j--)
  164.     for(k=125;k>0;k--);
  165. }
  166. int main()
  167. {  
  168.         while(1)
  169.         {
  170.                  PCF8591_SendByte(AddWr,0);         
  171.                  getData=PCF8591_RcvByte(AddWr);  
  172.                  dis[1]=getData/51;   
  173.                 dis[2]=getData%51;
  174.                 dis[2]=dis[2]*10;   
  175.                 dis[0]=dis[2]/51;   
  176.         C1=1;                                             
  177.         Dp=0;              
  178.         P0=table[dis[0]];   
  179.                              
  180.         C1=0;
  181.         delay(10);   
  182.                        
  183.         C2=1;               
  184.         Dp=0;         
  185.         P0=table[dis[1]];   
  186.       
  187.         C2=0;
  188.         delay(10);
  189.       
  190.         C3=1;
  191.   Dp=1;        
  192.         P0=table[dis[1]];   
  193.         C3=0;      
  194.         }
  195. }

復制代碼


回復

使用道具 舉報

ID:328014 發表于 2021-1-3 02:01 | 顯示全部樓層
幾個警告不要緊,無所謂的,你這個是什么警告?
回復

使用道具 舉報

ID:213173 發表于 2021-1-3 05:50 | 顯示全部樓層
這個函數沒有調用:bit Pcf8591_DaConversion(unsigned char addr,unsigned char channel,  unsigned char Val)
回復

使用道具 舉報

ID:748788 發表于 2021-1-3 08:29 | 顯示全部樓層
如果不影響功能,可以將引起警告的代碼注釋掉
回復

使用道具 舉報

ID:743654 發表于 2021-1-3 14:24 | 顯示全部樓層
沒有用到的函數可以頭尾加/*   */注釋,需要用時再去掉。
回復

使用道具 舉報

ID:872398 發表于 2021-1-3 15:30 | 顯示全部樓層
wulin 發表于 2021-1-3 05:50
這個函數沒有調用:bit Pcf8591_DaConversion(unsigned char addr,unsigned char channel,  unsigned char  ...

刪了or注釋掉就有錯誤了。
回復

使用道具 舉報

ID:872398 發表于 2021-1-3 15:31 | 顯示全部樓層
51hei團團 發表于 2021-1-3 02:01
幾個警告不要緊,無所謂的,你這個是什么警告?

仿真能成功,程序燒入單片機就不能正常工作了,檢查電路沒問題,說是程序問題
回復

使用道具 舉報

ID:128315 發表于 2021-1-3 20:27 | 顯示全部樓層
程序沒有調用這用到這個函數,注釋掉就可以
回復

使用道具 舉報

ID:712493 發表于 2021-1-4 10:55 | 顯示全部樓層
會不會程序自己優化掉了
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 午夜免费av | 日韩精品视频免费播放 | 天天色天天 | 国产午夜三级 | 国产精品视频久久 | 久草视频观看 | 五月婷婷激情 | 久久久久成人网 | 日韩一级片 | 91蜜桃在线观看 | 欧美视频免费在线观看 | 一级大片免费看 | 九久久| 在线观看视频一区二区 | 日本中文字幕在线视频 | 精品国产视频 | 中文字幕免费视频 | 欧美一区二区三区在线播放 | 激情一区二区三区 | 日韩欧美一级片 | 午夜精品视频在线观看 | 亚洲小视频在线观看 | 特大黑人巨交吊性xxxx视频 | 国产黄色在线观看 | 免费一区二区三区 | 日韩特级 | 男女裸体无遮挡做爰 | 一级黄色片在线观看 | 午夜视频在线看 | 99久热 | 九九热精品在线观看 | 一区二区三区视频在线 | 免费三片在线播放 | 久草福利在线视频 | 谁有毛片网址 | 国产精品一区二区免费 | 国产一级视频在线观看 | 天天干天天拍 | 国产999视频 | 欧美8888 | 日本少妇高潮达到高潮 |