久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

52單片機(jī)中斷

作者:程序那些事   來(lái)源:程序那些事   點(diǎn)擊數(shù):  更新時(shí)間:2014年08月03日   【字體:

52單片機(jī)一共有6個(gè)中斷源:

 INTO0--外部中斷0,由P3.2端口線引入,低電平或下降沿引起。
 INTO1--外部中斷1,有P3.3端口線引入,低電平或下降沿引起。
 T0--定時(shí)器/計(jì)數(shù)器0中斷,由T0計(jì)數(shù)器計(jì)滿回零引起。
 T1--定時(shí)器/計(jì)數(shù)器1中斷,由T1計(jì)數(shù)器計(jì)滿回零引起。
 T2--定時(shí)器/計(jì)數(shù)器2中斷,由T2計(jì)數(shù)器計(jì)滿回零引起。
 TI/RI--串口中斷,串行端口完成一幀字符發(fā)送/接收后引起。
 
52單片機(jī)的中斷級(jí)別
 
單片機(jī)在使用中斷功能時(shí),通常需要設(shè)置兩個(gè)與中斷有關(guān)的寄存器:
①中斷允許寄存器IE
②中斷優(yōu)先級(jí)寄存器IP
一,中斷允許寄存器 IE

功能:

EA-- 全局中斷允許位
EA=1 打開(kāi)全局中斷控制,在此條件下,有各個(gè)中斷控制位確定相應(yīng)中斷的打開(kāi)或關(guān)閉
EA=0 關(guān)閉全部中斷
ET2  定時(shí)器/計(jì)數(shù)器2中斷允許位
ET2=1   打開(kāi)T2中斷
ET2=0 關(guān)閉T2中斷
 
ES 串行中斷允許位
ET1 定時(shí)器1中斷允許位
EX1 外部中斷1允許位
ET0 定時(shí)器/計(jì)數(shù)器0中斷允許位
EX0 外部中斷允許位
 
二,中斷優(yōu)先級(jí)寄存器IP

PS 串行優(yōu)先級(jí)控制位
PS=1 串行口中斷定義為高優(yōu)先級(jí)中斷
PS=0 串行口中斷定義為低優(yōu)先級(jí)中斷
PT1 定時(shí)器/計(jì)數(shù)器1優(yōu)先級(jí)控制位
PX1 外部中斷1中斷優(yōu)先級(jí)控制位
PT0 定時(shí)器/計(jì)數(shù)器0優(yōu)先級(jí)控制位
PX0 外部中斷0中斷優(yōu)先級(jí)控制位
 
注意:定時(shí)器系統(tǒng)是單片機(jī)內(nèi)部一個(gè)獨(dú)立的硬件部分,它與CPU和晶振通過(guò)內(nèi)部某些控制線連接并相互作用,CPU一旦設(shè)置開(kāi)始啟動(dòng)定時(shí)功能后,定時(shí)器便在晶振的作用下自動(dòng)開(kāi)始計(jì)時(shí),當(dāng)定時(shí)器計(jì)數(shù)計(jì)滿后,會(huì)產(chǎn)生中斷,即通知CPU該如處理。
 
單片機(jī)在使用定時(shí)器/計(jì)數(shù)器功能時(shí),通常需要設(shè)置兩個(gè)與定時(shí)器有關(guān)的寄存器:
①工作方式寄存器TMOD
②控制計(jì)數(shù)器TCON
一,工作方式寄存器TMOD
 
GATE 門控位
GATE=0 定時(shí)器/計(jì)數(shù)器啟動(dòng)與停止僅受TCON寄存器中TRX(X=0,1)來(lái)控制
GATE=1 定時(shí)器/計(jì)數(shù)器啟動(dòng)與停止由TCON寄存器中TRX(X=0,1)和外部中斷引腳(INT0或INT1)上的電平狀態(tài)來(lái)共同控制
C/T 定時(shí)器模式和計(jì)數(shù)器模式選擇位(1為計(jì)數(shù)器模式,0為定時(shí)器模式)
M1M0 工作方式選擇位
 
每個(gè)定時(shí)器有4個(gè)工作方式,他們由M1M0設(shè)定
 
二,定時(shí)器/計(jì)數(shù)器控制寄存器TCON

 

