标题: [求助]1秒内灯闪10次 [打印本页]

作者: a123    时间: 2010-10-21 21:23
标题: [求助]1秒内灯闪10次

程序要求: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编辑过]

作者: wgglps    时间: 2010-10-26 18:18
你设置100ms闪一次,不就等于1s闪10次了吗?
作者: a123    时间: 2010-10-28 11:51

首先非常感谢你噢——给我回复了!!!

我按照你的提示写了一个如下,可是运行失败,您可否帮我写一个程序呢?

 

 

#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 == 2) //50ms*2=100ms,中断一次
   {
     a=0;
     LED = ~LED;

    if(a==20)//1000ms 即1秒

           {

               a=0;

               TR0=0;

            }

   }
}

 

请问是这样的吗?if(a == 2)之后它还会再实现if(a==20)吗?我感觉这个行不通!,我是新学者,还请多多赐教。

 

 

                          






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1