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

QQ登錄

只需一步,快速開(kāi)始

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

51單片機(jī)max1241測(cè)試源程序與仿真 ADC精度0.01V

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
自己用的ADC程序。用的MAX1241,注意我是PROTUES8.0仿真的。歡迎大家討論,也希望給新手一個(gè)參考,精度0.01V
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機(jī)源程序如下:
  1. #include<reg51.h>
  2. sbit ADC_DOUT=P3^0;
  3. sbit ADC_CLK=P3^1;
  4. sbit ADC_CS=P3^2;
  5. extern void WriteAddress(unsigned char x,y);
  6. extern void LcdInitiate(void);
  7. extern void display(char *p);
  8. extern void WriteData(unsigned char y);
  9. unsigned char code bt[]=" Max1241 Test! ";
  10. unsigned char code sj[]="Now Date:     V";
  11. unsigned char S;
  12. unsigned char a,b,c;
  13. unsigned char tab[]="0123456789";
  14. unsigned int ADC_Data;
  15. int Read_Max1241()
  16. {
  17. char i;
  18. ADC_CLK=0;
  19. ADC_CS=0;
  20. ADC_Data=0;
  21. while(!ADC_DOUT);   //當(dāng)CS=0后,開(kāi)始轉(zhuǎn)換,DOUT輸出0,轉(zhuǎn)換結(jié)束輸出1,再要有一個(gè)時(shí)鐘后才開(kāi)始傳輸數(shù)據(jù)
  22. //start output the data
  23. ADC_CLK=1;
  24. ADC_CLK=0;

  25. //傳輸數(shù)據(jù)
  26. for(i=0;i<12;i++)
  27. {
  28.        ADC_CLK=1;
  29.        ADC_Data<<=1;
  30.        ADC_Data |= ADC_DOUT;
  31.        ADC_CLK=0;
  32. }

  33. ADC_CS=1;
  34. ADC_CLK=0;
  35. return  ADC_Data;
  36. }
  37. void ADC_COUNT()
  38. {
  39. S=(Read_Max1241()*0.00122070312)*100;
  40. a=S/100%10;
  41. b=S/10%10;
  42. c=S%10;
  43. WriteAddress(2,11);
  44. WriteData(tab[a]);
  45. WriteAddress(2,13);
  46. WriteData(tab[b]);
  47. WriteData(tab[c]);



  48. }
  49. void main()
  50. {
  51.   LcdInitiate();
  52.   WriteAddress(1,1);
  53.   display(bt);
  54.   WriteAddress(2,1);
  55.   display(sj);
  56.   WriteAddress(2,12);
  57. ……………………

  58. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
max1241.zip (77 KB, 下載次數(shù): 92)



評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

使用道具 舉報(bào)

沙發(fā)
ID:291815 發(fā)表于 2018-4-13 17:25 | 只看該作者
很棒的資料,學(xué)習(xí)學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

板凳
ID:332444 發(fā)表于 2023-6-7 14:45 | 只看該作者
稍做修正即無(wú)精度誤差,且乘以小數(shù)的值是從哪里來(lái)的?我獲取的小數(shù)是0.05/41*100

0.png (78.28 KB, 下載次數(shù): 57)

0.png
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表