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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

12位AD模數轉換(TLC2543驅動)

[復制鏈接]
跳轉到指定樓層
樓主
ID:162691 發表于 2017-1-22 11:35 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
該驅動多增加了一次寫端口地址,目的是讀取需要的端口值。
因為AD操作時,寫地址后要再下次才能讀上次的數據。
(這在輸入的模擬信號是多端口時,避免邏輯錯誤。
當然也可以采取其他方式避免這種邏輯錯誤)



#include<reg52.h>
#include <intrins.h>

sbit AD_OUT=P3^2;         //從 2543讀數據
sbit AD_IN =P3^3;         //輸出信號to 2543
sbit AD_CS =P3^4;         //片選2543
sbit AD_CLK=P3^5;         //時鐘信號
sbit AD_EOC=P3^7;//無用

void AD2543_ini()         //初始化2543
{
        AD_CS=1;
        AD_CLK=0;
}

unsigned int Read2543(unsigned char port)        //port為準備讀取的端口
{
unsigned int ad=0,n;//變量ad為返回值,n為臨時變量(用于端口操作)
unsigned char i;

AD_CLK=0;      //clk先給0,避免出錯
AD_CS=0;       //片選,0有效
n=port;           //用n來操作端口port,目的是寫2次端口地址,這樣回來的才是真正的端口ad值
n<<=4;          //先偏移4,讓地址到高位
for(i=0;i<12;i++)   //輸入12位端口地址(其實前4位是地址,后8位都是0)
        {
          AD_IN=(bit)(n&0x80);  //高位(第8位)輸出。(串口模式)
          AD_CLK=1;  
          AD_CLK=0;
          n<<=1;       //左移1位。利用循環逐位輸出
        }
AD_CS=1;        //關閉片選
          {_nop_();_nop_();_nop_();_nop_();}         //緩沖一下
        {_nop_();_nop_();_nop_();_nop_();} //緩沖
               
AD_CS=0;  //再次片選
n=port;     //再次寫端口地址
n<<=4;
for(i=0;i<12;i++)
        {
          AD_IN=(bit)(n&0x80);
          AD_CLK=1;
          AD_CLK=0;
          n<<=1;
        }
AD_CS=1;   //停止
          {_nop_();_nop_();_nop_();_nop_();}
        {_nop_();_nop_();_nop_();_nop_();}

AD_CS=0;                 //片選。開始讀取數據
for(i=0;i<12;i++)     //12位循環
        {
        ad<<=1;         //先左移1位
          if(AD_OUT) ad|=0x01;  //判斷:如AD_OUT為1,則ad低位賦值1
          AD_CLK=1;
          AD_CLK=0;
        }
AD_CS=1;             //結束讀數據
       
return(ad);           //返回值ad
}

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

使用道具 舉報

沙發
ID:162691 發表于 2017-1-25 21:03 | 只看該作者
自己頂一個。這個對新手很有用的
回復

使用道具 舉報

板凳
ID:1 發表于 2017-2-12 23:20 | 只看該作者
好資料,51黑有你更精彩!!!
回復

使用道具 舉報

地板
ID:512403 發表于 2019-4-22 14:51 來自手機 | 只看該作者
多謝!幫助
回復

使用道具 舉報

5#
ID:528308 發表于 2019-5-9 16:45 | 只看該作者
控制字的第三位和第四位都是零嗎?
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品中文字幕在线 | 成人一区在线观看 | 91污在线 | 91精品中文字幕一区二区三区 | 一级毛片视频在线 | 亚洲一区视频在线播放 | 欧美自拍第一页 | 日韩在线不卡视频 | av香蕉| 色伊人久久 | 日韩精品一区二区三区中文在线 | 在线播放一区二区三区 | 国产激情视频网址 | 国产精品久久九九 | 亚洲 欧美 另类 日韩 | 国产日韩精品视频 | 久久99精品国产麻豆婷婷 | 久久久久高清 | 国外成人在线视频 | 国产亚洲成av人片在线观看桃 | 日韩精品一区二区三区中文字幕 | 一区二区三区欧美 | 97av视频在线观看 | www.久久久久久久久久久久 | 日韩精品成人 | 懂色一区二区三区免费观看 | 久久激情av | 久久不卡 | 久久久久久成人 | 日本三级电影免费观看 | 一级特黄在线 | 久久精品伊人 | 亚洲一区视频在线播放 | 日韩欧美一级精品久久 | 国产亚洲精品久久久久动 | 99re在线视频 | 久久国产一区 | 隔壁老王国产在线精品 | 网站黄色在线免费观看 | 精品九九在线 | 国产黄色在线观看 |