IF1   定時(shí)器1溢出標(biāo)志位
TR1  定時(shí)器1運(yùn)行控制位
由軟件清零關(guān)閉定時(shí)器1,當(dāng)GATE=1,且INT1為高電平時(shí),TR1置1啟動(dòng)定時(shí)器1;當(dāng)GATE=0時(shí),TR1置1啟動(dòng)定時(shí)器1
IE1  外部中斷1請(qǐng)求標(biāo)志
當(dāng)IT0=1時(shí)為電平觸發(fā)方式,每個(gè)機(jī)器周期的S5P2采樣INT1引腳,若INT1腳為低電平。則置1,否則IE1清0.
當(dāng)IT1=0時(shí),INT1為跳變沿觸發(fā),當(dāng)?shù)谝粋(gè)機(jī)器周期采樣到INT1為低電平時(shí),則IE1置1,便是外部中斷1正向CPU申請(qǐng)中斷,當(dāng)CPU響應(yīng)中斷,轉(zhuǎn)向中斷服務(wù)程序時(shí),該位由硬件清0.
IT1   外部中斷1觸發(fā)方式選擇位
IT1=0  為電平觸發(fā)模式,引腳INT1上低電平有效
IT1=1 為跳變沿觸發(fā)模式,引腳INT1上下降沿有效
IE0 同上
IT0 同上
 
計(jì)算定時(shí)器的初值問(wèn)題
52單片機(jī)內(nèi)部有12倍的分頻,假設(shè)采用的是12MHZ的晶振,那么12個(gè)時(shí)鐘周期為一個(gè)機(jī)器周期,那么此時(shí)機(jī)器周期就是1us。以定時(shí)器1,工作方式1為例。16位的計(jì)數(shù)器
溢出一次需要計(jì)數(shù)2^16-1個(gè)數(shù)=65536。約為65.5ms
如果要定時(shí)50ms的話,(65536-50000)/256 轉(zhuǎn)載到THX
     (65536-50000)/256 轉(zhuǎn)載到TLX
公式:
THX=(65536-50000)/256
LTX =(65536-50000)/256
 
中斷服務(wù)函數(shù)的寫法:
void 函數(shù)名() interrupt 中斷號(hào) using 工作組
{
中斷服務(wù)程序內(nèi)容
}
 
定時(shí)器的初始化過(guò)程如下
①對(duì)TMOD賦值,以確定T0和T1的工作方式
②計(jì)算初值,并將初值寫入TH0,TL0,或TH1,TL1
③中斷方式,則對(duì)IE賦值,開(kāi)放中斷
④使TR0或TR1置位,啟動(dòng)定時(shí)器/計(jì)數(shù)器定時(shí)或計(jì)數(shù)
 
程序?qū)嵗?/div>
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int 
sbit led1=P1^0;
uchar num;
void main()
{
TMOD=0X01; //設(shè)置定時(shí)器工作方式1(M1M0為01)
TH0(65536-45872)/256; //裝初值11.0592M晶振時(shí)為50ms數(shù)為45872
HL0=(65536-45872)%6;
EA=1; //開(kāi)總中斷
ET0=1; //開(kāi)定時(shí)器0中斷
TR0=1; //啟動(dòng)定時(shí)器0
while(1); //程序停止在這等待中斷發(fā)生
}
void T0_time() interrupt 1
{
TH0(65536-45872)/256; //裝初值11.0592M晶振時(shí)為50ms數(shù)為45872
HL0=(65536-45872)%6;
num++;
if(num==20)
{
num=0;
led1=~led1;
}
}

相關(guān)文章

主站蜘蛛池模板: 亚洲成人免费视频在线 | 精品久久久久久久久久 | 日韩在线不卡视频 | 国产精品亚洲综合 | 福利一区二区在线 | 色婷婷综合久久久中字幕精品久久 | 伊人手机在线视频 | 欧美极品视频在线观看 | 亚洲第一区国产精品 | 午夜亚洲| 日韩中文字幕 | 永久免费在线观看 | 亚洲免费精品 | 日韩欧美亚洲 | 日日干天天操 | 综合久久av| 欧美日本韩国一区二区三区 | 国产精品成人一区二区三区吃奶 | 一区二区av | 午夜在线免费观看视频 | 久久久久久久久久一区 | 九色av | 国产高清精品一区二区三区 | 久久高清 | 日韩在线一区二区三区 | 免费人成在线观看网站 | 国产精品福利一区二区三区 | 国产情侣在线看 | 日本一区二区三区四区 | 亚洲高清久久 | 在线日韩精品视频 | 谁有毛片| 搞av.com| www四虎com| 日日日操 | 超碰免费在 | 一级一级毛片免费看 | 亚洲国产成人精品女人久久久 | 欧美精品日韩精品 | 性视频网| 国产馆 |