久久婷婷香蕉热狠狠综合,精品无码国产自产拍在线观看蜜,寡妇房东在做爰3,中文字幕日本人妻久久久免费,国产成人精品三上悠亚久久

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 講師博文 > 帶你從(cong)軟硬件兩(liang)方面來分析(xi)Atmega16單片機

帶你從(cong)軟硬件兩方面來分析Atmega16單(dan)片機 時(shi)間:2018-04-26      來源:未知

1. Atmega16單片機簡介(jie)

今(jin)天我們的(de)(de)主題是單(dan)(dan)片(pian)(pian)機(ji),說道(dao)單(dan)(dan)片(pian)(pian)機(ji)你(ni)可(ke)能最先想到(dao)的(de)(de)是51單(dan)(dan)片(pian)(pian)機(ji),然后通過外接的(de)(de)數字電路和(he)模擬(ni)電路來控制外圍的(de)(de)硬(ying)件(jian),比(bi)如(ru)PWM,ADC,I2C等等。那么今(jin)天我們所說的(de)(de)Atmega16單(dan)(dan)片(pian)(pian)機(ji)和(he)51單(dan)(dan)片(pian)(pian)機(ji)的(de)(de)區別是什(shen)么那?其實你(ni)把Atmega16單(dan)(dan)片(pian)(pian)機(ji)當成51單(dan)(dan)片(pian)(pian)機(ji)來使用即可(ke),只不(bu)過是Atmega16單(dan)(dan)片(pian)(pian)機(ji)的(de)(de)外圍接口更(geng)豐富,那么它都有(you)什(shen)么外設資(zi)源那?

ATmega16是基于增(zeng)強的(de)AVR RISC結構的(de)低功耗8 位CMOS微(wei)控制器,由(you)于其先進(jin)的(de)指(zhi)(zhi)令集以及單時鐘(zhong)周(zhou)期指(zhi)(zhi)令執行時間,ATmega16 的(de)數(shu)據(ju)吞吐率高(gao)達1 MIPS/MHz。ATmega16常用(yong)片上(shang)資源有定時器、PWM、外部中斷、SPI總線、兩線串行接口TWI、EEPROM、USART、模擬比較器、ADC轉換、IEEE(JTAG)邊(bian)界掃描等。如何去(qu)學習Atmega16單片機那?我(wo)們(men)從硬件和軟件兩方面分析(xi)。

2. Atmega16單片機硬件(jian)原(yuan)理圖(最小系統)

從上述的最小(xiao)系(xi)統板子(zi)上們可以(yi)看到它分(fen)為如下幾個部(bu)分(fen):

電(dian)源電(dian)路:5V電(dian)源

 復(fu)位電路:上(shang)電復(fu)位(電容),手動(dong)按鍵(jian)復(fu)位。

晶振電路(lu):Atmega16單片機內部自帶RC震蕩(dang)電路(lu),但(dan)是自帶的(de)震蕩(dang)電路(lu)不夠精確,所以這里(li)就外接(jie)了一個8MHZ的(de)晶振。

下載程序(xu)(xu)接口ISP:ISP串(chuan)行的(de)下載程序(xu)(xu)的(de)接口

Atmega16單片(pian)機(ji)(ji):8位avr單片(pian)機(ji)(ji)。

1. Atmega16單(dan)片機編程

AVR單(dan)片(pian)機的(de)編譯(yi)軟件有GCC AVR和ICC AVR等(deng),通常使用(yong)(yong)較(jiao)多的(de)是(shi)ICC AVR,也比較(jiao)好用(yong)(yong),本書以ICC AVR6.31版本為(wei)例介(jie)紹編譯(yi)軟件的(de)使用(yong)(yong)。啟動ICC AVR,界面如下圖所示。如何(he)使用(yong)(yong)avr單(dan)片(pian)機控制(zhi)最小(xiao)系(xi)統上的(de)led燈那?代(dai)碼如下:


AVR ATmega16 流水燈C程序

/**************************************************************************/

#include //包含單片機型號頭文件

#include //包含"位"操作頭文件

void delay(void) //自定義延時函數

{

unsigned char i,j;

for(i=0;i<255;i++)

for(j=0;j<10;j++)

;

}

void cpu_init(void) //單片機初始化函數

{

PORTA = 0x00; //PA口輸出值都定(ding)義為0

DDRA = 0x00; //PA口輸出允許(xu)關

PORTB = 0x00; //PB口(kou)輸出值都(dou)定義為(wei)0

DDRB = 0x00; //PB口輸出允許關

PORTC = 0x00; //PC口輸出(chu)值(zhi)都定義為0

DDRC = 0x00; //PC口輸出允許(xu)關

PORTD = 0x00; //PD口輸出值都定義為0

DDRD = 0x00; //PD口輸出允許關(guan)

}

void main(void)

{

cpu_init(); //初(chu)始化單片機

while(1)

{

PORTA=0X00; /*點亮led燈,由最小系(xi)統的外部電路(lu)決定(ding)單片(pian)機輸(shu)出

低電平時流水燈點(dian)亮*/

DDRA=0XFF; /*允許輸出,此(ci)時PORTA的賦值才有效(xiao),這事(shi)AVR比51高級的地方*/

//由于其他端口沒有(you)接外(wai)圍設備先不(bu)用(yong)定義(yi)

delay();

DDRA=0X00; //關閉(bi)led燈

delay();

}

}

上一篇:exynos4412處理器對行業影響

下一篇:反向散射耦合RFID系統的原理及特點,帶你更深入的了解

熱點文章推薦
華清學員(yuan)就業(ye)榜單
高薪學員(yuan)經驗分享(xiang)
熱點新聞推(tui)薦(jian)
前臺專(zhuan)線:010-82525158 企(qi)業培訓洽談(tan)專線(xian):010-82525379 院校合作洽談(tan)專(zhuan)線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,,京公海網安備11010802025203號

回到頂部