21IC-AVR學(xué)習(xí)筆記,AVR單片機(jī)教程
掃描二維碼
隨時(shí)隨地手機(jī)看文章
AVR學(xué)習(xí)筆記一、基本輸出實(shí)驗(yàn)(電路原理圖)
本實(shí)驗(yàn)包括七個(gè)例程:1、點(diǎn)亮LED試驗(yàn),2、流水燈試驗(yàn),3、蜂鳴器試驗(yàn),4、1位數(shù)碼管顯示試驗(yàn),5、四位數(shù)碼管顯示試驗(yàn),6、1602液晶顯示試驗(yàn),7、12864液晶顯示實(shí)驗(yàn)。
AVR學(xué)習(xí)筆記二、基本輸入和外部中斷實(shí)驗(yàn)
本實(shí)驗(yàn)包括二個(gè)例程:1、檢測(cè)按鍵,實(shí)現(xiàn)按鍵控制LED的亮滅,2、外部中斷實(shí)驗(yàn),利用中斷檢測(cè)按鍵,并在數(shù)碼管上顯示。
AVR學(xué)習(xí)筆記三、定時(shí)記數(shù)器0實(shí)驗(yàn)
本實(shí)驗(yàn)包括五個(gè)例程:1、定時(shí)/計(jì)數(shù)器0的計(jì)數(shù)實(shí)驗(yàn),2、定時(shí)/計(jì)數(shù)器0的定時(shí)實(shí)驗(yàn),3、定時(shí)/計(jì)數(shù)器0的比較匹配(CTC)實(shí)驗(yàn),4、定時(shí)/計(jì)數(shù)器0的快速PWM實(shí)驗(yàn),5、定時(shí)/計(jì)數(shù)器0的相位修正PWM實(shí)驗(yàn)。
AVR學(xué)習(xí)筆記四、定時(shí)記數(shù)器1實(shí)驗(yàn)
由于在定時(shí)/計(jì)數(shù)器0的實(shí)驗(yàn)中我們已經(jīng)學(xué)會(huì)了定時(shí)/計(jì)數(shù)器的定時(shí)、計(jì)數(shù)、PWM等基本功能的使用方法。而單片機(jī)中的定時(shí)/計(jì)數(shù)器的基本功能大致上是一樣的。主要區(qū)別只是在于對(duì)不同寄存器的設(shè)置。所以在定時(shí)/計(jì)數(shù)器1的實(shí)驗(yàn)中我們不再重復(fù)這些基本功能。在本實(shí)驗(yàn)中主要有兩個(gè)實(shí)例。雖然例子只有兩個(gè),但這兩個(gè)例子卻有很大的實(shí)用價(jià)值,我們可以慢慢體會(huì);這兩個(gè)例子主要內(nèi)容是:
1、定時(shí)/計(jì)數(shù)器1的輸入捕捉功能:利用定時(shí)/計(jì)數(shù)器的輸入捕捉功能實(shí)現(xiàn)外部按鍵的檢測(cè),并計(jì)算兩個(gè)按鍵按下的間隔時(shí)間。輸入捕捉功能可以用來(lái)進(jìn)行外部信號(hào)的周期測(cè)量,這是一個(gè)很重要的功能。
2、定時(shí)/計(jì)數(shù)器1的兩通道比較匹配功能:通過(guò)對(duì)電路板做一個(gè)小小的改動(dòng),我們實(shí)現(xiàn)了用兩通道比較匹配功能驅(qū)動(dòng)電路板上的D10、D11(1紅、1綠兩種顏色的LED)兩個(gè)二極管同時(shí)實(shí)現(xiàn)了漸明漸暗的變化效果。很有意思的一個(gè)試驗(yàn)。本實(shí)驗(yàn)在電路板上的改動(dòng)是:講PD4、PD5兩個(gè)端口引出兩根導(dǎo)線連接到PD0、PD1兩個(gè)端口上。另外需要注意的是:本實(shí)例用的是內(nèi)部8M晶體,而前面的所有實(shí)例使用的都是內(nèi)部1M晶體。所以需要修改WINAVR(GCC)中的makefile中的晶體的值,而在下載程序的時(shí)候,也需要修改相應(yīng)的熔絲位配置。
AVR學(xué)習(xí)筆記五、異步串行通信(USART)實(shí)驗(yàn)
在本實(shí)驗(yàn)中包含三個(gè)實(shí)例:
1、發(fā)送單個(gè)字節(jié)的實(shí)驗(yàn);
2、將接收到的數(shù)據(jù)原樣發(fā)送回去的實(shí)驗(yàn)。
3、一個(gè)完整的數(shù)據(jù)收發(fā)實(shí)驗(yàn)
AVR學(xué)習(xí)筆記六、模擬比較器和ADC實(shí)驗(yàn)
本實(shí)驗(yàn)包含兩個(gè)例子:
1、模擬比較器實(shí)驗(yàn):通過(guò)測(cè)量PA0口的電壓,如果電壓高于1.22V,則點(diǎn)亮LED2,如果低于1.22V則點(diǎn)亮LED1.
模擬比較其實(shí)一個(gè)很有用的功能,它可以用來(lái)檢測(cè)系統(tǒng)電源電壓,還可以進(jìn)行模數(shù)轉(zhuǎn)換。
2、模數(shù)轉(zhuǎn)換ADC實(shí)驗(yàn):通過(guò)測(cè)量PA0口的模擬電壓值,將測(cè)得的電壓值通過(guò)串口發(fā)送到計(jì)算機(jī),通過(guò)串口助手顯示電壓值。
AVR學(xué)習(xí)筆記七、基于DS18B20的溫度測(cè)量實(shí)驗(yàn)
本實(shí)驗(yàn)包括3個(gè)例子,分別是:
1、利用DS18B20實(shí)現(xiàn)簡(jiǎn)單的溫度測(cè)量。在這個(gè)例子中主要是學(xué)習(xí)了DS18B20的基本操作時(shí)序,DS18B20的基本操作時(shí)序是十分嚴(yán)格的,如果不按照規(guī)定的時(shí)序操作,是讀不出來(lái)數(shù)據(jù)的。而弄清了操作時(shí)序后,一切都會(huì)變得簡(jiǎn)單。
2、利用寄生電源供電方式對(duì)DS18B20進(jìn)行操作,不但實(shí)現(xiàn)了溫度的讀取,還實(shí)現(xiàn)了對(duì)DS18B20的RAM區(qū)的讀寫操作。利用寄生電源的優(yōu)點(diǎn)在于可以不必給DS18B20單獨(dú)配備電源,從而能夠更好的實(shí)現(xiàn)遠(yuǎn)程測(cè)溫。
3、利用匹配指令實(shí)現(xiàn)多點(diǎn)測(cè)溫。通過(guò)發(fā)送指定的DS18B20的ROM序列號(hào),實(shí)現(xiàn)對(duì)連接的多個(gè)DS18B20中的一個(gè)進(jìn)行讀寫。實(shí)現(xiàn)基本的多點(diǎn)測(cè)溫試驗(yàn)。
AVR學(xué)習(xí)筆記八、基于DS1302的實(shí)時(shí)時(shí)鐘
本實(shí)驗(yàn)包括1個(gè)例子:
1、利用DS1302實(shí)現(xiàn)簡(jiǎn)單的實(shí)時(shí)時(shí)鐘。在這個(gè)例子中主要是學(xué)習(xí)了DS1302的基本操作時(shí)序,以及DS1302的控制指令
AVR學(xué)習(xí)筆記九、基于AT24C16的I2C總線實(shí)驗(yàn)
本實(shí)驗(yàn)包括3個(gè)例子,分別是:
1、利用模擬I2C接口的方法實(shí)現(xiàn)對(duì)AT24C16的讀寫,并通過(guò)LED的亮滅指示讀出的數(shù)據(jù)是否正確。
2、利用AVR的硬件TWI接口,使用查詢法實(shí)現(xiàn)對(duì)AT24C16的讀寫,并通過(guò)LED的亮滅指示讀出的數(shù)據(jù)是否正確。
3、利用AVR的硬件TWI接口,使用中斷法實(shí)現(xiàn)對(duì)AT24C16的讀寫,同時(shí)將讀取的數(shù)據(jù)發(fā)送到計(jì)算機(jī)串口,并通過(guò)LED的亮滅指示讀出的數(shù)據(jù)是否正確。
在I2C總線接口的學(xué)習(xí)中,我對(duì)學(xué)習(xí)板做了一些小小的改動(dòng),分別給SDA和SCL加了外接的4.7K上拉電阻,大家看程序的時(shí)候請(qǐng)一定注意。
AVR學(xué)習(xí)筆記十、基于數(shù)碼管顯示的流轉(zhuǎn)燈
本實(shí)驗(yàn)利用數(shù)碼管編寫一個(gè)簡(jiǎn)單的程序?qū)崿F(xiàn)流轉(zhuǎn)燈效果。實(shí)例效果是:首先逐段顯示字符“0”,然后讓字符“0”的所有段流動(dòng)起來(lái)。最后讓字符“0”亮滅變化。整個(gè)程序循環(huán)執(zhí)行,達(dá)到簡(jiǎn)單模擬廣告燈的效果。
AVR學(xué)習(xí)筆記十一、AVR內(nèi)部EEPROM的讀寫實(shí)驗(yàn)
實(shí)驗(yàn)利用WINAVR自帶的EEPROM讀寫函數(shù)實(shí)現(xiàn)對(duì)AVR單片機(jī)內(nèi)部EEPROM的讀寫,并通過(guò)學(xué)習(xí)板上的8個(gè)LED等顯示讀取的數(shù)據(jù)是否正確。同時(shí)也進(jìn)行了掉電后再上電,然后讀取EEPROM內(nèi)容是否正確保存。
需要特別注意的是:在做這個(gè)實(shí)驗(yàn)的時(shí)候,熔絲位需要正確設(shè)置,應(yīng)當(dāng)選擇熔絲位為“執(zhí)行芯片擦除時(shí)保留EEPROM的內(nèi)容”即EESAVE=0。
AVR學(xué)習(xí)筆記十二、AVR內(nèi)部的看門狗操作實(shí)驗(yàn)
本實(shí)驗(yàn)利用WINAVR自帶的看門狗操作函數(shù)進(jìn)行試驗(yàn),利用LED的亮滅演示看門狗及時(shí)復(fù)位/沒(méi)有及時(shí)復(fù)位的情況。