在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

軟件模擬SPI接口的實現方法過程詳解

GReq_mcu168 ? 2017-12-01 11:13 ? 次閱讀

SPI(Serial Peripheral Interfacer 串行外設接口)是摩托羅拉公司推出的一種同步串行通訊接口,用于微處理器控制器和外圍擴展芯片之間的串行連接,現已發展成為一種工業標準,目前,各半導體公司推出了大量的帶有SPI接口的具有各種各樣功能的芯片,如RAM,EEPROM,FlashROM,A/D轉換器、D/A轉換器、LED/LED顯示驅動器、I/O接口芯片、實時時鐘UART收發器等等,為用戶的外圍擴展提供了極其靈活而價廉的選擇。由于SPI總線接口只占用微處理器四個I/O口線,采用SPI總線接口可以簡化電路沒計,節省很多常規電路中的接口器件和I/O口線,提高設計的可靠性。現以 AT89C205l單片機模擬SPI總線操作串行EEPROM 93CA6為例,如圖1所示,介紹利用單片機的I/O口通過軟件模擬SPI總線的實現方法。在這里,僅介紹讀命令的時序和應用子程序。

93C46存儲器SPI總線的工作原理

93CA6作為從設備,其SPI接口使用4條I/O口線:串行時鐘線(SK)、輸出數據線DO、輸入數據線DI和高電平有效的從機選擇線CS。其數據的傳輸格式是高位(MSB)在前,低位(LsB)在后。93C46的SPI總線接口讀命令時序如圖2所示。

軟件模擬SPI接口的實現方法

對于不帶SPI串行總線接口的AT89C2051單片 機來說,可以使用軟件來模擬SPI的操作,圖1所示 為AT89C2051單片機與串行EEPROM 93C46的硬件 連接圖,其中,P1.0模擬SPI主設備的數據輸出端 SDO,P1.2模擬SPI的時鐘輸出端SCK,P1.3模擬 SPI的從機選擇端SCS,P1.1模擬SPI的數據輸入 SDI

上電復位后首先先將P1.2(SCK)的初始狀態設置為0(空閑狀態)。

讀操作:AT89C2051首先通過P1.0口發送1位起始位(1),2位操作碼(10),6位被讀的數據地址(A5A4A3A2A1A0),然后通過P1.1口讀1位空位(0),之后再讀l6位數據(高位在前)。

寫操作:AT89C2051首先通過P1.0口發送1位起始位(1),2位操作碼(01),6位被寫的數據地址(A5A4A3A2A1A0),之后通過P1.0口發送被寫的l6位數據(高位在前),寫操作之前要發送寫允許命令,寫之后要發送寫禁止命令。

寫允許操作(WEN)):寫操作首先發送1位起始位(1),2位操作碼(00),6位數據(11XXXX)。

寫禁止操作(WDS)):寫操作首先發送1位起始位(1),2位操作碼(00),6位數據(00XXXX)。

下面介紹用C51模擬SPI的子程序。

//首先定義好I/O口

sbitSDO=P1^0;

sbitSDI=P1^1;

sbitSCK=P1^2;

sbitSCS=P1^3;

sbitACC_7=ACC^7;

unsignedintSpiRead(unsignedcharadd)

{

unsignedchari;

unsignedintdatal6;

add&=0x3f;/*6位地址*/

add|=0x80;/*讀操作碼l0*/

SDO=1;/*發送1為起始位*/

SCK=0;

SCK=1;

for(i=0;<8;i++)/*發送操作碼和地址*/??

{

if(add&0x80==1)

SDO=1;

else

SDO=0;

SCK=0;/*從設備上升沿接收數據*/

SCK=1;

add<<=?1;??

}

SCK=1;/*從設備時鐘線下降沿后發送數據,空讀1位數據*/

SCK=0;

datal6<<=?1;/*讀16位數據*/??

for(i=0;<16;i++)??

{

SCK=1;

_nop_();

if(SDI==1)

datal6|=0x01;

SCK=0;

datal6

}

returndatal6;

}

