新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于51單片機(jī)SPI器件的串口控制

基于51單片機(jī)SPI器件的串口控制

作者: 時(shí)間:2011-12-01 來(lái)源:網(wǎng)絡(luò) 收藏

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


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


3
電腦通過(guò)RS 232向MCU發(fā)送控制信號(hào),再由MCU控制AD7390,完成整個(gè)設(shè)置過(guò)程。通過(guò)AD7390的軟件流程如圖4所示。一旦有數(shù)據(jù)寫(xiě)入,則將重新設(shè)置AD7390。


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



關(guān)鍵詞: SPI 串口控制 AD7390 單片機(jī)

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