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

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

利用單片機(jī)的I/O口通過軟件模擬SPI總線的實(shí)現(xiàn)方法

GReq_mcu168 ? 來源:玩轉(zhuǎn)單片機(jī) ? 2020-09-02 11:23 ? 次閱讀

SPI(Serial Peripheral Interfacer 串行外設(shè)接口)是摩托羅拉公司推出的一種同步串行通訊接口,用于微處理器控制器和外圍擴(kuò)展芯片之間的串行連接,現(xiàn)已發(fā)展成為一種工業(yè)標(biāo)準(zhǔn),目前,各半導(dǎo)體公司推出了大量的帶有SPI接口的具有各種各樣功能的芯片,如RAM,EEPROM,F(xiàn)lashROM,A/D轉(zhuǎn)換器、D/A轉(zhuǎn)換器、LED/LED顯示驅(qū)動(dòng)器、I/O接口芯片、實(shí)時(shí)時(shí)鐘、UART收發(fā)器等等,為用戶的外圍擴(kuò)展提供了極其靈活而價(jià)廉的選擇。由于SPI總線接口只占用微處理器四個(gè)I/O口線,采用SPI總線接口可以簡(jiǎn)化電路沒計(jì),節(jié)省很多常規(guī)電路中的接口器件和I/O口線,提高設(shè)計(jì)的可靠性。

現(xiàn)以 AT89C205l單片機(jī)模擬SPI總線操作串行EEPROM 93CA6為例,如圖1所示,介紹利用單片機(jī)的I/O口通過軟件模擬SPI總線的實(shí)現(xiàn)方法。在這里,僅介紹讀命令的時(shí)序和應(yīng)用子程序。

93C46存儲(chǔ)器SPI總線的工作原理

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

軟件模擬SPI接口的實(shí)現(xiàn)方法

對(duì)于不帶SPI串行總線接口的AT89C2051單片 機(jī)來說,可以使用軟件來模擬SPI的操作,圖1所示 為AT89C2051單片機(jī)與串行EEPROM 93C46的硬件 連接圖,其中,P1.0模擬SPI主設(shè)備的數(shù)據(jù)輸出端 SDO,P1.2模擬SPI的時(shí)鐘輸出端SCK,P1.3模擬 SPI的從機(jī)選擇端SCS,P1.1模擬SPI的數(shù)據(jù)輸入 SDI
上電復(fù)位后首先先將P1.2(SCK)的初始狀態(tài)設(shè)置為0(空閑狀態(tài))。
讀操作:AT89C2051首先通過P1.0口發(fā)送1位起始位(1),2位操作碼(10),6位被讀的數(shù)據(jù)地址(A5A4A3A2A1A0),然后通過P1.1口讀1位空位(0),之后再讀l6位數(shù)據(jù)(高位在前)。
寫操作:AT89C2051首先通過P1.0口發(fā)送1位起始位(1),2位操作碼(01),6位被寫的數(shù)據(jù)地址(A5A4A3A2A1A0),之后通過P1.0口發(fā)送被寫的l6位數(shù)據(jù)(高位在前),寫操作之前要發(fā)送寫允許命令,寫之后要發(fā)送寫禁止命令。
寫允許操作(WEN)):寫操作首先發(fā)送1位起始位(1),2位操作碼(00),6位數(shù)據(jù)(11XXXX)。 寫禁止操作(WDS)):寫操作首先發(fā)送1位起始位(1),2位操作碼(00),6位數(shù)據(jù)(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;/*從設(shè)備上升沿接收數(shù)據(jù)*/ 23. SCK=1;24. add<<= 1;25. } 26. SCK=1;/*從設(shè)備時(shí)鐘線下降沿后發(fā)送數(shù)據(jù),空讀1位數(shù)據(jù)*/ 27. SCK=0;28. datal6<<= 1;/*讀16位數(shù)據(jù)*/ 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. }? 對(duì)于不同的串行接口外圍芯片,它們的時(shí)鐘時(shí)序是不同的。上述子程序是針對(duì)在SCK的上升沿輸入(接收)數(shù)據(jù)和在下降沿輸出(發(fā)送)數(shù)據(jù)的器件。這些子程序也適用于在串行時(shí)鐘)的上升沿輸入和下降沿輸出的其它各種串行外圍接口芯片,只要在程序中改變P1.2(SCK)的輸出電平順序進(jìn)行相應(yīng)調(diào)整即可。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6064

    文章

    44932

    瀏覽量

    647514
  • 微處理器
    +關(guān)注

    關(guān)注

    11

    文章

    2372

    瀏覽量

    83891
  • SPI
    SPI
    +關(guān)注

    關(guān)注

    17

    文章

    1785

    瀏覽量

    94879

原文標(biāo)題:?jiǎn)纹瑱C(jī)軟件模擬SPI接口

