1. Atmega16單片機(jī)簡(jiǎn)介
今天我們的主題是單片機(jī),說(shuō)道單片機(jī)你可能最先想到的是51單片機(jī),然后通過(guò)外接的數(shù)字電路和模擬電路來(lái)控制外圍的硬件,比如PWM,ADC,I2C等等。那么今天我們所說(shuō)的是什么那?其實(shí)你把Atmega16單片機(jī)當(dāng)成51單片機(jī)來(lái)使用即可,只不過(guò)是Atmega16單片機(jī)的外圍接口更豐富,那么它都有什么外設(shè)資源那?
ATmega16是基于增強(qiáng)的AVR RISC結(jié)構(gòu)的低功耗8 位CMOS微控制器,由于其先進(jìn)的指令集以及單時(shí)鐘周期指令執(zhí)行時(shí)間,ATmega16 的數(shù)據(jù)吞吐率高達(dá)1 MIPS/MHz。ATmega16常用片上資源有定時(shí)器、PWM、外部中斷、SPI總線、兩線串行接口TWI、EEPROM、USART、模擬比較器、ADC轉(zhuǎn)換、IEEE(JTAG)邊界掃描等。如何去學(xué)習(xí)Atmega16單片機(jī)那?我們從硬件和軟件兩方面分析。
2. Atmega16單片機(jī)硬件原理圖(最小系統(tǒng))
從上述的最小系統(tǒng)板子上們可以看到它分為如下幾個(gè)部分:
復(fù)位電路:上電復(fù)位(電容),手動(dòng)按鍵復(fù)位。
晶振電路:Atmega16單片機(jī)內(nèi)部自帶RC震蕩電路,但是自帶的震蕩電路不夠精確,所以這里就外接了一個(gè)8MHZ的晶振。
下載程序接口ISP:ISP串行的下載程序的接口
Atmega16單片機(jī):8位avr單片機(jī)。
1. Atmega16單片機(jī)編程
AVR單片機(jī)的編譯軟件有GCC AVR和ICC AVR等,通常使用較多的是ICC AVR,也比較好用,本書(shū)以ICC AVR6.31版本為例介紹編譯軟件的使用。啟動(dòng)ICC AVR,界面如下圖所示。如何使用avr單片機(jī)控制最小系統(tǒng)上的led燈那?代碼如下:
AVR ATmega16 流水燈C程序
/**************************************************************************/
#include //包含單片機(jī)型號(hào)頭文件
#include //包含“位”操作頭文件
void delay(void) //自定義延時(shí)函數(shù)
{
unsigned char i,j;
for(i=0;i《255;i++)
for(j=0;j《10;j++)
;
}
void cpu_init(void) //單片機(jī)初始化函數(shù)
{
PORTA = 0x00; //PA口輸出值都定義為0
DDRA = 0x00; //PA口輸出允許關(guān)
PORTB = 0x00; //PB口輸出值都定義為0
DDRB = 0x00; //PB口輸出允許關(guān)
PORTC = 0x00; //PC口輸出值都定義為0
DDRC = 0x00; //PC口輸出允許關(guān)
PORTD = 0x00; //PD口輸出值都定義為0
DDRD = 0x00; //PD口輸出允許關(guān)
}
void main(void)
{
cpu_init(); //初始化單片機(jī)
while(1)
{
PORTA=0X00; /*點(diǎn)亮led燈,由最小系統(tǒng)的外部電路決定單片機(jī)輸出
低電平時(shí)流水燈點(diǎn)亮*/
DDRA=0XFF; /*允許輸出,此時(shí)PORTA的賦值才有效,這事AVR比51高級(jí)的地方*/
//由于其他端口沒(méi)有接外圍設(shè)備先不用定義
delay();
DDRA=0X00; //關(guān)閉led燈
delay();
}
}
-
adc
+關(guān)注
關(guān)注
99文章
6533瀏覽量
545747 -
51單片機(jī)
+關(guān)注
關(guān)注
274文章
5705瀏覽量
124294 -
定時(shí)器
+關(guān)注
關(guān)注
23文章
3255瀏覽量
115368 -
ATmega16單片機(jī)
+關(guān)注
關(guān)注
1文章
26瀏覽量
20875
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
自制ATMEGA16單片機(jī)實(shí)驗(yàn)板,印刷PCB,有圖有程序
Atmega16單片機(jī)實(shí)用程序Atmega16單片機(jī)實(shí)用程序
MCS-51單片機(jī)溫度控制系統(tǒng)的設(shè)計(jì)
MCS-51單片機(jī)溫度控制系統(tǒng)的設(shè)計(jì)
基于ATmega16單片機(jī)的實(shí)時(shí)溫度采集與分析系統(tǒng)
![基于<b class='flag-5'>ATmega16</b><b class='flag-5'>單片機(jī)</b>的實(shí)時(shí)溫度采集與<b class='flag-5'>分析</b>系統(tǒng)](https://file.elecfans.com/web2/M00/49/5B/pYYBAGKhtEiAE00qAAAL0gktKHc728.jpg)
ATmega16單片機(jī)實(shí)用程序
ATMEGA16單片機(jī)實(shí)現(xiàn)的數(shù)控頻率計(jì)原理圖
ATmega16單片機(jī)教程之ATmega16單片機(jī)定時(shí)器的分析與設(shè)計(jì)應(yīng)用概述
![<b class='flag-5'>ATmega16</b><b class='flag-5'>單片機(jī)</b>教程之<b class='flag-5'>ATmega16</b><b class='flag-5'>單片機(jī)</b>定時(shí)器的<b class='flag-5'>分析</b>與設(shè)計(jì)應(yīng)用概述](https://file.elecfans.com/web1/M00/7D/B8/pIYBAFwKJjGAbfQCAAFy5DS5jLw682.png)
如何實(shí)現(xiàn)ATMEGA16單片機(jī)與PC機(jī)的通信
AVR單片機(jī)最小系統(tǒng)的基本硬件線路與分析資料免費(fèi)下載
![AVR<b class='flag-5'>單片機(jī)</b>最小系統(tǒng)的基本<b class='flag-5'>硬件</b>線路與<b class='flag-5'>分析</b>資料免費(fèi)下載](https://file.elecfans.com/web1/M00/9B/1D/pIYBAF0isYWAD2NYAAVqc7A_c7Y841.png)
Atmega16單片機(jī)串口通信
![<b class='flag-5'>Atmega16</b><b class='flag-5'>單片機(jī)</b>串口通信](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
深度:單片機(jī)到底是如何軟硬件結(jié)合的?
![深度:<b class='flag-5'>單片機(jī)</b>到底是如何<b class='flag-5'>軟硬件</b>結(jié)合的?](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
深度:單片機(jī)到底是如何軟硬件結(jié)合的?
![深度:<b class='flag-5'>單片機(jī)</b>到底是如何<b class='flag-5'>軟硬件</b>結(jié)合的?](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評(píng)論