藍橋杯微控制器 賽後資料整理(三) IIC匯流排

2021-09-17 03:42:10 字數 3387 閱讀 2266

**模板

at24c02

本文適用於ct107d競賽板+iap15轉接板

a1a2三個引腳決定,在ct107dfcp8591的位址是0x90at24c02的位址是0xa0

**讀/寫標誌位:**器件位址的後一位為讀寫標誌位,1為讀操作,0為寫操作。

fcp8591是乙個用於數模相互轉換的晶元。位說明

70置零6

xd/a標誌,1開啟,0關閉5x

模擬訊號的輸入方式,與後一位一起使用,一般使用方式04x

30置零2

x自動增量標誌,一般情況下置零,如果置位,則在每次a/d轉換後,通道編號自動增加1x

設定通道編號,與後一位一起使用0x

通道0a/d引腳,通道1為光敏電阻,通道2為儀表放大器,通道3為電位器

#include

#include

#ifndef u8

#define u8 unsigned char

#endif

u8 code font[10]

=;u8 code y6=

0xc0

,y7=

0xe0

;u8 dis[8]

;unsigned

int uval,lval;

void

delay100us()

while

(--i);}

//數碼管顯示

void

display()

p2&=0x1f;}

void

uread()

void

lread()

intmain()

}

#include

#include

#ifndef u8

#define u8 unsigned char

#endif

u8 code font[10]

=;u8 code y6=

0xc0

,y7=

0xe0

;u8 dis[8]

;unsigned

int out_val=

300;

//輸出電壓為3.00伏

void

delay100us()

while

(--i);}

//數碼管顯示

void

display()

p2&=0x1f;}

void

output()

intmain()

}

如果手邊沒有電壓表的話,可以用短接片把a/dd/a引腳連線起來,這樣自己測自己。以下是這個方式的**

#include

#include

#ifndef u8

#define u8 unsigned char

#endif

u8 code font[10]

=;u8 code y6=

0xc0

,y7=

0xe0

;u8 dis[8]

;unsigned

int u_val,out_val=

472;

//輸出電壓為4.72伏

void

delay100us()

while

(--i);}

//數碼管顯示

void

display()

p2&=0x1f;}

void

fcp(

)int

main()

}

at24c02是乙個可擦寫的rom晶元,斷電後資料不丟失,它提供了256b的儲存空間。其中,256b被分為32頁,每頁8個位元組。在進行寫操作的時候,一次最多只能寫一頁。

其**功能如下:

按鍵表123

儲存1456

讀取1789

儲存20

撤銷清零

讀取2要求運用按鍵對數字進行操作,並在數碼管上顯示出來。能在eeprom中儲存兩個數,並能讀取出來。

#include

#include

#ifndef u8

#define u8 unsigned char

#endif

u8 code font[10]

=;u8 code y6=

0xc0

,y7=

0xe0

;u8 dis[8]

,num[8]

=;void

delay100us()

while

(--i);}

void

delay300ms()

while

(--j);}

while

(--i);}

void

add_num

(u8 val)

}void

dec_num()

//數碼管顯示

void

display()

p2&=0x1f;}

void

rom_read

(u8 addr)

iic_stop()

;}void

rom_write

(u8 addr)

iic_stop()

;}void

scankey()

}}}int

main()

}

藍橋杯微控制器 賽後資料整理(一) 573鎖存器

模板 本文適用於ct107d競賽板 iap15轉接板 ct107d競賽板中共有4塊74hc537d鎖存器,它們使p0成為控制匯流排,控制led燈 四相步進電機 繼電器 直流馬達 蜂鳴器 lm386及數碼管顯示 或8x8led矩陣 另外,138編碼器及02或非門,用來選擇鎖存器,即p27p26p25三...

關於微控制器藍橋杯 EEPROM

eeprom運用了iic協議,我們在藍橋杯上寫eeprom時,應該注意他給的延時是不是15個 nop 然後,在他給的iic協議的基礎上,我們自己新增兩個eeprom write與eeprom read兩個讀寫函式 void eeprom write uchar add,uchar dat iic s...

藍橋杯 微控制器 中斷程式設計

使用程式前,將跳線j5調整為btn模式 2 3引腳短接使第一列按鍵一端接地 將跳線j13調整為io模式 2 3引腳短接使u25或非門輸入訊號wr接地 按下p32 int0引腳對應的按鍵s5,l1狀態翻轉 按下p33 int1引腳對應的按鍵s4,l2狀態翻轉 include reg52.h unsig...