• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > TLC549模數轉換C51程序

    TLC549模數轉換C51程序

    作者: 時間:2012-08-18 來源:網絡 收藏
    /*******************************************程序功能:將采集的模擬量數據轉換為數字量數據, 并在P2口的流水燈上體現出來。涉及芯片:         ********************************************/#includereg52.h>#define uint unsigned int#define uchar unsigned charsbit clock=P3^3;//時鐘線sbit dout=P3^4;//數據輸出端sbit cs=P3^5;//片選(低電平有效)void delay(uint t){   while(t--);}uchar read_549()//數據得采集{uint i;uchar k=0x00;//定義一個變量k,將在dout上采集的到的數據裝進Kdout=1;//該地方置不置高電平都可以,應為單片機的I/O口默認值為高點平for(i=0;i8;i++){if(dout){k++;}k=k1;clock=1;//高電平期間采集dout線上的數據clock=0;delay(10);}return k;//返回值}uchar shuchu_549()//數據得讀取{uchar date;cs=0;//片選低電平時數據有效date=read_549();//將read_549()函數中采集到的數據付給變量datecs=1;//片選拉高,表示數據讀取完畢delay(50);return date;//返回值}void main(){while(1){P2=shuchu_549(); }}/**********************************************詳細分析芯片時序圖:1、串行數據A7位先輸出(即最高位)A0位最后輸出。2、在每一次I/O clock的高電平期間DATA OUT線就產生有效輸出,每出現一次I/O clock信號并對8個字節數據輸出。一個周期出現8次 I/Oclock信號并對8個字節輸出。3、在CS變為低電平后,最高位自動置于DATA OUT總線上。其余7位(A6~A0)在7個I/O clock下降沿由時鐘同步輸出。B7~B0以同樣的方式跟在其后。4、在片選CS變為低電平后1.4微秒I/O clock才允許跳變。5、在片選CS變為低電平后到數據線DATA OUT線上輸出數據的時間間隔為1.2微秒;6、只要I/O CLOCK變高就可以讀取DATA OUT線上的數據。**********************************************/


    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 台安县| 二连浩特市| 襄汾县| 师宗县| 宝鸡市| 三原县| 鄂伦春自治旗| 桂林市| 电白县| 汾西县| 石景山区| 成安县| 衡阳市| 兰西县| 三亚市| 岑溪市| 出国| 黄龙县| 石柱| 会宁县| 巍山| 明溪县| 盐城市| 淄博市| 南康市| 海原县| 文成县| 开鲁县| 嘉兴市| 宁国市| 广河县| 神池县| 工布江达县| 扶绥县| 明溪县| 潮州市| 崇阳县| 巴彦淖尔市| 日喀则市| 邮箱| 天水市|