国产成人av人人爽人人澡-亚洲国产日韩欧美一区-好吊日视频这里只有精品-日本高清精品视频在线

你好!歡迎來(lái)到深圳市穎特新科技有限公司!
語(yǔ)言
當(dāng)前位置:首頁(yè) >> 技術(shù)中心 >> 單片機(jī)入門(mén) >> AVR單片機(jī)中斷

AVR單片機(jī)中斷

關(guān)鍵字:AVR 單片機(jī) 中斷 作者: 來(lái)源: 發(fā)布時(shí)間:2019-07-31  瀏覽:8

關(guān)于AVR中斷:

系統(tǒng)在正常運(yùn)行主程序時(shí),如果突然有一個(gè)重要的任務(wù)要馬上處理,那么系統(tǒng)就要保存現(xiàn)在的工作,然后再去處理這個(gè)任務(wù),執(zhí)行這個(gè)重要任務(wù)完畢以后再返回原來(lái)的主程序繼續(xù)運(yùn)行,這就是中斷。

主程序一旦進(jìn)入中斷服務(wù)程序,那么AVR芯片將自動(dòng)的關(guān)閉全局中斷,在這個(gè)期間不再執(zhí)行其它的中斷請(qǐng)求,直到中斷程序結(jié)束以后芯片才自動(dòng)的重新開(kāi)放全局中斷。(注意,在這個(gè)期間某些中斷請(qǐng)求可能會(huì)被丟棄,某些請(qǐng)求會(huì)留下中斷請(qǐng)求標(biāo)致,一旦當(dāng)前的中斷執(zhí)行完畢,這個(gè)有中斷標(biāo)致的請(qǐng)求就有可能馬上得到響應(yīng),如INT0的下降沿觸發(fā)就會(huì)留下中斷請(qǐng)求標(biāo)致,而低電平觸發(fā)就不會(huì)流下中斷請(qǐng)求標(biāo)致)。如果你想在執(zhí)行中斷服務(wù)程序時(shí)響應(yīng)另外一個(gè)更重要的中斷,那么就要在中斷服務(wù)程序中加入一條打開(kāi)全局中斷的語(yǔ)句。

使用ICC快速建立中斷服務(wù)程序 程序文件

使用ICCAVR Application Builder進(jìn)行如下圖所示的設(shè)置。 可以設(shè)置是否使用中斷,上升延,下降延,低電平,任意的邏輯電平變化。

1.jpg

將生成的程序進(jìn)行修改,DDRA = 0x01;PORTD = 0x0C; ,添加MAIN函數(shù),如下

//ICC-AVR application builder : 2006-12-8 17:04:44

// Target : M16

// Crystal: 7.3728Mhz

#include

#include

unsigned int i=0;

void port_init(void)

{

PORTA = 0x00;

DDRA = 0x01;

PORTB = 0x00;

DDRB = 0x00;

PORTC = 0x00; //m103 output only

DDRC = 0x00;

PORTD = 0x0C; //使INT0,INT1對(duì)應(yīng)口上拉電阻有效

DDRD = 0x00; //必須設(shè)置INT0,INT1對(duì)應(yīng)口為輸入

}

#pragma interrupt_handler int0_isr:2

void int0_isr(void)

{

//external interupt on INT0

i++; //在中斷里進(jìn)行操作

}

#pragma interrupt_handler int1_isr:3

void int1_isr(void)

{

//external interupt on INT1

PORTA = 0x01; //在中斷里進(jìn)行操作

}

//call this routine to initialize all peripherals

void init_devices(void)

{

//stop errant interrupts until set up

CLI(); //disable all interrupts

port_init();

MCUCR = 0x08; //INT1 的下降沿產(chǎn)生異步中斷請(qǐng)求,INT0上升延

GICR = 0xC0; //INT0和INT1使能

TIMSK = 0x00; //timer interrupt sources

SEI(); //re-enable interrupts

//all peripherals are now initialized

}

void main(void)

{

init_devices();

while(1) //死循環(huán)等待中斷

;

}

相關(guān)解釋

#pragma interrupt_handler int0_isr:2

中斷的約定表示方法:int0_isr有一個(gè)與之對(duì)應(yīng)的應(yīng)用程序void int0_isr(void),2為中斷向量,值越小,優(yōu)先級(jí)越高,INT0的優(yōu)先級(jí)僅次于復(fù)位。

MCU 控制寄存器- MCUCR MCU 控制寄存器包含中斷觸發(fā)控制位與通用MCU 功能

通用中斷控制寄存器- GICR 使能或禁用外部中斷請(qǐng)求

使用過(guò)程中:為了降低干擾,中斷引腳請(qǐng)加上一個(gè)4.7K的上拉電阻,還可以根據(jù)實(shí)際需要,加上電容濾波,防抖動(dòng)。

【更多資源】

編輯:admin  最后修改時(shí)間:2019-07-31

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬(wàn)眾潤(rùn)豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號(hào)-4

国产精品午夜福利免费在线| 精品少妇一区二区视频| 亚洲二区欧美一区二区 | 欧美一区二区三区五月婷婷| 久久国产青偷人人妻潘金莲| 最新国产欧美精品91| 在线免费国产一区二区| 国产精品日韩精品最新| 91欧美亚洲视频在线| 黄色国产一区二区三区| 成人日韩视频中文字幕| 丰满少妇被猛烈插入在线观看 | 亚洲欧美国产精品一区二区| 精品国产亚洲av成人一区| 极品熟女一区二区三区| 国产av一区二区三区四区五区| 国产传媒精品视频一区| 亚洲人午夜精品射精日韩 | 日韩aa一区二区三区| 男女午夜福利院在线观看| 中文字幕在线五月婷婷| 97人妻人人揉人人躁人人| 中文字幕高清不卡一区| 亚洲一区二区三区福利视频| 久久99精品国产麻豆婷婷洗澡| 欧美一区二区三区五月婷婷| 国产精品推荐在线一区| 自拍偷拍一区二区三区| 亚洲国产av一二三区| 国产精品激情对白一区二区| 国产人妻熟女高跟丝袜| 亚洲香艳网久久五月婷婷| 国产一区二区三区成人精品| 高清一区二区三区大伊香蕉 | 东京热男人的天堂社区| 欧美亚洲三级视频在线观看| 久久精品免费视看国产成人| 视频在线免费观看你懂的| 久久热这里只有精品视频| 欧美熟妇喷浆一区二区| 国产午夜福利不卡片在线观看|