找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2270|回復(fù): 0
收起左側(cè)

帶詳細(xì)注釋的51單片機中斷系統(tǒng)c51

[復(fù)制鏈接]
ID:86860 發(fā)表于 2015-7-26 00:40 | 顯示全部樓層 |閱讀模式
#include<reg52.h>

sbit WEB1=P1^1;
sbit A=P1^0;
sbit L=P1^3;
sbit LED=P1^2;

void delay();

unsigned char code table[]={
0X3F,0X06,0X5B,0X4F,0X66,
0x6d,0X7D,0X07,0X7F,0X6F,
0X77,0X7C,0X39,0X5E,0X79,
0X71};

unsigned char num;

void main()
{
P0=0X00;  //關(guān)閉點陣
L=0;  //鎖存
P0=0XFF;   // 關(guān)閉LED燈
LED=0;   //鎖存
WEB1=1; // 位選
P0=0XFE;  //共有8個數(shù)碼管,打開第一個數(shù)碼管
WEB1=0;  //鎖存

  EA=1; //中斷總控制位,EA=1,CPU開放中斷
EX0=1; //外中斷0中斷控制位,EX0=1,允許外部中斷0中斷
IT0=1; //外部中斷控制,IT0時觸發(fā)方式控制,IT0=0為電平觸發(fā),IT0=1為邊沿觸發(fā)
while(1)
{
for(num=0;num<16;num++)
{
A=1; //段選
  P0=table[num]; //一個數(shù)碼管有8個二極管,需要顯示的數(shù)字
A=0; //鎖存
delay();
}
}
}
void delay()
{
  int a,b;

for(a=1500;a>=0;a--)
  for(b=100;b>=0;b--);

}

void exter0()   interrupt 0//interrupt為中斷函數(shù)關(guān)鍵字,說明這個函數(shù)是中斷函數(shù),中斷函數(shù)不用函數(shù)聲明
{ //0表示51單片機的5個中斷源的第一個,即INT0,外部中斷0
  LED=1; //外部中斷是在外部給予單片機的排針觸發(fā),如電平觸發(fā),需要給P3^2一個低電平
P0=0XFE; //則可以用導(dǎo)線一段接GND(地線:低電平)一端接P3^2,即給了一個電平觸發(fā)中斷
}

愿喜愛編程之人多多交流。!

回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表