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

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

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

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

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

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

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

 
Опции темы

AT Mega8 вольтметр прошу помочь

Непрочитано 11.05.2010, 16:39  
7Fantomas7
Почётный гражданин KAZUS.RUN
 
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
7Fantomas7 на пути к лучшему
По умолчанию Re: AT Mega8 вольтметр прошу помочь

Все здаюсь щас съедет крыша
Цитата:
#define SEG_MASK (~0xFE) //~0b11111110, для исключения изменения PB0
Зачем ивертировать?
Какой смысл инверсии?
Почему нельзя записать так
#define SEG_MASK (0x01)//00000001
или так
#define SEG_MASK (0b00000001)
#define del (0b11111111)//гашение всех катодо
#define 9 (0b00100001)// это 9
PORTB=(PORTB&SEG_MASK)|del//погасили все катоды в порту
или так
PORTB=(PORTB&SEG_MASK)|sym9//записали символ 9 в семь старших битов порта
Реклама:
7Fantomas7 вне форума  
Непрочитано 11.05.2010, 17:00  
kison
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: AT Mega8 вольтметр прошу помочь

Сообщение от 7Fantomas7 Посмотреть сообщение
Зачем ивертировать?
Какой смысл инверсии?
Почему нельзя записать так
#define SEG_MASK (0x01)//00000001
Можно. Это дело вкуса и привычек
Сообщение от 7Fantomas7 Посмотреть сообщение
#define 9 (0b00100001)// это 9
И так можно. Ну не с 9-кой конечно, а с sym_9 например. Но Си имеет приятную особенность - легкость повторного использования кода. Если написать подробно - с определением сегментов отдельно, то в следующем проекте можно использовать код повторно, даже если подключение сегментов изменилось. Достаточно поправить только 8 цифр в дефайнах. И не надо вспоминать какому разряду какой сегмент соответствует.
kison вне форума  
Сказали "Спасибо" kison
7Fantomas7 (11.05.2010)
Непрочитано 11.05.2010, 17:38  
7Fantomas7
Почётный гражданин KAZUS.RUN
 
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
7Fantomas7 на пути к лучшему
По умолчанию Re: AT Mega8 вольтметр прошу помочь

kison, спасибо разумение появилось в необходимом объеме.
Цитата:
И так можно. Ну не с 9-кой конечно, а с sym_9 например
Я по правде сказать #define чегото сильно не полюбил и генератор знаков написал совсем не так, а вот так
unsigned char sym[]={
0b10000001, //(0)0
0b11110011, //(1)1
0b01001001, //(2)2
0b01100001, //(3)3
0b00110011, //(4)4
0b00100101, //(5)5
0b00000101, //(6)6
0b11110001, //(7)7
0b10000001, //(8
0b00100001, //(9)9
0b00001101, //(10)E
0b01011111, //(11)r
0b11111111 //(12)пусто индикатор погашен
};
Из всего написаного по правде говоря так и не понял почему нельзя делать операцию присвоения, я для этого специально нулевой бит сделал еденицей во всем масиве. Так и не понял что будет происходить со входом если туда постоянно перезаписывать еденицу имется в виду с подтягивающим резистором что будет происходить. Но раз рекомендуете так то буду делать так, появится желание всеже попробую с операцией присвоения но протеус наверное это врядле просимулирует как в железе соберу тогда и поиздеваюсь. Попробую вечером Весь знакогенератор со всеми потрохами собрать в одну функцию.
Все начинаю ковырять АЦП

Последний раз редактировалось 7Fantomas7; 11.05.2010 в 17:47.
7Fantomas7 вне форума  
Непрочитано 11.05.2010, 17:40  
andries5
Почётный гражданин KAZUS.RUN
 
Регистрация: 19.02.2008
Сообщений: 1,840
Сказал спасибо: 128
Сказали Спасибо 613 раз(а) в 430 сообщении(ях)
andries5 на пути к лучшему
По умолчанию Re: AT Mega8 вольтметр прошу помочь

