User Tag List

Страница 13 из 134 ПерваяПервая ... 91011121314151617 ... ПоследняяПоследняя
Показано с 121 по 130 из 1333

Тема: Самодельный компьютер на Z80 и не только

  1. #121

    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    147
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    55 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    И GSM до кучи к Т9?
    Программы можно писать как на самом компике, так и на ПЦ. И скидывать оттуда по USART. Поэтому с комфортным написаннием программ проблем нету.
    Вот двустрочный дисплей по 16 символов в Бейсике - это жесть! Но ничего, работать можно, если сильно хочется
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

  2. #121
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #122
    HardWareMan
    Гость

    По умолчанию

    Как это жесть? Калькуляторы были же. Хотя я не помню, сколько там было строк и символов в строке. Зато получается довольно таки мощный калькулятор + программируемый контроллер, который не требует обязательного использования ПК.

    PS: МЭЛТ MT-20S4A, 4 строки по 20 знакомест. Хватит всем. (с)

    Последний раз редактировалось HardWareMan; 10.04.2016 в 08:57.

  4. #123

    Регистрация
    26.11.2013
    Адрес
    г. Санкт-Петербург
    Сообщений
    270
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    8
    Поблагодарили
    7 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Про подключение жк к z80 http://www.melt.com.ru/index.php?opt...ost&replyto=73
    Ленинград-1 48К
    ЮТ-88 в минимальной конфигурации

  5. #124
    HardWareMan
    Гость

    По умолчанию

    Я на своей ферме (фотки которой на предыдущих страницах) сделал так:
    Код:
    // LCD дисплей
    output  LCD_E,                                                 // Строб данных LCD
    output  LCD_RW,                                                // Выбор направления данных LCD
    output  LCD_RS,                                                // Выбор регистра управления и данных LCD
    
    ***
    
    assign  LCD_RW = !nRD;                                         // Направление данных LCD
    assign  LCD_RS = A[0];                                         // Выбор регистра управления или данных LCD
    assign  LCD_E = !(nRD & nWR) & !nIORQ & !A[7] & !A[6] & !A[5]; // Строб записи в LCD
    И все отлично работает на командах IN/OUT. На скорости 4МГц.

    - - - Добавлено - - -

    А вот примеры:
    Код:
    ; LCD экран (00-1F)
    LCD_CMD      .equ 00H         ; Порт команд LCD
    LCD_DT       .equ 01H         ; Порт данных LCD
    
    
    
    ; Инит экранчика (проходной инклуд)
    Boot_LCD_Wt0:in  (LCD_CMD)    ; Считываем статус LCD
                 ani 80h          ; Выделяем бит готовности
                 jnz Boot_LCD_Wt0 ; Не готов - крутимся
                 mvi a,3Ch        ; Настройка LCD
                 out (LCD_CMD)    ;
    Boot_LCD_Wt1:in  (LCD_CMD)    ; Считываем статус LCD
                 ani 80h          ; Выделяем бит готовности
                 jnz Boot_LCD_Wt1 ; Не готов - крутимся
                 mvi a,0Ch        ; Настройка LCD
                 out (LCD_CMD)    ;
    Boot_LCD_Wt2:in  (LCD_CMD)    ; Считываем статус LCD
                 ani 80h          ; Выделяем бит готовности
                 jnz Boot_LCD_Wt2 ; Не готов - крутимся
                 mvi a,01h        ; Настройка LCD
                 out (LCD_CMD)    ;
    Boot_LCD_Wt3:in  (LCD_CMD)    ; Считываем статус LCD
                 ani 80h          ; Выделяем бит готовности
                 jnz Boot_LCD_Wt3 ; Не готов - крутимся
                 mvi a,06h        ; Настройка LCD
                 out (LCD_CMD)    ;
    ; Печать приветствия
    Boot_LCD_Wt4:in  (LCD_CMD)    ; Считываем статус LCD
                 ani 80h          ; Выделяем бит готовности
                 jnz Boot_LCD_Wt4 ; Не готов - крутимся
                 mvi a,80h        ; Адрес первой строки
                 out (LCD_CMD)    ;
                 lxi h,Title_Text ; Адрес приветствия
                 mvi b,10h        ; 16 символов
    Boot_LCD_Lp0:in  (LCD_CMD)    ; Считываем статус LCD
                 ani 80h          ; Выделяем бит готовности
                 jnz Boot_LCD_Lp0 ; Не готов - крутимся
                 mov a,m          ; Берем символ
                 out (LCD_DT)     ; Толкаем на экран
                 inx h            ; Следующтий символ
                 dcr b            ; Минус счетчика
                 jnz Boot_LCD_Lp0 ; Крутимся
    Boot_LCD_Wt5:in  (LCD_CMD)    ; Считываем статус LCD
                 ani 80h          ; Выделяем бит готовности
                 jnz Boot_LCD_Wt5 ; Не готов - крутимся
    Ну и атомарный вывод символа:
    Код:
    ; Вывод символа из [A]
    Print_LCD_Sym:push psw           ; Сохраним [A]
    Print_LCD_Wt: in   (LCD_CMD)     ; Считываем статус LCD
                  ani  80h           ; Выделяем бит готовности
                  jnz  Print_LCD_Wt  ; Не готов - крутимся
                  pop  psw           ; Восстановим [A]
                  cpi  80h           ; Это команда?
                  jc   Print_LCD_Sp  ; Нет - идем на вывод буквы
                  out  (LCD_CMD)     ; Посылаем команду в LCD
                  ret                ; Выходим
    Print_LCD_Sp: cpi  20h           ; Это управляющие символы?
                  jc   Print_LCD_Ctr ; Да - идем на управление
                  out  (LCD_DT)      ; Посылаем символ в LCD
                  ret                ; Выходим
    Print_LCD_Ctr:cpi  08h           ; Влево?
                  jz   Print_LCD_Lf  ; Да - исполняем
                  cpi  18h           ; Вправо?
                  jz   Print_LCD_Rg  ; Да - исполняем
                  cpi  19h           ; Вверх?
                  jz   Print_LCD_Up  ; Да - исполняем
                  cpi  1Ah           ; Вниз?
                  jz   Print_LCD_Dn  ; Да - исполняем
                  cpi  0Dh           ; В начало строки?
                  jz   Print_LCD_Cr  ; Да - исполняем
                  cpi  0Ah           ; Следующая строка?
                  jz   Print_LCD_Dn  ; Да - исполняем
                  cpi  1Fh           ; Стирание экрана?
                  jz   Print_LCD_Cl  ; Да - исполняем
                  ret                ; Выходим
    Print_LCD_Lf: in   (LCD_CMD)     ; Считываем позицию
                  dcr  a             ; Уменьшаем ее
                  ori  80h           ; Добавляем команду
                  jmp  Print_LCD_Ex  ; Выходим
    Print_LCD_Rg: in   (LCD_CMD)     ; Считываем позицию
                  inr  a             ; Увеличиваем ее
                  ori  80h           ; Добавляем команду
                  jmp  Print_LCD_Ex  ; Выходим
    Print_LCD_Up: in   (LCD_CMD)     ; Считываем позицию
                  sui  40h           ; Вычитаем размер строки
                  ori  80h           ; Добавляем команду
                  jmp  Print_LCD_Ex  ; Выходим
    Print_LCD_Dn: in   (LCD_CMD)     ; Считываем позицию
                  adi  40h           ; Прибавляем размер строки
                  ori  80h           ; Добавляем команду
                  jmp  Print_LCD_Ex  ; Выходим
    Print_LCD_Cr: in   (LCD_CMD)     ; Считываем позицию
                  ani  0C0h          ; Сбрасываем на начало строки
                  ori  80h           ; Добавляем команду
                  jmp  Print_LCD_Ex  ; Выходим
    Print_LCD_Cl: mvi  a,01h         ; Команда очистки экрана
    Print_LCD_Ex: out  (LCD_CMD)     ; Пошлем команду в LCD
                  ret                ; Выход
    Последний раз редактировалось HardWareMan; 10.04.2016 в 11:11.

  6. #125

    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    147
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    55 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    Как это жесть? Калькуляторы были же.
    Электроника МК85. У нее вообще одна строка для бейсика.
    И это жесть не менее, чем две строки
    Не надо думать, что это удобно.
    Из четырехстрочников у меня есть графический 128*64 G1213N00, но он без подсветки.
    И жду из китаев некий LCD12864, он похож на дисплей из первого поста темы от Кекса.
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

  7. #126

    Регистрация
    14.09.2012
    Адрес
    г.Севастополь
    Сообщений
    473
    Спасибо Благодарностей отдано 
    278
    Спасибо Благодарностей получено 
    78
    Поблагодарили
    56 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Еще есть интересный дисплей тех годов - LM234 (HLM-9301).
    Построен, как графический, правда, каждый 6-й столбец у него не работает.
    Но для текстового режима - вполне.

    Скрытый текст

    [свернуть]

  8. #127

    Регистрация
    10.07.2005
    Адрес
    Ставрополь
    Сообщений
    1,158
    Спасибо Благодарностей отдано 
    37
    Спасибо Благодарностей получено 
    61
    Поблагодарили
    34 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    http://www.nostalcomp.cz/savia.php вот вам ещё одноплатка класса ЮТа, но на Z80. Опять же, со свободным знакогенератором на семисегментниках...


    А это как пример корпуса нет, не Савии, а "карманного компьютера на Z80"
    Последний раз редактировалось rw6hrm; 10.04.2016 в 23:01.

  9. #128

    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    147
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    55 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Поросла паутиной тема.
    Чуть протру тряпочкой - запилил I2C на порту С 580ВВ55А.
    Микросхема EEPROM 24LC16 пишется/читается.
    Но - мелковата она. Поищу пожирнее, дабы было с чего загружаться после включения.
    Простыню *****кода оставлю здесь, дабы было хоть каким-то примером.

    Скрытый текст


    Код:
    ;PortC - #E2
    ;SCL - PortC.6 out
    ;SDAI - PortC.7 out
    ;SDAO - PORTC.0 in
    ;resistor 1.0k between SDAO & SDAI
    
    I2C_INIT:           LD A,#93
    			OUT (#E3),A
                            RET
    
    I2C_START:	LD A,#C0
    			OUT (#E2),A
    			NOP
    			LD A,#40
    			OUT (#E2),A
    			NOP
    			XOR A
    			OUT (#E2),A
    			RET	
    			
    I2C_STOP:	        LD A,#40
    			OUT (#E2),A
    			NOP
    			LD A,#C0
    			OUT (#E2),A
    			NOP
    			RET					
    						
    I2C_ADDR:	        PUSH AF
    			CALL I2C_START
    			POP AF
    			CALL I2C_SEND8
    			CP 1
    			RET Z
    			SCF
    			RET
    			
    I2C_SEND8:	        PUSH BC
    			LD B,8
    SND1:		RLC A
    			LD C,A
    			JR C,SND2
    			LD A,0
    			OUT (#E2),A
    			LD A,#40
    			OUT (#E2),A
    			LD A,0
    			OUT (#E2),A
    			JR SND3
    SND2:		LD A,#80
    			OUT (#E2),A
    			LD A,#C0
    			OUT (#E2),A
    			LD A,#80
    			OUT (#E2),A
    SND3:		LD A,C
    			DJNZ SND1
    			LD A,#C0
    			OUT (#E2),A
    			IN A,(#E2) 
    			LD C,A
    			LD A,#80
    			OUT (#E2),A
    			XOR A
    			OUT (#E2),A
    			LD A,C
    			AND 1
    			POP BC
    			RET						
    			
    I2C_READ8:	        PUSH BC
    			LD B,8
    			LD A,#80
    			OUT (#E2),A
    			XOR A
    RED1:		        RLA
    			LD C,A
    			LD A,#C0
    			OUT (#E2),A
    			IN A,(#E2)
    			PUSH AF
    			LD A,#80
    			OUT (#E2),A
    			POP AF
    			AND 1
    			OR C
    			DJNZ RED1
    			POP BC
    			RET				
    
    I2C_ACK:	        XOR A
    			OUT (#E2),A		
    			LD A,#40 
    			OUT (#E2),A
    			XOR A
    			OUT (#E2),A	
    			RET
    			
    I2C_NACK:	        LD A,#80
    			OUT (#E2),A			
    			LD A,#C0 
    			OUT (#E2),A
    			XOR A
    			OUT (#E2),A	
    			RET
    [свернуть]
    Последний раз редактировалось Ewgeny7; 14.04.2016 в 13:41.
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

  10. #129

    Регистрация
    13.12.2007
    Адрес
    Архангельск
    Сообщений
    2,189
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    13
    Поблагодарили
    13 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Ewgeny7 Посмотреть сообщение
    Поросла паутиной тема.
    Чуть протру тряпочкой - запилил I2C на порту С 580ВВ55А.
    Микросхема EEPROM 24LC16 пишется/читается.
    Но - мелковата она. Поищу пожирнее, дабы было с чего загружаться после включения.
    Простыню *****кода оставлю здесь, дабы было хоть каким-то примером.

    Скрытый текст


    Код:
    ;PortC - #E2
    ;SCL - PortC.6 out
    ;SDAI - PortC.7 out
    ;SDAO - PORTC.0 in
    ;resistor 1.0k between SDAO & SDAI
    
    I2C_INIT:           LD A,#93
    			OUT (#E3),A
                            RET
    
    I2C_START:	LD A,#C0
    			OUT (#E2),A
    			NOP
    			LD A,#40
    			OUT (#E2),A
    			NOP
    			XOR A
    			OUT (#E2),A
    			RET	
    			
    I2C_STOP:	        LD A,#40
    			OUT (#E2),A
    			NOP
    			LD A,#C0
    			OUT (#E2),A
    			NOP
    			RET					
    						
    I2C_ADDR:	        PUSH AF
    			CALL I2C_START
    			POP AF
    			CALL I2C_SEND8
    			CP 1
    			RET Z
    			SCF
    			RET
    			
    I2C_SEND8:	        PUSH BC
    			LD B,8
    SND1:		RLC A
    			LD C,A
    			JR C,SND2
    			LD A,0
    			OUT (#E2),A
    			LD A,#40
    			OUT (#E2),A
    			LD A,0
    			OUT (#E2),A
    			JR SND3
    SND2:		LD A,#80
    			OUT (#E2),A
    			LD A,#C0
    			OUT (#E2),A
    			LD A,#80
    			OUT (#E2),A
    SND3:		LD A,C
    			DJNZ SND1
    			LD A,#C0
    			OUT (#E2),A
    			IN A,(#E2) 
    			LD C,A
    			LD A,#80
    			OUT (#E2),A
    			XOR A
    			OUT (#E2),A
    			LD A,C
    			AND 1
    			POP BC
    			RET						
    			
    I2C_READ8:	        PUSH BC
    			LD B,8
    			LD A,#80
    			OUT (#E2),A
    			XOR A
    RED1:		        RLA
    			LD C,A
    			LD A,#C0
    			OUT (#E2),A
    			IN A,(#E2)
    			PUSH AF
    			LD A,#80
    			OUT (#E2),A
    			POP AF
    			AND 1
    			OR C
    			DJNZ RED1
    			POP BC
    			RET				
    
    I2C_ACK:	        XOR A
    			OUT (#E2),A		
    			LD A,#40 
    			OUT (#E2),A
    			XOR A
    			OUT (#E2),A	
    			RET
    			
    I2C_NACK:	        LD A,#80
    			OUT (#E2),A			
    			LD A,#C0 
    			OUT (#E2),A
    			XOR A
    			OUT (#E2),A	
    			RET
    [свернуть]
    Они говорят, что мы извращенцы.
    http://www.fizyka.umk.pl/~daras/mtm/...%20Minimal.mp4
    Ты слыхал как грузится Flyshark ?! нет, совсем не тот, что на дискете...а Flyshark, тот самый блин Flyshark...тот ,что был когда то на кассете...
    zx spectrum 48 issuse 6a, Ленинград-1, zx spectum 128 +2 grey,Пентагон-128, ZXM-Phoenix 5.02 ( assembly)

  11. #130

    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    147
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    55 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Totem Посмотреть сообщение
    Они говорят, что мы извращенцы.
    Корпус - классный.
    Но на этом и хватит
    А я уже автозагрузку и старт с EEPROM 24С16 прилепил. Теперь Скайнет не боится пропадания напряжения
    Осталось часики на DS1307 прилепить, и будет вообще всё.
    Сейчас Монитор занимает уже 2 килобайта, 10 директив.
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

Страница 13 из 134 ПерваяПервая ... 91011121314151617 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Самодельный станок для намотки ТВЗ
    от Ратмир в разделе Творчество
    Ответов: 3
    Последнее: 25.05.2017, 13:32
  2. Самодельный телевизор
    от KALDYH в разделе Творчество
    Ответов: 34
    Последнее: 18.09.2013, 13:09
  3. Самодельный kickstart под ЛУТ :D
    от fan в разделе Amiga
    Ответов: 6
    Последнее: 21.08.2010, 16:18
  4. Лучший самодельный компьютер
    от roxx в разделе Зарубежные компьютеры
    Ответов: 10
    Последнее: 08.12.2007, 22:53
  5. Самодельный принтер
    от Ewgeny7 в разделе Несортированное железо
    Ответов: 3
    Последнее: 07.08.2005, 18:11

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •