Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
LCDSEMINAR.cpp
00001 #include "LCDSEMINAR.h" 00002 00003 00004 00005 LCD::LCD(PinName SDA, PinName SCL ): 00006 i2c(SDA,SCL) 00007 00008 { inicijalizacija(); // opoziv funkcije za inicijaliziranje 00009 } 00010 00011 00012 void LCD::inicijalizacija() // konstruktor za inicijalizaciju 00013 { i2c.frequency(100000); // frekvencija rada 100khz 00014 wait_ms(30); 00015 naredba(0x01);// ciscenje ekrana 00016 wait_ms(20); 00017 naredba(0x3); //inicijalizacijski podaci 00018 wait_ms(6); 00019 naredba(0x3); 00020 wait_ms(6); 00021 naredba(0x3); 00022 wait_ms(6); 00023 naredba(0x2); 00024 wait_ms(6); 00025 naredba(0b00101000); //Funtionset 13 str. datasheeta 4bitno sucelje 00026 naredba(0b00001110); //Display on/off display upaljen pokazivac upaljen blinkanje izgaseno 00027 } 00028 00029 00030 void LCD::naredba(int byte ) 00031 { 00032 00033 char prvidio[2]; 00034 char drugidio[2]; 00035 00036 prvidio[0] = (byte & 0xF0) | 0b1100; // sa stranice https://www.joom.com/en/products/5d78933e8b45130101c739ff podatkovni paket PCF85741 sucelja koje se nalazi na nasem lcdu 00037 prvidio[1] = (byte & 0xF0) | 0b1000; // D7, D6, D5, D4, BACKLIGHT , E, R/W , RS 00038 i2c.write(0x27<<1,prvidio,2); 00039 wait_us(200); 00040 00041 drugidio[0] = (byte << 4) | 0b1100; 00042 drugidio[1] = (byte << 4) | 0b1000; 00043 i2c.write(0x27<<1,drugidio,2); 00044 wait_us(200); 00045 00046 } 00047 00048 00049 void LCD::print(char podatak) 00050 { 00051 00052 char prvidio[2]; 00053 char drugidio[2]; 00054 00055 prvidio[0] = (podatak & 0xF0) | 0b1101; 00056 prvidio[1] = (podatak & 0xF0) | 0b1001; 00057 i2c.write(0x27<<1,prvidio,2); 00058 wait_us(200); 00059 00060 00061 00062 00063 drugidio[0] = (podatak << 4) | 0b1101; 00064 drugidio[1] = (podatak << 4) | 0b1001; 00065 i2c.write(0x27<<1,drugidio,2); 00066 wait_us(200); 00067 00068 } 00069 void LCD::ispis (string podatak) 00070 { 00071 int i=0; 00072 while(podatak[i]!='\0') 00073 { 00074 print(podatak[i++]); 00075 } 00076 } 00077 00078 void LCD::ocisti() 00079 { 00080 naredba(0b01); //naredba za ciscenje ekrana 00081 wait_ms(50); 00082 pokazivac(0,0); 00083 } 00084 00085 00086 void LCD::pokazivac (int stupac, int red) 00087 { 00088 int adr; 00089 00090 if(red==0) { 00091 adr= 0x80 + stupac; 00092 } 00093 else { 00094 adr = 0xC0 + stupac; 00095 } 00096 naredba(adr); 00097 00098 } 00099
Generated on Sun Aug 21 2022 21:06:57 by
1.7.2