Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
11.05.2010, 16:39
|
|
Почётный гражданин KAZUS.RU
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
|
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 в семь старших битов порта
|
|
|
|
11.05.2010, 17:00
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: AT Mega8 вольтметр прошу помочь
Сообщение от 7Fantomas7
|
Зачем ивертировать?
Какой смысл инверсии?
Почему нельзя записать так
#define SEG_MASK (0x01)//00000001
|
Можно. Это дело вкуса и привычек
Сообщение от 7Fantomas7
|
#define 9 (0b00100001)// это 9
|
И так можно. Ну не с 9-кой конечно, а с sym_9 например. Но Си имеет приятную особенность - легкость повторного использования кода. Если написать подробно - с определением сегментов отдельно, то в следующем проекте можно использовать код повторно, даже если подключение сегментов изменилось. Достаточно поправить только 8 цифр в дефайнах. И не надо вспоминать какому разряду какой сегмент соответствует.
|
|
|
|
11.05.2010, 17:38
|
|
Почётный гражданин KAZUS.RU
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
|
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, //( ![Горд собой](images/smilies/icon_dovl.gif) 8
0b00100001, //(9)9
0b00001101, //(10)E
0b01011111, //(11)r
0b11111111 //(12)пусто индикатор погашен
};
Из всего написаного по правде говоря так и не понял почему нельзя делать операцию присвоения, я для этого специально нулевой бит сделал еденицей во всем масиве. Так и не понял что будет происходить со входом если туда постоянно перезаписывать еденицу имется в виду с подтягивающим резистором что будет происходить. Но раз рекомендуете так то буду делать так, появится желание всеже попробую с операцией присвоения но протеус наверное это врядле просимулирует как в железе соберу тогда и поиздеваюсь. Попробую вечером Весь знакогенератор со всеми потрохами собрать в одну функцию.
Все начинаю ковырять АЦП
Последний раз редактировалось 7Fantomas7; 11.05.2010 в 17:47.
|
|
|
|
11.05.2010, 17:40
|
|
Почётный гражданин KAZUS.RU
Регистрация: 19.02.2008
Сообщений: 1,802
Сказал спасибо: 124
Сказали Спасибо 602 раз(а) в 419 сообщении(ях)
|
Re: AT Mega8 вольтметр прошу помочь
Сообщение от 7Fantomas7
|
Зачем ивертировать?
Какой смысл инверсии?
Почему нельзя записать так
#define SEG_MASK (0x01)//00000001
или так
#define SEG_MASK (0b00000001)
|
Почему нельзя? Можно.
Сообщение от 7Fantomas7
|
#define 9 (0b00100001)// это 9
|
А так нельзя. Макро имя должно начинаться с символа. Просто 9 не пойдет.
Опоздал.
|
|
|
|
22.05.2010, 11:50
|
|
Почётный гражданин KAZUS.RU
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
|
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а я так и не смог получить.
Кто знает как решить проблему помогите.
|
|
|
|
22.05.2010, 18:28
|
|
Вид на жительство
Регистрация: 14.10.2009
Сообщений: 338
Сказал спасибо: 35
Сказали Спасибо 92 раз(а) в 73 сообщении(ях)
|
Re: AT Mega8 вольтметр прошу помочь
Какая ОС стоит на компе?
|
|
|
Сказали "Спасибо" MasterMushi
|
|
|
22.05.2010, 22:03
|
|
Почётный гражданин KAZUS.RU
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
|
Re: AT Mega8 вольтметр прошу помочь
MasterMushi,
Стоит XP. Но проблема уже решена. Всеравно спасибо.
|
|
|
|
23.05.2010, 16:16
|
|
Почётный гражданин KAZUS.RU
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
|
Re: AT Mega8 вольтметр прошу помочь
Все мозгов не хватает ![Бьюсь об стену](images/smilies/icon_obstenu.gif)
Вобшем написал вольтметр и даже в ПРОТЕУСЕ симулируется очень не плохо ![Очень счастлив](images/smilies/icon_grin.gif)
Начал дорабатывать, гасить нули перед цифрами, выводить Er при превышении измеряемым напряжением диапазона измерений и блин начались грабли ![Голова кругом](images/smilies/icon_rolleyes.gif) . Вобшем может кто глянет проект и объяснит чего я не так наделал ![Помогите!](images/smilies/icon_sos.gif) . В архиве проект CVAVR привязаный к протеусу, симуляция настроена. Версия CVAVR 2.04.4a, версия Протеуса 7.6 sp4.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
АЦП в mega8
|
FlashAck |
Микроконтроллеры, АЦП, память и т.д |
29 |
29.01.2010 17:50 |
Часовой пояс GMT +4, время: 20:04.
|
|