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

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

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

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

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

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

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

 
Опции темы
Непрочитано 11.05.2010, 16:39  
7Fantomas7
Почётный гражданин KAZUS.RU
 
Регистрация: 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.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
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.RU
 
Регистрация: 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.RU
 
Регистрация: 19.02.2008
Сообщений: 1,802
Сказал спасибо: 124
Сказали Спасибо 602 раз(а) в 419 сообщении(ях)
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.RU
 
Регистрация: 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.RU
 
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
7Fantomas7 на пути к лучшему
По умолчанию Re: AT Mega8 вольтметр прошу помочь

MasterMushi,
Стоит XP. Но проблема уже решена. Всеравно спасибо.
7Fantomas7 вне форума  
Непрочитано 23.05.2010, 16:16  
7Fantomas7
Почётный гражданин KAZUS.RU
 
Регистрация: 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, время: 20:04.


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