Перейти к содержанию

Изменение Прошивки Мк


Гость Александр

Рекомендуемые сообщения

Гость Александр

здравствуйте, решил собрать велокомпьютерпо этой схеме: http://cxem.net/mc/mc154.php Там 4 свободных порта на контроллере, я хочу прицепить кнопку к 7 выводу, и запрограммировать так: При длительном нажатии (2сек) включались габариты (лог.1 на 2 ноге), при повторном таком же нажатии отключались, а при кратковременном нажатии загоралась фара (лог 1 на 3 ноге) и так же кнопкой отключалась. И еще, если возможно прицепить к 15 ноге термодатчик ds18b20 и при длительном нажатии (более4сек) переводить устройство в режим измерения уличной температуры, а при простое велика более минуты (отсутствие сигнала с геркона) отключать дисплей и освещение для экономии аккумулятора. Помогите пожалуйста, очень нужно. Или подскажите как это сделать Заранее спасибо

Вот сам первоначальный код написанный в bascom avr :

'Прошивка для велокомпьютера на МК Atmel Attiny 2313
'Версия велокомпьютера: 1.0
'Операционная система велокомпьютера: OS11 V2.2 (VeloComputer)
'Тактовая частота МК велокомпьютера: 4МГц (внешний кварц)
'Дисплей: HD44780 16*1
'Велокомпьютер тестировался на велосипеде Keltt VCT26-90
'Длинна колеса (по умолчанию): 208см
'Разработчик: Яковлев Александр Вячеславович
'E-mail: haker.by@mail.ru
'Сайт: http:\\os11.ucoz.ru
'Беларусь, Витебск 06.08.2012
$regfile = "attiny2313.dat"
$crystal = 12000000
Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.1 , Rs = Portb.0
Config Lcd = 16 * 1a
Const Coleso = 1.09										 '190см
Config Pind.2 = Input
Config Pind.4 = Input									 'OK
Config Pind.5 = Input									 'CANCEL
Config Pind.6 = Input
Config Int0 = Falling
On Int0 Speedok
Enable Interrupts
Enable Int0
Dim Temptotal As Byte
Dim Total As Long
Dim All As Long
Dim Speed As Word
Dim Flag As Bit
'Dim S As Bit
Enable Interrupts
Enable Timer1
Config Timer1 = Timer , Prescale = 64
On Timer1 Incrt:
Start Timer1
$eeprom
Alldata:
Data 17%
$data
Readeeprom All , Alldata
Cls
Lcd "Starting OS11..."
Sound Portb.2 , 300 , 200
Wait 3
Cls
Lcd "Ver:2.2 (VeloC)"
Wait 1
Cls
Lcd "Yakovlev A. V."
Wait 3
Cls
Cursor Off
Do
Disable Interrupts
Locate 2 , 5
Lcd "km/h"
Locate 2 , 3
If Speed < 10 Then Lcd Speed ; " "
If Speed > 9 Then Lcd Speed
Locate 1 , 1
Lcd Total ; "m"
Enable Interrupts
'If Flag = 0 Then
'If Pind.2 = 0 Then
'Total = Total + Coleso
'All = All + Coleso
'Temptotal = Temptotal + Coleso
'Flag = 1
'End If
'End If
'If Pind.2 = 1 Then Flag = 0
If Pind.6 = 0 Then
Cls
Lcd "All:" ; All ; "m"
Sound Portb.2 , 150 , 90
Waitms 100
Sound Portb.2 , 150 , 90
Waitms 100
Sound Portb.2 , 150 , 90
Wait 2
Cls
End If
If Pind.4 = 0 Then
Cls
Lcd "All:" ; All ; "m Saved!"
Sound Portb.2 , 500 , 100
Writeeeprom All , Alldata
Wait 2
Cls
End If
If Pind.5 = 0 Then
Cls
Lcd "Total clear!"
Sound Portb.2 , 500 , 250
Wait 1
Total = 0
Cls
End If
'If S = 0 Then
'If Speed = 0 Then
'Sound Portb.2 , 500 , 250
'Waitms 100
'Sound Portb.2 , 500 , 250
'Waitms 100
'Sound Portb.2 , 500 , 250
'S = 1
'End If
'End If
'If Speed <> 0 Then S = 0
Loop
Speedok:
Total = Total + Coleso
All = All + Coleso
Temptotal = Temptotal + Coleso
Waitms 50
Gifr = 64
Return
Incrt:
Speed = 0
Speed = Temptotal
Temptotal = 0
Speed = Speed * 3600
Speed = Speed / 1000
Return

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

...Или подскажите как это сделать...

1. Открываешь в браузере поисковик, и вбиваешь в строку ввода "уроки по ____ для мк". Заместь черточек - тот язык программирования, с которым сталкивался/будешь на нем кодить для МК.

2. Постигаешь основы/изощренные премудрости языка, пишешь что-то свое (например, аналог программы выше).

3. И вот тут, если не получается, со своей прогой идешь сюда и тебе помогут.

ЗЫ: Не в обиду, но за тебя скорее всего никто ничего делать не будет... Хотя, исключения встречаются.

И пусть судьба не справедлива, Жизнь игра - играй красиво!

И что б не кикнули тебя, Не злить Админа, юзверя!

Люблю "спасибки" :)

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Сообщения

    • Шота дохрена. Это если мультик может на килогерце. Обычно нет, предел 400 Гц.
    • Да, сначала был написан бутлодер для тини 24. Там нет выделенной памяти под бутлодер и заморочек с областями откуда можно записывать и перезаписывать флеш из программы, там все просто! Также там нет УАРТА, пришлось написать. Ну и самое главное: перезаписывай любые страницы флеш из любого места! В тини 24 под бутлодер ушло 48% памяти. В проекте технологи выделили слишком мало физического места под схему. Потом развел плату, оказалось, что места не так уж и мало. Потом выяснилось, что пинов впритык, и если будет дальнейшее расширение, их может не хватить. И после долгих (ну очень долгих) изысканий (цена, доступность, размеры) остановился на 88 (очень низкая цена, корпус чуть больше чем у 24, датчик температуры, а это важно, но не критически). Да, и сейчас все программируют на С и др. языках высокого уровня, что занимает очень (ну очень) много места, и чипы с небольшой памятью остаются не востребованы, и как следствие низкий спрос, и низкая цена!!! И при тупом переносе программы перезаписи страниц флеш программа не заработала... Ну и пошли изыскания, и я набрел на ВАШ проект, самый полный и законченный на то время. Нужно было выяснить чип который был у меня битый или я что-то упустил при программировании? (в бутлодерах я новичек) Недостаток 88 на сегодня, то что из пользовательской памяти нельзя перепрограммировать флеш, хотя страница стирается.   По поводу ВАШЕЙ программы: выяснилось, что при включенном фьюзе WDT в конфигурации, соединение не устанавливается, а в хелпе это не отражено. В некоторых ситуациях соединение можно восстановить лишь отключив / включив питание, сброс через ножку ресет не помагает. Будем копать дальше,... и глубже....!   Иногда при "установить соединение" выдается сообщение, "соединение не установлено", а на осциллографе виден ответ с чипа?
    • Сейчас по входу стоит керамика 0,1 мкФ + электролит 220 мкФ, иголок вроде нет, ну во всяком случае старичек С1-93 их не показывает.
    • Платы материнки и УВ пока в брак.  - Семён Семёныч... (с) Вы ничего не забыли, сэр? Как вы собрались регулировать УВ по уровню выходного сигнала??? Решение уже есть, пока в процессе. Вот так оно лучше работает.
    • Ну в идеале каптоновым скотчем как вам сказали,но можно обмотать чем угодно лижбе диалектриком было и хотябы немного высокотемпературное,я бы термо усадку взял,поидеи хорошо пойдет  Ещё видел где трансформатор медно алюминиевой жилой был на ампер 10 если не больше на вид аж,и там алюминиевая обмотка сечением пол сантиметра была замотана в бумагу пропитанную в воске,слоем миллиметр примерно эта изоляция была 
    • Всем привет. Собрал мх50, запустился с первого раза, когда делал замеры, соскочил щуп, спалил выходники и пред, заменил, все ок. Питание тор 250 ватт 30х2 выход, после выпрямителя 44В 20000мкф в плечо  увеличил входные емкости на оконечниках, добавил шунтирующую пленку  плата софт старта присутсвует цепь буше взял из ОМ2.7 ТП выставил 100мА добавлена термозащита на каждый канал( но как оказалось, с таким корпусом хрен перегреешь) АС kef q150 dac Aiyima a5 max получилось снять 81 ватт с канала при 8ом нагрузке (на фото самое точное измерение на левом мультиметре) без сигнала если прислонится к ас еле уловимое шипение  при наличии сигнала все ок, играет отлично, мне очень понравилось. в планах ОМ2.7
    • Уже 52 скачивания. Значит актуальна.
  • Похожий контент

×
×
  • Создать...