Сообщение от 7Fantomas7 Посмотреть сообщение
Зачем ивертировать?
Какой смысл инверсии?
Почему нельзя записать так
#define SEG_MASK (0x01)//00000001
или так
#define SEG_MASK (0b00000001)
Почему нельзя? Можно.
Сообщение от 7Fantomas7 Посмотреть сообщение
#define 9 (0b00100001)// это 9
А так нельзя. Макро имя должно начинаться с символа. Просто 9 не пойдет.

Опоздал.
andries5 вне форума  
Непрочитано 22.05.2010, 11:50  
7Fantomas7
Почётный гражданин KAZUS.RUN
 
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
7Fantomas7 на пути к лучшему
По умолчанию Re: AT Mega8 вольтметр прошу помочь

Добрый день всем.
Кто может знает как решить проблему с CodeVisionAVR.
Вобшем установлен CodeVisionAVR 2.04, установлена AVR Studio 4.18.
Написан проект, проверен на отсутствие ошибок и предупреждений, успешно компилируется без ошибок и предупреждений, в при попытке сделать build the project выдает следующее:
Цитата:
Can't find Atmel's Assembler AVRASM2.EXE V2.1.0 or later.
AVRASM2.EXE is distributed with AVR Studio V4.17 or later.
You must place AVRASM2.EXE in the .../bin directory.
AVRASM2.EXE находтся в самой CodeVisionAVR в директории bin, указывал в настройках, не помогло.
AVRASM32.EXE находится в директории AVR Assembler прграммы AVR Studio 4.18, указывал в настройках, не помогло.
AVRASM2.EXE находится в директории AVR Assembler2 прграммы AVR Studio 4.18, указывал в настройках, не помогло.
Вобщем что не делал не помогло.
В конфигураторе проекта выходные файлы указаны COF, ROM, HEX, EEP вобшем не COFа не HEXа я так и не смог получить.
Кто знает как решить проблему помогите.
7Fantomas7 вне форума  
Непрочитано 22.05.2010, 18:28  
MasterMushi
Вид на жительство
 
Регистрация: 14.10.2009
Сообщений: 338
Сказал спасибо: 35
Сказали Спасибо 92 раз(а) в 73 сообщении(ях)
MasterMushi на пути к лучшему
По умолчанию Re: AT Mega8 вольтметр прошу помочь

Какая ОС стоит на компе?
MasterMushi вне форума  
Сказали "Спасибо" MasterMushi
7Fantomas7 (22.05.2010)
Непрочитано 22.05.2010, 22:03  
7Fantomas7
Почётный гражданин KAZUS.RUN
 
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
7Fantomas7 на пути к лучшему
По умолчанию Re: AT Mega8 вольтметр прошу помочь

MasterMushi,
Стоит XP. Но проблема уже решена. Всеравно спасибо.
7Fantomas7 вне форума  
Непрочитано 23.05.2010, 16:16  
7Fantomas7
Почётный гражданин KAZUS.RUN
 
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
7Fantomas7 на пути к лучшему
По умолчанию Re: AT Mega8 вольтметр прошу помочь

Все мозгов не хватает
Вобшем написал вольтметр и даже в ПРОТЕУСЕ симулируется очень не плохо
Начал дорабатывать, гасить нули перед цифрами, выводить Er при превышении измеряемым напряжением диапазона измерений и блин начались грабли. Вобшем может кто глянет проект и объяснит чего я не так наделал. В архиве проект CVAVR привязаный к протеусу, симуляция настроена. Версия CVAVR 2.04.4a, версия Протеуса 7.6 sp4.
Вложения:
Тип файла: zip Prog.zip (107.7 Кб, 99 просмотров)
7Fantomas7 вне форума  
 
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
АЦП в mega8 FlashAck Микроконтроллеры, АЦП, память и т.д 29 29.01.2010 17:50


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.