亚洲精品久久久久久久久久久,亚洲国产精品一区二区制服,亚洲精品午夜精品,国产成人精品综合在线观看,最近2019中文字幕一页二页

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

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

3天內不再提示

利用單片機的I/O口通過軟件模擬SPI總線的實現方法

GReq_mcu168 ? 來源:玩轉單片機 ? 2020-09-02 11:23 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

SPI(Serial Peripheral Interfacer 串行外設接口)是摩托羅拉公司推出的一種同步串行通訊接口,用于微處理器控制器和外圍擴展芯片之間的串行連接,現已發(fā)展成為一種工業(yè)標準,目前,各半導體公司推出了大量的帶有SPI接口的具有各種各樣功能的芯片,如RAM,EEPROM,FlashROM,A/D轉換器、D/A轉換器、LED/LED顯示驅動器、I/O接口芯片、實時時鐘、UART收發(fā)器等等,為用戶的外圍擴展提供了極其靈活而價廉的選擇。由于SPI總線接口只占用微處理器四個I/O口線,采用SPI總線接口可以簡化電路沒計,節(jié)省很多常規(guī)電路中的接口器件和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)的初始狀態(tài)設置為0(空閑狀態(tài))。
讀操作:AT89C2051首先通過P1.0口發(fā)送1位起始位(1),2位操作碼(10),6位被讀的數據地址(A5A4A3A2A1A0),然后通過P1.1口讀1位空位(0),之后再讀l6位數據(高位在前)。
寫操作:AT89C2051首先通過P1.0口發(fā)送1位起始位(1),2位操作碼(01),6位被寫的數據地址(A5A4A3A2A1A0),之后通過P1.0口發(fā)送被寫的l6位數據(高位在前),寫操作之前要發(fā)送寫允許命令,寫之后要發(fā)送寫禁止命令。
寫允許操作(WEN)):寫操作首先發(fā)送1位起始位(1),2位操作碼(00),6位數據(11XXXX)。 寫禁止操作(WDS)):寫操作首先發(fā)送1位起始位(1),2位操作碼(00),6位數據(00XXXX)。

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

1. //首先定義好I/O口 2. sbit SDO=P1^0;3. sbit SDI=P1^1;4. sbit SCK=P1^ 2;5. sbit SCS=P1^3;6. sbit ACC_7= ACC^7;7. unsigned int SpiRead(unsigned char add) 8. { 9. unsigned char i;10. unsigned int datal6;11. add&=0x3f;/*6位地址*/ 12. add |=0x80;/*讀操作碼l0*/ 13. SDO=1;/*發(fā)送1為起始位*/ 14. SCK=0;15. SCK=1;16. for(i=0;<8;i++)/*發(fā)送操作碼和地址*/ 17. { 18. if(add&0x80==1) 19. SDO=1;20. else 21. SDO=0;22. SCK=0;/*從設備上升沿接收數據*/ 23. SCK=1;24. add<<= 1;25. } 26. SCK=1;/*從設備時鐘線下降沿后發(fā)送數據,空讀1位數據*/ 27. SCK=0;28. datal6<<= 1;/*讀16位數據*/ 29. for(i=0;<16;i++) 30. { 31. SCK= 1;32. _nop_();33. if(SDI==1) 34. datal6|=0x01;35. SCK =0;36. datal6< < =1;37. } 38. return datal6;39. }? 對于不同的串行接口外圍芯片,它們的時鐘時序是不同的。上述子程序是針對在SCK的上升沿輸入(接收)數據和在下降沿輸出(發(fā)送)數據的器件。這些子程序也適用于在串行時鐘)的上升沿輸入和下降沿輸出的其它各種串行外圍接口芯片,只要在程序中改變P1.2(SCK)的輸出電平順序進行相應調整即可。

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

    關注

    6072

    文章

    45281

    瀏覽量

    661847
  • 微處理器
    +關注

    關注

    11

    文章

    2410

    瀏覽量

    85202
  • SPI
    SPI
    +關注

    關注

    17

    文章

    1846

    瀏覽量

    99353

