用單片機(jī)的I/O口模擬I2C協(xié)議 I2C用IO模擬程序網(wǎng)上范例最多的就是51的程序了,這些范例的正確性無(wú)需懷疑.但是如果直接以它為藍(lán)本將它"AVR化",一不留神,就會(huì)有點(diǎn)問(wèn)題了. 這要從I2C的硬件規(guī)范和AVR及51單片機(jī)的IO口說(shuō)起.I2C要求SCL,SDA二線都有 線與 功能,即I2C驅(qū)動(dòng)口應(yīng)該是 漏極開(kāi)路 電路,其高電平的維持是靠上拉電阻來(lái)實(shí)現(xiàn)的, 而低電平則需要驅(qū)動(dòng)口的強(qiáng)下拉能力. 51單片機(jī)IO口正好完全符合這個(gè)特性.寫(xiě)起I2C驅(qū)動(dòng)頗為得心應(yīng)手.但是AVR的IO口強(qiáng)大了,它輸出的高電平是實(shí)實(shí)在在的高電平,而不是靠什么上拉電阻來(lái)提供,只有10mA都不到的電流!于是如果直接使用 PORTB_Bit0 = 1這樣的操作,就不能滿足I2C的線與功能了,如果此時(shí)有別的設(shè)備要將SCL或者SDA拉低,那么結(jié)果就是二個(gè)IO口打架,誰(shuí)贏誰(shuí)輸不得而知,時(shí)間長(zhǎng)了,多半是兩敗俱傷,芯片發(fā)熱吧. 當(dāng)然AVR的IO口自然有辦法滿足I2C的電氣特性要求,不就是不能輸出1么,那么用它的高阻狀態(tài)即可(DDRB_Bit0=0,PORTB_Bit0=0即可),要輸出0么(DDRB_Bit0=1,PORTB_Bit0=0).
上傳時(shí)間: 2016-07-19
上傳用戶:gxrui1991
KM算法 (求二分圖最大帶權(quán)比配) 的 O(n^3)經(jīng)典實(shí)現(xiàn)
上傳時(shí)間: 2016-07-19
上傳用戶:Miyuki
設(shè)計(jì)并實(shí)現(xiàn)解字典問(wèn)題的O(nlogn)時(shí)間算法,對(duì)于給定的字典dict和文本text,找出text 中出現(xiàn)次數(shù)最多的不在字典dict中的單詞
上傳時(shí)間: 2013-12-18
上傳用戶:趙云興
O Reilly-programming_embedded_systems_in_C_and_C++ 非常好的嵌入式編程書(shū)籍
標(biāo)簽: Reilly-programming_embedded_syste ms_in_C_and_C 嵌入式編程 書(shū)籍
上傳時(shí)間: 2016-07-22
上傳用戶:宋桃子
SOPC是Altera公司提出的一種靈活、高效的片上系統(tǒng)設(shè)計(jì)方案,它可以有選擇地將處理器、存儲(chǔ)器、I/O等系統(tǒng)設(shè)計(jì)需要的組件集成到一個(gè)PLD器件上。在SOPC設(shè)計(jì)中可方便地加入用戶自定義邏輯。該文簡(jiǎn)要介紹了SOPC設(shè)計(jì)架構(gòu),然后通過(guò)一個(gè)實(shí)例,詳細(xì)介紹了嵌入式系統(tǒng)中SOPC設(shè)計(jì)的實(shí)現(xiàn)方法和效果。
標(biāo)簽: SOPC Altera PLD 片上系統(tǒng)
上傳時(shí)間: 2016-07-23
上傳用戶:R50974
C編譯器產(chǎn)生的可顯示機(jī)器碼/匯編代碼文件,其中附有源C v: v: @8 g: X& z代碼作為注釋 : z! [3 \) O&...UWOW Grave Composer音樂(lè)模塊(MOD)文件 + Q* T) \ z) R f$ a: H, iWP WordPerfect文檔 H! t7 D2 |...
標(biāo)簽: Composer Grave UWOW MOD
上傳時(shí)間: 2013-12-14
上傳用戶:love_stanford
1.有三根桿子A,B,C。A桿上有若干碟子 2.每次移動(dòng)一塊碟子,小的只能疊在大的上面 3.把所有碟子從A桿全部移到C桿上 經(jīng)過(guò)研究發(fā)現(xiàn),漢諾塔的破解很簡(jiǎn)單,就是按照移動(dòng)規(guī)則向一個(gè)方向移動(dòng)金片: 如3階漢諾塔的移動(dòng):A→C,A→B,C→B,A→C,B→A,B→C,A→C 此外,漢諾塔問(wèn)題也是程序設(shè)計(jì)中的經(jīng)典遞歸問(wèn)題
標(biāo)簽: 移動(dòng) 發(fā)現(xiàn)
上傳時(shí)間: 2016-07-25
上傳用戶:gxrui1991
EjectUSB 自動(dòng)移除USB 設(shè)備代碼
標(biāo)簽: EjectUSB USB 自動(dòng) 代碼
上傳時(shí)間: 2014-01-02
上傳用戶:sz_hjbf
CX1-22R 可編程控制器(簡(jiǎn)稱(chēng) CX1)是 22 路 I/O 一體化小型可編程控制器(PLC) ,是一種性能價(jià)格比比較高的 PLC。它是為滿足市場(chǎng)對(duì) 22路以下低價(jià)格、高性能 PLC的需求設(shè)計(jì)的,同時(shí)還具有擴(kuò)展功能。可靈活運(yùn)用在各種工 業(yè)自動(dòng)控制場(chǎng)合,如冶金、化工、塑料、輕紡、食品、包裝等行業(yè)中的生產(chǎn)機(jī)械、工業(yè)流水線、各種機(jī)床的工業(yè)控制 設(shè)備中。它為用戶提供了采用傳統(tǒng)的梯形圖邏輯方法以及 HJ 為用戶定制編程方法對(duì)一個(gè)控制系統(tǒng)進(jìn)行開(kāi)發(fā)的能力。
上傳時(shí)間: 2016-07-28
上傳用戶:黃華強(qiáng)
VHDL語(yǔ)言實(shí)驗(yàn)數(shù)字鍾功能,可手動(dòng)調(diào)時(shí),設(shè)定閙鍾等
標(biāo)簽: VHDL
上傳時(shí)間: 2014-12-20
上傳用戶:2467478207
蟲(chóng)蟲(chóng)下載站版權(quán)所有 京ICP備2021023401號(hào)-1