找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2292|回復: 2
打印 上一主題 下一主題
收起左側(cè)

12位高精度mcp3208做單片機電壓測量,用過的請點擊進入交流

[復制鏈接]
回帖獎勵 300 黑幣 回復本帖可獲得 100 黑幣獎勵! 每人限 3 次(中獎概率 80%)
跳轉(zhuǎn)到指定樓層
樓主
ID:245521 發(fā)表于 2018-8-6 15:47 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
鄙人在做電壓測量一個項目,用到了mcp3208。在測試1、2、3、4、5V時只有0、1、2示數(shù)正確。3、4、5分別顯示00、01、02。
網(wǎng)上的參考資料比較少,所以想問問大家這款12位高精度AD芯片你們用過嗎?


程序代碼我已經(jīng)刪減到最簡潔了:
  1. #include "reg51.h"
  2. #include "stdio.h"
  3. sbit    ADCS  =  P1^3;   
  4. sbit    DIN   =  P1^2;   
  5. sbit    DOUT  =  P1^1;   
  6. sbit    CLK   =  P1^0;
  7. float getdata;
  8. float t;
  9. char sum[12];
  10. unsigned char s[]="Hello";
  11. void Output_Control(char TempChar)   
  12. {   
  13.                 unsigned int Mask = 0x10;  
  14.                 unsigned char Count;   
  15.     for(Count = 0;Count<5;Count++)  
  16.     {  
  17.      DIN = 0;   
  18.         if(TempChar&Mask)   
  19.         {   
  20.             DIN = 1;   
  21.         }
  22.                                 CLK = 1;   
  23.         Mask >>= 0x01;   
  24.         CLK = 0;
  25.                 }
  26. }
  27. float trans(char a[12]){
  28.         int i, num = 0;
  29.                 for(i=11; i>=0; i--)
  30.                 {
  31.                 num*=2;
  32.                 num+=a[i]-'0';
  33.                 }
  34.                 return num;
  35. }
  36. float Input_Data()   
  37. {   
  38.     unsigned char Count;      
  39.     CLK = 1;   
  40.     CLK = 0;   
  41.     for(Count = 0;Count <12;Count++)   
  42.     {   
  43.         sum[Count]=DOUT;      
  44.         CLK = 1;   
  45.         CLK = 0;   
  46.     }   
  47.     return(trans(sum));   
  48. }
  49. void main(void)  
  50. {
  51.     ADCS = 1;   
  52.     while(1)   
  53.     {   
  54.         ADCS = 0;   
  55.         Output_Control((char)0x18);  
  56.                     getdata=Input_Data();
  57.         ADCS = 1;   
  58.                                 t=(5*getdata/8191);
  59.                                 P2=t;
  60.     }
  61. }
復制代碼



評分

參與人數(shù) 1黑幣 +5 收起 理由
出生牛犢 + 5 贊一個!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:245521 發(fā)表于 2018-8-6 17:08 | 只看該作者
各位想必都用過了吧?還請大家不吝賜教
回復

使用道具 舉報

板凳
ID:245521 發(fā)表于 2018-8-6 22:48 來自手機 | 只看該作者
有人嗎
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表