Мелкие вопросы по МК и ПЛИС.

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Аватара пользователя
Meteor
Друг Кота
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Meteor »

Весьма странная конструкция
1: begin i=0; cout=clk; end;
Смущает зачем в процессе реагирующему на положительный фронт, присваивать значение выходу clk<=1? может потому квартус и ругается?
Более того, coutу присваивается значения в двух местах. вы уж выберите одно чтоли
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
skk
Сверлит текстолит когтями
Сообщения: 1123
Зарегистрирован: Вт июн 30, 2009 14:56:58
Откуда: Казань
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение skk »

извините, что вмешиваюсь в Вашу беседу, что можете сказать про микру DS12887 компании DALLAS? как я понял это микра часов реального времени с батарей на борту. только я че-то не нашел схемы с этой микрой, може дать ссылку если видели :))
Теория и практика иногда сталкиваются. Когда это случается, теория проигрывает. Всегда.
Аватара пользователя
Meteor
Друг Кота
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Meteor »

skk писал(а):...что можете сказать про микру DS12887 компании DALLAS?

Если вы ко мне, то я ничего нового не скажу- в моей практике надобности в ней не было
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Chettuser

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Chettuser »

Meteor писал(а):Смущает зачем в процессе реагирующему на положительный фронт, присваивать значение выходу clk<=1?

Попытка применить "ключ" для случая i=0.
skk
Сверлит текстолит когтями
Сообщения: 1123
Зарегистрирован: Вт июн 30, 2009 14:56:58
Откуда: Казань
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение skk »

Meteor писал(а):Если вы ко мне, то я ничего нового не скажу- в моей практике надобности в ней не было


Всем :))
Теория и практика иногда сталкиваются. Когда это случается, теория проигрывает. Всегда.
nozyl
Первый раз сказал Мяу!
Сообщения: 26
Зарегистрирован: Пн дек 24, 2012 18:32:07
Откуда: Беларусь, Гомель

подключение к программатору

Сообщение nozyl »

Доброго времени суток!

Прошу помочь разобратся в подключении к программатору громова (com) микросхему PIC16F628A
Последний раз редактировалось nozyl Пн дек 24, 2012 20:16:16, всего редактировалось 1 раз.
buregon
Родился
Сообщения: 3
Зарегистрирован: Вс ноя 25, 2012 08:12:54

Re: Никак не могу въехать в самые элементарные вопросы.

Сообщение buregon »

Добый день, не могу разобраться с работой каунтера на AVR (atmega8). По аналогии с обучалкой сделал моргалку, только вместо лампочек - последовательный вывод на 8-сегментный индикатор цифр от 0 до 9. Смена цифр идет по прерыванию Timer/Counter1 Compare Match A, пытаюсь настроить смену скорости переключения изменением значения каунтера по кнопке:

Код: Выделить всё

ldi Temp2,0x0d
sbis PINC, 3
out OCR1AH,Temp2

ldi Temp2,0x3d
sbis PINC, 4
out OCR1AH,Temp2

При нажатии на кнопку 3 - не происходит ничего, при нажатии на 4 - пропускает одну цифру на вывод. Не могу понять, в какую сторону копать...

Полный код:
Спойлер

Код: Выделить всё

.cseg
.org 0

rjmp Reset            ;1  All Reset
rjmp INT_0              ;2  External Interrupt Request 0
rjmp INT_1              ;3  External Interrupt Request 1
rjmp TM2_COM            ;4  Timer/Counter2 Compare Match
rjmp TM2_OVF            ;5  Timer/Counter2 Overflow
rjmp TM1_CAPT           ;6  Timer/Counter1 Capture Event
rjmp TM1_COMA           ;7  Timer/Counter1 Compare Match A
rjmp TM1_COMB           ;8  Timer/Counter1 Compare Match B
rjmp TM1_OVF            ;9  Timer/Counter1 Overflow
rjmp TM0_OVF            ;10 Timer/Counter0 Overflow
rjmp SerTrCom           ;11 Serial Transfer Complete
rjmp UsRxCom            ;12 USART Rx Complete
rjmp UsEmt              ;13 USART Data Register Empty
rjmp UsTxCom            ;14 USART Tx Complete
rjmp ADCCom             ;15 ADC Conversion Complete
rjmp EprRdy             ;16 EEPROM Ready
rjmp AnCom              ;17 Analog Comparator
rjmp TWSerIn            ;18 Two-Wire Serial Interface
rjmp ProMemRdy          ;19 Store Program Memory Ready


