當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]從業(yè)近十年!手把手教你單片機(jī)程序框架 第46講開(kāi)場(chǎng)白:一個(gè)AT24C02可以存儲(chǔ)256個(gè)字節(jié),地址范圍是(0至255)。利用AT24C02存儲(chǔ)數(shù)據(jù)時(shí),要教會(huì)大家六個(gè)知識(shí)點(diǎn):第一個(gè):?jiǎn)纹瑱C(jī)操作AT24C02的通訊過(guò)程也就是IIC的通訊過(guò)程,

從業(yè)近十年!手把手教你單片機(jī)程序框架 第46講

開(kāi)場(chǎng)白:

一個(gè)AT24C02可以存儲(chǔ)256個(gè)字節(jié),地址范圍是(0至255)。利用AT24C02存儲(chǔ)數(shù)據(jù)時(shí),要教會(huì)大家六個(gè)知識(shí)點(diǎn):

第一個(gè):?jiǎn)纹瑱C(jī)操作AT24C02的通訊過(guò)程也就是IIC的通訊過(guò)程, IIC通訊過(guò)程是一個(gè)要求一氣呵成的通訊過(guò)程,中間不能被其它中斷影響時(shí)序出錯(cuò),因此在整個(gè)通訊過(guò)程中應(yīng)該先關(guān)閉總中斷,完成之后再開(kāi)中斷。

第二個(gè):在寫入或者讀取完一個(gè)字節(jié)之后,一定要加上一段延時(shí)時(shí)間。在11.0592M晶振的系統(tǒng)中,寫入數(shù)據(jù)時(shí)經(jīng)驗(yàn)值用delay_short(2000),讀取數(shù)據(jù)時(shí)經(jīng)驗(yàn)值用delay_short(800)。否則在連續(xù)寫入或者讀取一串?dāng)?shù)據(jù)時(shí)容易丟失數(shù)據(jù)。如果一旦發(fā)現(xiàn)丟失數(shù)據(jù),應(yīng)該適當(dāng)繼續(xù)把這個(gè)時(shí)間延長(zhǎng),尤其是在寫入數(shù)據(jù)時(shí)。

第三個(gè):如何初始化EEPROM數(shù)據(jù)的方法。系統(tǒng)第一次上電時(shí),我們從EEPROM讀取出來(lái)的數(shù)據(jù)有可能超出了范圍,可能是ff。這個(gè)時(shí)候我們應(yīng)該給它填入一個(gè)初始化的數(shù)據(jù),這一步千萬(wàn)別漏了。

第四個(gè):在時(shí)序中,發(fā)送ACK確認(rèn)信號(hào)時(shí),要記得把數(shù)據(jù)線eeprom_sda_dr_s設(shè)置為輸入的狀態(tài)。對(duì)于51單片機(jī)來(lái)說(shuō),只要把eeprom_sda_dr_s=1就可以。而對(duì)于PIC或者AVR單片機(jī)來(lái)說(shuō),它們都是帶方向寄存器的,就不能直接eeprom_sda_dr_s=1,而要直接修改方向寄存器,把它設(shè)置為輸入狀態(tài)。在本驅(qū)動(dòng)程序中,我沒(méi)有對(duì)ACK信號(hào)進(jìn)行出錯(cuò)判斷,因?yàn)槲疫@么多年一直都是這樣用也沒(méi)出現(xiàn)過(guò)什么問(wèn)題。

第五個(gè): 提醒各位讀者在硬件上應(yīng)該注意的問(wèn)題,單片機(jī)跟AT24C02通訊的2根IO口都要加上一個(gè)4.7K左右的上拉電阻。凡是在IIC通訊場(chǎng)合,都要加上拉電阻。AT24C02的WP引腳一定要接地,否則存不進(jìn)數(shù)據(jù)。

第六個(gè):舊版的朱兆祺51學(xué)習(xí)板在硬件上有一個(gè)bug,AT24C02的第8個(gè)引腳VCC懸空了!!!,讀者記得把它飛線連接到5V電源處。新版的朱兆祺51學(xué)習(xí)板已經(jīng)改過(guò)來(lái)了。

具體內(nèi)容,請(qǐng)看源代碼講解。

(1)硬件平臺(tái):

基于朱兆祺51單片機(jī)學(xué)習(xí)板。

(2)實(shí)現(xiàn)功能:

4個(gè)被更改后的參數(shù)斷電后不丟失,數(shù)據(jù)可以保存,斷電再上電后還是上一次最新被修改的數(shù)據(jù)。

顯示和獨(dú)立按鍵部分根據(jù)第29節(jié)的程序來(lái)改編,用朱兆祺51單片機(jī)學(xué)習(xí)板中的S1,S5,S9作為獨(dú)立按鍵。

一共有4個(gè)窗口。每個(gè)窗口顯示一個(gè)參數(shù)。

第8,7,6,5位數(shù)碼管顯示當(dāng)前窗口,P-1代表第1個(gè)窗口,P-2代表第2個(gè)窗口,P-3代表第3個(gè)窗口,P-4代表第1個(gè)窗口。

第4,3,2,1位數(shù)碼管顯示當(dāng)前窗口被設(shè)置的參數(shù)。范圍是從0到9999。S1是加按鍵,按下此按鍵會(huì)依次增加當(dāng)前窗口的參數(shù)。S5是減按鍵,按下此按鍵會(huì)依次減少當(dāng)前窗口的參數(shù)。S9是切換窗口按鍵,按下此按鍵會(huì)依次循環(huán)切換不同的窗口。

(3)源代碼講解如下:

第四十六節(jié)源代碼講解.rar
d1bb006f63d2abc2056cee3edaeafb5b.rar (6.02 KB)

總結(jié)陳詞:

IIC通訊過(guò)程是一個(gè)要求一氣呵成的通訊過(guò)程,中間不能被其它中斷影響時(shí)序出錯(cuò),因此,在整個(gè)通訊過(guò)程中應(yīng)該先關(guān)閉總中斷,完成之后再開(kāi)中斷。但是,這樣就會(huì)引起另外一個(gè)新問(wèn)題,如果關(guān)閉總中斷的時(shí)間太長(zhǎng),會(huì)導(dǎo)致動(dòng)態(tài)數(shù)碼管不能及時(shí)均勻的掃描,在按鍵更改參數(shù),內(nèi)部操作EEPROM時(shí),數(shù)碼管就會(huì)出現(xiàn)短暫明顯的閃爍現(xiàn)象,解決這個(gè)問(wèn)題最好的辦法就是在做項(xiàng)目中盡量不要用動(dòng)態(tài)掃描數(shù)碼管的方案,應(yīng)該用靜態(tài)顯示的方案。那么在程序上還有沒(méi)有改善這種現(xiàn)象的方法?當(dāng)然有。欲知詳情,請(qǐng)聽(tīng)下回分解-----操作AT24C02時(shí),利用“一氣呵成的定時(shí)器方式”改善數(shù)碼管的閃爍現(xiàn)象。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