找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4015|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

單片機響應(yīng)中斷時中斷程序和主程序同時執(zhí)行,求大神幫忙看看我的程序是不是有錯誤...

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:93371 發(fā)表于 2015-10-23 20:23 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
unsigned char code LED7Code[] = {~0x3F,~0x06,~0x5B,~0x4F,~0x66,~0x6D,~0x7D,~0x07,~0x7F,~0x6F,~0x77,~0x7C,~0x39,~0x5E,~0x79,~0x71};
void delay(uint z);
sbit D1=P1^4;
void main()                        //進入主函數(shù)之前設(shè)置中斷。
{           //所有地址能被8整除的寄存器均可進行位尋址(即直接操作某一位)。
uint LED=0;        //一定要先定義變量,否則程序無法編譯。
EA=1;         //開總中斷。
EX0=1;                         //開外部中斷0(電平觸發(fā)和跳變沿觸發(fā)兩種觸發(fā)方式)。
IT0=0;         //電平觸發(fā)方式(默認的觸發(fā)方式,單片機上電后即為電平觸發(fā))。
while(1)
{
  D1=1;
  LED++;                //變量的自加1,等價于LED=LED+1;
  P0=LED7Code[LED%16];   //%為求余符號,a%b的結(jié)果是a除以b的余數(shù),0x7f是顯示小數(shù)點。
  delay(200);
}
}

void delay(uint z)
{
uint x,y;
for(x=500;x>0;x--)
  for(y=z;y>0;y--);
}

void exter0() interrupt 0   //中斷函數(shù)不需要聲明。
{
D1=0;
}





十分感謝。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩

相關(guān)帖子

回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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