基于PIC18f45k22單片機和ADS8341SPI通信_第1頁
基于PIC18f45k22單片機和ADS8341SPI通信_第2頁
基于PIC18f45k22單片機和ADS8341SPI通信_第3頁
基于PIC18f45k22單片機和ADS8341SPI通信_第4頁
基于PIC18f45k22單片機和ADS8341SPI通信_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、基于pic18f45k22單片機和ads8341spi通摘要:本文介紹了通過硬件和軟件兩種方式實現(xiàn) pic18f45k22單片機與ti公司的模數(shù)轉(zhuǎn)換器ads8341的spi 接口通信,給出了具體的硬件電路和相關(guān)的軟件流程,實現(xiàn) 了數(shù)據(jù)交換。關(guān)鍵詞:pic18f45k22; spi; ads8341;共用體中圖分類號:tp368. 12文獻標識碼:a文章編號: 1674-7712(2013)12-0000-01一、ads8341 簡介ads8341是ti公司在2001年推出的具有串行接口的16 位高速逐次逼近行的a/d轉(zhuǎn)換器。它是擁有4通道獨立輸入 端或2通道差動輸入端,帶有spi接口的通信,轉(zhuǎn)

2、換速率大 于100khz,轉(zhuǎn)換精度高,芯片工作電壓范圍在2.7v5v, ss0p-16封裝,安裝尺寸很小,正常溫度為-400c+850c。 基準電壓源的范圍為500mv-vcc之間變化,在低功耗模式下, 芯片的功率小于15uwo二、ads8341與pic18f45k22通信的硬件設(shè)計在這里我們使用的是微星公司的pic18f45k22單片機與 ads8341進行spi通信,連接圖如下:ads8341控制字的設(shè)定,參考表t, s必須拉高,才能 開始轉(zhuǎn)換。a0-a2為轉(zhuǎn)換的輸入端口,具體設(shè)置參考表-2。 sgl/dif為單端模擬信號或是差動信號輸入控制位,它必須 結(jié)合a0-a2 一起設(shè)置模擬信號的輸

3、入。pdo與pd1為電源模 式的選取位。例如我們設(shè)置控制字為94h,開始ad轉(zhuǎn)換的是 cho單通道,進入低功耗模式和工作方式為外部時鐘模式。在外部時鐘模式下,ads8341的時鐘由mcu提供,當(dāng)它 接收到來自mcu的控制字隨后的一個時鐘周期busy腳被拉 高,轉(zhuǎn)換的結(jié)果會在后16個周期的下降沿通過dout腳輸出, 具體的數(shù)據(jù)時序圖請參考它的datasheeto在外部時鐘模式 下,busy維持高電平到輸出數(shù)據(jù)msb的建立需要一個時鐘周 期,完成一次ad數(shù)據(jù)的采集至少需要25個時鐘周期,若采 用的是8位的mcu與ads8341進行通信,需要對ads8341的 輸出數(shù)據(jù)進行讀三次。基于以上考慮,我們

4、可以采用32個 時鐘周期來讀一次轉(zhuǎn)換的數(shù)據(jù),前8個時鐘周期用于mcu發(fā) 送控制字,后面24個時鐘周期,連續(xù)三次讀dout引腳的數(shù) 據(jù)。在具體c語言編程上面,我們可以借助一個聯(lián)合體,和 一個屬部變量來達到最終目的,部分程序如下。相應(yīng)的mcu 寄存器的配置就不詳述,該款單片機我們可以直接使用它的 庫函數(shù)對spi接口進行讀寫,使用非常方便。union u ad unsigned int a; unsigned char b2;/定義的聯(lián)合體spi_cs = 0;/片選拉低,啟動ad芯片spijvrite (0);/選擇 ch0 為 ad 的輸出uad.bl = readspil (); /第 1 次

5、讀 dout 數(shù)據(jù) uad.beo = readspil (); 第 2 次讀 dout 數(shù)據(jù) ucadlowo 二 readspil ();/第 3 次讀 dout 數(shù)據(jù).ucadlowo為定義的臨時變量,uad. a 二(uad. a>7);/數(shù)據(jù)合并三、軟件程序?qū)崿F(xiàn)在mplab集成開發(fā)環(huán)境下,運用微星公司18系列單片 機的函數(shù)庫對pic18f45k22進行相關(guān)操作設(shè)置非常方便。在 這里以spi 口讀取ads8341轉(zhuǎn)換結(jié)果,并把結(jié)果通過串口發(fā) 送出來,方便用串口助手等工具進行觀察,具體以主函數(shù)為 例來說明整個流程。void main (void)union ad_r /定義一個共用

6、體unsigned char ad2; unsigned int y; adr;initialmcu ();/單片機初始化,包含10 口設(shè)置、中斷設(shè)置串口1初始化等。while (1)spi_cs = 0; /spi 片選信號delaylktcyx (50); 延時putcspil (0x94);/單片機的 spi 口發(fā)送 ads8341 的控制字wh訂e (spi_busy); 判斷ad轉(zhuǎn)換是否完成adr. adl = getcspil ();/讀出 ad 轉(zhuǎn)換結(jié)果的髙 8位adr. ad0 = getcspil ();/讀出 ad 轉(zhuǎn)換結(jié)果的低 8delaylktcyx (50); 延時s

7、endbytebyuartl (#,); /串口 1 發(fā)送標識符 “#”sendbytebyuartl ( adr. adl);/串口 1 發(fā)送 ad 轉(zhuǎn)換結(jié)果的高8位sendbytebyuartl ( adr. ad0 );/串口 1 發(fā)送 ad 轉(zhuǎn)換結(jié)果的低8位sendbytebyuartl (' ” );/回車sendbytebyuartl (' n );/換行四、結(jié)束語本文在硬件上運用pic18f45k22單片機與ads8341進行 連接,在軟件方面,在mplab集成開發(fā)環(huán)境下運用c語言編 程,特別是定義一個共用體,成功實現(xiàn)對ads8341的ad轉(zhuǎn) 換結(jié)果的讀取,實現(xiàn)了數(shù)據(jù)交換。參考文獻:1周堅.pic單

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論