|
помогите пожалуйста с курсовиком - часы |
|
|
|
Mar 29 2008, 13:20
|
Группа: Новичок
Сообщений: 3
Регистрация: 29-03-08
Пользователь №: 36 314

|
Ребят, помогите пожалуйста с курсовой работой - я что-то не понимаю как всё это реализовывается( вот само задание :
Разработать на основе однокристальной ЭВМ электронные часы для пульта оператора с заданными характеристиками. Режимы работы: отсчет и индикация текущего времени в формате (часы - минуты); установка времени с пульта оператора; установка будильников (часы, минуты); включение будильника подачей сигнала зуммера и мигания лампочки на пульте. На пульте предусмотрены клавиши установки "Время", "Будильник-1","Будильник-2","Будильник-3", "Час", "Мин" и линейный дисплей из пяти 7-сегментных индикаторов (2 для часов, 2 для минут и 1 для разделительного дефиса). Разработать алгоритмы и программы процедур ввода, отсчета и вывода на дисплей. Для отладки программ использовать виртуальную систему моделирования VSM из пакета PROTEUS. При отладке программы использовать виртуальные внешние устройства: кнопки, 7-сегментные индикаторы или ЖКД для отображения времени.
прошу хоть какой-либо помощи. заранее спасибо.
|
|
|
|
|
Mar 30 2008, 10:44
|
Группа: Новичок
Сообщений: 3
Регистрация: 29-03-08
Пользователь №: 36 314

|
1) Тип МК Atmel AT89C51 Количество будильников 3 Время работы зуммера 30с Частота мигания 0,5 Гц
2) как я понимаю, это должны быть часы встроенные в пульт оператора
|
|
|
|
|
Mar 30 2008, 12:31
|
Группа: Новичок
Сообщений: 3
Регистрация: 29-03-08
Пользователь №: 36 314

|
да, только часы с тремя будильниками разработать надо. к счастью больше ничего... я просто сейчас сам пытаюсь в этом разобраться, но как-то не особо получается
|
|
|
|
|
Mar 30 2008, 14:59
|
Частый гость
 
Группа: Свой
Сообщений: 195
Регистрация: 13-05-07
Из: Норильск
Пользователь №: 27 691

|
Цитата(mahadeva @ Mar 30 2008, 19:31)  да, только часы с тремя будильниками разработать надо. к счастью больше ничего... я просто сейчас сам пытаюсь в этом разобраться, но как-то не особо получается  А в чем конкретно проблема? Может имеет смысл сначала разобраться с динамической индикацией? Или с этим-то как раз все нормально? А.В. Фрунзе "Микроконтроллеры - это же просто!" Том1, страница 109 - подключение семисегментных индикаторов. В Вашем случае нет нужды экономить выводы контроллера, поэтому можно обойтись без дешифраторов. Только тогда придется дописать подпрограммку перекодировки двоичного кода в код для семисегментного индикатора. Ну и понятно, что подпрограмму обновления индикаторов лучше запускать по прерыванию таймера. Потом в это же прерывание можно будет добавить отсчет текущего времени
Сообщение отредактировал tazik - Mar 30 2008, 15:01
|
|
|
|
|
Mar 31 2008, 07:01
|
Местный
  
Группа: Свой
Сообщений: 492
Регистрация: 19-08-06
Пользователь №: 19 667

|
Цитата(rv3dll(lex) @ Mar 31 2008, 06:25)  генератор часовых импульсов можно сделать только внешний на генераторе делителе на серии 176 и завести его на вход прерывания. использование встроенного генератора не обеспечит требуемой точности, даже если использовать режим автоперезагрузки таймера - в неше время за это ставили "3" Просветите, пожалуйста, чем встроенный генератор (с внешним кварцем, разумеется) хуже внешнего генератора с таким же кварцем? Если речь о накоплении задержек при программной обработке прерываний по таймеру - кто мешает их заранее учесть или программно же компенсировать? Вроде как часы с коррекцией точности хода изобретены не вчера. Тут ведь вроде бы часы - это только часы (контроллер не выполняет побочных задач неопределенной/переменной длительности).
|
|
|
|
|
Mar 31 2008, 07:16
|

Полное ничтожество
    
Группа: Banned
Сообщений: 1 991
Регистрация: 20-03-07
Из: Коломна
Пользователь №: 26 354

|
Цитата(K_AV @ Mar 31 2008, 11:01)  Просветите, пожалуйста, чем встроенный генератор (с внешним кварцем, разумеется) хуже внешнего генератора с таким же кварцем? Если речь о накоплении задержек при программной обработке прерываний по таймеру - кто мешает их заранее учесть или программно же компенсировать? Вроде как часы с коррекцией точности хода изобретены не вчера. Тут ведь вроде бы часы - это только часы (контроллер не выполняет побочных задач неопределенной длительности). если таймер без автоперезапуска это когда все 16 бит используются и идёт загрузка с помощью команд в векторе прерывания то переход на вектор прерывания происходит не сиюсекундно а только после завершения текущей команды так как длина команд различна, то задержка будет тоже различна и никакому подсчёту и коррекции не поддаётся. кварц который на контроллере кривой и генерит выше поэтому в нормальных контроллерах всегда есть ещё и часовой кварц но лучше поставить внешний генератор делитель на микросхеме для часов в 176 серии или 4000 аналоге такая есть.
|
|
|
|
|
Mar 31 2008, 07:35
|
Гуру
     
Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847

