|
BreAkeR: нет....я для себя))))сроки меня не интересуют))) Ну если для себя, то поищите поиском соответствующие темы в этой конфе. Было и на Асме, было и на С. Именно под PIC16F628-й. На самом деле это не так уж и сложно, главное въехать в тему, а это достигается только индивидуальным опытом, тут никто не поможет, имхо. Копируйте и разбирайте "по косточкам" программы других авторов, а что не понятно будет, спрашивайте здесь, поясним. Писать же за вас готовую, даже простейшую, как эта, прогу никто не будет!
|
|
|
значит лёг я спать вчера и меня как осенило!!! вот значит какая логикапроги будетрасспишу всё до шага))) 1) подаём напряжение на МК 2) порт А1, А2,А3 входы 3) порт В3, В4,В5,В6,В7 выходы 4) на всех этих портах создать низкий уровень 5) Т -переменная , в интервале от 0 до 35 6) присвоить переменной Т значение 15 7) W- переменная, которая равна W=50-T 7.1)Q -переменная ,которая равна Q=T-10 8) вычислить W,Q 8.1) если Q меньше 0, то Q=0 9) создать на порте В4 высокий уровень 9.1)создать на В3 высокий уровень 10)основная программа 11)проверить порт А1, если на нем низкий уровень, то перейти к метке knop1 иначе ничего 12)проверить порт А2, если на нем низкий уровень, то перейти к метке knop2 иначе ничего 13)проверить порт А3, если на нем низкий уровень, то перейти к метке knop3 иначе ничего 14)отсчитать время в милисекундах равное Т 15)создать на В3 низкий уровень 16)отсчитать время в милисекундах равное W 17)создать на В3 высокий уровень 18)вернуться с пункту №11 19)метка knop1 20) 21)проверить порт В1, если на нём высокий уровень, то создать на порте В1 низкий уровень, создать на порте В2 высокий уровень, иначе ничего 22)проверить порт В2, если на нём высокий уровень, то создать на порте В2 низкий уровень, создать на порте В3 высокий уровень, иначе ничего 23)проверить порт В3, если на нём высокий уровень, то создать на порте В3 низкий уровень, создать на порте В4 высокий уровень, иначе ничего 24)проверить порт В4, если на нём высокий уровень, то создать на порте В4 низкий уровень, создать на порте В1 высокий уровень, иначе ничего 25)проверить порт А1, если на нём высокий уровень, то вернуться в основную программу, иначе выполнить цикл: -отсчитать время в милисекундах равное Q -создать на В3 низкий уровень -отсчитать время в милисекундах равное W -создать на В3 высокий уровень -перейти в начало цикла (25 пункт) 26)метка knop2 проверить Т=35, если нет, то Т =Т+1, иначе ничего 27)проверить порт А2, если на нём высокий уровень, то вернуться в основную программу, иначе выполнить цикл: -отсчитать время в милисекундах равное Q -создать на В3 низкий уровень -отсчитать время в милисекундах равное W -создать на В3 высокий уровень -перейти в начало цикла (27 пункт) 28)метка knop3 проверить Т=35, если нет, то Т =Т+1, иначе ничего 29)проверить порт А3, если на нём высокий уровень, то вернуться в основную программу, иначе выполнить цикл: -отсчитать время в милисекундах равное Q -создать на В3 низкий уровень -отсчитать время в милисекундах равное W -создать на В3 высокий уровень -перейти в начало цикла (29 пункт) конец ну надеюсь что я ничего не упустил......вот вроде он , алгоритм))))теперь как это написать то на Си, это ппц......практики нет, .....по ссылкам лазить задрало....куча книг.....бесполезных непонятных примеров........нужна человеческая помощь что бы разобраться......а если мне 1 раз обьяснят как пишится слово "корова", то второй раз я к вам за таким проектом точно не обращусь....... что это будет???? это будет хрень короче.......4 цвета светодиодов меняется от нажатия на кнопку №1, последовательно 1 меняет другой за 1 нажатие...... а 5 выход нужен чтобы яркость регулировать......будет то открывать транзистор то закрывать.......тоесть среднедний ток за секунду уменьшим, а глаз этого не увидит..... вот так.....ну что, есть "учителя" , которые готовы "овце" заблудшей обьяснить как это на Си написать??))))) |
|
|
Кварц и его обвязку убрать, использовать встроенный RC-генератор. КРЕН-ку убрать, использовать обычный параметрический стабилизатор на стабилитроне 4V7. У кнопок убрать последовательные резисторы, стабилитроны и конденсаторы, оставить только подтягивающие резисторы. Если подключить кнопки к порту "В", то и подтягивающие резисторы можно также убрать, использовать встроенные в м/к. Зачем такое странное включение ключей и зачем их так много? Это (схема) работать не будет. Порты рассчитаны на максимальный ток 25мА! Достаточно 4-х транзисторов, чтобы зажечь 4 линейки."Много светодиодов с резисторами", это, я так понимаю, светодиодные линейки, стандартные или самопальные. Как подключены светодиоды, триадами с гасящим резистором, или по другому? Линейки обычно подключают плюсом к источнику питания 12В, минусом к коллектору ключа (N-P-N), эмиттер ключа - на общий, базу, через токоограничительный резистор на порт м/к. Можно подтянуть базу к общему резистором ок. 1 кОм. Управление - высоким уровнем открываем ключ, линейка светится, низким уровнем - запираем, линейка гаснет. Или вдуваем ШИМ, тогда можно плавно зажигать-гасить, зажигать линейку не в полную мощность, а на определенный % яркости свечения и прочие извраты делать. |
|