kodo s c

E

ecestar

Guest
lahko katera koli od helpe mi pišete CDE s c jezik za merjenje vrednosti frekvence ki prispevek k mikrokrmilniška in izpis znakov za vsako vrednost z LCD zaslonom.

je prpblem je, ko sem dal konstantno frekvenco, ki je input 8051 potem sem

na LCD veliko carácter za vsak čas.

lahko katera koli od pomagajte mi prosim, in to je moja koda/*------------------------------------------------ ---------*/
# vključujejo <reg66x.h>
# vključujejo <reg52.h>
# vključujejo <stdio.h>
# define newline 0xc0
# define ClrDisp 0x01
# define TwoLine10dots 0x38
# define ScrOnCurOffBlinkOff 0x0F
# define IncCurDntMovDis 0x06
# define OUT P1

int preveri;
sbit BusyFlag = P1 ^ 7;
sbit RS = P3 ^ 5;
sbit RW = P3 ^ 6;
sbit E = P3 ^ 7;

/*------------------------------------------------ ---------
Časovnik 0 Overflow Interrupt
-------------------------------------------------- -------*/
nepotpisani dolgo tt;
nepotpisani dolgo t;

T0_ISR neveljaven (ničen) prekinjata 1
(

TF0 = 0; / / Ponastavite prekinjata zahtevo

)/*------------------------------------------------ ---------
GLAVNA C funkcija
-------------------------------------------------- -------*/

/*------------------------------------------------ ---------
-------------------------------------------------- -------*/
int temp () (
int x, y;
y = tt/335;
x = y 31;
vrnitev x;
)

checkBusy neveljaven (ničen) (OUT = 0XFF;
do (;
E = 0;
RS = 0;
RW = 1;
E = 1;
) hkrati (BusyFlag);
E = 0;
RW = 0;
)

neveljaven sendCmd (nepodpisanih char CMD) (
checkBusy ();
RS = 0;
RW = 0;

OUT = CMD;
E = 1;
E = 0;
)
neveljaven sendData (nepodpisanih char ch) (
checkBusy ();
RS = 1;
RW = 0;
OUT = ch;
E = 1;
E = 0;
)
init_LCD neveljaven (ničen) (
sendCmd (TwoLine10dots);
sendCmd (ScrOnCurOffBlinkOff);
sendCmd (IncCurDntMovDis);

)neveljaven glavne (neveljaven)
(
int a;
/*--------------------------------------
Nastavi serijski vmesnik za 9600 baudov na
11,0592 MHz.Upoštevajte, da bomo uporabili Timer 1
za Generator takta za prenos podatkov.
--------------------------------------*/
SCON = 0x53;
PCON = 0x00;
TH1 = 0xFA;
TL1 = 0xFA;
TR1 = 1;
TI = 1;

/*--------------------------------------
Omogoči prekine za časovnik 0.
--------------------------------------*/
ET0 = 1;
EA = 1;

/*--------------------------------------
Set Timer0 za 16-bitni interval časovnik
način.
--------------------------------------*/
TMOD = 0x21;

medtem ko (1)
(
/*--------------------------------------
Zbriši časovnik counter overflow in
odštevalnik nizkih in visokih registrih.Takrat,
začetek časa.
--------------------------------------*/
TH0 = 0;
TL0 = 0;
TR0 = 1;/*--------------------------------------
Počakajte na impulz za začetek.
Nato počakajte na impulz do konca.
--------------------------------------*/
medtem ko je (! INT0);
medtem ko (INT0);

/*--------------------------------------
Računaj širina impulza - en
taktu je 1us za standardno 8051
in prikaže.
--------------------------------------*/
tt = ((nepodpisanih dolgo) (TH0 * 256) TL0);
printf ( "% 1d \ n", tt = (nepodpisanih dolgo) (TH0 * 256) TL0);

a = temperatura ();
če (a == 32) (
init_LCD ();
sendCmd (ClrDisp);
sendData ( "A");
sendCmd (newline);
for (t = 0, t <1000; t ){}
)
drugje, če (a == 33) (
init_LCD ();
sendCmd (ClrDisp);
sendData ( 'b');
sendCmd (newline);
for (t = 0, t <1000; t ){}
)
drugje, če (a == 34) (
init_LCD ();
sendCmd (ClrDisp);
sendData ( 'c');
sendCmd (newline);
for (t = 0, t <1000; t ){}
)
drugje, če (a == 35) (
init_LCD ();
sendCmd (ClrDisp);
sendData ( 'd');
sendCmd (newline);
for (t = 0, t <1000; t ){}
)
drugje, če (a == 36) (
init_LCD ();
sendCmd (ClrDisp);
sendData ( 'e');
sendCmd (newline);
for (t = 0, t <1000; t ){}
)
drugje, če (a == 37) (
init_LCD ();
sendCmd (ClrDisp);
sendData ( 'f');
sendCmd (newline);
for (t = 0, t <1000; t ){}
)
drugje, če (a == 3

<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="Hladen" border="0" />

(
init_LCD ();
sendCmd (ClrDisp);
sendData ( 'g');
sendCmd (newline);
for (t = 0, t <1000; t ){}
)
drugje, če (a == 39) (
init_LCD ();
sendCmd (ClrDisp);
sendData ( "h");
sendCmd (newline);
for (t = 0, t <1000; t ){}
)
drugje, če (a == 40) (
init_LCD ();
sendCmd (ClrDisp);
sendData ( 'i');
sendCmd (newline);
for (t = 0, t <1000; t ){}
)
drugje, če (a == 41) (
init_LCD ();
sendCmd (ClrDisp);
sendData ( 'j');
sendCmd (newline);
for (t = 0, t <1000; t ){}
)
sicer (/ / For (t = 0; t <10000000; t ){}

)/ / For (t = 0; t <10000; t );
)
)

 
Wargaming, producent World of Tanks ogłosił, że robi remake Master of Orion. Master of Orion, wielokrotnie nagradzana i krytykowana gra strategiczna, powróci. Do tej pory doczekała się ona trzech wydań, jednak największy sukces odniosła pierwsza z nich. Produkt nieco już zapomnianej firmy "Microprose" pozwalał nam kolonizować wszechświat, zapewniaj...

Read more...
 

Welcome to EDABoard.com

Sponsor

Back
Top