Экспериментирую с 8-ногим пиком PIC12C508A

8-битные микроконтроллеры PICmicro (ПИКи) от Microchip и совместимые, а также 16-битные PIC24 и 32-битные PIC32

Moderator: Shaos

User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Экспериментирую с 8-ногим пиком PIC12C508A

Post by Shaos »

https://hackaday.io/project/18857-1-entry-to-1kb-challenge
8709831481372066694.png
Просто интересно что можно сделать на экране ТВ с 4-мегагерцовым пиком (у pic12c508 всего 512 слов программы, а у pic12c508 - 1024 слов).

GitHub: https://github.com/shaos/pixy

P.S. Пока приготовил аналог официального файла P12C508.INC для GPUTILS, который также поддерживает pic12C509 и pic16c505, поэтому называется P12C50X.INC
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Экспериментирую с самым маленьким пиком PIC12C508A

Post by Shaos »

4 МГц это означает 1 миллион операций в секунду или 1 мкс на инструкцию, т.е. в одну строку NTSC (63.5 мкс) влезет 64 инструкций, которые можно разбить так:
- 4 операции темнота до синхроимпульса;
- 5 операций синхроимпульс;
- 7 операций темнота после синхроимпульса;
- 48 операций видимая часть экрана.
т.е. удастся вывести только 48 элементов по горизонтали, наполнение каждого может определятся 3-4 битами (еще один вход может быть кнопкой и один выход будет генерить синхру).

P.S. Если выводить произвольные элементы, то их будет еще меньше, чем 48, т.к. на вывод каждого будет уходить больше одной команды...
Я тут за главного - если что шлите мыло на me собака shaos точка net
angry_troll
Doomed
Posts: 449
Joined: 08 Apr 2013 04:04
Location: 213.247.249.139

Re: Экспериментирую с самым маленьким пиком PIC12C508A

Post by angry_troll »

А почему не F508, который можно перешивать, причём не вынимая из девайса?
привет засранцу лавру :)
User avatar
fifan
Devil
Posts: 912
Joined: 06 Oct 2006 03:17
Location: г.Лянтор,Сургутского р-на,ХМАО

Re: Экспериментирую с самым маленьким пиком PIC12C508A

Post by fifan »

На подобном 8-пиновым пике я видел схему со входом и выходом видеосигнала, куда подмешивались некоторые буквы.
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Экспериментирую с самым маленьким пиком PIC12C508A

Post by Shaos »

angry_troll wrote:А почему не F508, который можно перешивать, причём не вынимая из девайса?
Потому что вот:
pic12c508a_.jpg
И потом у меня не только F508 нету, но и программаторов егошних...

P.S. Хотя вру - вот этот вроде могёт и C, и F

P.P.S. Если я какой-то флешевый пик из 12-битных и буду использовать, то это будет (по наводке Лавра) PIC16F505 т.к. он похож на 155ЛА3 :roll:
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Экспериментирую с самым маленьким пиком PIC12C508A

Post by Shaos »

У этих чипов нету прерываний - совсем. Так что придётся видеосигнал генерить по ходу основной программы, аккуратно высчитывая такты, скажем путём последовательного вызова подпрограмм, генерирующих разнообразные строки растра:

Code: Select all

; call ; 2/2
Line:
 nop ; 1/3
 nop ; 1/4

 ; video 48 instructions /52
 ...

 clrf GPIO ; 1/53 -> video 48
 nop ; 1/54
 nop ; 1/55
 movlw 0x08 ; 1/56
 tris GPIO ; 1/57
 incf LineN,f ; 1/58 -> sync
 nop ; 1/59 -> sync
 nop ; 1/60 -> sync
 movlw 0x18 ; 1/61 -> sync
 tris GPIO ; 1/62 -> sync
 retlw 1 ; 2/64
Я тут за главного - если что шлите мыло на me собака shaos точка net
angry_troll
Doomed
Posts: 449
Joined: 08 Apr 2013 04:04
Location: 213.247.249.139

Re: Экспериментирую с самым маленьким пиком PIC12C508A

Post by angry_troll »

Shaos wrote:Потому что вот:
Понятно, и лампочка есть тоже? А остальные три -- в помойку? :)
И потом у меня не только F508 нету, но и программаторов егошних...
Последний раз пицами занимался давным давно, но вижу у ф508 2 ноги для внутрисхемного программатора -- неужели какие-то программаторы внтурисхемное программирование могут не поддерживать?
привет засранцу лавру :)
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Экспериментирую с самым маленьким пиком PIC12C508A

