Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 08.11.2008, 19:52  
lolodin
Временная регистрация
 
Регистрация: 06.04.2008
Сообщений: 54
Сказал спасибо: 11
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
lolodin на пути к лучшему
По умолчанию Маленький вопрос по программированию в ПРОТЕУСе

Савсем недавно стал изучать микроконтроллеры, интересно стало. Задался для себя задачей для начала сделать какой нить простенький проект в протеусе (помигать диодами да вывести число на монитор), но не очень то получилось.

Вот собрал такую штуку на ATMega8 (дисплей 7seg-mpx2-ca-blue)


Написал такую программку в CV AVR, чтобы для начала хотябы помигать
Код:
#include ‹mega8.h›
void main(void)
{
 DDRD = 0xFF;
 DDRC = 0x00;
 while(1)
 {
 PORTD = PORTC;
 }
}
Скомпилировалась нормально, без ошибок (мего сложная =xD). Потом хотел прошить его но протеус выдал такое


Объясните, что я сделал не так. И еще просьба объяснить в пару фраз как подлючается МК к ЛСД и как вывести на него число в 10ом формате (в принципе я видел как подключают его а вывод можно сделать через функцию которая бы принимала бы бинарное потом конвертировала в 10ое и далее как стринг его на моник, но это в теории как сделать на практике пока хз). И можно ли вместе батарейки сделать просто как нибудь подвести питание
(в TERMINALS нашел POWER но как это работает так и недопер).

Файлы проекта и прошивку прикрепил если кому не сложно объясните ошибки(если можно с кодом особенно по ЛСД).

Делал в Proteus 7.2 SP6 (build 536

Благодарю, что дочитали до конца =)

Прикрепленный файл: 147050.rar
Реклама:
lolodin вне форума  
Непрочитано 08.11.2008, 20:13  
CERGEI1982
Почётный гражданин KAZUS.RU
 
Аватар для CERGEI1982
 
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
CERGEI1982 на пути к лучшему
По умолчанию

Ты пишеш под авр,а компилируем под пики?
На счет протеуса прочти ветку ЧАВО по протеусу,очень помогает.
CERGEI1982 вне форума  
Непрочитано 08.11.2008, 21:35  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,018
Сказал спасибо: 936
Сказали Спасибо 2,270 раз(а) в 1,565 сообщении(ях)
dosikus на пути к лучшему
По умолчанию

Поменяй название темы, на более информативное ...
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 08.11.2008, 22:03  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию

Это все равно мигать не будет. Нету повода
kison вне форума  
Непрочитано 08.11.2008, 22:07  
lolodin
Временная регистрация
 
Регистрация: 06.04.2008
Сообщений: 54
Сказал спасибо: 11
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
lolodin на пути к лучшему
По умолчанию

Сообщение от CERGEI1982
Ты пишеш под авр,а компилируем под пики?
В смысле?
Я пытался 2 способами:
1) Source - Add.. Выбирал .asm и компилятор MPASM
2) В МК Program File - выбирал хекс
... результаты аналогичны...

Сообщение от CERGEI1982
На счет протеуса прочти ветку ЧАВО по протеусу,очень помогает.
А разве это не здесь? Вроде предложение выделить Протеусу отдельный подфорум так и осталось лишь предложением... А ФАК по нему уже читал и не раз, но там нету нужного.

А насчет поменять название... на какое? что нить типо помагите нубу... я просто умнее не придумал
lolodin вне форума  
Непрочитано 08.11.2008, 22:24  
lolodin
Временная регистрация
 
Регистрация: 06.04.2008
Сообщений: 54
Сказал спасибо: 11
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
lolodin на пути к лучшему
По умолчанию

Лано, с прошивкой разобрался (источник надо было тока в МК указать и в сорцах удалить так работает), разобрался с шиной питания.

Осталось самое сложное это ЛСД, и еще они (aka диоды)не мигают, но с этим можно разобратцо. Хватит насмерахаца, подскажите как сделать.
lolodin вне форума  
Непрочитано 08.11.2008, 23:13  
avr123-nm-ru
Почётный гражданин KAZUS.RU
 
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
avr123-nm-ru на пути к лучшему
По умолчанию

