请教:想自己用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; } }
[此贴子已经被作者于2009-12-16 9:08:23编辑过]
|