請教:想自己用stc89c52寫個小程序 按下P1^0口開關(guān)后P0^0口的燈亮起,延時10秒后P0^1口的燈常亮,在延時過程中和延時后只要按下P1^1都可以隨時中斷程序從頭重新執(zhí)行。以下是自己寫的總是有錯越改越亂,求高人給該一下或幫忙寫個參考參考,最好每一條語句給解釋一下,謝謝了!
#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; } }
[此貼子已經(jīng)被作者于2009-12-16 9:08:23編輯過]
|