Если на баскоме, то даю 99% (не... лучше 51%) что я в работе программы найду глюки, которые вы так и не сможете устранить.....pavel1979 писал(а):тоже недавно начал делать часы с 9(! на всек случай,потом можно убавить) будильниками,все на баскоме,на данный момент часы идут,есть установка будильников,вообще в целом сделаю часы-будильник-термометр-радио(м-45),часы софтовые,но из-за командировок времени почти нет(только вчера приехал и завтра опять в дорогу)
помогите с написанием программы для часов !
- Сообщения: 882
- Зарегистрирован: Ср фев 22, 2012 01:25:21
- Реклама
- Сообщения: 882
- Зарегистрирован: Ср фев 22, 2012 01:25:21
Ну вот... вечерок выделил... часики ожили...
Остальсь (начать и закончить...) реализовать настройку часов и будильников.
Сейчас пока затычки в функциях настроек.
Остальсь (начать и закончить...) реализовать настройку часов и будильников.
Сейчас пока затычки в функциях настроек.
- Вложения
-
- mega8_clock_9alarm.7z
- (18.25 КБ) 188 скачиваний
тоже недавно начал делать часы с 9(! на всек случай,потом можно убавить) будильниками,все на баскоме,на данный момент часы идут,есть установка будильников,вообще в целом сделаю часы-будильник-термометр-радио(м-45),часы софтовые,но из-за командировок времени почти нет(только вчера приехал и завтра опять в дорогу)[/quote]
Если на баскоме, то даю 99% (не... лучше 51%) что я в работе программы найду глюки, которые вы так и не сможете устранить.....[/quote]
спорить не стану,бывает разное,но и в любом другом компиляторе такое бывает,никто не может 100% гарантированно написать неглючную программу с первого раза(простые программы типа моргалки и т п не в счет)
но на нем писать проще,а асм и си-никак не могу освоить,поморгал-попищал и все-что и как дальше не понятно,а в баскоме все подробно и последовательно описано,начиная с моргалки-пищалки(в си больше ничего нет,голая программа без комментариев и обьяснений) до ацп,и2с,шим,twi и прочего,делайте выводы,Господа!!!
пример простых часов,16 строк
Если на баскоме, то даю 99% (не... лучше 51%) что я в работе программы найду глюки, которые вы так и не сможете устранить.....[/quote]
спорить не стану,бывает разное,но и в любом другом компиляторе такое бывает,никто не может 100% гарантированно написать неглючную программу с первого раза(простые программы типа моргалки и т п не в счет)
но на нем писать проще,а асм и си-никак не могу освоить,поморгал-попищал и все-что и как дальше не понятно,а в баскоме все подробно и последовательно описано,начиная с моргалки-пищалки(в си больше ничего нет,голая программа без комментариев и обьяснений) до ацп,и2с,шим,twi и прочего,делайте выводы,Господа!!!
пример простых часов,16 строк
shads где ошибка?я знаю,чисто из принципа сделал 3 пропущенные строчки,проявляется только в железе после 30 мин(у меня)
хоть 1 процент будет? муррррр
хоть 1 процент будет? муррррр
- Сообщения: 882
- Зарегистрирован: Ср фев 22, 2012 01:25:21
Насчет с первого раза написать без ошибки - это я согласен.....pavel1979 писал(а):спорить не стану,бывает разное,но и в любом другом компиляторе такое бывает,никто не может 100% гарантированно написать неглючную программу с первого раза(простые программы типа моргалки и т п не в счет)
Но я не об этом говорил... Я имею ввиду именно глючность компилятора.
Дело в том что чем сложнее программа, тем больше вылазит ньюансов, на которые программист не в состоянии повлиять.
Попробуйте напишите на баскоме программу часов с будильниками, с настройками, и прочими плюшками, например как описал ТС... тогда станет видно...
Ну я уже написал, что речь о программах не в 3 строчкиpavel1979 писал(а):shads где ошибка?я знаю,чисто из принципа сделал 3 пропущенные строчки,проявляется только в железе после 30 мин(у меня)
хоть 1 процент будет? муррррр
- Реклама
- Сообщения: 882
- Зарегистрирован: Ср фев 22, 2012 01:25:21
Еще вечерок и.....
Готова настройка времени часов.....
Ну а теперь точно осталось... начать и закончить....
целых ДЕВЯТЬ!!! будильников...
Или одного хватит?.....
Готова настройка времени часов.....
Ну а теперь точно осталось... начать и закончить....
целых ДЕВЯТЬ!!! будильников...
Или одного хватит?.....
- Вложения
-
- mega8_CLOCK_ALARM_LCD.7z
- (18.64 КБ) 191 скачивание
- Сообщения: 882
- Зарегистрирован: Ср фев 22, 2012 01:25:21
Ну вот, боле менее релиз готов..... (будильник один)
Правда я особо не тестировал, в проте быстренько проверил, вроде все работает... теперь бы в железяке кто проверил.....
Правда я особо не тестировал, в проте быстренько проверил, вроде все работает... теперь бы в железяке кто проверил.....
- Вложения
-
- mega8_CLOCK_ALARM_LCD.7z
- (19.71 КБ) 181 скачивание
На самом-то деле на ассемблере не сложно программировать, только там единственный момент - надо всегда знать что и когда делаешь. В остальном - можно обойтись соглашениями с самим собой что использовать, где использовать и как. Главное не забывать.
Самый простой способ разработки(впрочем на любом языке, но особенно это касается ассемблера) это метод разработки сверху-вниз когда ты определяешь устно самые крупные блоки а потом постепенно раскрываешь их на более мелкие части вплоть до уровня когда реализация частей не вызывает трудностей. Такой способ еще называют методом водопада. Иногда, некоторые части можно разрабатывать снизу-вверх, например когда у тебя уже есть готовая реализация считывания текущего времени а основной алгоритм еще не готов.
В любом случае, любая программа начинается с разработки принципа её функционирования и блок-схем отдельных алгоритмов.
Например, я бы вынес реализацию индикации в отдельный алгоритм - она будет полностью реализована в прерывании и работать независимо от основной программы - этот алгоритм просто последовательно(каждое прерывание очередную ячейку в соответствующий разряд) выводит нужное число заранее определенных ячеек памяти на индикатор, алгоритм прост как пробка. Со стороны программы теперь чтобы вывести что-то на индикатор достаточно положить нужные значения в эти ячейки памяти!
Второй алгоритм будет основным и выполнятся будет в бесконечном цикле - это опрос м/с времени и если оно изменилось - считать время с микросхемы и соответственно положить его в ячейки для последующего отображения на индикаторе, затем проверить кнопки - если что-то нажато выполнить соответствующий алгоритм и т.д. если заранее с учетом этого разделения составить блок-схему то реализация алгоритма на ассемблере не будет такой уж страшной проблемой. Главное быть внимательным - знать что в конкретный момент времени можно трогать а что нельзя.
Самый простой способ разработки(впрочем на любом языке, но особенно это касается ассемблера) это метод разработки сверху-вниз когда ты определяешь устно самые крупные блоки а потом постепенно раскрываешь их на более мелкие части вплоть до уровня когда реализация частей не вызывает трудностей. Такой способ еще называют методом водопада. Иногда, некоторые части можно разрабатывать снизу-вверх, например когда у тебя уже есть готовая реализация считывания текущего времени а основной алгоритм еще не готов.
В любом случае, любая программа начинается с разработки принципа её функционирования и блок-схем отдельных алгоритмов.
Например, я бы вынес реализацию индикации в отдельный алгоритм - она будет полностью реализована в прерывании и работать независимо от основной программы - этот алгоритм просто последовательно(каждое прерывание очередную ячейку в соответствующий разряд) выводит нужное число заранее определенных ячеек памяти на индикатор, алгоритм прост как пробка. Со стороны программы теперь чтобы вывести что-то на индикатор достаточно положить нужные значения в эти ячейки памяти!
Второй алгоритм будет основным и выполнятся будет в бесконечном цикле - это опрос м/с времени и если оно изменилось - считать время с микросхемы и соответственно положить его в ячейки для последующего отображения на индикаторе, затем проверить кнопки - если что-то нажато выполнить соответствующий алгоритм и т.д. если заранее с учетом этого разделения составить блок-схему то реализация алгоритма на ассемблере не будет такой уж страшной проблемой. Главное быть внимательным - знать что в конкретный момент времени можно трогать а что нельзя.
Я ленивый и напишу все на баскоме.
Здесь может быть ваша реклама.