;Reset:                         ;1  All Reset
INT_0:                          ;2  External Interrupt Request 0
INT_1:                          ;3  External Interrupt Request 1
TM2_COM:                        ;4  Timer/Counter2 Compare Match
TM2_OVF:                        ;5  Timer/Counter2 Overflow
TM1_CAPT:                       ;6  Timer/Counter1 Capture Event
;TM1_COMA:                      ;7  Timer/Counter1 Compare Match A
TM1_COMB:                       ;8  Timer/Counter1 Compare Match B
TM1_OVF:                        ;9  Timer/Counter1 Overflow
TM0_OVF:                        ;10 Timer/Counter0 Overflow
SerTrCom:                       ;11 Serial Transfer Complete
UsRxCom:                        ;12 USART Rx Complete
UsEmt:                          ;13 USART Data Register Empty
UsTxCom:                        ;14 USART Tx Complete
ADCCom:                         ;15 ADC Conversion Complete
EprRdy:                         ;16 EEPROM Ready
AnCom:                          ;17 Analog Comparator
TWSerIn:                        ;18 Two-Wire Serial Interface
ProMemRdy:                      ;19 Store Program Memory Ready
          reti

.def     Temp=R16  ; общий
.def     Temp1=R17 ; забит счетчиком массива
.def     Temp2=R18
.def     Temp3=R19
.def     Temp4=R20 ; флаг для точки


Reset:    ldi Temp,0b11111111   
          out DDRD,Temp

          ldi Temp,0b00010000   
          out TIMSK,Temp

          ldi Temp,0b00000011   
          out TCCR1B,Temp

          ldi Temp,0x3d         
          out OCR1AH,Temp
          ldi Temp,0x09
          out OCR1AL,Temp

                  ldi r16,low(RAMEND)
                  out spl,r16
                  ldi r16,high(RAMEND)
                  out sph,r16

          ldi Temp1,0b00000001 

          ldi Temp,0           
          out TCNT1H,Temp
          out TCNT1L,Temp

          sei                   
;#####################################
;Основной цикл
;#####################################
Inf:     
sbis PINC, 0
ldi Temp1,10

sbis PINC, 1
ldi Temp4,1

sbis PINC, 2
ldi Temp4,0

ldi Temp2,0x0d
sbis PINC, 3
out OCR1AH,Temp2

ldi Temp2,0x3d
sbis PINC, 4
out OCR1AH,Temp2

jmp Inf             
;#####################################
;конец основного цикла
;#####################################


;#####################################
;Прерывание по счетчику
;#####################################
TM1_COMA:
         ldi Temp,0         ;   
         out TCNT1l,Temp   ;
         out TCNT1h,Temp   ;Обнуление таймера

         cpi Temp1,10       ;Проверка конца массива   
         breq Init          ;Если конец - пеход на обнулени адреса


ReadArray:
         ldi ZH,High(Array*2)
         ldi ZL,Low(Array*2)

         ldi Temp,0           
         add ZL,Temp1
         adc ZH,Temp

         lpm                 

         mov Temp,R0           
         inc Temp1           

       cpi Temp4, 1
       breq point

         rjmp Output         

point:
      ldi Temp3, 0b01000000
      add Temp,Temp3
      rjmp Output

Init:    ldi Temp1,0         
         rjmp ReadArray

Output:  out PortD,Temp       

         reti                 
;#####################################
;Конец прерывания по счетчику
;#####################################

Array:
.db   0b10011111,0b00000101,0b10110011,0b10100111,0b00101101,0b10101110,0b10111110,0b00000111,0b10111111,0b10101111
Аватара пользователя
1essor1
Нашел транзистор. Понюхал.
Сообщения: 162
Зарегистрирован: Вс дек 09, 2012 12:14:44

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение 1essor1 »

