[ MILANAN @ 12.11.2024. 19:52 ] @
Postavljam jedan programcic koji sam nekako sastavio i zasad probao u proteusu pa bih da cujem jos necije misljenje da li ce to raditi jer zasad nemogu da probam uzivo
Treba mi impuls od jedne sekunde koji ce trebati da mozda podesim malo da bude duzi ili kraci pa sam tu stavio

portb.1=1
pause 997 ------------- ovo je pauza
pauseus impulss ----------- ovo za neko finije podesavanje sto odredjujem tasterima
portb.1=0
pause 1000 --------------ovde ce biti nesto drugo samo sam za probu stavio ovako

I da li ce eeprom da zapamti ovo - impulss- tako da kad iskljucim i ponovo ukljucim mikrokontroler i pritisnem taster porta.3 da se vrati prethodno podesen -impulss-
Nisam jos dovrsio i nece mi ni trebati tu displej nego sam ga stavio da mogu da vidim sta se dogadja



impulss var word
impuls var word
impulss=0
impuls=3000


TRISA = %11111111
trisb.1=0
portb.1=0


DEFINE LCD_BITS 4
DEFINE LCD_DREG PORTB
DEFINE LCD_DBIT 4
DEFINE LCD_RSREG PORTB
DEFINE LCD_RSBIT 2
DEFINE LCD_EREG PORTB
DEFINE LCD_EBIT 0
DEFINE LCD_RWREG PORTB
DEFINE LCD_RWBIT 3
DEFINE LCD_LINES 2
pause 100

pocetak


povecaj
if porta.1=0 then 'povecavamo zadatu vrednost
impuls=impuls+1
impulss=impuls
pause 10
lcdout $FE,$80
lcdout "impuls =",dec4 impuls
goto povecaj
endif


impulss=impuls

smanji
if porta.0=0 then 'smanjujemo zadatu vrednost
impuls=impuls-1
impulss=impuls
pause 10
lcdout $FE,$80
lcdout "impuls =",dec4 impuls
goto smanji
endif


impulss=impuls





if porta.2=0 then 'pamti u eprom
WRITE 1 , impulss 'ZADATU VREDNOST
pause 10
lcdout $FE,$80
lcdout " "
LCDOUT $FE, $C0
lcdout "WRITE "
pause 100
endif


if porta.3=0 then 'cita iz eprom
READ 1,impulss 'ZADATU VREDNOST
pause 10
lcdout $FE,$80
lcdout " "
LCDOUT $FE, $C0
lcdout "READ "
pause 10
endif


impulss=impuls




lcdout $FE,$80
lcdout "impulss=",#impulss
portb.1=1
pause 997
pauseus impulss
portb.1=0
pause 1000



goto pocetak

end
[ veselinovic @ 13.11.2024. 17:37 ] @
A EEprom je 8-bitni ili 16-bitni ?
Imas na previse mjesta impulss=impuls
[ MILANAN @ 14.11.2024. 06:35 ] @
Imam,nisam zavrsio jos uvek.
Imam neki zaostao 16f84,valjda bese 8-bitni
Samo treba tu sekundu da podesim mada stavim i drugi za 10 ili vise mhz oscilator da pi PAUSEUS imao manje vreme
[ veselinovic @ 14.11.2024. 16:11 ] @
Milane, o
obrati paznju na ovo:
impuls var word
impulss=0
impuls=3000

impulss=impuls

Implicira da je imapulss promjenjljiva tipa word, a to je vise od jednog bajta tj 8 bita.
E vidis ne mozes vise od jednog bajta zgurati u jedan bajt tj ovo " WRITE 1 , impulss "nece valjati

Pored toga imas u petlji:
povecaj
if porta.1=0 then 'povecavamo zadatu vrednost
impuls=impuls+1
impulss=impuls


i na kraju petlje tj kad izadjes opet
impulss=impuls

cemu toliko puta
impulss=impuls

Sredi malo taj kod i obavezno razclani word u 2 bajta pa onda upisi ta dva bajata u eeprom.
Anologno ide izcitavanje

[ MILANAN @ 14.11.2024. 23:07 ] @
Ma to impulss=impuls,nesto drugacije sam pisao-hteo pa to nije obrisano,nisam ni blizu da zavrsim.
Kako mogu tad da upisem u eeprom ?
Nece trebati 3000,mozda oko 1500
Sutra cu postaviti kako bi otprilike trebalo da bude ali sad ne znam kako da upisem.
Za citanje mi netreba taster,hteo sam da po ukljucenju procita eeprom i sa tim sto je u eepromu nastavi da radi,znaci podesim,zapamtim i to zapamceno se vraca po ukljucenju