文章出處:【微信號(hào):mcu168,微信公眾號(hào):硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

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

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

    單片機(jī)I/O接口的傳輸方式

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

    I2C總線單片機(jī)的連接

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

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

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

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

    我用STC89C52來驅(qū)動(dòng)ADS1256時(shí),發(fā)現(xiàn)需要用到SPI協(xié)議,單片機(jī)需要用IO模擬SPI總線
    發(fā)表于 12-16 06:47

    51單片機(jī)STC8H8K64U通過RA8889/RA8876如何控制彩屏 I2C源碼下載

    用51單片機(jī)STC8H8K64U驅(qū)動(dòng)彩屏,控制器采用瑞佑RA8889. 使用軟件模擬I2C方式通信,驅(qū)動(dòng)大屏顯示。
    的頭像 發(fā)表于 11-01 11:02 ?1118次閱讀
    51<b class='flag-5'>單片機(jī)</b>STC8H8K64U<b class='flag-5'>通過</b>RA8889/RA8876如何控制彩屏 <b class='flag-5'>I</b>2C源碼下載

    單片機(jī)io怎么配置成輸出口

    單片機(jī)IO配置成輸出口的過程通常涉及對(duì)單片機(jī)內(nèi)部寄存器的操作。不同型號(hào)的單片機(jī)在寄存器配置和編程方式上可能有所不同,但基本原理是相似的。以下是一個(gè)通用的步驟,用于將
    的頭像 發(fā)表于 09-14 14:33 ?1474次閱讀

    單片機(jī)io輸出電流多大

    單片機(jī)IO的輸出電流大小會(huì)受到多種因素的影響,包括單片機(jī)的型號(hào)、IO的配置模式以及外部電路的設(shè)計(jì)等。以下是對(duì)單片機(jī)IO
    的頭像 發(fā)表于 09-14 14:29 ?3974次閱讀

    單片機(jī)io的四種工作狀態(tài)

    )是單片機(jī)與外部世界進(jìn)行數(shù)據(jù)交換的接口。每個(gè)I/O可以配置為輸入或輸出狀態(tài),或者同時(shí)具備這兩種功能。I/
    的頭像 發(fā)表于 09-14 14:24 ?3552次閱讀

    單片機(jī)的三種總線結(jié)構(gòu)

    單片機(jī)的三種總線結(jié)構(gòu)包括地址總線(Address Bus, AB)、數(shù)據(jù)總線(Data Bus, DB)和控制總線(Control Bus,
    的頭像 發(fā)表于 09-10 11:32 ?6682次閱讀

    單片機(jī)SPI通信實(shí)現(xiàn)

    在深入探討單片機(jī)(如基于STM32、AVR、PIC等)如何通過SPI(Serial Peripheral Interface)進(jìn)行通信之前,我們先概述SPI通信的基本原理,隨后以STM
    的頭像 發(fā)表于 09-09 17:00 ?1460次閱讀

    單片機(jī)燒錄程序用什么軟件

    工作原理和接口方式的不同,可以分為以下幾類: 1.1 并行燒錄器:通過并行接口將程序數(shù)據(jù)傳輸給單片機(jī),燒錄速度快,但需要占用較多的I/O端口。 1.2 串行燒錄器:
    的頭像 發(fā)表于 09-02 10:05 ?3123次閱讀

    單片機(jī)引腳懸空是什么電平

    單片機(jī)引腳懸空是指單片機(jī)I/O引腳在沒有連接任何外部電路的情況下,引腳的電平狀態(tài)。懸空引腳的電平狀態(tài)取決于單片機(jī)的內(nèi)部結(jié)構(gòu)和外部環(huán)境因素。
    的頭像 發(fā)表于 08-28 09:51 ?4438次閱讀

    51單片機(jī)燒錄軟件怎么用

    靠的來源下載燒錄軟件。 按照安裝向?qū)瓿?b class='flag-5'>軟件的安裝。 連接51單片機(jī) 將51單片機(jī)開發(fā)板通過燒錄器連接到計(jì)算機(jī)。 確保連接正確,沒有松動(dòng)或接
    的頭像 發(fā)表于 08-22 09:26 ?2561次閱讀

    51單片機(jī)(STC8H8K64U/STC8051U34K64)_RA8889_HW_SPI4參考代碼(v1.3) 硬件SPI方式驅(qū)動(dòng)大屏顯示

    文章導(dǎo)引: (1)51單片機(jī)(STC8051U34K64)_RA8889_SPI4參考代碼(v1.3) (2)51單片機(jī)STC8H8K64U通過RA8889/RA8876如何控制彩屏_
    發(fā)表于 07-17 11:15
    主站蜘蛛池模板: 男人女人真曰批视频播放 | 精品久久免费观看 | 色戒真做gif动图 | 日日操夜夜爱 | 男人j进入女人免费视频 | 又黑又长黑人欧美三级 | 9久热久re爱免费精品视频 | 夜夜艹天天干 | 日韩欧美成人乱码一在线 | 国产网站黄色 | 免费看大尺度视频在线观看 | 干美女在线视频 | 国产在线视频网站 | 波多野结衣在线一区 | 天天视频国产精品 | 日本亚洲精品成人 | 九九热国产 | 欧美精品一区在线看 | 黄色在线视频免费看 | www.亚洲免费 | 色播基地 | 免费高清一级欧美片在线观看 | 在线99热 | 亚洲一级毛片免观看 | 中文天堂最新版在线中文 | 一级做a爱片特黄在线观看 一级做a爱片特黄在线观看免费看 | 人人爽人人爱 | 亚洲日本在线观看视频 | 看毛片网| a4yy私人毛片在线 | www.91在线| 黄色大片视频网站 | 人人干视频在线观看 | 一级片免费在线播放 | 最近在线观看免费完整视频 | 福利社藏经阁 | 日日夜夜操天天干 | 天堂网站 | 成人a毛片视频免费看 | 特级做a爰片毛片免费看一区 | 日本a级片在线观看 |