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

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

單片機外部中斷的電平觸發和邊沿觸發程序

作者:佚名   來源:本站原創   點擊數:  更新時間:2013年12月04日   【字體:

折騰了一上午,沒有人帶只能自己摸索了........
接法:JP10接J12;JP8接JP16;P3^2接GND;P2^0接LED;


只有打開全局開關,其它各位的開關才可以開啟。
所有開關賦值為1則開,賦值為0則關。
位序號
D0
D1
D2
D3
D4
D5
D6
D7
說明
外部中斷0
定時/計數0
外部中斷1
定時/計數1
串行口中斷
定時/計數2
(52單片機)
無效位
全局中斷位
位符號(寫程序時直接引用)
EX0
ET0
EX1
ET1
ES
ET2
--
EA
位地址
A8H
A9H
AAH
ABH
ACH
ADH
--
AFH

EA:總允許位
ES:串口中斷允許位
ET1:定時計數器1中斷允許位
EX1:外部中斷1中斷允許位
ET0:定時計數器0中斷允許位
EX0:外部中斷0中斷允許位

52單片機中的6個中斷源和單片機端口的關系:
1外部中斷0的中斷申請線INT0就是P3口的P3.2口線
2外部中斷1的中斷申請線INT1就是P3口的P3.3口線
3計數器0的外部計數輸入端為單片機P3口的P3.4口線(定時器0為內部中斷)
4計數器1的外部計數輸入端為單片機P3口的P3.5口線(定時器1為內部中斷)
5串行口中斷(分為串行口接受中斷RXD即單片機P3口的P3.0口線;串行口發送中斷TXD即單片機P3口的P3.1口線
6計數器2的外部計數輸入端為單片機P1口的P1.0口線 (定時器2為內部中斷)


 

 TCON
TCON(Timer Control Register)定時器/計數器控制寄存器
TCON在特殊功能寄存器中,字節地址為88H,由于有位地址,十分便于進行位操作。
TCON的作用是控制定時器的啟、停,標志定時器溢出和中斷情況。
TCON的格式如下圖所示。其中,TF1,TR1,TF0和TR0位用于定時器/計數器;IE1,IT1,IE0和IT0位用于中斷系統。
各位定義如下:
TF1:定時器1溢出標志位。當定時器1計滿溢出時,由硬件使TF1置“1”,并且申請中斷。進入中斷服務程序后,由硬件自動清“0”,在查詢方式下用軟件清“0”。
TR1:定時器1運行控制位。由軟件清“0”關閉定時器1。當GATE=1,且INT1為高電平時,TR1置“1”啟動定時器1;當GATE=0,TR1置“1”啟動定時器1。
TF0:定時器0溢出標志。其功能及操作情況同TF1。
TR0:定時器0運行控制位。其功能及操作情況同TR1。
IE1:外部中斷1請求標志位。
IT1:外部中斷1觸發方式選擇位。當IT1=0,為低電平觸發方式;當IT1=1,為下降沿觸發方式。
IE0:外部中斷0請求標志位。
IT0:外部中斷0觸發方式選擇位。 當IT0=0,為低電平觸發方式;當IT0=1,為下降沿觸發方式。
TCON中低4位與中斷有關。由于TCON是可以位尋址的,因而如果只清溢出或啟動定時器工作,可以用位操作命令。例如:執行“CLR TF0”后則清定時器0的溢出;執行“SETB TR1”后可啟動定時器1開始工作(當然前面還要設置方式定)。
 code:


//電平觸發
#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
sbit D1=P2^0;
uchar num;
uchar wnum=0x00;
uchar code dbit[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//段選,選擇要顯示的數字
//uchar code wnum[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdF,0xbF,0x7F};//八位數碼管   
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
{
for(y=0;y<113;y++)
{
}
}
}
void main()
{
P1=wnum;
EA=1;//打開中斷總開關
EX0=1;//打開外部中斷0,P3.2選通
IT0=0;//選擇電平觸發方式
while(1)
{
for(num=0;num<10;num++)
{
P0=dbit[num];
delay(500);
}
}
}
void duan() interrupt 0
{
D1=1;
delay(500);
D1=0;
delay(500); 
}

 

//邊沿觸發方式
#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
sbit D1=P2^0;
uchar num;
uchar wnum=0x00;
uchar code dbit[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//段選,選擇要顯示的數字
//uchar code wnum[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdF,0xbF,0x7F};//八位數碼管   
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
{
for(y=0;y<113;y++)
{
}
}
}
void main()
{
P1=wnum;
EA=1;//打開中斷總開關
EX0=1;//打開外部中斷0,P3.2選通
IT0=1;//選擇邊沿觸發方式
while(1)
{
for(num=0;num<10;num++)
{
P0=dbit[num];
delay(500);
}
}
}
void duan() interrupt 0
{
D1=1;
delay(500);
D1=0;
delay(500); 
}

 

關閉窗口

相關文章

主站蜘蛛池模板: 国产区精品| 久久成 | 综合国产第二页 | 国产日韩精品在线 | 日本一区二区三区免费观看 | 四虎影视免费观看 | 免费观看的黄色网址 | 天堂视频一区 | 在线欧美视频 | 天天看天天操 | 久草福利 | 亚洲精品在线视频 | 欧美日韩国产在线观看 | 欧美日韩久久精品 | 性一区 | 国产成人精品一区二区三 | 国产精品久久久久久二区 | 欧美天堂 | 欧美激情在线播放 | 久久国产精品久久久久久 | 九九热这里只有精品在线观看 | 黄色在线免费观看视频 | 国产精品乱码一区二三区小蝌蚪 | 欧美激情欧美激情在线五月 | 欧美精品久久 | 农村妇女毛片精品久久久 | 涩涩片影院 | 久久久青草婷婷精品综合日韩 | 亚洲热在线视频 | www.性色 | 9999精品视频 | 日韩欧美精品在线 | 久热国产精品 | 午夜爽爽爽男女免费观看 | 99精品国自产在线 | 欧美精品一级 | 午夜成人免费视频 | 成人免费黄色 | 一区二区三区亚洲 | 国产一级在线观看 | 欧美日韩大陆 |