
Nokia telefon lcdleri ile güzel devreler yapılıyor eski telefonu bu iş için değerlendirmek iyidir 🙂 bu tip çalışmalar için proteus model dosyası işinize yarayabilir
iki adet sat derece uygulaması var ikiside PIC16F877 ile gerçekleştirilmiş ccs için verilen not
go6o diyorki:
Eğer sisteminizde Proteus 6.3 SP1 kurulu değil ise, isis file menüsünden import section’ı tıklayarak schema.sec dosyasını seçin böylelikle şema daha eski versiyonlarda
da çalışacaktır.
LPH7779-LCD(Nokia 3310) library
////////////////////////////////////////////////////////////////////////////////
/*
LPH7779-LCD(Nokia 3310) library
*/
////////////////////////////////////////////////////////////////////////////////
#bit nok_sclk = lcdport.5 // RB5
#bit nok_sda = lcdport.6 // RB6
#bit nok_dc = lcdport.7 // RB7
#bit nok_cs = lcdport.0 // RB0
#bit nok_res = lcdport.1 // RB1
char CONST TABLE5 [240] = { // ASCII table for NOKIA LCD: 96 rows * 5 bytes= 480 bytes
0x00,0x00,0x00,0x00,0x00, // 20 space
0x00,0x00,0x5f,0x00,0x00, // 21 !
0x00,0x07,0x00,0x07,0x00, // 22 "
0x14,0x7f,0x14,0x7f,0x14, // 23 #
0x24,0x2a,0x7f,0x2a,0x12, // 24 $
0x23,0x13,0x08,0x64,0x62, // 25 %
0x36,0x49,0x55,0x22,0x50, // 26 &
0x00,0x05,0x03,0x00,0x00, // 27 '
0x00,0x1c,0x22,0x41,0x00, // 28 (
0x00,0x41,0x22,0x1c,0x00, // 29 )
0x14,0x08,0x3e,0x08,0x14, // 2a *
0x08,0x08,0x3e,0x08,0x08, // 2b +
0x00,0x50,0x30,0x00,0x00, // 2c ,
0x08,0x08,0x08,0x08,0x08, // 2d -
0x00,0x60,0x60,0x00,0x00, // 2e .
0x20,0x10,0x08,0x04,0x02, // 2f /
0x3e,0x51,0x49,0x45,0x3e, // 30 0
0x00,0x42,0x7f,0x40,0x00, // 31 1
0x42,0x61,0x51,0x49,0x46, // 32 2
0x21,0x41,0x45,0x4b,0x31, // 33 3
0x18,0x14,0x12,0x7f,0x10, // 34 4
0x27,0x45,0x45,0x45,0x39, // 35 5
0x3c,0x4a,0x49,0x49,0x30, // 36 6
0x01,0x71,0x09,0x05,0x03, // 37 7
0x36,0x49,0x49,0x49,0x36, // 38 8
0x06,0x49,0x49,0x29,0x1e, // 39 9
0x00,0x36,0x36,0x00,0x00, // 3a :
0x00,0x56,0x36,0x00,0x00, // 3b ;
0x08,0x14,0x22,0x41,0x00, // 3c <
0x14,0x14,0x14,0x14,0x14, // 3d =
0x00,0x41,0x22,0x14,0x08, // 3e >
0x02,0x01,0x51,0x09,0x06, // 3f ?
0x32,0x49,0x79,0x41,0x3e, // 40 @
0x7e,0x11,0x11,0x11,0x7e, // 41 A
0x7f,0x49,0x49,0x49,0x36, // 42 B
0x3e,0x41,0x41,0x41,0x22, // 43 C
0x7f,0x41,0x41,0x22,0x1c, // 44 D
0x7f,0x49,0x49,0x49,0x41, // 45 E
0x7f,0x09,0x09,0x09,0x01, // 46 F
0x3e,0x41,0x49,0x49,0x7a, // 47 G
0x7f,0x08,0x08,0x08,0x7f, // 48 H
0x00,0x41,0x7f,0x41,0x00, // 49 I
0x20,0x40,0x41,0x3f,0x01, // 4a J
0x7f,0x08,0x14,0x22,0x41, // 4b K
0x7f,0x40,0x40,0x40,0x40, // 4c L
0x7f,0x02,0x0c,0x02,0x7f, // 4d M
0x7f,0x04,0x08,0x10,0x7f, // 4e N
0x3e,0x41,0x41,0x41,0x3e}; // 4f O
char CONST TABLE6 [240] = {
0x7f,0x09,0x09,0x09,0x06, // 50 P
0x3e,0x41,0x51,0x21,0x5e, // 51 Q
0x7f,0x09,0x19,0x29,0x46, // 52 R
0x46,0x49,0x49,0x49,0x31, // 53 S
0x01,0x01,0x7f,0x01,0x01, // 54 T
0x3f,0x40,0x40,0x40,0x3f, // 55 U
0x1f,0x20,0x40,0x20,0x1f, // 56 V
0x3f,0x40,0x38,0x40,0x3f, // 57 W
0x63,0x14,0x08,0x14,0x63, // 58 X
0x07,0x08,0x70,0x08,0x07, // 59 Y
0x61,0x51,0x49,0x45,0x43, // 5a Z
0x00,0x7f,0x41,0x41,0x00, // 5b [
0x02,0x04,0x08,0x10,0x20, // 5c
0x00,0x41,0x41,0x7f,0x00, // 5d ñ
0x04,0x02,0x01,0x02,0x04, // 5e ^
0x40,0x40,0x40,0x40,0x40, // 5f _
0x00,0x01,0x02,0x04,0x00, // 60 `
0x20,0x54,0x54,0x54,0x78, // 61 a
0x7f,0x48,0x44,0x44,0x38, // 62 b
0x38,0x44,0x44,0x44,0x20, // 63 c
0x38,0x44,0x44,0x48,0x7f, // 64 d
0x38,0x54,0x54,0x54,0x18, // 65 e
0x08,0x7e,0x09,0x01,0x02, // 66 f
0x0c,0x52,0x52,0x52,0x3e, // 67 g
0x7f,0x08,0x04,0x04,0x78, // 68 h
0x00,0x44,0x7d,0x40,0x00, // 69 i
0x20,0x40,0x44,0x3d,0x00, // 6a j
0x7f,0x10,0x28,0x44,0x00, // 6b k
0x00,0x41,0x7f,0x40,0x00, // 6c l
0x7c,0x04,0x18,0x04,0x78, // 6d m
0x7c,0x08,0x04,0x04,0x78, // 6e n
0x38,0x44,0x44,0x44,0x38, // 6f o
0x7c,0x14,0x14,0x14,0x08, // 70 p
0x08,0x14,0x14,0x18,0x7c, // 71 q
0x7c,0x08,0x04,0x04,0x08, // 72 r
0x48,0x54,0x54,0x54,0x20, // 73 s
0x04,0x3f,0x44,0x40,0x20, // 74 t
0x3c,0x40,0x40,0x20,0x7c, // 75 u
0x1c,0x20,0x40,0x20,0x1c, // 76 v
0x3c,0x40,0x30,0x40,0x3c, // 77 w
0x44,0x28,0x10,0x28,0x44, // 78 x
0x0c,0x50,0x50,0x50,0x3c, // 79 y
0x44,0x64,0x54,0x4c,0x44, // 7a z
0x00,0x08,0x36,0x41,0x00, // 7b {
0x00,0x00,0x7f,0x00,0x00, // 7c |
0x00,0x41,0x36,0x08,0x00, // 7d }
0x10,0x08,0x08,0x10,0x08, // 7e ~
0x78,0x46,0x41,0x46,0x78}; // 7f ¦
// 7e,43,40,43,7e --> Ü
// 7e,43,42,43,7e --> Ö
// 1e,21,21,71,21 --> Ç
// 3c,42,53,53,72 --> Ğ
//function prototypes
void nokia_init();
void nokia_write_command(char bytefornokia_command);
void nokia_write_data(char bytefornokia_data);
void nokia_write_dorc(char bytefornokia);
void nokia_gotoxy(char xnokia, char ynokia);
void nokia_contrast (byte contrast);
void nokia_printchar(char cvar);
void nokia_clean_ddram();
void table_to_nokialcd();
void LcdPixel (char x, char y);
char char_row,charsel,charpos,chardata;
int16 ddram;
void nokia_init() {
nok_dc=1; // bytes are stored in the display data ram, address counter, incremented automatically
nok_cs=1; // chip disabled
delay_us(200);
nok_res=0;
delay_ms(10);
nok_res=1;
nokia_write_command(0x21); // set extins extended instruction set
nokia_write_command(0xc8); // Vop v1: 0xc8 (for 3V), v2: 0xa0 (for 3V)
nokia_write_command(0x13); // bias
nokia_write_command(0x20); // horizontal mode from left to right, X axe are incremented automatically,
// 0x22 for vertical addressing, back on normal instruction set too
nokia_write_command(0x09); // all on
delay_ms(50);
nokia_clean_ddram(); // reset DDRAM, otherwise the lcd is blurred with random pixels
delay_ms(10);
nokia_write_command(0x08); // mod control blank change (all off)
delay_ms(10);
nokia_write_command(0x0c); // mod control normal change
}
void nokia_clean_ddram() {
nokia_gotoxy(0,0); // 84*6=504 clear LCD
for (ddram=504; ddram>0; ddram--)
nokia_write_data(0x00);
}
void nokia_write_command(char bytefornokia_command)
{
nok_dc=0; // byte is a command it is read with the eight SCLK pulse
nok_cs=0; // chip enabled
nokia_write_dorc(bytefornokia_command);
nok_cs=1; // chip disabled
}
void nokia_write_data(char bytefornokia_data)
{
nok_dc=1;
nok_cs=0; // chip enabled
nokia_write_dorc(bytefornokia_data);
nok_cs=1; // chip disabled
}
void nokia_write_dorc(char bytefornokia) { // serial write data or command subroutine
char caa;
for (caa=8;caa>0;caa--)
{
nok_sclk=0;
delay_us(2);
if ((bytefornokia&0x80)==0)
nok_sda=0;
else
nok_sda=1;
nok_sclk=1;
delay_us(2);
bytefornokia = bytefornokia << 1;
}
}
void nokia_gotoxy(char xnokia, char ynokia) { // Nokia LCD 3310 Position cursor
nokia_write_command(0x40|(ynokia&0x07)); // Y axe initialisation: 0100 0yyy
nokia_write_command(0x80|(xnokia&0x7f)); // X axe initialisation: 1xxx xxxx
}
void nokia_contrast (char contrast) {
nokia_write_command(0x21); // LCD Extended Commands.
nokia_write_command(0x80 | contrast); // Set LCD Vop (Contrast).
nokia_write_command(0x20); // LCD Standard Commands, horizontal addressing mode.
}
void nokia_printchar(char cvar) { // Write 1 character to LCD
charsel=cvar;
table_to_nokialcd();
}
void table_to_nokialcd() { // extract ascii from tables & write to LCD
if (charsel<0x20) return;
if (charsel>0x7f) return;
for (char_row=0;char_row<5;char_row++)
{
if (charsel<0x50){charpos=(((charsel&0xff)-0x20)*5);chardata=TABLE5[(charpos+char_row)];} // use TABLE5
if (charsel>0x4f){charpos=(((charsel&0xff)-0x50)*5);chardata=TABLE6[(charpos+char_row)];} // use TABLE6
nokia_write_data(chardata); // send data to nokia
}
nokia_write_data(0x00); // 1 byte (always blank)
}
void LcdPixel (char x, char y) {
int16 offset;
byte data;
if (x > 84) return;
if (y > 48) return;
offset = y - ((y / 8) * 8) - 1;
data = (0x01 << offset);
nokia_gotoxy(x, (y/6));
nokia_write_data(data);
}
Nokia 3310 library PICBASIC
@ DEVICE pic16F877A
@ DEVICE pic16F877A, WDT_on
@ DEVICE pic16F877A, PWRT_off
@ DEVICE pic16F877A, PROTECT_OFF
@ DEVICE pic16F877A, HS_OSC
'Include "Modedefs.Bas"
'TRISC=0
TRISD=0
'TRISE=0
'TRISA=0
'TRISB=0
OPTION_REG.7=1 'PULL UP DİRENÇLERİNİN HEPSİ İPTAL
adcon1=7
DEFINE OSC 20
'3310 lcd tanımlamaları
DC VAR PortB.4
DTA VAR PortB.3
RST VAR PortB.5
CLK VAR PortB.2
Chr VAR WORD
j var byte
i VAR byte
CharCount VAR Byte
PosX VAR Byte
PosY VAR Byte
Column VAR Byte [6]
LcdData VAR BYTE
'*****RTC DS1302 TANIMLAMALARI*****
RTC_RST VAR PORTC.3
RTC_CLK VAR PORTC.1
RTC_DTA VAR PORTC.2
MENU VAR PORTD.2
YUKARI VAR PORTD.3
ASAGI VAR PORTC.4
'*******DS1820 TANIMLAMALARI***************
Comm_Pin VAR PortA.1 ' One-wire Data-Pin "DQ" PortB.0 da
'*****RTC DS1302 DEĞİŞKENLERİ*****
SN VAR BYTE
DAK VAR BYTE
SAAT VAR BYTE
GUN VAR BYTE
AY VAR BYTE
YIL VAR BYTE
MEM var byte
SAYI VAR BYTE
day var byte'haftanın gunlerı degiskeni
e VAR BYTE
ONLAR VAR BYTE
BIRLER VAR BYTE
SN_ESKI VAR BYTE
YENILE VAR BIT
deger var byte
'DS1820 DEGİSKENLERİ***************
Busy VAR BIT ' Busy Status-Bit
HAM VAR WORD ' Sensör HAM okuma değeri
ISI VAR WORD ' Hesaplanmış ISI değeri
Float VAR WORD ' Holds remainder for + temp C display
X VAR WORD
SIGN_BITI VAR HAM.Bit11 ' +/- sıcaklık İşaret biti, 1 = olursa eksi sıcaklık
NEGAT_ISI CON 1 ' Negatif_Cold = 1
SIGN VAR BYTE ' ISI değeri için +/- işaret
TEMP VAR BYTE ' Div32 bit hesap için geçici değişken
ISI_ESKI VAR BYTE
'ilk degerler
sn=40
saat=23
dak=59
gun=20
ay=01
yil=08
day=1
'***********************************
' LCD BASLANGIC AYARLARI
PAUSE 100
GOSUB LCD_INIT
PAUSE 100
GOSUB LCD_Clear
low RTC_RST 'RESET VE CLOCK PİNLERİ SIFIRLADIK saat saymaya baslıyor
LOW RTC_CLK
GOSUB ZAMAN_YAZ
GOSUB IMAJ1
PAUSE 2000
GOSUB EKRAN1
GOSUB ZAMAN_GOSTER
SN_ESKI=SN
'PAUSE 2000
basla1:
if MENU=0 then BASLA1
BASLA:
if MENU=0 then saatayar
'ISI_ESKI=ISI
'gosub zaman_goster
GOSUB SENSOROKU
gosub zaman_oku
IF SN_ESKI<>SN THEN
gosub zaman_goster
SN_ESKI=SN
ENDIF
GOSUB DEGER_AL
gosub isilcd
IF ISI_ESKI<>ISI THEN
GOSUB ANALOG_YAZ
ISI_ESKI=ISI
ENDIF
goto basla
LCD_Init:
LOW RST
pause 20
HIGH RST
LOW DC ' RESET LCD
LcdData= $21: GOSUB LCD_ByteOut ' LCD EXTENDED COMMANDS
LcdData= $d1: GOSUB LCD_ByteOut ' SET LCD Vop (CONTRAST)
LcdData= $06: GOSUB LCD_ByteOut ' SET TEMP COEFFICENT
LcdData= %00010101: GOSUB LCD_ByteOut ' LCD BIAS MODE
LcdData= $20: GOSUB LCD_ByteOut ' LCD STANDARD COMMANDS
LcdData= $0c: GOSUB LCD_ByteOut ' LCD IN NORMAL MODE
RETURN
LCD_ByteOut:
SHIFTOUT DTA,CLK,1,[LcdData]
RETURN
LCD_StringOut:
GOSUB KOLON_YAZ
HIGH DC
SHIFTOUT DTA,CLK,1,[Column(0),Column(1),Column(2),Column(3),Column(4),Column(5)]
RETURN
LCD_Clear:
PosX=0:PosY=0:GOSUB LCD_GotoXY
HIGH DC
FOR Chr=1 TO 252
LcdData=0:GOSUB LCD_ByteOut
LcdData=0:GOSUB LCD_ByteOut
NEXT Chr
RETURN
LCD_GotoXY:
LOW DC
LcdData= %01000000 |PosY' :
GOSUB LCD_ByteOut
POSX=POSX*6
LcdData=%10000000 |PosX' :
GOSUB LCD_ByteOut
high dc
RETURN
KOLON_YAZ:
SELECT CASE lcdData
case "A"'65 $7F,$09,$09,$09,$7F,$00,
COLUMN(0)=$7E
COLUMN(1)=$11
COLUMN(2)=$11
COLUMN(3)=$11
COLUMN(4)=$7E
COLUMN(5)=$00
case "B"'65
COLUMN(0)=$7F
COLUMN(1)=$49
COLUMN(2)=$49
COLUMN(3)=$49
COLUMN(4)=$36
COLUMN(5)=$00
case "C"
COLUMN(0)=$3E
COLUMN(1)=$41
COLUMN(2)=$41
COLUMN(3)=$41
COLUMN(4)=$22
COLUMN(5)=$00
case 199'"Ç"
COLUMN(0)=$1E
COLUMN(1)=$21
COLUMN(2)=$61
COLUMN(3)=$21
COLUMN(4)=$12
COLUMN(5)=$00
case "D"'65
COLUMN(0)=$7F
COLUMN(1)=$41
COLUMN(2)=$41
COLUMN(3)=$22
COLUMN(4)=$1C
COLUMN(5)=$00
case "E"'65
COLUMN(0)=$7F
COLUMN(1)=$49
COLUMN(2)=$49
COLUMN(3)=$49
COLUMN(4)=$41
COLUMN(5)=$00
case "F"'65
COLUMN(0)=$7F
COLUMN(1)=$09
COLUMN(2)=$09
COLUMN(3)=$09
COLUMN(4)=$01
COLUMN(5)=$00
case "G"'65
COLUMN(0)=$3E
COLUMN(1)=$41
COLUMN(2)=$49
COLUMN(3)=$49
COLUMN(4)=$7A
COLUMN(5)=$00
case 208'"Ğ"'65
COLUMN(0)=$7E
COLUMN(1)=$43
COLUMN(2)=$53
COLUMN(3)=$53
COLUMN(4)=$72
COLUMN(5)=$00
case "H"'65
COLUMN(0)=$7F
COLUMN(1)=$08
COLUMN(2)=$08
COLUMN(3)=$08
COLUMN(4)=$7F
COLUMN(5)=$00
case "I"'65
COLUMN(0)=$00
COLUMN(1)=$41
COLUMN(2)=$7F
COLUMN(3)=$41
COLUMN(4)=$00
COLUMN(5)=$00
case 221'"İ"
COLUMN(0)=$00
COLUMN(1)=$44
COLUMN(2)=$7D
COLUMN(3)=$44
COLUMN(4)=$00
COLUMN(5)=$00
case "J"'65
COLUMN(0)=$20
COLUMN(1)=$40
COLUMN(2)=$41
COLUMN(3)=$3F
COLUMN(4)=$01
COLUMN(5)=$00
case "K"'65
COLUMN(0)=$7F
COLUMN(1)=$08
COLUMN(2)=$14
COLUMN(3)=$22
COLUMN(4)=$41
COLUMN(5)=$00
case "L"'65
COLUMN(0)=$7F
COLUMN(1)=$40
COLUMN(2)=$40
COLUMN(3)=$40
COLUMN(4)=$40
COLUMN(5)=$00
case "M"'65
COLUMN(0)=$7F
COLUMN(1)=$02
COLUMN(2)=$0C
COLUMN(3)=$02
COLUMN(4)=$7F
COLUMN(5)=$00
case "N"'65
COLUMN(0)=$7F
COLUMN(1)=$04
COLUMN(2)=$08
COLUMN(3)=$10
COLUMN(4)=$7F
COLUMN(5)=$00
case "O"'65
COLUMN(0)=$3E
COLUMN(1)=$41
COLUMN(2)=$41
COLUMN(3)=$41
COLUMN(4)=$3E
COLUMN(5)=$00
case 214'"Ö" $3C,$43,$42,$43,$3C,$00
COLUMN(0)=$3C
COLUMN(1)=$43
COLUMN(2)=$42
COLUMN(3)=$43
COLUMN(4)=$3C
COLUMN(5)=$00
case "P"'65
COLUMN(0)=$7F
COLUMN(1)=$09
COLUMN(2)=$09
COLUMN(3)=$09
COLUMN(4)=$06
COLUMN(5)=$00
case "R"'65
COLUMN(0)=$7F
COLUMN(1)=$09
COLUMN(2)=$19
COLUMN(3)=$29
COLUMN(4)=$46
COLUMN(5)=$00
case "S"'65
COLUMN(0)=$46
COLUMN(1)=$49
COLUMN(2)=$49
COLUMN(3)=$49
COLUMN(4)=$31
COLUMN(5)=$00
case 222'"Ş"$22,$65,$65,$25,$19,$00
COLUMN(0)=$22
COLUMN(1)=$65
COLUMN(2)=$65
COLUMN(3)=$25
COLUMN(4)=$19
COLUMN(5)=$00
case "T"'65
COLUMN(0)=$01
COLUMN(1)=$01
COLUMN(2)=$7F
COLUMN(3)=$01
COLUMN(4)=$01
COLUMN(5)=$00
case "U"'65
COLUMN(0)=$3F
COLUMN(1)=$40
COLUMN(2)=$40
COLUMN(3)=$40
COLUMN(4)=$3F
COLUMN(5)=$00
case 220'"Ü" $3D,$40,$40,$40,$3D,$00
COLUMN(0)=$3D
COLUMN(1)=$40
COLUMN(2)=$40
COLUMN(3)=$40
COLUMN(4)=$3D
COLUMN(5)=$00
case "V"'65
COLUMN(0)=$1F
COLUMN(1)=$20
COLUMN(2)=$40
COLUMN(3)=$20
COLUMN(4)=$1F
COLUMN(5)=$00
case "W"'65
COLUMN(0)=$3F
COLUMN(1)=$40
COLUMN(2)=$38
COLUMN(3)=$40
COLUMN(4)=$3F
COLUMN(5)=$00
case "Y"' $07,$08,$70,$08,$07,$00
COLUMN(0)=$07
COLUMN(1)=$08
COLUMN(2)=$70
COLUMN(3)=$08
COLUMN(4)=$07
COLUMN(5)=$00
case "Z"'65
COLUMN(0)=$61
COLUMN(1)=$51
COLUMN(2)=$49
COLUMN(3)=$45
COLUMN(4)=$43
COLUMN(5)=$00
case "0"'65
COLUMN(0)=$3E
COLUMN(1)=$51
COLUMN(2)=$49
COLUMN(3)=$45
COLUMN(4)=$3E
COLUMN(5)=$00
case "1"'65
COLUMN(0)=$00
COLUMN(1)=$42
COLUMN(2)=$7F
COLUMN(3)=$40
COLUMN(4)=$00
COLUMN(5)=$00
case "2"'65
COLUMN(0)=$42
COLUMN(1)=$61
COLUMN(2)=$51
COLUMN(3)=$49
COLUMN(4)=$46
COLUMN(5)=$00
case "3"'65
COLUMN(0)=$21
COLUMN(1)=$41
COLUMN(2)=$45
COLUMN(3)=$4B
COLUMN(4)=$31
COLUMN(5)=$00
case "4"'65
COLUMN(0)=$18
COLUMN(1)=$14
COLUMN(2)=$12
COLUMN(3)=$7F
COLUMN(4)=$10
COLUMN(5)=$00
case "5"'65
COLUMN(0)=$27
COLUMN(1)=$45
COLUMN(2)=$45
COLUMN(3)=$45
COLUMN(4)=$39
COLUMN(5)=$00
case "6"'65
COLUMN(0)=$3C
COLUMN(1)=$4A
COLUMN(2)=$49
COLUMN(3)=$49
COLUMN(4)=$30
COLUMN(5)=$00
case "7"'65
COLUMN(0)=$01
COLUMN(1)=$71
COLUMN(2)=$09
COLUMN(3)=$05
COLUMN(4)=$03
COLUMN(5)=$00
case "8"'65
COLUMN(0)=$36
COLUMN(1)=$49
COLUMN(2)=$49
COLUMN(3)=$49
COLUMN(4)=$36
COLUMN(5)=$00
case "9"'65
COLUMN(0)=$06
COLUMN(1)=$49
COLUMN(2)=$49
COLUMN(3)=$49
COLUMN(4)=$3E
COLUMN(5)=$00
case " "'65
COLUMN(0)=$00
COLUMN(1)=$00
COLUMN(2)=$00
COLUMN(3)=$00
COLUMN(4)=$00
COLUMN(5)=$00
case "+"'65
COLUMN(0)=$08
COLUMN(1)=$08
COLUMN(2)=$3E
COLUMN(3)=$08
COLUMN(4)=$08
COLUMN(5)=$00
case "-"'65
COLUMN(0)=$08
COLUMN(1)=$08
COLUMN(2)=$08
COLUMN(3)=$08
COLUMN(4)=$08
COLUMN(5)=$00
case "."
COLUMN(0)=$00
COLUMN(1)=$00
COLUMN(2)=$60
COLUMN(3)=$60
COLUMN(4)=$00
COLUMN(5)=$00
case "*"
COLUMN(0)=$14
COLUMN(1)=$08
COLUMN(2)=$3E
COLUMN(3)=$08
COLUMN(4)=$14
COLUMN(5)=$00
case ":"
COLUMN(0)=$00
COLUMN(1)=$36
COLUMN(2)=$36
COLUMN(3)=$00
COLUMN(4)=$00
COLUMN(5)=$00
end select
return
IMAJ1:
PosX=0:PosY=0:GOSUB LCD_GotoXY
for i=0 to 84
LOOKUP i,[$FF,$01,$FD,$05,$05,$05,$05,$05,$05,$05,$05,$05,$05,$05,$05,$05,$05,$05,$05,$05,$05,$05,$05,$05,$05,$05,$05,$05,$05,$05,$05,$05,$05,$05,$05,$05,$05,$05,$85,$C5,$65,$35,$35,$35,$35,$35,$65,$C5,$85,$05,$05,$05,$05,$05,$05,$05,$05,$05,$05,$05,$05,$05,$05,$05,$05,$05,$05,$05,$05,$05,$05,$05,$05,$05,$05,$05,$05,$05,$05,$05,$05,$FD,$01,$FF],lcddata
gosub LCD_ByteOut
next i
PosX=0:PosY=1:GOSUB LCD_GotoXY
for i=0 to 84
LOOKUP i,[$FF,$00,$FF,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$80,$C0,$60,$30,$18,$0C,$06,$83,$81,$E0,$F0,$F8,$F8,$F8,$F0,$00,$80,$80,$81,$83,$86,$8C,$18,$30,$60,$C0,$80,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$FF,$00,$FF],lcddata
gosub LCD_ByteOut
next i
PosX=0:PosY=2:GOSUB LCD_GotoXY
for i=0 to 84
LOOKUP i,[$FF,$00,$FF,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$E0,$F0,$18,$0C,$06,$03,$01,$F0,$F8,$F0,$F8,$FC,$FF,$FF,$FF,$FF,$FF,$E1,$E1,$E1,$E0,$E0,$FF,$FF,$FF,$FF,$FF,$F7,$E7,$00,$00,$00,$01,$03,$06,$0C,$18,$F0,$E0,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$FF,$00,$FF],lcddata
gosub LCD_ByteOut
next i
PosX=0:PosY=3:GOSUB LCD_GotoXY
for i=0 to 84
LOOKUP i,[$FF,$00,$FF,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$07,$0F,$18,$30,$60,$C0,$80,$0F,$3F,$BF,$9F,$FF,$FF,$8F,$8F,$0F,$07,$FF,$FF,$FF,$00,$00,$00,$00,$00,$00,$00,$00,$FF,$00,$00,$80,$C0,$60,$30,$18,$0C,$07,$03,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$FF,$00,$FF],lcddata
gosub LCD_ByteOut
next i
PosX=0:PosY=4:GOSUB LCD_GotoXY
for i=0 to 84
LOOKUP i,[$FF,$00,$FF,$00,$FC,$38,$F0,$E0,$F0,$38,$FC,$00,$F8,$FC,$84,$FC,$F8,$00,$FC,$38,$E0,$C0,$E0,$38,$FC,$00,$FC,$24,$24,$24,$25,$03,$06,$0D,$1B,$33,$63,$C1,$83,$03,$00,$01,$01,$01,$00,$00,$00,$80,$C0,$60,$30,$18,$0D,$06,$03,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$FF,$00,$FF],lcddata
gosub LCD_ByteOut
next i
PosX=0:PosY=5:GOSUB LCD_GotoXY
for i=0 to 84
LOOKUP i,[$FF,$80,$BF,$A0,$A3,$A0,$A0,$A3,$A0,$A0,$A3,$A0,$A3,$A0,$A0,$A0,$A3,$A0,$A3,$A0,$A0,$A3,$A0,$A0,$A3,$A0,$A3,$A2,$A2,$A2,$A2,$A0,$A0,$A0,$A0,$A0,$A0,$A0,$A1,$A3,$A6,$AC,$AC,$AC,$AC,$A6,$A3,$A1,$A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0,$BF,$80,$FF],lcddata
gosub LCD_ByteOut
next i
return
EKRAN1:
PosX=0:PosY=0:GOSUB LCD_GotoXY
for i=0 to 84
LOOKUP i,[$FF,$FF,$FF,$07,$17,$17,$77,$47,$47,$77,$17,$17,$77,$47,$47,$77,$17,$17,$77,$47,$47,$77,$17,$17,$77,$47,$47,$77,$17,$17,$77,$47,$47,$77,$17,$17,$77,$47,$47,$77,$17,$17,$77,$47,$47,$77,$17,$17,$77,$47,$47,$77,$17,$17,$77,$47,$47,$77,$17,$17,$77,$47,$47,$07,$07,$07,$EF,$AF,$5F,$FF,$1F,$EF,$EF,$1F,$FF,$FF,$7F,$3F,$7F,$FF,$FF,$FF,$FF,$FF],lcddata
gosub LCD_ByteOut
next i
PosX=0:PosY=1:GOSUB LCD_GotoXY
for i=0 to 84
LOOKUP i,[$FF,$FF,$FF,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$9E,$DE,$1F,$FF,$3F,$DA,$DA,$3B,$FB,$FF,$00,$00,$00,$FF,$FF,$FF,$FF,$FF],lcddata
gosub LCD_ByteOut
next i
PosX=0:PosY=2:GOSUB LCD_GotoXY
for i=0 to 84
LOOKUP i,[$FF,$FF,$FF,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$F9,$7A,$FB,$FF,$7C,$7B,$EB,$EC,$EF,$FF,$00,$00,$00,$FF,$FF,$FF,$FF,$FF],lcddata
gosub LCD_ByteOut
next i
PosX=0:PosY=3:GOSUB LCD_GotoXY
for i=0 to 84
LOOKUP i,[$FF,$FF,$FF,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$6E,$E0,$EF,$F0,$EF,$EF,$F0,$BF,$BF,$FF,$00,$00,$00,$FF,$FF,$FF,$FF,$FF],lcddata
gosub LCD_ByteOut
next i
PosX=0:PosY=4:GOSUB LCD_GotoXY
for i=0 to 84
LOOKUP i,[$FF,$FF,$FF,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$07,$05,$07,$00,$7F,$7F,$63,$63,$63,$77,$00,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$00,$00,$00,$FF,$FF,$FF,$FF,$FF],lcddata
gosub LCD_ByteOut
next i
PosX=0:PosY=5:GOSUB LCD_GotoXY
for i=0 to 84
LOOKUP i,[$FF,$FF,$FF,$C0,$DF,$D5,$D1,$C0,$DF,$D0,$D0,$C0,$DF,$D5,$D1,$C0,$DF,$CA,$D1,$C0,$C1,$DF,$C1,$C0,$DF,$C5,$DF,$C0,$DF,$D1,$DF,$C0,$C1,$DF,$C1,$C0,$DF,$D5,$D1,$C0,$DF,$CA,$D1,$C0,$DF,$C3,$CC,$DF,$C0,$DF,$D1,$DF,$C0,$FF,$83,$FD,$F3,$FD,$83,$FF,$83,$ED,$ED,$83,$FF,$83,$FD,$F3,$FD,$83,$FF,$81,$B5,$FF,$E0,$EE,$DF,$DF,$DF,$EE,$E0,$FF,$FF,$FF],lcddata
gosub LCD_ByteOut
next i
return
ZAMAN_OKU:
high RTC_RST
shiftout RTC_DTA, RTC_CLK, 0, [$BF]
SHIFTIN RTC_DTA, RTC_CLK, 1, [SN, DAK, SAAT,GUN , AY, day, YIL, MEM] 'OKU
low RTC_RST
MEM=SN:GOSUB CEVIR:SN=SAYI
MEM=DAK:GOSUB CEVIR:DAK=SAYI
MEM=SAAT:GOSUB CEVIR:SAAT=SAYI
MEM=GUN:GOSUB CEVIR:GUN=SAYI
MEM=AY:GOSUB CEVIR:AY=SAYI
MEM=YIL:GOSUB CEVIR:YIL=SAYI
MEM=day:GOSUB CEVIR:day=SAYI
return
ZAMAN_YAZ:
MEM=SN:GOSUB TERSCEVIR:SN=SAYI
MEM=DAK:GOSUB TERSCEVIR:DAK=SAYI
MEM=SAAT:GOSUB TERSCEVIR:SAAT=SAYI
MEM=GUN:GOSUB TERSCEVIR:GUN=SAYI
MEM=AY:GOSUB TERSCEVIR:AY=SAYI
MEM=YIL:GOSUB TERSCEVIR:YIL=SAYI
high RTC_RST
SHIFTOUT RTC_DTA, RTC_CLK, 0, [$8E, 0] 'YAZMAK İÇİN HAZIRLA
low RTC_RST:PAUSE 1
high RTC_RST
SHIFTOUT RTC_DTA, RTC_CLK, 0, [$BE, SN, DAK, SAAT,GUN , AY, day, YIL, 0] 'YAZ
low RTC_RST
PAUSE 10
return
CEVIR:
ONLAR=MEM & %01110000
ONLAR=ONLAR>>4
BIRLER=MEM & %00001111
SAYI=ONLAR*10+BIRLER
RETURN
TERSCEVIR:
ONLAR=MEM DIG 1
ONLAR=ONLAR<<4
BIRLER=MEM DIG 0
SAYI=ONLAR+BIRLER
RETURN
zaman_goster:
SAATLCD:
posx=1:posy=1:gosub lcd_gotoxy
FOR i=1 TO 0 step-1
deger=saat dig i
gosub lcdyaz
next i
lcddata=":"
gosub LCD_StringOut
FOR i=1 TO 0 step-1
deger=dak dig i
gosub lcdyaz
next i
lcddata=":"
gosub LCD_StringOut
FOR i=1 TO 0 step-1
deger=sn dig i
gosub lcdyaz
next i
TARIHLCD:
posx=1:posy=2:gosub lcd_gotoxy
FOR i=1 TO 0 step-1
deger=GUN dig i
gosub lcdyaz
next i
lcddata="-"
gosub LCD_StringOut
FOR i=1 TO 0 step-1
deger=AY dig i
gosub lcdyaz
next i
lcddata="-"
gosub LCD_StringOut
lcddata="2"
gosub LCD_StringOut
lcddata="0"
gosub LCD_StringOut
FOR i=1 TO 0 step-1
deger=YIL dig i
gosub lcdyaz
next i
return
isilcd:
posx=2:posy=4:gosub lcd_gotoxy
deger=sign
gosub lcdyaz
FOR i=2 TO 0 step-1
deger=ISI dig i
gosub lcdyaz
next i
lcddata="."
gosub LCD_StringOut
deger=FLOAT dig 0
gosub lcdyaz
RETURN
ANALOG_YAZ:
GOSUB EKRAN1
gosub zaman_goster
BRANCH ISI,[SIFIR,BIR,IKI,UC,DORT,BES,ALTI,YEDI,SEKIZ,DOKUZ,ONU,ONBIR,ONIKI,ONUC,ONDORT,ONBES,ONALTI,ONYEDI,ONSEKIZ,ONDOKUZ,YIRMI,YIRMIBIR,YIRMIIKI,YIRMIUC,YIRMIDORT,YIRMIBES,YIRMIALTI,YIRMIYEDI,YIRMISEKIZ,YIRMIDOKUZ,OTUZ]
SIFIR:
GOSUB POZISYON
LCDDATA=0
GOTO CIKIS
BIR:
GOSUB POZISYON
LCDDATA=%10000000
GOTO CIKIS
IKI:
GOSUB POZISYON
LCDDATA=%11000000
GOTO CIKIS
UC:
GOSUB POZISYON
LCDDATA=%11100000
GOTO CIKIS
DORT:
GOSUB POZISYON
LCDDATA=%11110000
GOTO CIKIS
BES:
GOSUB POZISYON
LCDDATA=%11111000
GOTO CIKIS
ALTI:
GOSUB POZISYON
LCDDATA=%11111100
GOTO CIKIS
YEDI:
GOSUB POZISYON
LCDDATA=%11111110
GOTO CIKIS
SEKIZ:
GOSUB POZISYON
LCDDATA=%11111111
GOTO CIKIS
DOKUZ:
GOSUB POZISYON
LCDDATA=%10000000
GOTO CIKIS
ONU:
GOSUB POZISYON
LCDDATA=%11000000
GOTO CIKIS
ONBIR:
GOSUB POZISYON
LCDDATA=%11100000
GOTO CIKIS
ONIKI:
GOSUB POZISYON
LCDDATA=%11110000
GOTO CIKIS
ONUC:
GOSUB POZISYON
LCDDATA=%11111000
GOTO CIKIS
ONDORT:
GOSUB POZISYON
LCDDATA=%11111100
GOTO CIKIS
ONBES:
GOSUB POZISYON
LCDDATA=%11111110
GOTO CIKIS
ONALTI:
GOSUB POZISYON
LCDDATA=%11111111
GOTO CIKIS
ONYEDI:
GOSUB POZISYON
LCDDATA=%10000000
GOTO CIKIS
ONSEKIZ:
GOSUB POZISYON
LCDDATA=%11000000
GOTO CIKIS
ONDOKUZ:
GOSUB POZISYON
LCDDATA=%11100000
GOTO CIKIS
YIRMI:
GOSUB POZISYON
LCDDATA=%11110000
YIRMIBIR:
GOSUB POZISYON
LCDDATA=%11111000
GOTO CIKIS
YIRMIIKI:
GOSUB POZISYON
LCDDATA=%11111100
GOTO CIKIS
YIRMIUC:
GOSUB POZISYON
LCDDATA=%11111110
GOTO CIKIS
YIRMIDORT:
GOSUB POZISYON
LCDDATA=%11111111
GOTO CIKIS
YIRMIBES:
GOSUB POZISYON
LCDDATA=%10000000
GOTO CIKIS
YIRMIALTI:
GOSUB POZISYON
LCDDATA=%11000000
GOTO CIKIS
YIRMIYEDI:
GOSUB POZISYON
LCDDATA=%11100000
GOTO CIKIS
YIRMISEKIZ:
GOSUB POZISYON
LCDDATA=%11110000
GOTO CIKIS
YIRMIDOKUZ:
GOSUB POZISYON
LCDDATA=%11111000
GOTO CIKIS
OTUZ:
GOSUB POZISYON
LCDDATA=%11111100
CIKIS: GOSUB LCD_BYTEOUT
RETURN
SENSOROKU:
OWOUT Comm_Pin, 1, [$CC, $44]' ISI değerini oku
RETURN
DEGER_AL:
OWOUT Comm_Pin, 1, [$CC, $BE]' scratchpad memory oku
OWIN Comm_Pin, 2, [HAM.Lowbyte, HAM.Highbyte]' İki byte oku ve okumayı bitir.
GOSUB Hesapla
RETURN
Hesapla: ' Ham değerden Santigrat derece hesabı
sign = 10
IF SIGN_BITI = NEGAT_ISI THEN
sign = 11
temp=($ffff-ham+1)*625
ISI = DIV32 10
GOTO GEC
endif
TEMP = 625 * (HAM+1) '
ISI = DIV32 10 ' Div32 hassas derece hesabı için 32 bit bölme yapıyoruz.
GEC:
FLOAT = (ISI //1000)/100
ISI=ISI/1000
RETURN
lcdyaz:
LOOKUP DEGER,["0123456789+- "],LCDDATA
gosub LCD_StringOut
return
POZISYON:
LOW DC
IF ISI<=8 THEN
LCDDATA=%11001101 'X
GOSUB LCD_ByteOut
LcdData= %01000100 'Y
GOSUB LCD_ByteOut
GOTO CIK
ELSE
LCDDATA=%11001101
GOSUB LCD_ByteOut
LcdData= %01000100
GOSUB LCD_ByteOut
HIGH DC
LCDDATA=%11111111
GOSUB LCD_ByteOut
LOW DC
ENDIF
IF ISI<=16 THEN
LCDDATA=%11001101 'X
GOSUB LCD_ByteOut
LcdData= %01000011 'Y
GOSUB LCD_ByteOut
GOTO CIK
ELSE
LCDDATA=%11001101 'X
GOSUB LCD_ByteOut
LcdData= %01000011 'Y
GOSUB LCD_ByteOut
HIGH DC
LCDDATA=%11111111
GOSUB LCD_ByteOut
LOW DC
ENDIF
IF ISI<=24 THEN
LCDDATA=%11001101 'X
GOSUB LCD_ByteOut
LcdData= %01000010 'Y
GOSUB LCD_ByteOut
GOTO CIK
ELSE
LCDDATA=%11001101 'X
GOSUB LCD_ByteOut
LcdData= %01000010 'Y
GOSUB LCD_ByteOut
HIGH DC
LCDDATA=%11111111
GOSUB LCD_ByteOut
LOW DC
ENDIF
IF ISI<=30 THEN
LCDDATA=%11001101 'X
GOSUB LCD_ByteOut
LcdData= %01000001 'Y
GOSUB LCD_ByteOut
ELSE
LCDDATA=%11001101 'X
GOSUB LCD_ByteOut
LcdData= %01000001 'Y
GOSUB LCD_ByteOut
HIGH DC
LCDDATA=%11111111
GOSUB LCD_ByteOut
LOW DC
ENDIF
CIK:
HIGH DC
RETURN
saatayar:
LOW DC 'lcdye komut gondermek ıcın 0 yapılmalıdır
LcdData= %00001101:GOSUB LCD_ByteOut
PAUSE 400
LcdData= %00001100:GOSUB LCD_ByteOut
HIGH DC
IF MENU=0 THEN saatayar
saatayar1:
GOSUB SAAT_YAZ
if menu=0 then dakikaayar
if yukari=0 then saatiarttir
if ASAGI=0 then saatiazalt
goto saatayar1
saatiarttir:
IF YUKARI=0 THEN saat=saat+1
IF SAAT=24 THEN SAAT=0
goto saatayar1
saatiazalt:
IF ASAGI=0 THEN saat=saat-1
IF SAAT=255 THEN SAAT=23
goto saatayar1
'-----------------------------DAKİKA AYAR--------------------------------------
dakikaayar:
if MENU=0 then dakikaayar
GOSUB ZAMAN_YAZ
GOSUB ZAMAN_OKU
GOSUB ZAMAN_GOSTER
dakikaayar1:
GOSUB DAKIKA_YAZ
if MENU=0 then GUN_AYAR
if YUKARI=0 then dakarttir
if ASAGI=0 then dakazalt
dakarttir:
IF YUKARI=0 THEN dak=dak+1
IF DAK=60 THEN DAK=0
goto dakikaayar1
dakazalt:
IF ASAGI=0 THEN dak=dak-1
IF DAK=255 THEN DAK=59
goto dakikaayar1
GUN_AYAR:
if menu=0 then GUN_AYAR
GOSUB ZAMAN_YAZ
GOSUB ZAMAN_OKU
GOSUB ZAMAN_GOSTER
GUN_AYAR1:
GOSUB GUN_YAZ
if menu=0 then ay_a
if yukari=0 then GUN_ARTTIR
if ASAGI=0 then GUN_AZALT
GUN_ARTTIR:
IF YUKARI=0 THEN GUN=GUN+1
IF GUN=32 THEN GUN=1
goto GUN_AYAR1
GUN_AZALT:
IF ASAGI=0 THEN GUN=GUN-1
IF GUN=255 OR GUN=0 THEN GUN=31
goto GUN_AYAR1
'---------------------------------AY AYAR--------------------------------------
AY_A:
if MENU=0 then AY_A
GOSUB ZAMAN_YAZ
GOSUB ZAMAN_OKU
GOSUB ZAMAN_GOSTER
AY_A1:
GOSUB AY_YAZ
if MENU=0 then YIL_A
if YUKARI=0 then AY_ART
if ASAGI=0 then AY_AZAL
AY_ART:
IF YUKARI=0 THEN AY=AY+1
IF AY=13 THEN AY=1
goto AY_A1
AY_AZAL:
IF ASAGI=0 THEN AY=AY-1
IF AY=255 OR AY=0 THEN AY=12
goto AY_A1
'--------------------------------YIL AYAR--------------------------------------
YIL_A:
IF MENU=0 THEN YIL_A
GOSUB ZAMAN_YAZ
GOSUB ZAMAN_OKU
GOSUB ZAMAN_GOSTER
YIL_A1:
GOSUB YIL_YAZ
if MENU=0 then ZAMAN_AYARLANDI
if YUKARI=0 then YIL_ART
if ASAGI=0 then YIL_AZAL
YIL_ART:
IF YUKARI=0 THEN YIL=YIL+1
IF YIL=100 THEN AY=00
goto YIL_A1
YIL_AZAL:
IF ASAGI=0 THEN YIL=YIL-1
IF YIL=255 THEN YIL=99
goto YIL_A1
ZAMAN_AYARLANDI:
GOSUB ZAMAN_YAZ
GOSUB ZAMAN_OKU
GOSUB ZAMAN_GOSTER
LOW DC 'lcdye komut gondermek ıcın 0 yapılmalıdır
LcdData= %00001101:GOSUB LCD_ByteOut
PAUSE 400
LcdData= %00001100:GOSUB LCD_ByteOut
HIGH DC
GOTO BASLA1
SAAT_YAZ:
posx=1:posy=1:gosub lcd_gotoxy
FOR i=1 TO 0 step-1
deger=saat dig i
gosub lcdyaz
next i
pause 150
posx=1:posy=1:gosub lcd_gotoxy
FOR i=1 TO 0 step-1
deger=12
gosub lcdyaz
next i
pause 200
return
DAKIKA_YAZ:
posx=4:posy=1:gosub lcd_gotoxy
FOR i=1 TO 0 step-1
deger=DAK dig i
gosub lcdyaz
next i
pause 150
posx=4:posy=1:gosub lcd_gotoxy
FOR i=1 TO 0 step-1
deger=12
gosub lcdyaz
next i
pause 200
return
GUN_YAZ:
posx=1:posy=2:gosub lcd_gotoxy
FOR i=1 TO 0 step-1
deger=GUN dig i
gosub lcdyaz
next i
pause 150
posx=1:posy=2:gosub lcd_gotoxy
FOR i=1 TO 0 step-1
deger=12
gosub lcdyaz
next i
pause 200
return
AY_YAZ:
posx=4:posy=2:gosub lcd_gotoxy
FOR i=1 TO 0 step-1
deger=AY dig i
gosub lcdyaz
next i
pause 150
posx=4:posy=2:gosub lcd_gotoxy
FOR i=1 TO 0 step-1
deger=12
gosub lcdyaz
next i
pause 200
return
YIL_YAZ:
posx=9:posy=2:gosub lcd_gotoxy
FOR i=1 TO 0 step-1
deger=YIL dig i
gosub lcdyaz
next i
pause 150
posx=9:posy=2:gosub lcd_gotoxy
FOR i=1 TO 0 step-1
deger=12
gosub lcdyaz
next i
pause 200
return
END
Nokia3310 Proteus Model Dosyaları Örnek Simülasyon;
nokia-3310-proteus-model-ve-ornek-pic-ccs-picbasic-uygulamasi ZIP Dosyası Şifre-Pass: 320volt.com
Paylaşımınız için içtenlikle teşekkür ederim.
Ancak “3310_lcd2basic.zip”içeriğini Proteus 7.1 SP2 de çalıştıramadım.
(Model ve library proteus dosyalarını proteus içine attığım halde)
Selamlar.
Merhaba,
Bu 3310 kütüphanesinde bir sorunla karşılaştım. Düşey moda geçiremiyorum. 00100010 komutu gönderip sonra yazmayı deniyorum, fakat yan yana yazmaya devam ediyor. Bu konuda bilgisi olanların yardımını bekliyorum.
Teşekkür ederim 🙂
merhaba pbp hangi versiyon hocam??
hi , thanks a lot for lib.. , it works with proteus 7.5 sp3, copy files in model and library folder in labcenter electronics folder , regard