Příklady s časovým zpožděním v C pro 8051

(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
Řádka 119: Řádka 119:
 
}
 
}
 
</source>
 
</source>
 +
 +
 +
</source>
 +
 +
===example 7-6 (neověřeno)===
 +
 +
<source lang"asm">
 +
#include <reg51.h>
 +
 +
void main (void)
 +
 +
{
 +
unsigned int x;
 +
for (;;)                //repeat forever
 +
{
 +
  P1=0x55;
 +
  for(x=0;x<40000;x++); //delay size unknown
 +
        P1=0xAA;
 +
        for(x=0;x<40000;x++);
 +
  }
 +
}
 +
</source>
 +
 +
===example 7-7 (neověřeno)===
 +
 +
<source lang"asm">
 +
 +
#include <reg51.h>
 +
void MSDelay(unsigned int);
 +
void main (void)
 +
  {
 +
    while(1)  //opakování cyklu
 +
    {
 +
P1=0x55;
 +
MSDelay(250);
 +
        P1=0xAA;
 +
        MSDelay(250);
 +
      }
 +
    }
 +
  Void MSDelay(unsigned int itime)
 +
    {
 +
    unsigned int i, j;
 +
    for(i=0;i<itime;i++)
 +
        for(j=0;j<1275;j++);
 +
    }
 +
 +
</source>
 +
 +
===example 7-8 (neověřeno)===
 +
 +
<source lang"asm">
 +
 +
#include <reg51.h>
 +
void MSDelay(unsigned int);
 +
void main (void)
 +
  {
 +
    while(1)  //another way to do it forever
 +
    {
 +
P0=0x55;
 +
P2=0x55;
 +
        MSDelay(250);
 +
        P0=0xAA;
 +
        P2=0xAA
 +
        MSDelay(250);
 +
      }
 +
    }
 +
  Void MSDelay(unsigned int itime)
 +
    {
 +
    unsigned int i, j;
 +
    for(i=0;i<itime;i++)
 +
        for(j=0;j<1275;j++);
 +
    }

Verze z 18. 5. 2011, 11:55

zdroj informací: http://what-when-how.com/8051-microcontroller/data-types-and-time-delay-in-8051-c/

Obsah

Unsigned char

example 7-1

#include <reg51.h>
 
void main (void)
 
{
	unsigned char z;
	for (z=0;z<=255;z++)
	P1=z;
}

example 7-2

#include <reg51.h>
 
void main (void)
 
{
	unsigned char mynum [] = "012345ABCD";
	unsigned char z;
 
	for (z=0;z<=10;z++)
	P1 = mynum[z];
 
}

example 7-3

#include <reg51.h>
 
void main (void)
 
{
 
for (;;)   //opakovani cyklu
 
 
	P1=0x55; 
	P1=0xAA; 
 
}

Unsigned char

example 7-4

#include <reg51.h>
 
void main (void)
 
{
 
	char mynum [] = {+1,-1,+2,-2,+3,-3,+4,-4};
	unsigned char z;
 
	for (z=0;z<=8;z++)
	P1 = mynum[z];
 
}

example 7-5

#include <reg51.h>
 
sbit MYBIT = P1^0; //definování výstupního bitu
 
void main (void)
 
{
  	 MYBIT = 0;
	 MYBIT = 1;
 
}


example 7-5-2

#include <reg51.h>
 
sbit MYBIT = P1^0; //definování výstupního bitu
 
void main (void)
 
{
  	 MYBIT = ~MYBIT;
}

example 7-5-3

#include <reg51.h>
 
sbit MYBIT = P1^0; //definování výstupního bitu
 
void main (void)
 
{
	unsigned int z;
	for (z=0;z<=5;z++)
	{
  	 MYBIT = 0;
  	 MYBIT = 1;
   }
}


</source>

example 7-6 (neověřeno)

#include <reg51.h>
 
void main (void)
 
{
	unsigned int x;
	for (;;)                //repeat forever
	{
  	 P1=0x55;
  	 for(x=0;x<40000;x++); //delay size unknown
         P1=0xAA;
         for(x=0;x<40000;x++);
   }
}

example 7-7 (neověřeno)

#include <reg51.h>
void MSDelay(unsigned int);
void main (void)
  {
    while(1)   //opakování cyklu
     {
	P1=0x55;
	MSDelay(250);
        P1=0xAA;
        MSDelay(250);
      }
    }
  Void MSDelay(unsigned int itime)
    {
     unsigned int i, j;
     for(i=0;i<itime;i++)
        for(j=0;j<1275;j++);
    }

example 7-8 (neověřeno)

#include <reg51.h>
void MSDelay(unsigned int);
void main (void)
  {
    while(1)   //another way to do it forever
     {
	P0=0x55;
	P2=0x55;
        MSDelay(250);
        P0=0xAA;
        P2=0xAA
        MSDelay(250);
      }
    }
  Void MSDelay(unsigned int itime)
    {
     unsigned int i, j;
     for(i=0;i<itime;i++)
        for(j=0;j<1275;j++);
    }
Osobní nástroje
Jmenné prostory
Varianty
Akce
Rychlá navigace
NEJ aktivity
Nejlepší předměty
Nejlepší MCU
SW-HW
Ostatní
Utility
Nástroje
Tisk/export