Хочу начать обучаться в направлении програмирования и использования МК, но инфы так много что не знаешь с чего начать. Например с каких мк AVR или PIC? Что неопходимо уже иметь в багаже знаний и умений чтобы начать? Бывалые люди в этом вопросе подскажете как быть и за что браться, как эффективнее начать обучение? Можно носом ткнуть в соответсвующие источники. Всякой помощи буду премного благодарен.
murzila
Мучитель микросхем
Сообщения: 436
Зарегистрирован: Сб апр 10, 2010 16:46:26

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение murzila »

Начните хотя бы отсюда или отсюда.
Аватара пользователя
1essor1
Нашел транзистор. Понюхал.
Сообщения: 162
Зарегистрирован: Вс дек 09, 2012 12:14:44

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение 1essor1 »

Благодарю! А почему именно семейство AVR? В чем их преимущество или просто отличия?
Аватара пользователя
uldemir
Друг Кота
Сообщения: 7357
Зарегистрирован: Пт авг 28, 2009 21:34:30
Откуда: 845-й км.

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение uldemir »

AVR - это прошлый век. Начинайте лучше с MSP430 от техасских инструментов. Простенькие микросхемки - никакой возни с фьюзами. правда для программирования нужно купить ихний Launchpad - макетка с программатором/отладчиком. Продаётся очень дёшево и работает через USB - не надо никаких LPT или com-портов. Если нужно что помощнее - берете от ST контроллеры STM8S, STM8L или, вообще, STM32.

А на самом деле - лучше выбирать то, что приглянется или первым попадёт под руку. Или кто есть из знакомых специалистов. Можешь заглянуть в тему где "девушка с паяльником желает познакомиться" - там тоже можно что-нибудь почерпнуть. Короче, послушай советов и делай по-своему.
А люди посмотрят и скажут: "Собаки летят. Вот и осень."
murzila
Мучитель микросхем
Сообщения: 436
Зарегистрирован: Сб апр 10, 2010 16:46:26

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение murzila »

Человек спросил про AVR/PIC, я ответил. Просто эти две платформы гораздо легче в изучении (и до сих пор достаточно популярны), чем упомянутые вами STM (про Cortex я вообще промолчу). Да и нагрузочная способность портов позволяет цеплять к ним те же светодиоды без опаски спалить порты. Программаторы для обеих платформ давно уже не требуют ни COM, ни LPT и вы это прекрасно знаете. Зачем же вводить человека в заблуждение. Предложенные вами MSP430 достаточно специфичны, ну и с периферией там весьма небогато в младших семействах. Не так ли?
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение ploop »

AVR - это прошлый век.

А алгебра логики - 19 век вообще, но без неё никуда :)
VR/PIC очень просты с точки зрения архитектуры, и хорошо подходят для обучения. После них уже не страшны более серьёзные МК. Иначе есть риск бездумного копипаста кусков кода и использования тяжёлых библиотек, без понимания сути, там, где этого совсем не надо. А это не есть хорошо.
Аватара пользователя
1essor1
Нашел транзистор. Понюхал.
Сообщения: 162
Зарегистрирован: Вс дек 09, 2012 12:14:44

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение 1essor1 »

Спасибо люди добрые) Сделал выводы, теперь знаю в каком направлении двигаться)
Аватара пользователя
uldemir
Друг Кота
Сообщения: 7357
Зарегистрирован: Пт авг 28, 2009 21:34:30
Откуда: 845-й км.

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение uldemir »

Мой пост был о том, что не надо зацикливаться на выборе из двух возможностей. Есть и другие.
А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Аватара пользователя
Volt_A
Родился
Сообщения: 15
Зарегистрирован: Чт июн 21, 2012 09:59:29

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Volt_A »

