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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 10108|回復(fù): 12
打印 上一主題 下一主題
收起左側(cè)

51單片機(jī)驅(qū)動(dòng)ADS1115在1602上顯示程序源碼

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:226864 發(fā)表于 2017-8-11 09:54 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
  1. /*------------------------------------------------------------------------------------------------------------------------------------------*/

  2. /*--*************************功能:   【ADS1115單端輸入檢測(cè)電壓】********************--*/

  3. /*--*************************CPU:    【STC12C5A60S2】*******************************--*/

  4. /*--*************************ADC芯片:【ADS1115(2差分輸入或4單端輸入)】***********--*/

  5. /*--*************************液晶:   【LCD1602】************************************--*/

  6. /*--*************************ADC與單片機(jī)連接:【SCL:P1.0, SDA:P1.1】*******************--*/

  7. /*--*************************檢測(cè)范圍:【0.00~4.99V】*********************************--*/

  8. /*----------------------------------------------------------------------------------------------------------------------------------------*/

  9. #include <reg52.h>

  10. #include <intrins.h>

  11. #define uint unsigned int

  12. #define uchar unsigned char

  13. #define _Nop() _nop_()



  14. /*------------------------以下為LCD1602顯示模塊端口定義及函數(shù)聲明-----------------------*/

  15. sbit lcd_rs_port = P2^2;                         /*定義LCD控制端口*/

  16. sbit lcd_rw_port = P2^3;

  17. sbit lcd_en_port = P2^4;

  18. #define lcd_data_port P0


  19. unsigned char num_char_table[] ={"0123456789ABCDEF"};

  20. unsigned char Lcd_Dis1_table[] ={"Volt:         V "};                       //電壓顯示框架

  21. unsigned char pos_char_table[] ={"      67.9AB  V "};                    //電壓顯示位置


  22. void lcd_delay(uchar ms);                                                                                          //LCD1602 延時(shí)

  23. void lcd_busy_wait();                                                                                                 //LCD1602 忙等待

  24. void lcd_command_write(uchar command);                                                          //LCD1602 命令字寫入

  25. void lcd_system_reset();                                                                                             //LCD1602 初始化

  26. void lcd_char_write(ucharx_pos,y_pos,lcd_dat);                                                   //LCD1602 字符寫入

  27. void lcd_bad_check();                                                                                                //LCD1602 壞點(diǎn)檢查

  28. void Num_to_Disp(uint Num);                                                                                   //LCD1602 數(shù)據(jù)處理

  29. void LcdDisp(uint num);                                                                                              //LCD1602 數(shù)據(jù)顯示

  30. void delay_1ms(uchar x);                                                                                           //LCD1602 延時(shí)1ms


  31. /*------------------------以下為ADS1115模塊端口定義及函數(shù)聲明--------------------------*/


  32. sbit SCL = P1^0;

  33. sbit SDA = P1^1;


  34. #define TRUE             1

  35. #define FALSE            0


  36. unsigned int Config;

  37. unsigned char Writebuff[4],Readbuff[3];

  38. unsigned int Result[2];

  39. int D_ADS;                                  //轉(zhuǎn)換的數(shù)字量

  40. #define Accuracy 32768      //定義ADC精度,ADS1115單端輸入時(shí)15位

  41. char VCC = 4.78;                   //VCC,電壓參考值


  42. #define ADDRESS_0  0x90  //ADDR PIN ->GND

  43. #define ADDRESS_1  0x92  //ADDR PIN ->VDD

  44. #define ADDRESS_2  0x94  //ADDR PIN ->SDA

  45. #define ADDRESS_3  0x96  //ADDR PIN ->SCL


  46. /************POINTERREGISTER*****************/

  47. #define Pointer_0  0x00  //Convertion register

  48. #define Pointer_1  0x01  //Config register

  49. #define Pointer_2  0x02  //Lo_thresh register

  50. #define Pointer_3  0x03  //Hi_thresh register


  51. /************CONFIG REGISTER*****************/

  52. #define OS_0   0x0000

  53. #define OS_1   0x8000


  54. #define MUX_0  0x0000 //AINp=AIN0, AINn=AIN1

  55. #define MUX_1  0x1000 //AINp=AIN0, AINn=AIN3

  56. #define MUX_2  0x2000 //AINp=AIN1, AINn=AIN3

  57. #define MUX_3  0x3000 //AINp=AIN2, AINn=AIN3

  58. #define MUX_4  0x4000 //AINp=AIN0, AINn=GND

  59. #define MUX_5  0x5000 //AINp=AIN1, AINn=GND

  60. #define MUX_6  0x6000 //AINp=AIN2, AINn=GND

  61. #define MUX_7  0x7000 //AINp=AIN3, AINn=GND


  62. #define PGA_0  0x0000  //FS=6.144V

  63. #define PGA_1  0x0200  //FS=4.096V

  64. #define PGA_2  0x0400  //FS=2.048V

  65. #define PGA_3  0x0600  //FS=1.024V

  66. #define PGA_4  0x0800  //FS=0.512V

  67. #define PGA_5  0x0A00  //FS=0.256V

  68. #define PGA_6  0x0C00  //FS=0.256V

  69. #define PGA_7  0x0E00  //FS=0.256V


  70. #define MODE_0 0x0000

  71. #define MODE_1 0x0100


  72. #define DR_0   0x0000  //Data Rate = 8

  73. #define DR_1   0x0020  //Data Rate = 16

  74. #define DR_2   0x0040  //Data Rate = 32

  75. #define DR_3   0x0060  //Data Rate = 64

  76. #define DR_4   0x0080  //Data Rate = 128

  77. #define DR_5   0x00A0  //Data Rate = 250

  78. #define DR_6   0x00C0  //Data Rate = 475

  79. #define DR_7   0x00E0  //Data Rate = 860


  80. #define COMP_MODE_0  0x0000

  81. #define COMP_MODE_1  0x0010


  82. #define COMP_POL_0   0x0000

  83. #define COMP_POL_1   0x0008


  84. #define COMP_LAT_0   0x0000

  85. #define COMP_LAT_1   0x0040


  86. #define COMP_QUE_0   0x0000

  87. #define COMP_QUE_1   0x0001

  88. #define COMP_QUE_2   0x0002

  89. #define COMP_QUE_3   0x0003


  90. //*************ADDRInitial********************/

  91. #define ADDRESS    ADDRESS_0     //ADDR PIN ->GND

  92. #define ADDRESS_W  ADDRESS|0x00 //寫地址

  93. #define ADDRESS_R  ADDRESS|0x01 //讀地址


  94. /*************ConfigInitial*********************/

  95. #define OS         OS_1

  96. #define MUX_A0     MUX_4     //AINp=AIN0, AINn=GND

  97. #define MUX_A1     MUX_5     //AINp=AIN1, AINn=GND

  98. #define MUX_A2     MUX_6     //AINp=AIN2, AINn=GND

  99. #define MUX_A3     MUX_7     //AINp=AIN3, AINn=GND

  100. #define PGA        PGA_1      //FS=6.144V

  101. #define MODE       MODE_1     //Continuous conversion mode

  102. #define DR         DR_7       //Data Rate = 860

  103. #define COMP_QUE   COMP_QUE_3


  104. void Delay_us_15 (void);

  105. void Delay_ms_1 (void);   //功    能:延時(shí)

  106. void Start(void);                 //功    能:完成IIC的起始條件操作

  107. void Stop(void);                 //功    能:完成IIC的終止條件操作

  108. void ACK(void);                  //功    能:完成IIC的主機(jī)應(yīng)答操作

  109. void NACK(void);               //功    能:完成IIC的主機(jī)無應(yīng)答操作

  110. unsigned char Check(void);//功    能:檢查從機(jī)的應(yīng)答操作

  111. void Write_1_Byte(unsigned char DataByte);                                                                   //寫 1個(gè)字節(jié)

  112. unsigned char Write_N_Byte(unsigned char*writebuffer,unsigned char n);                //寫 N個(gè)字節(jié)

  113. unsigned char Read_1_Byte(void);                                                                                     //讀 1個(gè)字節(jié)

  114. void Read_N_Byte(unsigned int*readbuff,unsigned char n);                                         //讀 N個(gè)字節(jié)

  115. void InitADS1115(bit S_MUX_0, bit S_MUX_1);                                                               //ADS1115初始化

  116. void WriteWord(void);                                                                                                         //寫

  117. void ReadWord(void);                                                                                                          //讀

  118. unsigned int ADS1115(bit S_MUX_0, bitS_MUX_1);                                                       //ADS1115取值


  119. /*--------------------------------------------------------------------------------------------------------------------------------*/

  120. /*--*********************************【 主函數(shù) 】*******************************--*/

  121. /*-------------------------------------------------------------------------------------------------------------------------------*/

  122. void main()

  123. {

  124.         unsignedint result;

  125.         

  126.         lcd_system_reset();               //LCD1602 初始化

  127.         lcd_bad_check();                   //LCD1602 壞點(diǎn)檢查

  128.         

  129.         while(1)

  130.         {      

  131.                  result= ADS1115(0,0);    //ADS1115取值_AIN0

  132.                  //result= ADS1115(0,1); //ADS1115取值_AIN1

  133. //result = ADS1115(1,0); //ADS1115取值_AIN2

  134. //result = ADS1115(1,1); //ADS1115取值_AIN3


  135.                  LcdDisp(result);                //LCD1602顯示電壓值

  136.         }      

  137. }

  138. /*--------------------------------------------------------------------------------------------------------------------------------*/

  139. /*--****************************************************************************--*/

  140. /*-------------------------------------------------------------------------------------------------------------------------------*/



  141. /*------------------------以下為LCD1602顯示模塊函數(shù)定義-----------------------*/


  142. void lcd_delay(uchar ms)     /***********LCD1602 延時(shí)***************/

  143. {

  144.    uchar j;

  145.    while(ms--){

  146.        for(j=0;j<250;j++)

  147.            {;}

  148.        }   

  149. }


  150. void lcd_busy_wait()         /**********LCD1602 忙等待*************/

  151. {

  152.    lcd_rs_port = 0;

  153.    lcd_rw_port = 1;

  154.    lcd_en_port = 1;

  155.    lcd_data_port = 0xff;

  156.    while (lcd_data_port&0x80);

  157.    lcd_en_port = 0;


  158. }


  159. void lcd_command_write(uchar command)   /**********LCD1602 命令字寫入*************/

  160. {

  161.    lcd_busy_wait();

  162.    lcd_rs_port = 0;

  163.    lcd_rw_port = 0;

  164.    lcd_en_port = 0;

  165.    lcd_data_port = command;

  166.    lcd_en_port = 1;

  167.    lcd_en_port = 0;     

  168. }


  169. void lcd_system_reset()          /**********LCD1602 初始化**************/

  170. {

  171.    lcd_delay(20);

  172.    lcd_command_write(0x38);

  173.    lcd_delay(100);

  174.    lcd_command_write(0x38);

  175.    lcd_delay(50);

  176.    lcd_command_write(0x38);

  177.    lcd_delay(10);

  178.    lcd_command_write(0x08);

  179.    lcd_command_write(0x01);

  180.    lcd_command_write(0x06);

  181.    lcd_command_write(0x0c);

  182. }


  183. void lcd_char_write(ucharx_pos,y_pos,lcd_dat)  /******LCD1602 字符寫入**********/

  184. {

  185.    x_pos &= 0x0f; /* X位置范圍 0~15 */

  186.    y_pos &= 0x01; /* Y位置范圍 0~ 1 */

  187.    if(y_pos==1) x_pos += 0x40;

  188.    x_pos += 0x80;

  189.    lcd_command_write(x_pos);

  190.    lcd_busy_wait();

  191.    lcd_rs_port = 1;

  192.    lcd_rw_port = 0;

  193.    lcd_en_port = 0;

  194.    lcd_data_port = lcd_dat;

  195.    lcd_en_port = 1;

  196.    lcd_en_port = 0;

  197. }


  198. void lcd_bad_check()                         /******LCD1602 壞點(diǎn)檢查**********/

  199. {

  200.    char i,j;

  201.    for(i=0;i<2;i++){

  202.        for(j=0;j<16;j++) {

  203.            lcd_char_write(j,i,0xff);

  204.            }

  205.        }

  206.    lcd_delay(200);

  207.    lcd_delay(200);

  208.         lcd_delay(200);

  209.         lcd_delay(100);

  210.         lcd_delay(200);

  211.    lcd_command_write(0x01);       //clear lcd disp

  212. }


  213. void Num_to_Disp(uint Num)           /******LCD顯示數(shù)據(jù)處理*****/ //Start_1-Over_1:顯示電壓值,Start_2-Over_2:顯示ADS1115輸出數(shù)值

  214. {                                                                                                                                                            

  215.         floatNUM;                                                                                                                 //Start_1

  216.         intxx, yy, zz, zzz;


  217.         NUM= (Num  / (float)Accuracy) * VCC;                                 //ADS1115取值 = Accuracy× (Vin / VCC)

  218.         xx= (int)NUM;

  219.         yy= (int)((NUM - (float)(xx)) * 10);

  220.         zz= (int)((NUM - (float)(xx)) * 100)%10;

  221.         zzz= (int)((NUM - (float)(xx)) * 1000)%10;


  222.         pos_char_table[6]= num_char_table[xx / 10];                  //電壓值十位

  223.         pos_char_table[7]=num_char_table[xx % 10];                      //電壓值個(gè)位

  224.         pos_char_table[9]=num_char_table[yy];                               //電壓值小數(shù)點(diǎn)后一位

  225.         pos_char_table[10]=num_char_table[zz];                              //電壓值小數(shù)點(diǎn)后兩位

  226.         pos_char_table[11]=num_char_table[zzz];                        //電壓值小數(shù)點(diǎn)后三位   //Over_1


  227. /*

  228.         pos_char_table[6]= num_char_table[Num / 10000];                                               //Start_2

  229.         pos_char_table[7]= num_char_table[(Num % 10000) / 1000];   

  230.         pos_char_table[8]=num_char_table[((Num % 10) % 1000) / 100];      

  231.         pos_char_table[9]=num_char_table[(Num / 10) % 10];                        

  232.         pos_char_table[A]=num_char_table[Num % 10];                                                    //Over_2

  233. */     

  234. }


  235. void LcdDisp(uint num)                       /************LCD顯示*************/

  236. {

  237.         uinti=0;


  238.         for(i=0;i<16;i++)

  239.         {

  240.                  lcd_char_write(i,0,Lcd_Dis1_table[ i]);  //顯示框架

  241.         }

  242.         Num_to_Disp(num);

  243.         for(i= 6; i < 12; i++)

  244.         {

  245.                  lcd_char_write(i,0,pos_char_table[ i]);  //顯示電壓

  246.         }                                                                                                     

  247.         delay_1ms(100);

  248. }


  249. void delay_1ms(uchar x)                    /*******1MS為單位的延時(shí)程序******/

  250. {

  251.    uchar j;

  252.    while(x--){

  253.        for(j=0;j<125;j++)

  254.            {;}

  255.        }   

  256. }


  257. /*------------------------以下為ADS1115模塊端口函數(shù)定義--------------------------*/


  258. void Delay_us_15 (void)     /*延時(shí)程序*/

  259. {

  260.    unsigned char i;

  261.    

  262.    for(i = 0;i < 15;i++)

  263.      _nop_();

  264. }

  265. void Delay_ms_1 (void)

  266. {

  267.         unsignedchar i;

  268.         for(i= 150;i > 0;i--) _nop_();

  269. }      

  270. ///*******************************************

  271. //函數(shù)名稱:Start

  272. //功    能:完成IIC的起始條件操作

  273. //參    數(shù):無

  274. //返回值  :無

  275. //********************************************/

  276. void Start(void)

  277. {

  278.        SCL=1;

  279.        SDA=1;

  280.        Delay_us_15 ();

  281.                  SDA=0;

  282.        Delay_us_15 ();

  283.                  SCL=0;

  284.        Delay_us_15 ();

  285. }

  286. //

  287. ///*******************************************

  288. //函數(shù)名稱:Stop

  289. //功    能:完成IIC的終止條件操作

  290. //參    數(shù):無

  291. //返回值  :無

  292. //********************************************/

  293. void Stop(void)

  294. {

  295.        SDA=0;

  296.        Delay_us_15 ();

  297.        SCL=1;

  298.        Delay_us_15 ();

  299.                  SDA=1;

  300.        Delay_us_15 ();

  301. }

  302. ///*******************************************

  303. //函數(shù)名稱:ACK

  304. //功    能:完成IIC的主機(jī)應(yīng)答操作

  305. //參    數(shù):無

  306. //返回值  :無

  307. //********************************************/

  308. void ACK(void)

  309. {

  310.        SDA=0;

  311.        _nop_(); _nop_();

  312.        SCL=1;

  313.        Delay_us_15 ();

  314.        SCL=0;

  315.                  _nop_();_nop_();

  316.                  SDA=1;

  317.        Delay_us_15 ();

  318. }

  319. //*******************************************

  320. //函數(shù)名稱:NACK

  321. //功    能:完成IIC的主機(jī)無應(yīng)答操作

  322. //參    數(shù):無

  323. //返回值  :無

  324. //********************************************/

  325. void NACK(void)

  326. {

  327.         SDA=1;

  328.         _nop_();_nop_();

  329.         SCL=1;

  330.         Delay_us_15();

  331.         SCL=0;

  332.         _nop_();_nop_();

  333.         SDA=0;   

  334.         Delay_us_15();      

  335. }

  336. //**********檢查應(yīng)答信號(hào)函數(shù)******************/

  337. ///*如果返回值為1則證明有應(yīng)答信號(hào),反之沒有*/

  338. ///*******************************************

  339. //函數(shù)名稱:Check

  340. //功    能:檢查從機(jī)的應(yīng)答操作

  341. //參    數(shù):無

  342. //返回值  :從機(jī)是否有應(yīng)答:1--有,0--無

  343. //********************************************/

  344. unsigned char Check(void)

  345. {

  346.    unsigned char slaveack;

  347.    

  348.    SDA=1;

  349.    _nop_(); _nop_();

  350.    SCL=1;

  351.    _nop_(); _nop_();


  352.    _nop_(); _nop_();

  353.    slaveack = SDA;   //讀入SDA數(shù)值

  354.    SCL=0;

  355.    Delay_us_15 ();

  356.   

  357.    if(slaveack)    return FALSE;

  358.    else            return TRUE;

  359. }


  360. /***************Write a Byte****************/

  361. void Write_1_Byte(unsigned char DataByte)

  362. {

  363.         inti;


  364.         for(i=0;i<8;i++)

  365.         {

  366.                  if(DataByte&0x80)  //if((DataByte<<i)&0x80)

  367.                    SDA=1;

  368.                  else

  369.                    SDA=0;

  370.        Delay_us_15 ();

  371.                  SCL=1;

  372.        Delay_us_15 ();

  373.        SCL=0;

  374.        Delay_us_15 ();

  375.        DataByte <<= 1;

  376.         }

  377.        SDA=1;

  378.        _nop_();

  379. }

  380. /***************Write NByte****************/

  381. unsigned char Write_N_Byte(unsigned char*writebuffer,unsigned char n)

  382. {

  383.         inti;


  384.         for(i=0;i<n;i++)

  385.         {

  386.                  Write_1_Byte(*writebuffer);

  387.                  if(Check())

  388.                 {

  389.                          writebuffer++;

  390.                  }

  391.                  else

  392.                  {

  393.                          Stop();

  394.                      return FALSE;

  395.                  }

  396.         }

  397.         Stop();

  398.         returnTRUE;

  399. }


  400. //***************Read aByte****************/

  401. unsigned char Read_1_Byte(void)

  402. {

  403.    unsigned char data_Value = 0, FLAG, i;

  404.         

  405.    for(i=0;i<8;i++)

  406.     {

  407.       

  408.         SDA=1;

  409.         Delay_us_15();

  410.    SCL=1;

  411.         Delay_us_15();

  412.        FLAG=SDA;

  413.        data_Value <<= 1;

  414.         if(FLAG)

  415.            data_Value |= 0x01;


  416.    SCL=0;

  417.    Delay_us_15 ();

  418.     }

  419.    return data_Value;

  420. }


  421. //***************Read NByte****************/

  422. void Read_N_Byte(unsigned int*readbuff,unsigned char n)

  423. {

  424.         unsignedchar i;

  425.         

  426.         for(i=0;i<n;i++)

  427.         {

  428.                  readbuff[ i]=Read_1_Byte();

  429.                  if(i==n-1)

  430.                          NACK();  //不連續(xù)讀字節(jié)

  431.                  else

  432.                          ACK();//連續(xù)讀字節(jié)

  433.         }

  434.         Stop();


  435. }

  436. //*****************初始化******************/

  437. void InitADS1115(bit S_MUX_0, bit S_MUX_1)

  438. {


  439.         

  440.         if(S_MUX_0 == 0 && S_MUX_1 == 0)                                      //AIN0

  441.         Config= OS+MUX_A0+PGA+DR+COMP_QUE+MODE;

  442.         if(S_MUX_0 == 0 && S_MUX_1 == 1)                                     //AIN1

  443.         Config= OS+MUX_A1+PGA+DR+COMP_QUE+MODE;

  444.         if(S_MUX_0 == 1 && S_MUX_1 == 0)                                      //AIN2

  445.         Config= OS+MUX_A2+PGA+DR+COMP_QUE+MODE;

  446.         if(S_MUX_0 == 1 && S_MUX_1 == 1)                                      //AIN3

  447.         Config= OS+MUX_A3+PGA+DR+COMP_QUE+MODE;

  448.    

  449.    Writebuff[0]=ADDRESS_W;

  450.    Writebuff[1]=Pointer_1;

  451.    Writebuff[2]=Config/256;

  452.    Writebuff[3]=Config%256;

  453.       

  454.    Readbuff[0]=ADDRESS_W;

  455.    Readbuff[1]=Pointer_0;

  456.       

  457.    Readbuff[2]=ADDRESS_R;

  458. }


  459. //***************Write aWord***********************/

  460. void WriteWord(void)

  461. {

  462.     int t;

  463.     Start();   //寫入4個(gè)字節(jié)

  464.     do

  465.     {

  466.          t=Write_N_Byte(Writebuff,4);

  467.     }while(t==0);

  468. }

  469. //***************ReadWord***********************/

  470. void ReadWord(void)

  471. {

  472.    int t;

  473.    Start();  //寫入2個(gè)字節(jié)

  474.    do

  475.     {

  476.      t=Write_N_Byte(Readbuff,2);

  477.    }while(t==0);


  478.    Start();   //寫入2個(gè)字節(jié)

  479.    do

  480.     {

  481.      t=Write_N_Byte(&Readbuff[2],1);

  482.    }while(t==0);

  483.    

  484.    Read_N_Byte(Result,2);  //讀出2個(gè)字節(jié)


  485. }

  486. //***************ADS1115********************/

  487. unsigned int ADS1115(bit S_MUX_0, bitS_MUX_1)

  488. {

  489.    InitADS1115(S_MUX_0, S_MUX_1);

  490.    WriteWord();

  491.    Delay_ms_1();

  492.    ReadWord();

  493.         

  494.    D_ADS=Result[0]*256+Result[1];  //轉(zhuǎn)換的數(shù)字量


  495.       return D_ADS;

  496. }

