標(biāo)題: 單片機PCF8591 AD轉(zhuǎn)換仿真實驗(附源程序) [打印本頁]

作者: 12345555900000    時間: 2018-12-24 17:03
標(biāo)題: 單片機PCF8591 AD轉(zhuǎn)換仿真實驗(附源程序)
編程實現(xiàn):將PCF8591的AIN0引腳輸入的0~5V模擬電壓(由電位器產(chǎn)生)進行A/D轉(zhuǎn)換,并將轉(zhuǎn)換結(jié)果輸出到P0口(P0口接8個LED),要求P0口的8個燈能實時反映出輸入的模擬電壓

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機源碼:
  1. #include<reg52.h>
  2. #include<intrins.h>
  3. sbit SCL=P2^1;
  4. sbit SDA=P2^0;
  5. void start()
  6. {        SDA=1;
  7.         SCL=1;
  8.         _nop_();
  9.         _nop_();
  10.         SDA=0;
  11.         _nop_();
  12.         _nop_();
  13.         SCL=0;}
  14. void stop()
  15. {        SDA=0;
  16.         SCL=0;
  17.         _nop_();
  18.         _nop_();
  19.         SCL=1;
  20.         _nop_();
  21.         _nop_();
  22.         SDA=1;}
  23. void rack()
  24. {        SCL=1;
  25.         _nop_();
  26.         _nop_();
  27.         SCL=0;}
  28. void nack()
  29. {        SDA=1;
  30.         SCL=1;
  31.         _nop_();
  32.         _nop_();
  33.         SCL=0;
  34.         SDA=1;}
  35. void wbyte(unsigned char tmp)
  36. {        unsigned char i;
  37.         for(i=0;i<8;i++)
  38.         {        tmp<<=1;
  39.                 SDA=CY;
  40.                 SCL=1;
  41.                 _nop_();
  42.                 _nop_();
  43.                 SCL=0;}
  44.         rack();}
  45. unsigned char rbyte()
  46. {        unsigned char i,d;
  47.         for(i=0;i<8;i++)
  48.         {        SCL=1;
  49.                 d<<=1;
  50.                 d=d|SDA;
  51.                 SCL=0;}
  52.         return d;}
  53. unsigned char rdata()
  54. {        unsigned char d;
  55.         start();
  56.         wbyte(0x90);
  57.         wbyte(0);
  58.         start();
  59.         wbyte(0x91);
  60.         d=rbyte();
  61.         nack();
  62.         stop();
  63.         return d;}
  64. void main()
  65. {        while(1)
  66.                 P0=rdata();}
復(fù)制代碼

全部資料51hei下載地址:
AD轉(zhuǎn)換源程序(PCF8591).zip (62.31 KB, 下載次數(shù): 192)
AD轉(zhuǎn)換.zip (18.72 KB, 下載次數(shù): 122)

作者: linnyshow    時間: 2020-2-26 13:01
挺詳細的。好資料,51黑有你更精彩!!!
作者: raxx    時間: 2020-5-18 00:01
麻煩問一下,dsn仿真文件只能用Proteus7.5才能打開吧?
作者: changchangchang    時間: 2020-5-18 01:15
新手路過,看起來好厲害的樣子
作者: liuzhiyuan    時間: 2021-4-16 16:07
這個不錯的 好用
作者: jammy98    時間: 2021-5-9 15:20

挺詳細的。好資料,51黑有你更精彩!!!
作者: zhouwei0815    時間: 2021-6-12 22:08
比較簡單直觀 方便學(xué)習(xí)  




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1