This project does not involve an Arduino, I just need help on something.
I'm making the smallest 8-bit breadboard computer without microprocessor, and I need to automatically inizialize the display without the Arduino in the push of a button, it needs to send 9 commands to the display with 10-bits (8 data bits, 1 RS bit and 1 Enable bit):
Display ON, cursor ON, Blink ON; Display 2-line mode, 8-bit mode, font 5x8; Return home; Clear Display; Write "R"; Write "A"; Write "M"; Write ">"; Write " ";
I have some 595 Shift Registers, some binary counters a lot of transistors and some 555 timers.
If i need others components I'll buy it, but remember, it needs to be the smallest as possible.
The display is 16x2 parallel, it uses the chip hd44780.
I could use the multiplexer but I think it's better to use an EEPROM with 4-bit address and 10 bits output, i don't think those exists, so i could use two small eeproms, any suggestions on what to use or if there is a smaller option?
The PIC is classified as "microcontroller", so i need something that isn't a microcontroller or a a microprocessor for my computer, i've taken in consideration to use a microcontroller of some kind to do all the outputs, but i need to challenge myself of making it without the use of those.
well, yes it count as a microprocessor, because i just could use an arduino to make the computer, and the whole project is useless, so i need to do it without microprocessors or microcontrollers, could you maybe suggest some eeproms or flash drives i could use that uses a 10 bits output but only 4 bit adresses?
Well, I could use the 4-bit mode of the display, but when i press the button "1" to write the number "1" on the display, i need 2 commands for that, maybe there is a circuit that sends 2 commands with the press of 1 button, could this work?
And how could i make this circuit?
The AT28BV64B is accessed like Static RAM. When CE and OE are low and WE is high, the data stored at the memory location determined by the address pins are asserted on the outputs. The outputs are put in the high-impedance state when either CE or OE is high. This dual-line control gives designers flexibility in preventing bus contention in their system.
I'm not really a hardware person so take this for what it is worth
Use an oscillator to generate a clock.
Use a counter IC that counts the clock pulses.
The output of that counter is used as the address bus to the eprom/eeprom.
Use 4 bit mode of the display; you will have 8 bits per address. Each address will contain the 4 needed data bits as well as the R/S and E signals.
Below an example.
00010000 set R/S as needed
00011010 set data 0xA on bus
00111010 enable
00111010 enable (stretch)
00011010 disable
00010000 remove data
00000000 restore R/S
Each clock will place a new set of information on the bus 4+2 bit bus. You can stretch cycles by storing the same information twice in successive locations as shown for the enable.
You will have to match something like this with the datasheet.
If I use the 4-bit mode of the display how can I send the number "1" to print in the display pressing one button? I should send 2 different commands at the press of one button, but how?