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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> помогите пожалуйста с курсовиком - часы
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
tazik
сообщение Mar 30 2008, 09:07
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 195
Регистрация: 13-05-07
Из: Норильск
Пользователь №: 27 691



1) Семейство МК как-то оговорено (AVR, x51, PIC)?
2) Часы встроены в пульт оператора, или это какое внешнее устройство?
Go to the top of the page
 
+Quote Post
mahadeva
сообщение Mar 30 2008, 10:44
Сообщение #3





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



1) Тип МК Atmel AT89C51
Количество будильников 3
Время работы зуммера 30с
Частота мигания 0,5 Гц

2) как я понимаю, это должны быть часы встроенные в пульт оператора
Go to the top of the page
 
+Quote Post
Omen_13
сообщение Mar 30 2008, 11:46
Сообщение #4


Силовик-затейник
****

Группа: Модераторы
Сообщений: 766
Регистрация: 18-02-07
Из: Столица солнечного Башкортостана
Пользователь №: 25 467



т.е. надо разработать только часы, пульт оператора разрабатывать не надо?


--------------------
"Вперёд на мины, ордена потом!"
"инжинер/разработчик создает нечто, в отличии от многих других профессий. В этом есть сходность с художниками или музыкантами"(с)CodeWarrior1241
Go to the top of the page
 
+Quote Post
mahadeva
сообщение Mar 30 2008, 12:31
Сообщение #5





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



да, только часы с тремя будильниками разработать надо. к счастью больше ничего... я просто сейчас сам пытаюсь в этом разобраться, но как-то не особо получаетсяsad.gif
Go to the top of the page
 
+Quote Post
tazik
сообщение Mar 30 2008, 14:59
Сообщение #6


Частый гость
**

Группа: Свой
Сообщений: 195
Регистрация: 13-05-07
Из: Норильск
Пользователь №: 27 691



Цитата(mahadeva @ Mar 30 2008, 19:31) *
да, только часы с тремя будильниками разработать надо. к счастью больше ничего... я просто сейчас сам пытаюсь в этом разобраться, но как-то не особо получаетсяsad.gif


А в чем конкретно проблема? Может имеет смысл сначала разобраться с динамической индикацией? Или с этим-то как раз все нормально?

А.В. Фрунзе "Микроконтроллеры - это же просто!" Том1, страница 109 - подключение семисегментных индикаторов. В Вашем случае нет нужды экономить выводы контроллера, поэтому можно обойтись без дешифраторов. Только тогда придется дописать подпрограммку перекодировки двоичного кода в код для семисегментного индикатора. Ну и понятно, что подпрограмму обновления индикаторов лучше запускать по прерыванию таймера. Потом в это же прерывание можно будет добавить отсчет текущего времени

Сообщение отредактировал tazik - Mar 30 2008, 15:01
Go to the top of the page
 
+Quote Post
rezident
сообщение Mar 30 2008, 16:01
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



mahadeva, вы бы написали с чем именно у вас проблемы: с аппаратной реализацией часов, индикации, связи с пультом или с программной реализацией какой-либо функции ваших часов?
Go to the top of the page
 
+Quote Post
rv3dll(lex)
сообщение Mar 31 2008, 04:25
Сообщение #8


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

Группа: 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
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 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
Сообщение #10


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

Группа: 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
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 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
Сообщение #12


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

Группа: 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
rezident
сообщение Mar 31 2008, 08:43
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Чтобы не бредить насчет точности хода часов на МК можно почитать апликухи. Например, вот эту от Maxim/Dallas http://www.maxim-ic.com/appnotes.cfm/an_pk/58
Или вот эти от TI
http://focus.ti.com/analog/docs/techdocsab...actName=slua051
http://focus.ti.com/mcu/docs/mcusupporttec...actName=slaa225
http://focus.ti.com/mcu/docs/mcusupporttec...ctName=slaa076a

Сообщение отредактировал rezident - Mar 31 2008, 08:48
Go to the top of the page
 
+Quote Post
XVR
сообщение Mar 31 2008, 09:30
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 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
Go to the top of the page
 
+Quote Post
rv3dll(lex)
сообщение Mar 31 2008, 10:23
Сообщение #15


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

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



Цитата(XVR @ Mar 31 2008, 13:30) *
Экономили энергию (наверное)

Это говорит об уровне програмистов, писавших прошивку, или об примененых кварцах - можно найти кварц и с 100ppm


этот кварц застабилизирован на температуру тела человека

точность кварца не при чём
у меня было много аонов разных и выглядит всё очень интересно
можно настроить коррекцию на 1 минуту за пару недель, если не звонить по телефону будет всё хорошо

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

теперь прекратим звонить и пошло поехало
Go to the top of the page
 
+Quote Post

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

 


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


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