對于不同的串行接口外圍芯片,它們的時鐘時序是不同的。上述子程序是針對在SCK的上升沿輸入(接收)數據和在下降沿輸出(發送)數據的器件。這些子程序也適用于在串行時鐘)的上升沿輸入和下降沿輸出的其它各種串行外圍接口芯片,只要在程序中改變P1.2(SCK)的輸出電平順序進行相應調整即可。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6037

    文章

    44558

    瀏覽量

    635356
  • SPI
    SPI
    +關注

    關注

    17

    文章

    1706

    瀏覽量

    91591
  • 93C46
    +關注

    關注

    0

    文章

    23

    瀏覽量

    9964

原文標題:單片機軟件模擬SPI接口—加深理解SPI總線協議

文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    基于GPIO模擬SPI接口驅動設計與實現

    SPI總線是我們常用的串行設備接口,一般情況下我們都會適應硬件SPI接口,但有些時候當硬件端口不足時,我們也希望可以使用軟件
    發表于 12-07 16:21 ?6386次閱讀
    基于GPIO<b class='flag-5'>模擬</b>的<b class='flag-5'>SPI</b><b class='flag-5'>接口</b>驅動設計與<b class='flag-5'>實現</b>

    C51軟件模擬實現SPI通信接口方法

    語音合成模塊帶有SCI及SPI接口,如采用不帶有SPI接口的AT89C51單片機,必然存在擴展接口的問題。本文介紹的C51
    發表于 05-16 07:00

    怎么實現仿真SPI接口

    功能單元,利用GPIO模擬SPI接口的思想和方法實現對串行D/A芯片 TLV5367的訪問,以滿足工程要求。  
    發表于 08-15 06:32

    硬件SPI軟件模擬SPI速度區別

    硬件SPI軟件模擬SPI速度區別實測目前為了程序移植方便,許多以SPI接口的芯片所提供的參考代
    發表于 07-01 06:40

    軟件模擬SPI時序實現25Q64讀寫操作的方法

    軟件模擬SPI時序實現25Q64讀寫操作單片機采用SPI/IIC通訊協議訪問外圍電子模塊如:顯示屏、EEPROM、FLASH、各種電子傳感器
    發表于 11-30 07:35

    SPI總線接口實現數據傳輸的實現方法

    本文介紹了通過SPI總線接口實現數據傳輸的實現方法,給出了用MCS51單片機匯編語言模擬SPI
    發表于 11-16 13:34 ?8次下載

    STM32F10x_SPI (硬件接口 + 軟件模擬)讀寫Flash(25Q16)

    STM32F10x_SPI(硬件接口 + 軟件模擬)讀寫Flash(25Q16)
    的頭像 發表于 03-25 13:59 ?1w次閱讀
    STM32F10x_<b class='flag-5'>SPI</b> (硬件<b class='flag-5'>接口</b> + <b class='flag-5'>軟件</b><b class='flag-5'>模擬</b>)讀寫Flash(25Q16)

    基于可編程邏輯器件實現SPI總線接口的應用方案

    SPI串行通信接口是一種常用的標準接口,由于其使用簡單方便且節省系統資源,很多芯片都支持該接口,應用相當廣泛。SPI
    發表于 08-22 15:51 ?863次閱讀
    基于可編程邏輯器件<b class='flag-5'>實現</b><b class='flag-5'>SPI</b>總線<b class='flag-5'>接口</b>的應用方案

    可配置GPIO模擬SPI總線的設計和實現過程分析

    各不相同。若能提供一種通用可配置可移植的GPIO模擬SPI總線的驅動則能很方便快捷的訪問SPI設備,從而提高整個嵌入式系統的開發效率。本文針對GPIO口位尋址與否給出方面,給出了一種可配置GPIO
    的頭像 發表于 10-04 14:10 ?4293次閱讀
    可配置GPIO<b class='flag-5'>模擬</b><b class='flag-5'>SPI</b>總線的設計和<b class='flag-5'>實現</b><b class='flag-5'>過程</b>分析

    軟件模擬SPI時序實現25Q64讀寫操作

    軟件模擬SPI時序實現25Q64讀寫操作單片機采用SPI/IIC通訊協議訪問外圍電子模塊如:顯示屏、EEPROM、FLASH、各種電子傳感器
    發表于 11-20 12:06 ?9次下載
    <b class='flag-5'>軟件</b><b class='flag-5'>模擬</b><b class='flag-5'>SPI</b>時序<b class='flag-5'>實現</b>25Q64讀寫操作

    硬件SPI軟件模擬SPI速度區別實測

    硬件SPI軟件模擬SPI速度區別實測目前為了程序移植方便,許多以SPI接口的芯片所提供的參考代
    發表于 12-22 19:13 ?9次下載
    硬件<b class='flag-5'>SPI</b>與<b class='flag-5'>軟件</b><b class='flag-5'>模擬</b><b class='flag-5'>SPI</b>速度區別實測

    軟件模擬SPI時序實現25Q64讀寫操作

    軟件模擬SPI時序實現25Q64讀寫操作單片機采用SPI/IIC通訊協議訪問外圍電子模塊如:顯示屏、EEPROM、FLASH、各種電子傳感器
    發表于 12-22 19:14 ?15次下載
    <b class='flag-5'>軟件</b><b class='flag-5'>模擬</b><b class='flag-5'>SPI</b>時序<b class='flag-5'>實現</b>25Q64讀寫操作

    軟件模擬SPI

    軟件模擬比硬件操作SPI更為簡單,缺點是明顯更加消耗CPU軟件SPI實例:CPOL=1,CPHA=1(比方)u8 SOFT_
    發表于 12-22 19:15 ?10次下載
    <b class='flag-5'>軟件</b><b class='flag-5'>模擬</b><b class='flag-5'>SPI</b>

    單片機軟件模擬SPI接口的解決方案

    電子發燒友網站提供《單片機軟件模擬SPI接口的解決方案.pdf》資料免費下載
    發表于 10-13 11:31 ?2次下載
    單片機<b class='flag-5'>軟件</b><b class='flag-5'>模擬</b><b class='flag-5'>SPI</b><b class='flag-5'>接口</b>的解決方案

    單片機spi接口的使用方法有哪些(spi接口和串口的區別)

    如果單片機沒有硬件SPI模塊,或者需要額外的IO引腳來實現多個SPI設備的通信,可以使用軟件SPI模擬
    的頭像 發表于 11-10 16:38 ?3943次閱讀
    主站蜘蛛池模板: japan高清视频乱xxxxx| 天天在线天天看成人免费视频| 人人看人人鲁狠狠高清| 69xxxx欧美老师| 婷婷久久综合网| 国产成人精品视频一区二区不卡| 九九精品在线观看| 中文字幕欧美日韩| 51视频在线观看免费国产| 综合亚洲色图| 九色综合久久综合欧美97| 人人艹人人插| 8050午夜一级| 国产在线精彩视频二区| 国产综合第一页在线视频| 曰本女人一级毛片看一级毛| 韩国免费三片在线视频| www.夜夜操| 四虎a456tncom| 亚洲伊人色一综合网| 亚洲一级毛片中文字幕| 欧美zooz人禽交免费观看| 免费理论片在线观看播放| 亚洲人成电影综合网站色| 大片毛片女女女女女女女| 4438x色| 农村苗族一级特黄a大片| 久久精品国波多野结衣| 婷婷综合 在线| 午夜免费视频观看在线播放| 鲁丝一区二区三区| 国内露脸夫妇交换精品| 黄色的视频网站在线观看| 欧美视频综合| 国产香蕉98碰碰久久人人| 四虎三级| 日本在线看小视频网址| 亚洲欧美人成网站综合在线| 在线天堂中文| 91福利专区| 在线免费国产|