復(fù)制代碼
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏4 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:159492 發(fā)表于 2017-11-29 11:12 | 只看該作者
你好,你用這個(gè)程序調(diào)試成功了嗎?
回復(fù)

使用道具 舉報(bào)

板凳
ID:167337 發(fā)表于 2017-11-29 13:50 | 只看該作者
謝謝樓主分享資源,正需要這些資料學(xué)習(xí)。不過正想老二所說,程序編譯一大堆錯(cuò)誤?不知怎樣改?
回復(fù)

使用道具 舉報(bào)

地板
ID:128402 發(fā)表于 2017-12-11 12:57 | 只看該作者
YQS 發(fā)表于 2017-11-29 13:50
謝謝樓主分享資源,正需要這些資料學(xué)習(xí)。不過正想老二所說,程序編譯一大堆錯(cuò)誤?不知怎樣改?

錯(cuò)誤原因使用復(fù)制后unsigned int,unsigned char 中間沒有空格很多的變量和變量類型間沒有空格造成的,注意修改就可以編譯成功。
回復(fù)

使用道具 舉報(bào)

5#
ID:159492 發(fā)表于 2017-12-13 10:52 | 只看該作者
1039629873 發(fā)表于 2017-12-11 12:57
錯(cuò)誤原因使用復(fù)制后unsigned int,unsigned char 中間沒有空格很多的變量和變量類型間沒有空格造成的,注 ...

