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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3349|回復: 1
打印 上一主題 下一主題
收起左側

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

[復制鏈接]
回帖獎勵 54 黑幣 回復本帖可獲得 6 黑幣獎勵! 每人限 1 次
跳轉到指定樓層
樓主

  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;

復制代碼


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

使用道具 舉報

沙發
ID:111634 發表于 2017-12-14 21:09 | 只看該作者

回帖獎勵 +6 黑幣

本帖最后由 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文件能在清華出版社網站免費下載,程序源代碼只能到書上看了。到圖書館借,或到新華書店翻閱,或到網上書店打折購買。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩精品一区二区三区中文字幕 | 国产精品免费一区二区三区四区 | 中文字幕在线国产 | 日韩毛片在线观看 | 久久久一区二区三区 | 成人三级网址 | 欧美婷婷 | 成人黄色在线视频 | 中文字幕一区在线观看视频 | 男人的天堂中文字幕 | 亚洲性在线| 羞羞视频在线观免费观看 | 一区二区三区久久 | 一区二区三区国产精品 | 不卡一二三区 | 91精品国产综合久久婷婷香蕉 | 国产成人福利在线观看 | 日韩一级 | 亚洲喷水 | 成人一区二区三区在线 | 91佛爷在线观看 | 999www视频免费观看 | 国产成人jvid在线播放 | 国产成人高清成人av片在线看 | 视频一区二区中文字幕 | 免费av手机在线观看 | 亚洲国产欧美日韩 | 一区二区三区国产视频 | 亚州一区二区三区 | 色又黄又爽网站www久久 | 天天射视频 | 亚洲一区二区三区在线播放 | 一区二区三区av | 国产日韩欧美激情 | 国产精品久久久久久久岛一牛影视 | 中文字幕99 | 久久久久亚洲 | 一区二区三区精品视频 | 日本一区视频在线观看 | 国产一区999 | 国产欧美性成人精品午夜 |