|
Цитата(rv3dll(lex) @ Mar 31 2008, 11:16)  если таймер без автоперезапуска это когда все 16 бит используются и идёт загрузка с помощью команд в векторе прерывания то переход на вектор прерывания происходит не сиюсекундно а только после завершения текущей команды Так Цитата так как длина команд различна, то задержка будет тоже различна и никакому подсчёту и коррекции не поддаётся. Не так, исходный таймер продолжает считать, так что его значение вполне можно использовать для учета той самой задержки. Обычно это делается просто путем прибавления константы к регистру таймера внутри прерывания. Цитата кварц который на контроллере кривой и генерит выше Это бред. В контролере кварца вообще нет, кварц внешний. Точность этого внешнего кварца (какой бы кривой генератор не был в контролере) будет в несколько раз выше, чем у часового кварца (да еще вкупе с 176 серией) Цитата поэтому в нормальных контроллерах всегда есть ещё и часовой кварц Есть, но для других целей. Он вешается на отдельный генератор и счетчик, которые будут продолжать считать, пока основной процессор находится в режиме SLEEP, прерывания от часового счетчика будут его будить. Делается это все для обеспечения режима низкого энергопотребления на фоне работающих часов (например при работе от батареек) Цитата но лучше поставить внешний генератор делитель на микросхеме для часов в 176 серии или 4000 аналоге такая есть. Ага, и микроконтролер выкинуть (они иногда подвесают) и собрать все на 155 серии - 100% надежность
|
|
|
|
|
Mar 31 2008, 08:01
|

Полное ничтожество
    
Группа: Banned
Сообщений: 1 991
Регистрация: 20-03-07
Из: Коломна
Пользователь №: 26 354

|
Цитата(XVR @ Mar 31 2008, 11:35)  Не так, исходный таймер продолжает считать, так что его значение вполне можно использовать для учета той самой задержки. Обычно это делается просто путем прибавления константы к регистру таймера внутри прерывания. только в том случае если запрещать разрешать прерывания, что не всегда удаётся сделать Цитата(XVR @ Mar 31 2008, 11:35)  Это бред. В контролере кварца вообще нет, кварц внешний. Точность этого внешнего кварца (какой бы кривой генератор не был в контролере) будет в несколько раз выше, чем у часового кварца (да еще вкупе с 176 серией) про встроенный генератор никто не говорит если применить телекоммуникационные кварцы на 4096 килогерц который стоит 10 долларов - да. с обычным точность будет никакая даже внутри навороченных часов Casio есть кварц 32768 несмотря на кварц на 20 по поводу точности хода предлагаемых устройств можно судить по точности хода часов аонов, сделанных на контроллерах 51 семейства.
|
|
|
|
|
Mar 31 2008, 09:30
|
Гуру
     
Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847

|
Цитата(rv3dll(lex) @ Mar 31 2008, 12:01)  только в том случае если запрещать разрешать прерывания, что не всегда удаётся сделать В прерывании от таймера (где надо его корректировать) они уже запрещены Цитата про встроенный генератор никто не говорит если применить телекоммуникационные кварцы на 4096 килогерц который стоит 10 долларов - да. с обычным точность будет никакая Посмотрел на 'обычные' (в чип-дип) при цене 10-20р точность 15-20ppm, часовые кварцы - 20ppm, при той же цене. Правда по температурной зависимости обычные хуже, но не думаю, что найти нормальный кварц будет стоить $10. Цитата даже внутри навороченных часов Casio есть кварц 32768 несмотря на кварц на 20 Экономили энергию (наверное) Цитата по поводу точности хода предлагаемых устройств можно судить по точности хода часов аонов, сделанных на контроллерах 51 семейства. Это говорит об уровне програмистов, писавших прошивку, или об примененых кварцах - можно найти кварц и с 100ppm
|
|
|
|
|
Mar 31 2008, 10:23
|

Полное ничтожество
    
Группа: Banned
Сообщений: 1 991
Регистрация: 20-03-07
Из: Коломна
Пользователь №: 26 354

|
Цитата(XVR @ Mar 31 2008, 13:30)  Экономили энергию (наверное)
Это говорит об уровне програмистов, писавших прошивку, или об примененых кварцах - можно найти кварц и с 100ppm этот кварц застабилизирован на температуру тела человека точность кварца не при чём у меня было много аонов разных и выглядит всё очень интересно можно настроить коррекцию на 1 минуту за пару недель, если не звонить по телефону будет всё хорошо если начать звонить пользоваться книжками много и часто чтото менять часы начинают уходить если скорректировать их и пользоваться так дальше они опять примерно будут сохранять точность теперь прекратим звонить и пошло поехало
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|