原文標題:單片機軟件模擬SPI接口

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    單片機原理及應用詳解

    單片機(Microcontroller Unit, MCC) ?是一種集成計算機核心功能(CPU、存儲器、I/O接口等)的微型芯片,廣泛應用于嵌入式系統(tǒng)中。以下是其原理及應用的詳細介紹: 一、
    的頭像 發(fā)表于 08-11 13:57 ?1244次閱讀

    TCAL9539 I2C總線I/O擴展器技術解析與應用指南

    Texas Instrument TCAL9539/TCAL9539-Q1 I^2^C總線/SMBus I/O擴展器為雙線雙向I^2^C
    的頭像 發(fā)表于 08-08 11:49 ?843次閱讀
    TCAL9539 <b class='flag-5'>I</b>2C<b class='flag-5'>總線</b><b class='flag-5'>I</b>/<b class='flag-5'>O</b>擴展器技術解析與應用指南

    單片機的儲存優(yōu)點是什么

    場景。深圳市安凱星科技有限公司在單片機應用開發(fā)中,充分利用這些儲存優(yōu)點,為拓邦、朗科、安徽龍多等客戶打造了高效穩(wěn)定的解決方案。 1.集成度高,節(jié)省硬件空間 單片機將程序存儲器(ROM)、數據存儲器(RAM)與 CPU、
    的頭像 發(fā)表于 07-31 10:09 ?422次閱讀

    單片機采用什么電流輸出

    能力 單片機I/O 接口直接輸出的電流較小,通常在 10-20mA 范圍內。這是因為其內部輸出電路由小型 MOS 管或三極管構成,主要用于傳輸控制信號,而非直接驅動大功率設備。例如,8 位
    的頭像 發(fā)表于 07-30 11:13 ?655次閱讀

    單片機怎么控制轉速

    ? ? ? ?在工業(yè)自動化、智能家居、機器人等領域,單片機控制電機轉速是實現精準運動控制的核心技術。通過結合硬件電路設計與軟件算法優(yōu)化,單片機
    的頭像 發(fā)表于 07-25 13:58 ?582次閱讀

    怎么放大單片機輸出電流

    單片機作為電子系統(tǒng)的控制核心,其 I/O 輸出電流通常較?。ㄒ话阍?10-20mA 左右),難以直接驅動繼電器、電機、大功率 LED 等需要較大工作電流的外設。因此,在實際應用中需
    的頭像 發(fā)表于 07-25 13:47 ?421次閱讀

    怎么測單片機系統(tǒng)頻率

    單片機系統(tǒng)頻率是指單片機工作時的時鐘頻率,它直接影響單片機的運行速度和處理能力,準確測量系統(tǒng)頻率對單片機應用開發(fā)、程序調試和性能優(yōu)化具有重要意義。測量
    的頭像 發(fā)表于 07-25 11:39 ?358次閱讀

    單片機和伺服有什么區(qū)別

    : 1. 定義與功能 特性 單片機(Microcontroller) 伺服系統(tǒng)(Servo System) 定義 一種集成CPU、內存、I/O接口的微型計算機芯片,用于控制設備。 一種由伺服電機、編碼器
    的頭像 發(fā)表于 05-26 09:18 ?510次閱讀

    新概念51單片機C語言教程入門、提高、開發(fā)、拓展全攻略

    資料介紹 從實際應用入手,以實驗過程和實驗現象為主導,循序漸進地講述51單片機C語言編程方法以及51單片機的硬件結構和功能應用。全書共分5篇,分別為入門篇、內外部資源操作篇、提高篇、實戰(zhàn)篇和拓展篇
    發(fā)表于 04-15 13:57

    ads7886的輸出接口 *CS SDO SCLK可以直接連接到單片機I/O上嗎?

    請問一下,ads7886的輸出接口 *CSSDOSCLK 可以直接連接到單片機I/O上,還是一定要上拉一個電阻然后在連接單片機I/
    發(fā)表于 02-08 07:08

    單片機I/O接口的傳輸方式

    單片機(Microcontroller Unit,MCU)作為嵌入式系統(tǒng)的核心部件,其輸入輸出(Input/Output,I/O)接口是實現與外部設備數據交換的關鍵。
    的頭像 發(fā)表于 02-02 15:56 ?1470次閱讀

    I2C總線單片機的連接

    在現代電子系統(tǒng)中,單片機(MCU)是核心控制單元,而I2C總線作為一種多主機、多從的串行通信協議,因其簡單、高效和節(jié)省引腳的特性而被廣泛應用于各種電子設備中。
    的頭像 發(fā)表于 01-17 15:18 ?1809次閱讀

    I2C總線SPI總線的比較

    在現代電子系統(tǒng)中,微控制器與各種外設之間的通信是必不可少的。I2C和SPI是兩種流行的串行通信協議,它們各自具有獨特的特點和應用場景。 I2C總線
    的頭像 發(fā)表于 01-17 15:08 ?1536次閱讀

    單片機Debug與仿真區(qū)別

    是指在軟件或硬件開發(fā)過程中,通過特定的工具和技術來查找、診斷和修復錯誤的過程。在單片機開發(fā)中,Debug通常涉及到以下幾個方面: 硬件調試 :檢查單片機的硬件連接是否正確,包括電源、時
    的頭像 發(fā)表于 12-19 09:47 ?1303次閱讀

    如何通過總線來初始化ADS1256的寄存器?

    我用STC89C52來驅動ADS1256時,發(fā)現需要用到SPI協議,單片機需要用IO模擬SPI總線
    發(fā)表于 12-16 06:47