亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

標題: 關于如何用PCF8951更換ADC0832的問題,要求基本功能不變,望大神指點迷津 [打印本頁]

作者: 木君哥哥    時間: 2017-12-12 13:03
標題: 關于如何用PCF8951更換ADC0832的問題,要求基本功能不變,望大神指點迷津

  1. #include "ADC0832.h"
  2. unsigned char Read_ADC0832(unsigned char CH)
  3. {
  4.     unsigned char i,dis0,dis1;
  5.         unsigned int date;  
  6.         ADC_Clk=0;    //拉低時鐘
  7.     ADC_DI=1;   //初始化
  8.     _nop_();
  9.         ADC_CS=0;    //芯片選定
  10.     _nop_();
  11.     ADC_Clk=1;   //拉高時鐘
  12.     _nop_();

  13.         if(CH==0)      //通道選擇
  14.     {
  15.       ADC_Clk=0;      //第一次拉低時鐘
  16.       ADC_DI=1;     //通道0的第一位
  17.       _nop_();
  18.       ADC_Clk=1;    //拉高時鐘
  19.           _nop_();
  20.       ADC_Clk=0;    //第二次拉低時鐘,ADC0832 DI接受數據
  21.       ADC_DI=0;   //通道0的第二位
  22.       _nop_();
  23.       ADC_Clk=1;
  24.       _nop_();
  25.     }
  26.     else
  27.     {
  28.       ADC_Clk=0;
  29.       ADC_DI=1;      //通道1的第一位
  30.       _nop_();
  31.       ADC_Clk=1;
  32.       _nop_();
  33.       ADC_Clk=0;
  34.       ADC_DI=1;      //通道1的第二位
  35.       _nop_();
  36.       ADC_Clk=1;
  37.       _nop_();
  38.     }
  39.         ADC_Clk=0;  //第三次拉低時鐘,此前DI兩次賦值決定通道
  40.     ADC_DI=1;   //DI開始失效,拉高電平,便于DO數據傳輸

  41.     for(i= 0;i<8;i++)      //讀取前8位的值
  42.     {
  43.        _nop_();
  44.        dis0<<= 1;
  45.        ADC_Clk=1;   
  46.        _nop_();
  47.        ADC_Clk=0;
  48.        if (ADC_DO)
  49.           dis0|=0x01;   
  50.       else
  51.           dis0|=0x00;
  52.     }
  53.     for (i=0;i<8;i++)      //讀取后8位的值
  54.     {
  55.        dis1>>= 1;
  56.        if (ADC_DO)
  57.         dis1|= 0x80;
  58.        else
  59.         dis1|= 0x00;
  60.        _nop_();
  61.        ADC_Clk=1;
  62.        _nop_();
  63.        ADC_Clk=0;
  64.     }
  65.         if(dis0==dis1) //兩次結束數據比較,若相等
  66.           date=dis0;    //則賦值給dat   
  67.     _nop_();
  68.     ADC_CS=1;  //釋暸ADC0832
  69.     ADC_DO=1;  //拉高輸出端,暯便下次通道選擇DI端有效
  70.     ADC_Clk=1;  //拉高時鐘

  71.     return date;

復制代碼



作者: zl2168    時間: 2017-12-14 21:09
本帖最后由 zl2168 于 2017-12-14 21:12 編輯

實例85  PCF8591 I2C串行A-D(1602顯示)
Proteus仿真一下,確認有效。
實例85 PCF8591 I2C串行A-D.rar (57.96 KB, 下載次數: 19)

實例86 DAC0832輸出連續鋸齒波.rar (44.73 KB, 下載次數: 6)


以上摘自張志良編著《80C51單片機仿真設計實例教程——基于Keil CProteus》清華大學出版社ISBN 978-7-302-41682-1書中電路和程序設計有詳細說明,程序語句條條有注解。仿真電路和Hex文件能在清華出版社網站免費下載,程序源代碼只能到書上看了。到圖書館借,或到新華書店翻閱,或到網上書店打折購買。





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