藍橋杯14 24C02儲存器的應用

2021-10-19 22:08:24 字數 2002 閱讀 8716

功能概述

24c02是乙個2k bit的序列eeprom儲存器,內部含有256個位元組。在24c02裡面有乙個8位元組的頁寫緩衝器。該裝置的工作電壓為1.8v到6.0v,晶元的第7引腳wp為寫保護引腳,將該引腳接地允許正常的讀寫。

在iic匯流排協議中,裝置位址是起始訊號後第乙個傳送的位元組。如果硬體位址引腳a0、a1、a2均接地,那麼,24c02的裝置的讀操作位址為:0xa1;而寫操作位址則為:0xa0。

位元組寫操作

24c02接收完裝置位址後,產生應答訊號;然後接收8位記憶體位元組位址,產生應答訊號,接著接收乙個8位資料,產生應答訊號;最後主機傳送停止訊號,位元組寫操作結束。

位元組讀操作

主機首先傳送起始訊號,接著傳送裝置位址和它想要讀取的資料記憶體位元組位址,執行乙個偽寫操作。在24c02應答主機之後,主機重新傳送起始訊號和從裝置位址,進行讀操作。24c02響應並傳送應答訊號,然後輸出所要求的乙個8位位元組資料。主機接收完這個8位資料後,產生乙個「非應答」訊號,最後傳送停止條件,位元組讀操作結束。

編寫**完成以下操作

系統開機後,讀取0x01,0x03和0x05記憶體單元的資料,並從左至右顯示在數碼管上,數字之間用「—」分隔。

將0x01單元的資料加1後,寫回該記憶體單元,加1後結果如果大於10,恢復0。

將0x03單元的資料加2後,寫回該記憶體單元,加2後結果如果大於20,恢復0。

將0x05單元的資料加3後,寫回該記憶體單元,加3後結果如果大於30,恢復0。

#include

#include

#include

void

write_24c02

(unsigned

char addr,

unsigned

char dat)

;unsigned

char

read_24c02

(unsigned

char addr)

;void

read_write()

;void

displaysmg_24c02()

;void

delay_ms

(int n)

;void

selecthc

(unsigned

char select)

;void

show

(unsigned

char w,

unsigned

char n)

;unsigned

char table=

;unsigned

char dat1=0;

//0x01記憶體單元的資料

unsigned

char dat2=0;

//0x03記憶體單元的資料

unsigned

char dat3=0;

//0x05記憶體單元的資料

void

main()

}//位元組寫函式

void

write_24c02

(unsigned

char addr,

unsigned

char dat)

//位元組讀函式

unsigned

char

read_24c02

(unsigned

char addr)

void

read_write()

//顯示各個記憶體單元的資料

void

displaysmg_24c02()

void

selecthc

(unsigned

char select)

}void

delay_ms

(int n)

void

show

(unsigned

char w,

unsigned

char n)

藍橋杯07 儲存器對映擴充套件技術應用

分別用io擴充套件方式與儲存器擴充套件方式,對led燈和數碼管進行基本的控制。首先點亮led燈的低四位,關閉高四位,延時片刻,點亮指示燈的高四位,關閉低四位,延時片刻,關閉所有led燈。然後依次逐個點亮數碼管的所有段碼,每次只點亮乙個數碼管。迴圈執行上述功能。外部資源的位址對映關係 0x8000 l...

藍橋杯微控制器組 AT2C02 EEPROM

這個也是iic匯流排結構!在此總結一下iic的程式結構 在同乙個函式內讀 寫操作 以讀eeprom為例 1 開啟匯流排 2 寫位址字,等待回應 寫命令 3 寫要讀的位址,等待回應 4 再次開啟匯流排 5 寫位址字,等待回應 讀命令 6 讀要讀的位址 7 發出回應 8 結束匯流排 放上 unsigne...

2012藍橋杯C 本科 密碼發生器

在對銀行賬戶等重要許可權設定密碼的時候,我們常常遇到這樣的煩惱 如果為了好記用生日吧,容易被破解,不安全 如果設定不好記的密碼,又擔心自己也會忘記 如果寫在紙上,擔心紙張被別人發現或弄丟了.這個程式的任務就是把一串拼音字母轉換為6位數字 密碼 我們可以使用任何好記的拼音串 比如名字,王喜明,就寫 w...