Сообщение от lolodin
помигать диодами да вывести число на монитор, но не очень то получилось.
Начни по-порядку - с краткого курса по AVR например:
http://avr123.nm.ru
устройство AVR и его портов
http://avr123.nm.ru/02.htm
и задача-упражнение № 1
http://avr123.nm.ru/06.htm
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
avr123-nm-ru вне форума  
Непрочитано 08.11.2008, 23:19  
delay
Гражданин KAZUS.RU
 
Регистрация: 24.06.2005
Сообщений: 535
Сказал спасибо: 262
Сказали Спасибо 216 раз(а) в 118 сообщении(ях)
delay на пути к лучшему
По умолчанию

По данному коду ничего мегать не должно.
DDRD = 0xFF; //установить порт D как выход
DDRC = 0x00; //установить порт C как вход

PORTD = PORTC; //Подать на выход порта D значение PORTC, что само по себе непонятно.

Для того, чтобы мигать нужно установить выход порта, т.е. выдать 1. Выдержать некую паузу. Сбросить выход того же порта, т.е. выдать 0.
Например в CodeVision это может быть выглядеть так:
PORTD.0 = 1; //установить выход 0 порта D
delay_ms(500); // Пауза 500мс
PORTD.0 = 0; //установить выход 0 порта D
delay_ms(30); // Пауза 500мс
При этом порт D, должен быть установлен, как выход
PORTD = 0xFF;
Здесь установлены как выходы все линии порта D. Используется в данном случае линия 0.
delay вне форума  
Непрочитано 08.11.2008, 23:29  
delay
Гражданин KAZUS.RU
 
Регистрация: 24.06.2005
Сообщений: 535
Сказал спасибо: 262
Сказали Спасибо 216 раз(а) в 118 сообщении(ях)
delay на пути к лучшему
По умолчанию

Я глянул на вашу схему, похоже вы собираетесь мигать коммутируя кнопку на входе порта С. Вход считывается оператором PIN.
В CodeVision, например, это можно написть PINC.0 - вход нулевого пина порта C.
Только когда вы это прошьете в МК, то результат будет отличаться от ожидаемого из-за дребезга. Где-то это уже обсуждалось. Предотваращается он программно и конденсаторами. Поищите на форуме.
Еще здесь есть ветка по литературе. Там много информации для изучения.
delay вне форума  
Непрочитано 08.11.2008, 23:35  
lolodin
Временная регистрация
 
Регистрация: 06.04.2008
Сообщений: 54
Сказал спасибо: 11
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
lolodin на пути к лучшему
По умолчанию

Сообщение от avr123-nm-ru
Сообщение от lolodin
помигать диодами да вывести число на монитор, но не очень то получилось.
Начни по-порядку - с краткого курса по AVR например:
http://avr123.nm.ru
устройство AVR и его портов
http://avr123.nm.ru/02.htm
и задача-упражнение № 1
http://avr123.nm.ru/06.htm
Ваш курс я изучал целый месяц с полного нуля =), распечатал его целиком, он у меня постоянно перед глазами это моя библия.

Изменил программу поумнее, но на порте Д все равно 1 не пояляеца чтобы я не делал
Код:
#include ‹mega8.h›

void main(void)
{
 PORTC = 0xFF;   //вкл. подтяжку
 DDRC  = 0x00;   //вход
 
 PORTD = 0x00;   //для порядка
 DDRD  = 0xFF;   //выход

 while (PINC == 0)  //проверка состояния кнопки
 {
 
 }
 
 while (PINC == 1)
 {
   while(1)
   {
    PORTD.0 = 1;
    PORTD.1 = 1;
   }
  }
}
Щас попробую с дилеем, всем спс что откликнулись.
lolodin вне форума  
 

Закладки
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Маленький вопросик по датчикам тока от Allegro porex Источники питания и свет 0 03.06.2008 23:10
Вопрос начинающего по программированию PIC16F84A eleorka Микроконтроллеры, АЦП, память и т.д 22 15.04.2008 12:10
Вопрос по программированию PIC eleorka Микроконтроллеры, АЦП, память и т.д 8 03.04.2008 06:34
кто встречал ну очень маленький передатчик?? savru Автоматика и аппаратура связи 3 14.05.2007 14:43


Часовой пояс GMT +4, время: 07:48.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot