01.05.2007, 21:57
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
Сообщение от CERGEI1982
|
буду дальше язык си изучат
|
Посмотри "Си для МК" - pid.by.ru/05.htm
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
01.05.2007, 21:59
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
Сообщение от fmssp
|
проектик небольшой в Протеусе (CCS 4.032).Это только начало - к нему еще будут добавлятся функции.
|
Блиннн !
Ну хотя бы pic16F628
Прикрепленный файл: 7333131.rar
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
01.05.2007, 23:06
|
|
Вид на жительство
Регистрация: 02.09.2005
Сообщений: 332
Сказал спасибо: 0
Сказали Спасибо 20 раз(а) в 15 сообщении(ях)
|
Сообщение от avr123-nm-ru
|
Блиннн !
Ну хотя бы pic16F628
|
Ну извини
16f84a есть в натуре - сразу прошил и проверил...
Вот я на нем и отрабатываю. А вообще будет 12f629
|
|
|
|
02.05.2007, 18:39
|
|
Почётный гражданин KAZUS.RU
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
|
[quote="fmssp"]
Сообщение от CERGEI1982
|
пока не понятно,буду дальше язык си изучать,тогда разберусь
|
Вот тебе тёзка ( если я правильно "расшифровал" твой ник) ещё книжка про Си в помощь (на русском)
http://w13.easy-share.com/1045751.html Krupnik.Studying.C.pdf (2,99 MB)
И проектик небольшой в Протеусе (CCS 4.032).
Это только начало - к нему еще будут добавлятся функции.
Удачи![/quote
благодарствую,это мне на долго изучать.
а за примерчик спасибо,сяду поганяю
Прикрепленный файл: 7333131.rar
|
|
|
|
02.05.2007, 19:50
|
|
Почётный гражданин KAZUS.RU
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
|
И проектик небольшой в Протеусе (CCS 4.032).
Это только начало - к нему еще будут добавлятся функции.
Удачи!
Прикрепленный файл: 7333131.rar
если так я понял это тахометр приметивный,на трех светодиодах,подсчет ведется таймером TMR0,при каждом прерывании увеличивая на 1 TxCount,и когда придет фронт или спад вызывая прерывание по INT,и так 10 раз,потом число Tacho сравнивается с определеным числом и заживается выбраный светодиод.
1. почему ложим в tmr0 198,ведь 255-198=57 мкс ? (а надо 100 мкс)
2.почему по внешниму сигналу измеряем 10 импульсов?
и не вижу чтоб были разрешены прерывания от таймера,может что путаю,поправте.
вижу только глобальное прерывание и по внешниму если правельно сообразил.
enable_interrupts(int_ext);
enable_interrupts(global);
|
|
|
|
02.05.2007, 19:59
|
|
Почётный гражданин KAZUS.RU
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
|
что за ошибка при компиляции? может ты не CCS C компилировал
-- Прилагается рисунок: --
|
|
|
|
02.05.2007, 21:45
|
|
Вид на жительство
Регистрация: 02.09.2005
Сообщений: 332
Сказал спасибо: 0
Сказали Спасибо 20 раз(а) в 15 сообщении(ях)
|
Сообщение от CERGEI1982
|
если так я понял это тахометр приммтивный,на трех светодиодах,подсчет ведется таймером TMR0,при каждом прерывании увеличивая на 1 TxCount,и когда придет фронт или спад вызывая прерывание по INT,и так 10 раз,потом число Tacho сравнивается с определеным числом и зажигается выбраный светодиод.
|
Ну, вообще то это не тахометр, а сигнализатор. Зачастую на стрелочный тахометр смотреть некогда, а информация об оборотах нужна - вот тут сигнализатор в самый раз! Сначала был аналоговый http://fmssp.nm.ru/SKrOD/ - весьма неплохо себя зарекомендовал, но пороги переключения светодиодов "размытые". Вот я и решил сделать его на uC, а заодно и Си изучить
Сообщение от CERGEI1982
|
1. почему ложим в tmr0 198,ведь 255-198=57 мкс ? (а надо 100 мкс)
|
А потому, что в процессе выяснилось - последние версии компилятора "заточены" под 20мГц-вые процессоры,и встроенные функции обработки прерывания избыточны: они сохраняют и восстанавливают кучу всего. Из-за этого на 4мГц вся процедура занимает много времени. Вот и пришлось увеличивать значение,загружаемое в счетчик.
Сообщение от CERGEI1982
|
2.почему по внешниму сигналу измеряем 10 импульсов?
|
Усредняем измерянное значение.
Сообщение от CERGEI1982
|
и не вижу, чтобы были разрешены прерывания от таймера,может что путаю, поправьте.
вижу только глобальное прерывание и по внешнему, если правильно сообразил.
|
Это происходит в процедуре обработки прерывания INT0
Сообщение от CERGEI1982
|
что за ошибка при компиляции? может ты не CCS C компилировал
|
Странно... У меня всё ок. И компилятор CCS...
-- Прилагается рисунок: --
|
|
|
|
03.05.2007, 05:46
|
|
Почётный гражданин KAZUS.RU
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
|
Посоветуй программу для написания программ на си,чтоб можно было из книги Krupnik.Studying.C примеры написать, попробовать,проверить,посмотреть как работает.Желательно русскую
|
|
|
|
03.05.2007, 05:47
|
|
Почётный гражданин KAZUS.RU
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
|
Сообщение от fmssp
|
Сообщение от CERGEI1982
|
если так я понял это тахометр приммтивный,на трех светодиодах,подсчет ведется таймером TMR0,при каждом прерывании
что за ошибка при компиляции? может ты не CCS C компилировал
|
Странно... У меня всё ок. И компилятор CCS...
|
попробуй в самом CCS откомпилировать.
-- Прилагается рисунок: --
|
|
|
|
03.05.2007, 05:50
|
|
Почётный гражданин KAZUS.RU
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
|
CERGEI1982 писал(а):
1. почему ложим в tmr0 198,ведь 255-198=57 мкс ? (а надо 100 мкс)
А потому, что в процессе выяснилось - последние версии компилятора "заточены" под 20мГц-вые процессоры,и встроенные функции обработки прерывания избыточны: они сохраняют и восстанавливают кучу всего. Из-за этого на 4мГц вся процедура занимает много времени. Вот и пришлось увеличивать значение,загружаемое в счетчик.
А как ты узнаеш точное время исполнения функции прерывания.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 03:14.
|
|