Witam
Kompletnie nie znam sie na programowaniu i nawet nie za bardzo wiem od czego zaczac ale sciagnalem z neta jakas demonstracje napisana przez kogos majaca tlumaczyc kod ASCII na 16 segmentowy. Pomyslalem, ze powinno byc proste zmienic przyporzadkowanie kodu ASCII do konkretnych znakow podmieniajac im to co ma wystapic na wyjsciu pamieci - bo wlasnie tak chce to zbudowac... Wgrac w pamiec EEPROM taki maly wsad ktory by mi przetlumaczyl konkretne stany na wejsciach adresowych na inne ale na wyjsciach. Po jakims czasie wymalowalem cos takiego:
Mam pytanie czy jezeli pamiec np 27c128 bedzie miala te puste komorki to musze dopisac pozostale kombinacje wejsc adresujacych czy wystarczy, ze jest ich tylko 8, a pozostale nie musza byc. Tzn chodzi mi czy w przypadku kiedy pamiec ma np 16 wejsc adresowych tj A0-A15 (np) to czy musze dopisac linie equ segmI, J, K?
I w koncu jak sprawdzic czy ten "program" dziala? Potrzebuje jakiegos kompilatora ale sciagnalem z neta jakis, ktory wyswietlil mi komunikat, ze .list nie jest poprawnym rozkazem (illegal).
Prosze o pomoc. Chcialbym to wgrac i miec to z glowy. Na wejsciu ma byc obrotowy zadajnik w kodzie graya zwierajacy do masy czyli te 8 wejsc adresowych normalnie bede mial na stanie wysokim, tyle ze w pozycji 1 zadajnik ustawi im wszystkim 0000. Na wyjscia chce podpiac 2 wyswietlacze LED 7 segmentowe z tym, ze w tym pokazujacym 10 na stale bedzie swiecic 1 i kiedy oba wyswietlacze beda mialy pokazywac jednosci czyli od 1 do 9 to dodatkowo zaswiecany ma byc na 1 wyswietlaczu C co z 1 da 0.
Pozdrawiam
Proszę pamiętać o używaniu znaczników code. - arnoldziq
Kompletnie nie znam sie na programowaniu i nawet nie za bardzo wiem od czego zaczac ale sciagnalem z neta jakas demonstracje napisana przez kogos majaca tlumaczyc kod ASCII na 16 segmentowy. Pomyslalem, ze powinno byc proste zmienic przyporzadkowanie kodu ASCII do konkretnych znakow podmieniajac im to co ma wystapic na wyjsciu pamieci - bo wlasnie tak chce to zbudowac... Wgrac w pamiec EEPROM taki maly wsad ktory by mi przetlumaczyl konkretne stany na wejsciach adresowych na inne ale na wyjsciach. Po jakims czasie wymalowalem cos takiego:
;
;***************************************************
;***************************************************
;******************** decoder v.1 *********************
;******************* gray to 7seg *********************
;***************************************************
;***************************************************
;
.list
.equ SegmA = 1<<0
.equ SegmB = 1<<1
.equ SegmC = 1<<2
.equ SegmD = 1<<3
.equ SegmE = 1<<4
.equ SegmF = 1<<5
.equ SegmG = 1<<6
.equ SegmH = 1<<7
.equ Space = 0
;
.cseg
.org 0
; znak kod=0x00 'gray 0 dis C1'
.dw SegmB+SegmC+SegmH
; znak kod=0x01 'gray 1 dis C2'
.dw SegmA+SegmB+SegmD+SegmE+SegmG+SegmH
; znak kod=0x02 'gray 2 dis C4'
.dw SegmB+SegmC+SegmF+SegmG+SegmH
; znak kod=0x03 'gray 3 dis C3'
.dw SegmA+SegmB+SegmC+SegmD+SegmG+SegmH
; znak kod=0x04 'gray 4 dis C8'
.dw SegmA+SegmB+SegmC+SegmD+SegmE+SegmF+SegmG+SegmH
; znak kod=0x05 'gray 5 dis C7'
.dw SegmA+SegmB+SegmC+SegmH
; znak kod=0x06 'gray 6 dis C5'
.dw SegmA+SegmC+SegmD+SegmF+SegmG+SegmH
; znak kod=0x07 'gray 7 dis C6'
.dw SegmA+SegmC+SegmD+SegmE+SegmF+SegmG+SegmH
; znak kod=0x08 'gray 8 dis 16'
.dw SegmA+SegmC+SegmD+SegmE+SegmF+SegmG
; znak kod=0x09 'gray 9 dis 15'
.dw SegmA+SegmC+SegmD+SegmF+SegmG
; znak kod=0x10 'gray 10 dis 13'
.dw SegmA+SegmB+SegmC+SegmD+SegmG
; znak kod=0x11 'gray 11 dis 14'
.dw SegmB+SegmC+SegmF+SegmG
; znak kod=0x12 'gray 12 dis C9'
.dw SegmA+SegmB+SegmC+SegmD+SegmF+SegmG+SegmH
; znak kod=0x13 'gray 13 dis 10'
.dw SegmA+SegmB+SegmC+SegmD+SegmE+SegmF
; znak kod=0x14 'gray 14 dis 12'
.dw SegmA+SegmB+SegmD+SegmE+SegmG
; znak kod=0x15 'gray 15 dis 11'
.dw SegmB+SegmC
; znak kod=0x16
.dw Space
.exitMam pytanie czy jezeli pamiec np 27c128 bedzie miala te puste komorki to musze dopisac pozostale kombinacje wejsc adresujacych czy wystarczy, ze jest ich tylko 8, a pozostale nie musza byc. Tzn chodzi mi czy w przypadku kiedy pamiec ma np 16 wejsc adresowych tj A0-A15 (np) to czy musze dopisac linie equ segmI, J, K?
I w koncu jak sprawdzic czy ten "program" dziala? Potrzebuje jakiegos kompilatora ale sciagnalem z neta jakis, ktory wyswietlil mi komunikat, ze .list nie jest poprawnym rozkazem (illegal).
Prosze o pomoc. Chcialbym to wgrac i miec to z glowy. Na wejsciu ma byc obrotowy zadajnik w kodzie graya zwierajacy do masy czyli te 8 wejsc adresowych normalnie bede mial na stanie wysokim, tyle ze w pozycji 1 zadajnik ustawi im wszystkim 0000. Na wyjscia chce podpiac 2 wyswietlacze LED 7 segmentowe z tym, ze w tym pokazujacym 10 na stale bedzie swiecic 1 i kiedy oba wyswietlacze beda mialy pokazywac jednosci czyli od 1 do 9 to dodatkowo zaswiecany ma byc na 1 wyswietlaczu C co z 1 da 0.
Pozdrawiam
Proszę pamiętać o używaniu znaczników code. - arnoldziq

