国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

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

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

掃碼添加小助手

加入工程師交流群

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的子程序。

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;/*發送1為起始位*/ 14. SCK=0;15. SCK=1;16. for(i=0;<8;i++)/*發送操作碼和地址*/ 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;/*從設備時鐘線下降沿后發送數據,空讀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的上升沿輸入(接收)數據和在下降沿輸出(發送)數據的器件。這些子程序也適用于在串行時鐘)的上升沿輸入和下降沿輸出的其它各種串行外圍接口芯片,只要在程序中改變P1.2(SCK)的輸出電平順序進行相應調整即可。

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

    關注

    6076

    文章

    45498

    瀏覽量

    670601
  • 微處理器
    +關注

    關注

    11

    文章

    2431

    瀏覽量

    85883
  • SPI
    SPI
    +關注

    關注

    17

    文章

    1885

    瀏覽量

    101296

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    兩個MCU之間快速傳輸數據的方法

    簡單、軟件編程容易等特點,但目前大多數低端的單片機不具備硬件SPI/I2C外設。 3、可以利用軟件
    發表于 01-19 07:07

    單片機系統設計方法

    、接地、提高信噪比、濾波以及電壓保護等軟件抗于擾主要是通過軟件的合理編制降低單片機系統對干擾的靈敏度。解決的技術有指令冗余技術、軟件陷阱技術
    發表于 01-06 06:23

    中穎電子8位單片機I/O設置介紹

    在嵌入式系統設計中,單片機I/O端口設置是基礎且關鍵的一環。今天我們來詳細解析中穎電子8位單片機I/
    的頭像 發表于 12-30 09:37 ?741次閱讀
    中穎電子8位<b class='flag-5'>單片機</b>的<b class='flag-5'>I</b>/<b class='flag-5'>O</b>設置介紹

    單片機的入門準備

    基礎,學習單片機就只要花幾周的時間就能上手。但學習單片機時,主要從單片機的寄存器開始,其中特殊功能寄存器是重點,學會之后,就可以學習單片機的基礎部分了,主要是四個部分:
    發表于 12-22 07:39

    汽車級SPI總線I/O擴展器TXE81XX-Q1:特性、應用與設計要點

    汽車級SPI總線I/O擴展器TXE81XX-Q1:特性、應用與設計要點 在汽車電子系統中,隨著功能的不斷增加和復雜度的提升,對通用并行輸入/輸出(I
    的頭像 發表于 12-15 15:20 ?390次閱讀

    汽車級SPI總線I/O擴展器TXE81XX-Q1:特性、應用與設計指南

    汽車級SPI總線I/O擴展器TXE81XX-Q1:特性、應用與設計指南 在汽車電子系統日益復雜的今天,對于I/
    的頭像 發表于 12-15 15:05 ?459次閱讀

    TXE81XX 16 位和 24 位 SPI 總線 I/O 擴展器:特性與應用全解析

    TXE81XX 16 位和 24 位 SPI 總線 I/O 擴展器:特性與應用全解析 在電子設計領域,I/
    的頭像 發表于 12-15 14:50 ?408次閱讀

    單片機硬件設計原則,抗干擾常用方法

    方法。提高敏感器件抗干擾性能的常用措施如下: 布線時盡量減少回路環的面積,以降低感應噪聲。 布線時,電源線和地線要盡量粗。除減小壓降外,更重要的是降低耦合噪聲。 對于單片機閑置的I/
    發表于 12-09 06:30

    單片機系統硬件的調試方法

    單片機的系統硬件調試,通常有靜態調試和動態調試兩種不同,前者是通過目測、萬能表測試、加電檢查、聯機檢查的方法,在加電于樣機之前.對樣機的型號規格,以及安裝要求等進行核對,同時檢查 電源 系統.防止
    發表于 12-03 06:10

    如何巧妙甚至避免單片機的干擾問題

    平衡功耗與抗干擾能力。 2、利用數字電路降低阻抗 將I/O與其他數字電路輸出腳相連,利用數字電路的低阻抗特性,提升抗干擾能力。 在工
    發表于 11-26 06:48

    單片機原理及應用詳解

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

    單片機的儲存優點是什么

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

    單片機采用什么電流輸出

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

    怎么放大單片機輸出電流

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

    怎么測單片機系統頻率

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