請教:想自己用stc89c52寫個小程序 按下P1^0口開關后P0^0口的燈亮起,延時10秒后P0^1口的燈常亮,在延時過程中和延時后只要按下P1^1都可以隨時中斷程序從頭重新執行。以下是自己寫的總是有錯越改越亂,求高人給該一下或幫忙寫個參考參考,最好每一條語句給解釋一下,謝謝了!
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
uint aa;
sbit s1=P1^0;
sbit s2=P1^1;
sbit d=P1^7;
void init()
{
TMOD=0x01;
aa=0;
TH0=(65536-5000)/256;
TL0=(65536-5000)%256;
EA=1;
ET0=1;
}
void main ()
{
init();
d=0;
while(1)
{
if(s1==0)
{
TR0=1;
P0=0xfe;
}
if(aa==200)
{
aa=0;
P0=0xfd;
}
}
}
void timer0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
aa++;
if(s2==0)
{
aa=0;
P0=0xff;
}
}
在S2==0 時關閉 定時器
| 歡迎光臨 (http://www.raoushi.com/bbs/) | Powered by Discuz! X3.1 |