下面注釋的是乙機,結果應該是:甲機按下中斷按鍵后,乙機聯排數碼管有顯示,但結果出不來按下按鍵沒反應,我懷疑是單片機壞了。。。
#include <AT89X51.H>
#define uchar unsigned char
#define unit unsigned int
void delay(unsigned char delay_time)
{
unsigned char i;
while(delay_time--)
for(i=0;i<125;i++)
;
}
void main()
{
IT0=1;
EX0=1;
EA=1;
SCON=0x51;
TMOD=0x20; TH0=0xf3;TL0=0xf3;
TR1=1;
EA=1;
ES=1;
while(1);
}
void jian() interrupt 0
{
delay(10);
if(P3^2!=1)
{
ACC=1;
SBUF=ACC;
}
}
void ser()interrupt 4
{
if(RI==1)
{
RI=0;
}
else TI=0;
}
//#include<AT89X51.H>
//#define uchar unsigned char
//#define unit unsigned int
//bit receive_flag;
//unsigned int i;
//void mini_delay()
//{
// for(i=0;i<100;i++);
//}
//void main(void)
//{
// unsigned char led[8]={0x1c,0xfc,0x7c,0x9e,0x1c,0xfc,0x7c,0x9e};
// unsigned char wei[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
// unsigned int a;
// unsigned int b;
// SCON=0x50;
// TMOD=0x20;TH0=0xf3;TL0=0xf3;
// ET1=1;
// TR1=1;
// EA=1;
// ES=1;
// receive_flag = 0;
// while(1)
// {
// if(receive_flag)
// {
// for(a=0;a<8;a++)
// {
// for(b=0;b<=a;b++)
// {
// P1=wei[ b];
// P0=led[ b];
// mini_delay();
// }
// }
// }
// }
//}
//void ser()interrupt 4
//{
// if(RI)
// {
//
// receive_flag=1;
// RI=0;
// }
// else TI=0;
//} |