單片機應用系統設計技術——編碼開關試驗

//proteus仿真論壇:proteus.5d6d.com

#include <AT89X52.h>

#define JINGZHEN 24
#define TIME0TH ((65536-100*JINGZHEN/12)&0xff00)>>8   //time0,100us,紅外遙控
#define TIME0TL ((65536-100*JINGZHEN/12)&0xff)

main()
{
 char a,b,c,d;
 a=b=c=d=0;
 P3=0;
 TH0 = TIME0TH;
 TL0 = TIME0TL;
 TMOD  |= 0x11;
 ET0    = 1;
 TR0    = 1;
 EA=1;
while(1)
 {
 P1=0xff;
 if(P1_0==0)
 {
 	if(a==0)
	{
	a=1;
	P3_0=1;
	TH0 = TIME0TH;
	TL0 = TIME0TL;
	TF0=0;
	while(TF0==0);
	TF0=0;
	P3_1=1;
	TH0 = TIME0TH;
	TL0 = TIME0TL;
	TF0=0;
	while(TF0==0);
	TF0=0;
	}
	else
	{
	a=0;
	P3_0=0;
	TH0 = TIME0TH;
	TL0 = TIME0TL;
	TF0=0;
	while(TF0==0);
	TF0=0;
	P3_1=0;
	TH0 = TIME0TH;
	TL0 = TIME0TL;
	TF0=0;
	while(TF0==0);
	}
	while(P1_0==0);
 }
 if(P1_1==0)
 {
 	if(a==0)
	{
	a=1;
	P3_1=1;
	TH0 = TIME0TH;
	TL0 = TIME0TL;
	TF0=0;
	while(TF0==0);
	TF0=0;
	P3_0=1;
	TH0 = TIME0TH;
	TL0 = TIME0TL;
	TF0=0;
	while(TF0==0);
	TF0=0;
	}
	else
	{a=0;
	P3_1=0;
	TH0 = TIME0TH;
	TL0 = TIME0TL;
	TF0=0;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章