ik nodig monster C's in Keil ...

H

harshita

Guest
Hi ..i need monster coderen met behulp van keilC compiler ....am doing project 89c51 ....
vooral i need codes in
1.temperatue sensor
2.ADC converter
3.IR detector
4.LCD elkaarkunt u reageren snel ..
thx u van tevoren ..

 
Ga naar analoog apparaat download code voor ADUC847 of 842.Veel van de monsters er

of ga naar atmel te downloaden vanaf hier

 
Is dat elk gebruik, eigenlijk voor AT89s8252 / 3.moet niet veel veranderingen.Voor 1x16 display, elektrisch 2x8.

P1.0 = RS
P1.1 = E
P1.2 = D4
P1.3 = D5
P1.4 = D6
P1.5 = D7

Ground Pin 3 op LCD

Vertraging gebleken is "Delay.h"Delay.h

# define XTAL_FREQ 12
# define DelayUs (x) (unsigned char _dcnt; \
_dcnt = (x) * ((XTAL_FREQ) / 12); \
while (- _dcnt! = 0) \
blijven;)
extern void DelayMs (unsigned char);Lcd.h

/ *
* LCD-interface header bestand
* Zie lcd.c voor meer info
* /

/ * Schrijf een byte naar de LCD in 4 bit mode * /

extern void lcd_write (unsigned char);

/ * Duidelijke en thuis het LCD * /

extern void lcd_clear (void);

/ * Schrijf een reeks van tekens op het LCD-* /

extern void lcd_puts (const char * s);

/ * Ga naar de opgegeven positie * /

extern void lcd_goto (unsigned char pos);

/ * Intialize de LCD - oproep voor iets anders * /

extern void lcd_init (void);

extern void lcd_putch (char);

/ * Stel de positie van de cursor * /

# define lcd_cursor (x) lcd_write (((x) & 0x7F) | 0x80)

Lcd.c

#
include <reg51.h>
#
include "delay.h"

sbit LCD_RS = P1 ^ 0 / / Registreren selecteren
sbit LCD_E = P1 ^ 1 / / inschakelen

# define LCD_STROBE ((LCD_E = 1), (LCD_E = 0))

/ / Tijd in milliseconden
void DelayMs (unsigned char CNT)
(CNT = 2 * CNT;
doen
(DelayUs (500);)
while (- CNT! = 0);
)

/ / Stuur naar Display
void lcd_write (unsigned char c)
(
unsigned char Movit;
Movit = (c>> 2);
P1 = (P1 & 0xC3) | (Movit & 0x3C);
LCD_STROBE;
Movit = (c <<2);
P1 = (P1 & 0xC3) | (Movit & 0x3C);
LCD_STROBE;
DelayUs (60);
)

/ / Clear en binnenlandse het LCD
void lcd_clear (void)
(
LCD_RS = 0;
lcd_write (0x80);
DelayMs (2);
)

/ / Plaats de cursor
void lcd_goto (unsigned char pos)
(
LCD_RS = 0;
lcd_write (0x80 pos);
)

/ / Stuur karakterstring
void lcd_puts (const char * s)
(
unsigned char cursor = 0x00;

while (* s)
(
LCD_RS = 1;
lcd_write (* s);
s ;
cursor ;
if (cursor == 0x08) lcd_goto (0x40); / / Ga naar 0x80 voor simulatie
if (cursor == 0x10) (cursor = 0; lcd_goto (0x00);)
)
)/ / Initialiseren de LCD - modus 4 bits
void lcd_init (void)
(
LCD_RS = 0;
DelayMs (40); / / macht op vertraging
lcd_write (0x28); / / 4 bits modus, 1 / 16 recht, 5x8 lettertype
LCD_STROBE;
DelayMs (5);
LCD_STROBE;
DelayMs (5);
LCD_STROBE;
lcd_write (0x28);
lcd_write (0x08); / / uitschakelen
lcd_write (0x0c); / / display aan, cursor uit
lcd_write (0x06); / / instellen
)

 

Welcome to EDABoard.com

Sponsor

Back
Top