程序要求:1秒之内灯闪10次,我编的程序A和B都不能实现这个要求,哪位热心人帮帮我
A:
#include <reg52.h>
#define uchar unsigned char #define uint unsigned int uchar a=0; sbit LED=P0^0; sbit P1_4=P1^4; void delay(uint z); void main() { P1_4=0; a=0; TMOD = 0x01; TH0 = (65536-50000)/256;//50ms TL0 = (65536-50000)%256; EA = 1; ET0 = 1; TR0 = 1; while(1); }
void Timer_0() interrupt 1 { TH0 = (65536-50000)/256; TL0 = (65536-50000)%256; a++;
if(a == 1) { a=0; LED = ~LED; delay(689); TR0=0; } }
void delay (uint z) { uint x,y; for(x=125;x>0;x--) for(y=z;y>0;y--); }
B:
#include <reg52.h>
#define uchar unsigned char #define uint unsigned int uchar a=0; sbit LED=P0^0; sbit P1_4=P1^4; void delay(uint z); void main() { P1_4=0; a=0; TMOD = 0x01; TH0 = (65536-50000)/256;//50ms TL0 = (65536-50000)%256; EA = 1; ET0 = 1; TR0 = 1; while(1);
delay(689);
ET0=0; TR0=0;
}
void Timer_0() interrupt 1 { TH0 = (65536-50000)/256; TL0 = (65536-50000)%256; a++;
if(a == 1) { a=0; LED = ~LED; } }
void delay (uint z) { uint x,y; for(x=125;x>0;x--) for(y=z;y>0;y--); }
[此贴子已经被作者于2010-10-21 21:24:43编辑过]
|