新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于51單片機SPI器件的串口控制

        基于51單片機SPI器件的串口控制

        作者: 時間:2011-12-01 來源:網絡 收藏

        2 的基本結構和工作原理
        是ADl公司生產的12位分辨率電壓輸出數/模轉換器。該DAC為用戶提供低成本、高精度的可控電壓解決方案,使用單電源+3V系統供電。器件保證電源電壓為2.7~5.5V時消耗不到100mA的電流,所以該器件適用于一些對功效要求高的設備,比如電池供電系統。輸出電壓取決于外部參考輸入電壓。DACOUT輸出介于REFIN與地之間的任意值,其內部框圖如圖2所示。


        內部雙緩沖串行數據接口提供高速轉換,微控制器通過三線控制器件、串行數據(SDI)、時鐘(CLK)和使能(LD)引腳。此外,使用CLR輸入可以對輸出清零。操作時序如圖3所示。


        3
        電腦通過RS 232向MCU發送控制信號,再由MCU控制AD7390,完成整個設置過程。通過AD7390的軟件流程如圖4所示。一旦有數據寫入,則將重新設置AD7390。


        程序分為三大模塊,分別是控制模塊、串口接收模塊和操作信息反饋模塊。
        控制模塊產生CLK,LD,并在CLK的上升沿到來之前,保證SDI數據的穩定,以便AD7390準確地采集到數據。CLK時鐘的頻率根據器件的典型延遲決定,不同器件有不同的延遲,所以它決定了不同器件的時鐘應該不一樣。
        串口接收模塊完成從電腦接收數據并保存數據。由一片MAX 232完成RS 232電平與TTL電平之間的轉換。因為傳輸的是連續性數據,因此在接收程序的編寫時,要注意中斷申請的屏蔽,才能準確地接收到全部數據。
        在利用串口調試助手調試時,留意發送數據的格式,是否以16進制發送,會影響接收到的數據。比如,發送字母“E”,如果以16進制發送。發送的實際數據是“15”,而接收到的數據是“15”的ASCII碼“49”、“53”;如果不以16進制發送,則發送的是字母“E”的ASCII碼“69’。由此可以看出它們之間的差別。因此在接收方要得到想要的數據,則需要進行轉換。該轉換可參看后面的程序。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 凯里市| 葵青区| 信丰县| 开封市| 石狮市| 潜江市| 景宁| 成武县| 莎车县| 定陶县| 婺源县| 平湖市| 宜城市| 虞城县| 梁平县| 田林县| 黔江区| 兴国县| 淮阳县| 梅河口市| 深水埗区| 洪雅县| 庐江县| 静宁县| 凌云县| 安达市| 甘孜| 大渡口区| 昌图县| 昂仁县| 神农架林区| 库尔勒市| 澄江县| 义乌市| 康定县| 赞皇县| 平和县| 会昌县| 丹凤县| 西藏| 泾川县|