如何測(cè)量差分電壓呢?
回復(fù)

使用道具 舉報(bào)

6#
ID:104779 發(fā)表于 2017-12-28 21:25 | 只看該作者
請(qǐng)問ADS1015和這個(gè)程序能通用嗎?
回復(fù)

使用道具 舉報(bào)

7#
ID:325030 發(fā)表于 2018-6-12 20:45 | 只看該作者
改完了,最后一個(gè)C235錯(cuò)誤,實(shí)在找不到哪里問題了。
回復(fù)

使用道具 舉報(bào)

8#
ID:419072 發(fā)表于 2019-3-21 19:29 | 只看該作者
我編譯也全部通過了,直接亮屏檢測(cè)玩壞點(diǎn)就沒有反應(yīng)了,stc12c5a60s2.11.0592晶振
回復(fù)

使用道具 舉報(bào)

9#
ID:503223 發(fā)表于 2019-4-2 15:00 | 只看該作者
我編譯沒有通過,報(bào)告是:*** ERROR L256: MODULE CONTAINS DUPLICATE SEGMENT NAMES
報(bào)告了L256錯(cuò)誤
回復(fù)

使用道具 舉報(bào)

10#
ID:585455 發(fā)表于 2020-9-25 13:52 | 只看該作者
電壓只能測(cè)到3.99v,後來修改兩處至少可以測(cè)到自己的5v,
修改處:
char VCC = 4.78;   改為    float VCC = 6.144;
#define PGA        PGA_1   改為  #define PGA        PGA_0
回復(fù)

