реклама на сайте
подробности

 
 
> помогите пожалуйста с курсовиком - часы
mahadeva
сообщение Mar 29 2008, 13:20
Сообщение #1





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



Ребят, помогите пожалуйста с курсовой работой - я что-то не понимаю как всё это реализовывается( вот само задание :

Разработать на основе однокристальной ЭВМ электронные часы для пульта оператора с заданными характеристиками.
Режимы работы:
отсчет и индикация текущего времени в формате (часы - минуты);
установка времени с пульта оператора;
установка будильников (часы, минуты);
включение будильника подачей сигнала зуммера и мигания лампочки на пульте.
На пульте предусмотрены клавиши установки "Время", "Будильник-1","Будильник-2","Будильник-3", "Час", "Мин" и линейный дисплей из пяти 7-сегментных индикаторов (2 для часов, 2 для минут и 1 для разделительного дефиса).
Разработать алгоритмы и программы процедур ввода, отсчета и вывода на дисплей.
Для отладки программ использовать виртуальную систему моделирования VSM из пакета PROTEUS. При отладке программы использовать виртуальные внешние устройства: кнопки, 7-сегментные индикаторы или ЖКД для отображения времени.

прошу хоть какой-либо помощи.
заранее спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
rv3dll(lex)
сообщение Mar 31 2008, 04:25
Сообщение #2


Полное ничтожество
*****

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



генератор часовых импульсов можно сделать только внешний

на генераторе делителе на серии 176 и завести его на вход прерывания.
использование встроенного генератора не обеспечит требуемой точности, даже если использовать режим автоперезагрузки таймера - в неше время за это ставили "3"
Go to the top of the page
 
+Quote Post
K_AV
сообщение Mar 31 2008, 07:01
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 492
Регистрация: 19-08-06
Пользователь №: 19 667



Цитата(rv3dll(lex) @ Mar 31 2008, 06:25) *
генератор часовых импульсов можно сделать только внешний
на генераторе делителе на серии 176 и завести его на вход прерывания.
использование встроенного генератора не обеспечит требуемой точности, даже если использовать режим автоперезагрузки таймера - в неше время за это ставили "3"
Просветите, пожалуйста, чем встроенный генератор (с внешним кварцем, разумеется) хуже внешнего генератора с таким же кварцем? Если речь о накоплении задержек при программной обработке прерываний по таймеру - кто мешает их заранее учесть или программно же компенсировать? Вроде как часы с коррекцией точности хода изобретены не вчера.
Тут ведь вроде бы часы - это только часы (контроллер не выполняет побочных задач неопределенной/переменной длительности).
Go to the top of the page
 
+Quote Post
rv3dll(lex)
сообщение Mar 31 2008, 07:16
Сообщение #4


Полное ничтожество
*****

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



Цитата(K_AV @ Mar 31 2008, 11:01) *
Просветите, пожалуйста, чем встроенный генератор (с внешним кварцем, разумеется) хуже внешнего генератора с таким же кварцем? Если речь о накоплении задержек при программной обработке прерываний по таймеру - кто мешает их заранее учесть или программно же компенсировать? Вроде как часы с коррекцией точности хода изобретены не вчера.
Тут ведь вроде бы часы - это только часы (контроллер не выполняет побочных задач неопределенной длительности).


если таймер без автоперезапуска это когда все 16 бит используются и идёт загрузка с помощью команд в векторе прерывания то

переход на вектор прерывания происходит не сиюсекундно а только после завершения текущей команды

так как длина команд различна, то задержка будет тоже различна и никакому подсчёту и коррекции не поддаётся.

кварц который на контроллере кривой и генерит выше
поэтому в нормальных контроллерах всегда есть ещё и часовой кварц

но лучше поставить внешний генератор делитель на микросхеме для часов в 176 серии или 4000 аналоге такая есть.
Go to the top of the page
 
+Quote Post
XVR
сообщение Mar 31 2008, 07:35
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата(rv3dll(lex) @ Mar 31 2008, 11:16) *
если таймер без автоперезапуска это когда все 16 бит используются и идёт загрузка с помощью команд в векторе прерывания то
переход на вектор прерывания происходит не сиюсекундно а только после завершения текущей команды
Так
Цитата
так как длина команд различна, то задержка будет тоже различна и никакому подсчёту и коррекции не поддаётся.
Не так, исходный таймер продолжает считать, так что его значение вполне можно использовать для учета той самой задержки. Обычно это делается просто путем прибавления константы к регистру таймера внутри прерывания.
Цитата
кварц который на контроллере кривой и генерит выше
Это бред. В контролере кварца вообще нет, кварц внешний. Точность этого внешнего кварца (какой бы кривой генератор не был в контролере) будет в несколько раз выше, чем у часового кварца (да еще вкупе с 176 серией)

Цитата
поэтому в нормальных контроллерах всегда есть ещё и часовой кварц
Есть, но для других целей. Он вешается на отдельный генератор и счетчик, которые будут продолжать считать, пока основной процессор находится в режиме SLEEP, прерывания от часового счетчика будут его будить. Делается это все для обеспечения режима низкого энергопотребления на фоне работающих часов (например при работе от батареек)
Цитата
но лучше поставить внешний генератор делитель на микросхеме для часов в 176 серии или 4000 аналоге такая есть.
Ага, и микроконтролер выкинуть (они иногда подвесают) и собрать все на 155 серии - 100% надежность lol.gif
Go to the top of the page
 
+Quote Post
rv3dll(lex)
сообщение Mar 31 2008, 08:01
Сообщение #6


Полное ничтожество
*****

Группа: 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 семейства.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- mahadeva   помогите пожалуйста с курсовиком - часы   Mar 29 2008, 13:20
- - tazik   1) Семейство МК как-то оговорено (AVR, x51, PIC)? ...   Mar 30 2008, 09:07
- - mahadeva   1) Тип МК Atmel AT89C51 Количество будильнико...   Mar 30 2008, 10:44
- - Omen_13   т.е. надо разработать только часы, пульт оператора...   Mar 30 2008, 11:46
- - mahadeva   да, только часы с тремя будильниками разработать н...   Mar 30 2008, 12:31
|- - tazik   Цитата(mahadeva @ Mar 30 2008, 19:31) да,...   Mar 30 2008, 14:59
- - rezident   mahadeva, вы бы написали с чем именно у вас пробле...   Mar 30 2008, 16:01
|- - XVR   Цитата(rv3dll(lex) @ Mar 31 2008, 12...   Mar 31 2008, 09:30
|- - rv3dll(lex)   Цитата(XVR @ Mar 31 2008, 13:30) Экономил...   Mar 31 2008, 10:23
|- - XVR   Цитата(rv3dll(lex) @ Mar 31 2008, 14...   Mar 31 2008, 12:21
- - rezident   Чтобы не бредить насчет точности хода часов на МК ...   Mar 31 2008, 08:43
- - tazik   Что-то автора поста не видно... Так не интересно   Mar 31 2008, 14:26
- - K_AV   Цитата(tazik @ Mar 31 2008, 16:26) Что-то...   Mar 31 2008, 18:27


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 17:48
Рейтинг@Mail.ru


Страница сгенерированна за 0.01442 секунд с 7
ELECTRONIX ©2004-2016