Прошу прощения, что копирую с соседней ветки, изначальный вопрос, просто ещё не до конца изучил структуру форума. Начал изучать мк ST, конкретно - stm8s103f2, скачал пример, но в нем используются другой порт I/O (да и МК другой), помогите (или ткните носом :)) ), где что изменить, для работы вывода на порт С (конкретно на PC7, так как использую мк в корусе TSSOP20/SO20, а вывода PD там нет: ПО IAR6.0 + ST-Link) , (а ещё лучше, где скачать примеры для этого мк :wink:) заранее спасибо...
Спойлер// ----------
// Учебный проект по STM8
// Урок-1.1 "Hello, world? No! Hello LED!!!"
// Мигание светодиодом с использованием программной задержки
// Автор: Eugeny Monastyrev
// Плата: STM8 Discovery, CLK=16MHz
//
// main.c подходит для любого компилятора IAR, Cosmic, Raisonance
// с использованием определений из библиотеки STMicroelectronics
// для компиляции требуются файлы stm8s.h и stm8s_type.h из библиотеки.
// В файле stm8s.h найдите и закомментируйте #define USE_STDPERIPH_DRIVER
// ----------
#include "stm8s.h"
#define LED_BIT 0 //на Discovery светодиод подключен на PD0, активный уровень - 0

void main( void )
{
long i;
//Инициализируем CLK
CLK->ECKR|=CLK_ECKR_HSEEN; //Разрешаем работу генератора с внешним кварцем (HSEEN)
CLK->SWCR|=CLK_SWCR_SWEN; //Разрешаем автопереключение источника Clock при неисправности генератора
CLK->SWR=0xB4; //Включаем clock от кварцевого генератора (HSE)
CLK->CKDIVR=0; //Делители частоты внутреннего и внешнего генератора на 1 - частота ядра максимальная
while(CLK->CMSR!=0xB4); //Ждем стабилизации частоты
CLK->CSSR|=CLK_CSSR_CSSEN; //Разрешаем автопереключение источника Clock на внутренний при неисправности генератора

//Инициализируем GPIO
GPIOD->DDR|=1<<LED_BIT; //PD0 - на вывод
GPIOD->CR1&=~(1<<LED_BIT); //PD0 - открытый сток
GPIOD->CR2&=~(1<<LED_BIT); //PD0 - ограничение скорости отключено

//Собственно мигание
while(1)
{
GPIOD->ODR^=(1<<LED_BIT); //Переключим светодиод
for(i=0;i<200000;i++) //Подождем...
{
asm("nop"); //для исключения влияния оптимизации
}
}
}
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение ploop »

Так у вас же каждая строчка раскомментирована!

Код: Выделить всё

#define LED_BIT 0 //на Discovery светодиод подключен на PD0, активный уровень - 0

Код: Выделить всё

//Инициализируем GPIO
GPIOD->DDR|=1<<LED_BIT; //PD0 - на вывод
GPIOD->CR1&=~(1<<LED_BIT); //PD0 - открытый сток
GPIOD->CR2&=~(1<<LED_BIT); //PD0 - ограничение скорости отключено

Меняете на нужный порт (GPIOC, и в цикле не забудьте), и нужный бит в дефайне (LED_BIT)

Это просто следуя логике.
Аватара пользователя
masmax
Открыл глаза
Сообщения: 43
Зарегистрирован: Ср дек 05, 2012 13:28:03
Откуда: Марляндия

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение masmax »

Помогите засветить модуль светодиодов. Попался под руку вот такой модуль китайский: http://leddiscovery.en.made-in-china.co ... odule.html Никакой инструкции нет, есть только маркировка входов. Подключил его к Atmega8535. Получилось поиграться с цветами, можно засветить либо весь экран, либо по половинкам. А как засветить отдельную точку?

Входы у модуля: по два на каждый цвет (R1,G1,B1,R2,G2,B2 верхняя и нижняя половины) плюс входы A,B,C с которыми я до сих пор не пойму логики. И стандартные Clock и OE. С последними двумя разобрался, с цветами тоже, а вот в ABC что писать? Плюс еще вход LAT есть непонятный. Даташит не нашел на модуль.
Аватара пользователя
ibiza11
Поставщик валерьянки для Кота
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение ibiza11 »

Ставим плюсы: )
Ответить

Вернуться в «Разные вопросы по МК»