使用道具 舉報(bào)

11#
ID:421184 發(fā)表于 2021-4-20 20:55 | 只看該作者
樓主,有原理圖嗎?我ADS1115的AINP是AIN0,AINN是AIN1,需要怎么修改程序呢?我想看看你的原理圖,謝謝啦
回復(fù)

使用道具 舉報(bào)

12#
ID:1089420 發(fā)表于 2023-7-23 18:47 | 只看該作者
感謝大佬,感謝大佬,感謝大佬。我調(diào)試成功了!!!!!!!!!!!!!!!!!!!
回復(fù)

使用道具 舉報(bào)

13#
ID:1089420 發(fā)表于 2023-7-23 18:48 | 只看該作者
夢(mèng)隨心行 發(fā)表于 2017-11-29 11:12
你好,你用這個(gè)程序調(diào)試成功了嗎?

我調(diào)試成功了!!!!!!!!
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久久99精品久久久久久 | 看片地址 | 国产高清性xxxxxxxx | 欧美日韩国产精品激情在线播放 | www.久久久久久久久久久 | 国产99热在线 | 精品无码久久久久久国产 | 久久中文视频 | 精品一区二区久久久久久久网站 | 国产精品精品久久久 | 欧美精品一区在线 | 午夜在线视频一区二区三区 | 影音先锋亚洲资源 | 日韩精品一区二区三区视频播放 | 永久av | 亚洲国内精品 | 亚洲午夜av久久乱码 | 一区二区三区在线观看视频 | 亚洲国产一区二区三区, | 一区二区三区四区视频 | 日日干日日色 | 亚洲午夜在线 | 日韩乱码一二三 | 综合久久亚洲 | 久国产视频 | 鲁视频 | 国产精品污www在线观看 | 国产精品污污视频 | 黄色在线观看网站 | av电影一区 | a级免费观看视频 | 妖精视频一区二区三区 | 97免费在线视频 | 日韩视频免费看 | 久久久成人精品 | 97精品超碰一区二区三区 | 奇米四色影视 | 亚洲人成一区二区三区性色 | 欧美日本一区二区 | av在线播放网 | 午夜视频免费在线观看 |