日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

21IC電子網(wǎng) | 電源

從軟硬件兩方面來分析Atmega16單片機(jī)

數(shù)字電源
2018-07-06 19:59
收藏

1. Atmega16單片機(jī)簡介

今天我們的主題是單片機(jī),說道單片機(jī)你可能最先想到的是51單片機(jī),然后通過外接的數(shù)字電路和模擬電路來控制外圍的硬件,比如PWM,ADC,I2C等等。那么今天我們所說的Atmega16單片機(jī)和51單片機(jī)的區(qū)別是什么那?其實(shí)你把Atmega16單片機(jī)當(dāng)成51單片機(jī)來使用即可,只不過是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è)部分:

電源電路:5V電源

復(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,也比較好用,本書以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í)的地方*/

//由于其他端口沒有接外圍設(shè)備先不用定義

delay();

DDRA=0X00; //關(guān)閉led燈

delay();

}

}

 

 

 

相關(guān)推薦