Запоминается легко:
TRIS = 1 - input.
TRIS = 0- output.
Программа крутая. Надеюсь имитировать мелодию не собираешся.
PNP-LinE |
Привет, Гость! Войдите или зарегистрируйтесь.
Вы здесь » PNP-LinE » Контроллеры и Компьютеры. » Языки программирования
Запоминается легко:
TRIS = 1 - input.
TRIS = 0- output.
Программа крутая. Надеюсь имитировать мелодию не собираешся.
Запоминается легко:
TRIS = 1 - input.
TRIS = 0- output.Программа крутая. Надеюсь имитировать мелодию не собираешся.
Нет, не собираюсь... там в программе уже забито 8 мелодий....
Может быть когда разберусь как редактировать ноты каждой, тогда и зашью туда свои...
самая длинная песня:
КОД:
;********************************************************************
;* Jingle bells *
;********************************************************************
pesem_2 ; Длина песни - 113 нот
addwf pcl,f ; Адрес - 554retlw 0x1A ; 1
retlw 0x1A
retlw 0x2A
retlw 0x1A ; 2
retlw 0x1A
retlw 0x2A
retlw 0x1A ; 3
retlw 0x1D
retlw 0x16
retlw 0x18
retlw 0x4A ; 4
retlw 0x1B ; 5
retlw 0x1B
retlw 0x2B
retlw 0x1A ; 6
retlw 0x1A
retlw 0x2A
retlw 0x18 ; 7
retlw 0x18
retlw 0x18
retlw 0x1A
retlw 0x28 ; 8
retlw 0x2D
retlw 0x1A ; 91
retlw 0x1A
retlw 0x2A
retlw 0x1A ; 92
retlw 0x1A
retlw 0x2A
retlw 0x1A ; 93
retlw 0x1D
retlw 0x16
retlw 0x18
retlw 0x4A ; 94
retlw 0x1B ; 95
retlw 0x1B
retlw 0x2B
retlw 0x1A ; 96
retlw 0x1A
retlw 0x2A
retlw 0x1D ; 10
retlw 0x1B
retlw 0x1A
retlw 0x18
retlw 0x46 ; 11
retlw 0x11 ; 12
retlw 0x1A
retlw 0x18
retlw 0x16
retlw 0x41 ; 13
retlw 0x11 ; 14
retlw 0x1A
retlw 0x18
retlw 0x16
retlw 0x43 ; 15
retlw 0x13 ; 16
retlw 0x1B
retlw 0x1A
retlw 0x18
retlw 0x1D ; 17
retlw 0x1D
retlw 0x2D
retlw 0x1F ; 18
retlw 0x1D
retlw 0x18
retlw 0x19
retlw 0x4A ; 19
retlw 0x11 ; 20_12
retlw 0x1A
retlw 0x18
retlw 0x16
retlw 0x41 ; 20_13
retlw 0x11 ; 20_14
retlw 0x1A
retlw 0x18
retlw 0x16
retlw 0x43 ; 20_15
retlw 0x13 ; 20_16
retlw 0x1B
retlw 0x1A
retlw 0x18
retlw 0x1D ; 20_17
retlw 0x1D
retlw 0x2D
retlw 0x1F ; 21
retlw 0x1D
retlw 0x1B
retlw 0x18
retlw 0x26 ; 22
retlw 0x2D
retlw 0x1A ; 23_91
retlw 0x1A
retlw 0x2A
retlw 0x1A ; 23_92
retlw 0x1A
retlw 0x2A
retlw 0x1A ; 23_93
retlw 0x1D
retlw 0x16
retlw 0x18
retlw 0x4A ; 23_94
retlw 0x1B ; 23_95
retlw 0x1B
retlw 0x2B
retlw 0x1A ; 23_96
retlw 0x1A
retlw 0x2A
retlw 0x1D ; 23_10
retlw 0x1B
retlw 0x1A
retlw 0x18
retlw 0x46 ; 23_11
retlw 0x80 ; Адрес - 667
Устройство функционирует, а вот как бы теперь мелодии переписать?
Зачем их переписывать?
Зачем их переписывать?
Хочется что нибудь свое! Или понять смысл... как они формируются...
Для начала нужно разобраться в самом микроконтроллере, а потом экспериментировать.
Можно для начала по двум кнопкам регулировать яркость свечения диода.
Для начала нужно разобраться в самом микроконтроллере, а потом экспериментировать.
Можно для начала по двум кнопкам регулировать яркость свечения диода.
А как? Программно много переделывать?
По прерываниям отслеживать кнопки.
Яркость можно изменять регулируя длительность высокого и низкого уровней.
Думаешь это легче чем мелодии переделать?
Есть у меня книга "PIC-микроконтроллеры практика применения" - автор Кристиан Тавернье, там очень хорошо описан ассемблер. Буду познавать! А как осознать что такое прерывания?
Это что-то вроде динамического управления индикаторами?
Это наподобие перехода на более приоритетную задачу(1) с возвращением к выполняемой в текущее время(2), но после обработки приоритетной задачи.
(Причем возвращение произодет не к началу(2), а именно к тому месту откуда произошел переход. )
Да уж, объяснил
А чего? Вполне доступно!
Только я пока не имею представление как это выглядит программно! :/
В тойже проге.
org 0x0004 goto int_rtcc ; прерывание от таймера RTCC
0х0004 - вектор прерывания.
При появлении флага переполненя таймера происходит переход на этот адрес.
int_rtcc программа обработки прерывания.
Программа обработки прерывания пишется отдельно?
В том примере да, а вообще можно было и сразу написать.
Так... про ассемблер я вроде внял (учу его теперь)... Про Си тоже немного...
А для чего Борланд, дельфи? Бейсик.. Можно - ли на бейсике писать для Пиков или Атмелей?
А для чего Борланд, дельфи? Бейсик.. Можно - ли на бейсике писать для Пиков или Атмелей?
Можно, конечно, если компилятор под контроллер найти, но вот только незадача в другом.
дело в том, что это языки высокого уровня, и с нашими задачами они справятся, но не оптимально - т. е. медленно и много памяти съест
поэтому пишите на асме!
АСМ рулит. я писал на си, но проги расходлись по длине почти в 2 раза - думайте сами.
притом скорость моих программ намного была выше чем сишный аналогов, мною же писанных!
Отредактировано sja (2006-05-29 15:47:00)
А Си от Ассмы глобально отличается?
По времени написания работоспособного кода Си намного быстрее чем асм.
обычно требуется оптимальный и корректный код, ну хотя си считаецца почему-то языком низкого уровня, поэтому на чем писать - выбор автора. но если можешь на асме - сможешь на любом. эт точно!
читай подпись
Пообщавшись с людьми, я все же решил что Си! По голосам большинства!
Вы здесь » PNP-LinE » Контроллеры и Компьютеры. » Языки программирования