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

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

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

Сообщение ploop »

Он же вам русским языком говорит - "не могу открыть файл code.asm"
Файл-то где лежит? Пропишите полный путь к нему...
IvanM
Родился
Сообщения: 11
Зарегистрирован: Сб янв 24, 2009 21:04:12

Re: Мелкие практические вопросы

Сообщение IvanM »

Народ! Помогите с таймером1 в AT90S2313. Нужно его настроить на срабатывание по совпадению. Уже 3 книги перешерстил. А он никак не хочет срабатывать более одного раза. Обрабатываю прерывание TIM_COMP1. Работаю в АВР Студио 4.
Даю на суд код. Повыкидал все лишнее - оставил только суть. Задержку на срабатывание поставил чуть больше 5000 мкс. Ловлю срабатывание по регистру r19 названном - fp. Inc получается только один раз.

Простынь из кода в файле :)) (отредактировал 21.02.11 в 8:49)
Вложения
timer1.asm
(2.88 КБ) 301 скачивание
Последний раз редактировалось IvanM Пн фев 21, 2011 09:49:53, всего редактировалось 1 раз.
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20091
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

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

Сообщение Gudd-Head »

IvanM, не надо выкладывать такие простыни кода. С уважением :)
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

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

Сообщение ploop »

А то ща придёт злой дядя ploop и будет ругаться! :kill:

Вот пример настройки на срабатывание по совпадению:
ldi tr0,(1<<OCIE0A) ; прерывания по совпадению A
sts TIMSK0,tr0

ldi tr0,(1<<WGM01) ; режим срабатывания по совпадению
out TCCR0A,tr0

ldi tr0,ext_counter_cnt ; заряжаем число отсчетов A
out OCR0A,tr0
124bit
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Вт янв 25, 2011 04:48:40

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

Сообщение 124bit »

Есть выбор между
ATxMEGA-FastProg 300 грн ака авр ISP mk2
http://www.kosmodrom.com.ua/el.php?name=XMEGA-FP
и
AVR ISP v3.2 360грн
http://kosmodrom.com.ua/razrabotka/avr_isp_3_2.php

что посоветуете?
если учесть, что мне иксмеги прогить не надо и хочется чтоб все сразу поелетло на вин 7 без проблем с дровами


вообще, AVR ISP v3.2 - это что за зверь? он как avr ISP mk2 определяется или как avr ISP просто или как?
IvanM
Родился
Сообщения: 11
Зарегистрирован: Сб янв 24, 2009 21:04:12

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

Сообщение IvanM »

ploop писал(а):Вот пример настройки на срабатывание по совпадению:
ну так это таймер0 помоему. Помогите по моему примеру пожалуйста. Все делал как в книгах написано.
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

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

Сообщение ploop »

У вас первый таймер? Ну так делайте по аналогии. Проверьте значения битовых масок в регистрах настройки - возможно там ошибка. И советую задавать значения при настройке используя ИМЕНА битов, а не их числовое представление. Шанс ошибиться меньше.
Shurf
Встал на лапы
Сообщения: 83
Зарегистрирован: Ср май 12, 2010 10:24:41
Откуда: Чувашия, Новочебоксарск
Контактная информация:

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

Сообщение Shurf »

Можно ли определить ID датчика ds18b20 по маркировке на корпусе? Например мой датчик имеет надпись на корпусе:
0843С3
+161AN
Аватара пользователя
DJ_Kiridza
Мучитель микросхем
Сообщения: 458
Зарегистрирован: Пн дек 13, 2010 13:01:59
Откуда: Украина
Контактная информация:

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

Сообщение DJ_Kiridza »

Привета.
Если кто читал предыдущих два моих поста с описанием траблы - то проблема была в оптроне, выбросил оптрон, минус Midi порта кинул на минус схемы, ногу атмеги Tx подал через резак на Midi-In порта и всё заплясало....

непокоит следующее:

;Инициализация порта С
ldi temp, 0x00
out DDRC, temp ;Порт С на вывод
...
ldi KeyPinOut1,0xFE ;11111110
...
out PORTC,KeyPinOut1
Main:
....
rjmp Main:


(вынес запись в порт за пределы (ДО!) главного цикла программы - так чтб значение установилось 1 раз и не менялось)
Почему на ножках не появляется соотв. напряжение?
В смысле, вот я пишу в порт 0:
LDI temp,0x00
OUT PORTC,temp

но всех ногах порта С должно появиться около -5В (при напряжении питания атмеги 5В), правильно? у меня на всех ногах около 2,5В.... или я что-то упустил?
мысли мысли штош вы вйотесь
над мойейу головойу
вы там мосга нинайдете
нед там мосга! йа тупойе (БОР)
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

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

Сообщение ploop »

ldi temp, 0x00
out DDRC, temp ;Порт С на вывод

Это вы включили порт C на ВХОД :)
Аватара пользователя
DJ_Kiridza
Мучитель микросхем
Сообщения: 458
Зарегистрирован: Пн дек 13, 2010 13:01:59
Откуда: Украина
Контактная информация:

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

Сообщение DJ_Kiridza »

Тфуттыблин!!!.... от я торможу... 10 раз читал про это в даташите, но как-грицоо - смотрю в книгу, а вижу не так уж и много... пасиб что носом ткнули :))
мысли мысли штош вы вйотесь
над мойейу головойу
вы там мосга нинайдете
нед там мосга! йа тупойе (БОР)
IvanM
Родился
Сообщения: 11
Зарегистрирован: Сб янв 24, 2009 21:04:12

Re: Мелкие практические вопросы

Сообщение IvanM »

IvanM писал(а):Народ! Помогите с таймером1 в AT90S2313. Нужно его настроить на срабатывание по совпадению. Уже 3 книги перешерстил. А он никак не хочет срабатывать более одного раза. Обрабатываю прерывание TIM_COMP1. Работаю в АВР Студио 4.
Даю на суд код. Повыкидал все лишнее - оставил только суть. Задержку на срабатывание поставил чуть больше 5000 мкс. Ловлю срабатывание по регистру r19 названном - fp. Inc получается только один раз.
Простынь из кода в файле :)) (отредактировал 21.02.11 в 8:49)

Отвечу сам на свой вопрос. При выходе из обработчика прерывания надо писать RETI !!! (а не ret). Оказывается - разные савсем комманды. :shock:
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20091
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: Мелкие практические вопросы

Сообщение Gudd-Head »

IvanM писал(а):Отвечу сам на свой вопрос. При выходе из обработчика прерывания надо писать RETI !!! (а не ret). Оказывается - разные савсем комманды. :shock:

Не совсем. Можно вручную разрешать прерывания и выходить через ret.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
124bit
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Вт янв 25, 2011 04:48:40

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

Сообщение 124bit »

Ребята, зачем на этой схеме с тини
на AVCC , VCC и VCC к sd MMC по одному кондеру на 100 нанофарад?.. Если они ж вроде как параллельны стоят получается да еще и параллельны питанию с 100 микрофарадами?,

ЗАЧЕМ? можно я их вообще не поставлю, или все взорвется?
Вложения
sdsg.png
схема
(6.73 КБ) 376 скачиваний
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20091
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

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

Сообщение Gudd-Head »

124bit писал(а):ЗАЧЕМ? можно я их вообще не поставлю, или все взорвется?

Для лучшей фильтрации напряжения. Можете не ставить, ничего не взорвётся.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

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

Сообщение ploop »

Можете не ставить, ничего не взорвётся.

Да? А если на флешке коды запуска межконтинентальных ракет, а МК - командный пункт?
Аватара пользователя
musicman
Встал на лапы
Сообщения: 113
Зарегистрирован: Сб май 09, 2009 23:48:39
Откуда: spb

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

Сообщение musicman »

помогите прошить мк с помощью CVAvr
у меня есть мк atmega8535-16pu, распаял его на 5 контактов к lpt порту.
есть код написанный на С, для atmega16.
вопросы
что нужно переиначить в коде, чтобы записать его на мой мк? (они вроде совместимы),
программатор нужно выбрать: settings => Programmer => Kanda sistems stk200+/300, lpt1:378h ? (верно?)
почему при загрузке файла с расширением *.с мне недоступны вкладки в project ???
как это исправить. помогите, это первый мк, дальше вопросов будит меньше

