C-LiBRARY für LCD display
-
Hi,
ich möchte gern wissen wie ich die beiden datein in eine LIB packen kann
tylcd.h
#ifndef __LCD #define __LCD void LCD_write4bit(unsigned char); //Schreibt ein Byte hinaus(4bit Datenbus) void LCD_init(void); void LCD_reset(void); void LCD_out(char); //Schreibt einen string auf das LCD void LCD_wait_ms(unsigned int); //LCD_wait_ms(Zeit in ms) void LCD_wait_us(unsigned int); //LCD_wait_us(Zeit in �s) void LCD_movexy(unsigned char,unsigned char); void LCD_on(void); void LCD_clear(); #endiflcd.c
#include <stdio.h> #include <string.h> #include "reg51xd2.H" #include "LCD.h" #define REG 0 #define DAT 1 //Enable sbit LCD_E=P1^0; //Register Select sbit LCD_RS=P1^1; //datenbits sbit LCD_D4=P1^4; sbit LCD_D5=P1^5; sbit LCD_D6=P1^6; sbit LCD_D7=P1^7; void LCD_clear() { LCD_RS=REG; LCD_write4bit(0x01); //clear display } void LCD_out(char *text) { LCD_RS=DAT; while(*text!='\0') { LCD_write4bit(*text++); } } void LCD_write4bit(unsigned char zeichen) { LCD_E=1; //high LCD_D7=zeichen&0x80; //HIGH NIBBL LCD_D6=zeichen&0x40; LCD_D5=zeichen&0x20; LCD_D4=zeichen&0x10; LCD_E=1; LCD_E=0; LCD_wait_us(50); LCD_D7=zeichen&0x08; //LOW NIBBL LCD_D6=zeichen&0x04; LCD_D5=zeichen&0x02; LCD_D4=zeichen&0x01; LCD_E=1; LCD_E=0; LCD_wait_us(50); //ca.50�s } void LCD_init(void) { LCD_reset(); LCD_E=0; LCD_RS=REG; LCD_D7=0; //4bit datenbus LCD_D6=0; LCD_D5=1; LCD_D4=0; //DL=0--> 4bit datenbus LCD_E=1; LCD_E=0; LCD_wait_ms(2); //ca.2ms LCD_write4bit(0x28); //0010 1000 4bit d.b. ;zweizeilig; 5x7 Punkte LCD_wait_ms(2); //ca.2ms LCD_write4bit(0x0c); //0000 1100 Disply an LCD_wait_ms(2); //ca.2ms LCD_write4bit(0x01); //clear display LCD_wait_ms(2); //ca.2ms } void LCD_reset(void) { LCD_E=0; LCD_RS=REG; LCD_D7=0; LCD_D6=0; LCD_D5=1; LCD_D4=1; LCD_E=1; LCD_E=0; LCD_wait_ms(5); LCD_D7=0; LCD_D6=0; LCD_D5=1; LCD_D4=1; LCD_E=1; LCD_E=0; LCD_wait_us(100); LCD_D7=0; LCD_D6=0; LCD_D5=1; LCD_D4=1; LCD_E=1; LCD_E=0; LCD_wait_ms(1); } void LCD_movexy(unsigned char row,unsigned char col) { unsigned char address; if(row==1) { address=0x80+col; //1 Zeile } else { address=0xc0+col; } LCD_RS=REG; LCD_write4bit(address); LCD_wait_ms(1); } void LCD_on(void) { LCD_RS=REG; LCD_write4bit(0x0c); LCD_wait_us(50); } void LCD_wait_ms(unsigned int value) { unsigned int i; for(i=0;i<(4*value);i++) { LCD_wait_us(238); } } void LCD_wait_us(unsigned int value) { unsigned char dummy; unsigned int i; for(i=0;i<(value/4);i++) { dummy++; dummy++; } }mfg
SeBi
-
noObz schrieb:
...
Könntest du beim nächsten mal vor dem Posten auch darauf achten das du das richtige Forum erwischst? "C-LiBRARY" gehört wohl eindeutig in das C, nicht das C++ Forum.
-
sorry, aber hättest du da ne ahnung wie der code für ne library ausschauen muss wäre echt n1

ty