功能概述
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...