Post by Shaos »

Надо поглядеть на PICKIT3 - может он умеет, а вообще я гляжу бывают даже 12-битные PIC16F54 и PIC16F57 (ближайший родственник SX28) на 20 МГц - это всё видимо совсем недавно всплыло (судя по датам в даташытах 2007-2009)

Утьтровиолетная стиралка у меня конечно же тоже есть :)

P.S. Остальные три будут однократно прошиты окончательными версиями очередных итераций ;)
Я тут за главного - если что шлите мыло на me собака shaos точка net
angry_troll
Doomed
Posts: 449
Joined: 08 Apr 2013 04:04
Location: 213.247.249.139

Re: Экспериментирую с самым маленьким пиком PIC12C508A

Post by angry_troll »

А я в деццве пики (и не только пики, аврки и 51ые атмельки) шил с амиги. Железки сам паял, софт тоже сам писал (не считая пиков, там был софт, написанный RDC). Кросс-асмы находились, что характерно...
привет засранцу лавру :)
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Экспериментирую с самым маленьким пиком PIC12C508A

Post by Shaos »

angry_troll wrote:А я в деццве пики (и не только пики, аврки и 51ые атмельки) шил с амиги. Железки сам паял, софт тоже сам писал (не считая пиков, там был софт, написанный RDC). Кросс-асмы находились, что характерно...
Да там столько команд, что асм можно самому за пару вечеров накидать :)
А самодельные прошивалки - это да, небанальная активность ;)
Я тут за главного - если что шлите мыло на me собака shaos точка net
angry_troll
Doomed
Posts: 449
Joined: 08 Apr 2013 04:04
Location: 213.247.249.139

Re: Экспериментирую с самым маленьким пиком PIC12C508A

Post by angry_troll »

Прошивалка at89c51 была сделана на КР580ВВ55 :)
А аврки и пики шились проводками из лпт.
На амиге лтп сделан на обычном 8520 (VIA), и там можно побитно ввод-вывод переключать.

Ещё делал эмулятор ПЗУ, состоял из 62256, кучи буферов типа АП5-АП6 и сдвиговых регистров забыл каких -- почти ЖТАГ доморощенный был :)
привет засранцу лавру :)
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Экспериментирую с самым маленьким пиком PIC12C508A

Post by Shaos »

Ну железячно то понятно как оно может быть устроено - главная проблема "алгоритм" прошивки, точные моменты подавания импульсов нужной амплитуды и длительности и т.д.
Я тут за главного - если что шлите мыло на me собака shaos точка net
angry_troll
Doomed
Posts: 449
Joined: 08 Apr 2013 04:04
Location: 213.247.249.139

Re: Экспериментирую с самым маленьким пиком PIC12C508A

Post by angry_troll »

По-моему, алгоритмы прошивки пишут в даташитах... Ну по крайней мере на пики 8битные, аврки (хз как с новыми, всякие от-тяни и более старые -- написано) всё в даташитах есть.
Писать -- тупо берёшь и пишешь, на сях.
привет засранцу лавру :)
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Экспериментирую с самым маленьким пиком PIC12C508A

Post by Shaos »

angry_troll wrote:По-моему, алгоритмы прошивки пишут в даташитах... Ну по крайней мере на пики 8битные, аврки (хз как с новыми, всякие от-тяни и более старые -- написано) всё в даташитах есть.
Писать -- тупо берёшь и пишешь, на сях.
Ну не все пишут и не для всего, а если пишут, то бывает фиг поймешь как оно работает :)
Поэтому люди и подсматривают всякими бас-пиратами и повторяют иголка в иголку ;)
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Экспериментирую с самым маленьким пиком PIC12C508A

Post by Shaos »

Shaos wrote:Надо поглядеть на PICKIT3 - может он умеет, а вообще я гляжу бывают даже 12-битные PIC16F54 и PIC16F57 (ближайший родственник SX28) на 20 МГц - это всё видимо совсем недавно всплыло (судя по датам в даташытах 2007-2009)
Поизучал вопрос - самым большим из продаваемых на сегодняшний день 12-битных пиков является PIC16F59 в 40-ногом корпусе - у него 32 I/O и цена чуть больше доллара! Может его и надо заюзать в NedoVideo? Там все равно прерывания не используются и никакая другая периферия ненужна. Ну еще пределы разгоняемости надо определить т.к. недовидео надо гнать примерно на 26 МГц, чтобы все в видимую область экрана влезло...
Я тут за главного - если что шлите мыло на me собака shaos точка net