код простой, для миди контроллера на 2-е крутилки. я так понимаю что нужно просто заменить

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

Chip type           : ATmega16
Program type        : Application
Clock frequency     : 1,000000 MHz
Memory model        : Small
External SRAM size  : 0
Data Stack size     : 256
*****************************************************/

#include <mega16.h>

на

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

Chip type           : ATmega8535
Program type        : Application
Clock frequency     : 1,000000 MHz
Memory model        : Small
External SRAM size  : 0
Data Stack size     : 256
*****************************************************/

#include <mega8535.h>

// Standard Input/Output functions
#include <stdio.h>

#include <delay.h>

#define ADC_VREF_TYPE 0x20
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20091
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

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

Сообщение Gudd-Head »

ploop писал(а):Да? А если на флешке коды запуска межконтинентальных ракет, а МК - командный пункт?

Ну, там же написано: всего лишь Voice PCM Sound Generator.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Chettuser

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

Сообщение Chettuser »

Оффтопик
ploop писал(а):Да? А если на флешке коды запуска межконтинентальных ракет, а МК - командный пункт?

Хана командному пункту!
Аватара пользователя
Грендайзер
Мучитель микросхем
Сообщения: 479
Зарегистрирован: Вт июн 02, 2009 22:38:40
Откуда: Город-герой Москва

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

Сообщение Грендайзер »

Здрасте всем, кого не видел :) Есть желание поуправлять амплифаером по шине SPI при помощи ПЛИС, но вот программист из меня, как хомяк из кошки :) посему не могу дописать программу. Придумал только часть, но вот в момент передачи данных по последовательной шине нужно послать (по отдельному проводу) стробирующий импульс (точнее подать 0) и завершить его (ьтобиш выставить 1) в момент окончания передачи битов данных. Может кто поможет дописать программку :( Буду очень признателен.

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

---- Uncomment the following library declaration if instantiating
---- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;

entity Amplifier is
Port ( clk : in STD_LOGIC;
reset : in STD_LOGIC);



end Amplifier;


architecture Behavioral of Amplifier is
signal i2 : integer range 0 to 7 :=0;
signal tx : std_logic := '0';
signal clk2 : std_logic := '0';
signal d : std_logic_vector (7 downto 0);
shared
variable n : integer range 0 to 8 :=0;

begin

with i2 select --для деления исходного тактового
clk2 <= '1' when 4, --сигнала (50МГц) в m раз
'0' when 0,
clk2 when others;

shared
variable n : integer range 0 to 8 :=0;


begin

d <= "01010111";

count_10MHz:process (clk)
begin

if clk'event and clk = '1' then --делю исходный тактовый сигнал
if i2 = 7 then --(50МГц) в m раз
i2 <= 0; --
else --
i2 <= i2 + 1; --
end if; --
end if; --
end process count_10MHz; --


process(reset, clk2) --преобразую параллельную шину
begin --d <= "01010111" в
if reset = '0' then --последовательную
i <= 0;
tx <= '0';
n := 0;
elsif clk2'event and clk2 = '1' then
if n = 0 then
n := 7;
else

n := n - 1;

end if;
end process transmission;

tx <= d(n); --присвыивая отдельные биты числа
--d сигналу tx
end Behavioral;

т.е. в момент когда n=7 (т.е. на последовательную шину выводится старший бит данных) необходимо вывести отдельным сигналом стробирующий импульс (а лучше с опережением на 30 нс).А в момент, когда n=0 (на шине младший бит данных) необходимо перевести импульс в лог. 1, и что б эта линия из единицы уже не выходила, т.е. ввсести её в какой нить цыкл. Никак не могу в голове мысли в кучку собрать :( Заранее спасибо :)
ИЛИ может кто подскажет, как реализовать протокол SPI на VHDL
Ответить

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