欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3589|回復: 3
打印 上一主題 下一主題
收起左側

[求助]

[復制鏈接]
跳轉到指定樓層
樓主
ID:35256 發表于 2012-4-6 09:20 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit d2=P2;   		 	//定義P2口LED。
sbit n1=P1^3;  			//定義P1^3口的LED燈。
void delay(int);
uint num;
uint table[]={
				0xc0,0xf9,0xa4,0xb0,
				0x99,0x92,0x82,0xf8,
				0x80,0x98,0x88,0x83,
				0xc6,0xa1,0x86,0x8e
};							//控制數碼管段碼從0——F亮。
void main(void) { EA=1; //開總中斷開關 EX0=1; //開外部中斷0 IT0=0; //設置中斷觸發方式 while(1) { for(num=0;num<16;num++) {
				d2=0; 		  //點亮數碼管
				P0=table[num];
				delay(12450);     //延時閃爍。
				d2=1; 		  //關閉數碼管。
			 }

	 }
}
void delay(int z)				//延時程序。
{
	uint i,j;
	 for(i=z;i>0;i--)
	  for(j=2;j>0;j--);
}
            
void exter0() interrupt 0       //中斷程序。
     {
      n1=0;			//打開P1^3口
	  delay(1);		//延時。
     }   
  

 

我用的單片機是沒有鎖存器的,數碼管是共陽極的。與外部中斷相關的是P3.2口。

我用線把P3.2接地。按理來說,如果不拔掉這個線,中斷就沒有停止,也就回不了主程序中去。但是沒有,單片機還會回到主程序中去執行數碼管的閃爍,一頓飯時間,數碼管就從6變為C,只是數碼管閃爍得慢了很多,但并沒有停止。

我不明白這個程序哪里出錯了?

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:37854 發表于 2012-4-6 09:46 | 只看該作者

void exter0() interrupt 0       //中斷程序。
     {
      n1=0; //打開P1^3口
  delay(1); //延時。
     }   
 

 

你試試 把這個段 改成

 

void exter0() interrupt 0       //中斷程序。
{
while(1)     

{

   n1=0; //打開P1^3口
   delay(1); //延時。

}
}   
 

回復

使用道具 舉報

板凳
ID:35256 發表于 2012-4-6 21:20 | 只看該作者
謝謝您!我試試看。
回復

使用道具 舉報

地板
ID:35256 發表于 2012-4-13 09:20 | 只看該作者
很感謝您的建議!我試過了,這樣好像行不通的。我把程序燒進去,按下P3.2口的按鍵(我單片機外部中斷的接口是P3.2口),然后松開手,數碼管的數字就一直甕中保持不變了,也就是說它跳不出中斷程序,回不到主程序了。所以這樣寫也不行的。不過還是很感謝您的建議。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表