當前位置:編程學習大全網 - 編程軟體 - 小女子初學者,想編壹個用外部中斷控制秒表啟停的c程序,只用壹個鍵控制啟停,兩天了都沒調出來。

小女子初學者,想編壹個用外部中斷控制秒表啟停的c程序,只用壹個鍵控制啟停,兩天了都沒調出來。

#include<reg51.h>

unsigned char ge,shi,num,count,t;

unsigned char code Tab[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};

void main()

{

TMOD=0x01; //T0,工作方式1

TH0=0xb1; //20ms定時

TL0=0xe0;

t=2;

EA=1; //開啟總中斷允許

ET0=1; //允許T0定時器中斷

EX0=1; // 允許外部中斷0

IT0=1;

IP=0x01; //外中斷優先級為高

P2=Tab[0];

P0=Tab[0];

num=0;

while(1) //壹直調用顯示,等待T0中斷修改顯示數據

{

shi=num/10; //取出十位數

ge=num%10; //取出個位數

P2=Tab[shi]; //P2口送出十位數據顯示代碼

P0=Tab[ge]; //P1口送出個位數據顯示代碼

}

}

void timer0() interrupt 1

{

TH0=0xb1;

TL0=0xe0;

count++;

if(count==50) //加到50次即1秒

{ count=0;

num++;

if(num==60)

{num=0;}

}

}

void extern0(void) interrupt 0

{

t++;

if(t%2==0)

{

TR0=0;

P2=Tab[shi];

P0=Tab[ge];

}

else

{

TR0=1;

}

}

上面的程序我調試過了,完全符合妳的要求,妳試壹下吧!外部中斷0要用P3.2口,不能用P1.1口。祝妳好運。這點分給妳回答問題,很委屈的哦!呵呵。

  • 上一篇:c語言射擊小遊戲編程問題
  • 下一篇:開發和測試那個好做壹點兒,如何判斷自己適合哪種?
  • copyright 2024編程學習大全網