Мелкие вопросы по МК и ПЛИС.
Re: Мелкие вопросы по МК и ПЛИС.
Добрый вечер.
У меня вопрос. По идее код одинаков:
; 1
in temp, pind
cpi temp, 0b00000100
;2
in temp,pind2
cpi temp,1
;3
in temp,int0
cpi temp,1
Где int0 это pind2. Но в Протеусе реагирует только на 1 вариант.
Полный код прилагается.
У меня вопрос. По идее код одинаков:
; 1
in temp, pind
cpi temp, 0b00000100
;2
in temp,pind2
cpi temp,1
;3
in temp,int0
cpi temp,1
Где int0 это pind2. Но в Протеусе реагирует только на 1 вариант.
Полный код прилагается.
- Вложения
-
- edu3.asm
- (598 байт) 292 скачивания
- Meteor
- Друг Кота
- Сообщения: 3961
- Зарегистрирован: Пн июл 13, 2009 14:37:39
- Откуда: Московская область, наукоград.....
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
Правильно реагирует ибо команда in- предназначена для ввода из пространства ввода/вывода БАЙТАМИ.
Чувствительность к отдельному биту определяется командами SBIC или SBIS
Чувствительность к отдельному биту определяется командами SBIC или SBIS
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
- Chip115
- Сверлит текстолит когтями
- Сообщения: 1132
- Зарегистрирован: Пт фев 16, 2007 14:18:20
- Откуда: Новосибирск
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
И снова сдрасте)))
Пытаюсь прописать функцию задержки. Не работает. Не могу найти причину....Помогите, пожалуйста.
просто хочу мигать светодиодом. компилируется и прошивается без ошибок.
на сколько я понял, генератор по деффолту работает на 24,5 МГц... ?
Пытаюсь прописать функцию задержки. Не работает. Не могу найти причину....Помогите, пожалуйста.
просто хочу мигать светодиодом. компилируется и прошивается без ошибок.
Код: Выделить всё
#include <compiler_defs.h>
#include <C8051F410_defs.h>
void delay_ms (unsigned int delay);
void main ()
{
P1MDOUT = 0xFF;
XBR1 = 0x40;
while (1)
{
P1=0x40;
delay_ms(500);
P1=0x00;
delay_ms(500);
}
}
void delay_ms (unsigned int delay)
{
TMOD |= 0x02; // 8-bit counter/timer with reload mode
CKCON |= 0x02; // // SYSCLK/48 = 4 kHz SYSCLK=195 кГц
TR0=1; // запускаем таймер
while (delay!=0)
{
TH0=0xFE; // загружаем задержку, длительность 1 мс
TL0=0x01;
TF0=0; // сброс флага
while (!TF0); // палим флаг и декрементируем значение переменной delay
delay--;
}
TR0=0; // стоп таймер
}
на сколько я понял, генератор по деффолту работает на 24,5 МГц... ?
Последний раз редактировалось Chip115 Сб ноя 27, 2010 07:29:18, всего редактировалось 2 раза.
Теория — это когда все известно, но ничего не работает. Практика — это когда все работает, но никто не знает почему. Мы же объединяем теорию и практику: ничего не работает… и никто не знает почему!
© Альберт Эйнштейн
© Альберт Эйнштейн
Re: Мелкие вопросы по МК и ПЛИС.
А ты на чем пишеш? Си что ли. Пиши на ASMе-там все проще, вариантов уйма. 
- Chip115
- Сверлит текстолит когтями
- Сообщения: 1132
- Зарегистрирован: Пт фев 16, 2007 14:18:20
- Откуда: Новосибирск
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
и еще попутный вопрос.
Что если часть порта настроена цифровой вход, а другая часть на цифровой выход.
Допустим порт 1.
я записываю P1=0xFF , то на выходах будет лог.1 ,а что с теми,кто настроен на вход? на них тоже будет лог.1 или для них не важно что я там записал и они следят только за состоянием соответствующих выводов мк?
Что если часть порта настроена цифровой вход, а другая часть на цифровой выход.
Допустим порт 1.
я записываю P1=0xFF , то на выходах будет лог.1 ,а что с теми,кто настроен на вход? на них тоже будет лог.1 или для них не важно что я там записал и они следят только за состоянием соответствующих выводов мк?
Теория — это когда все известно, но ничего не работает. Практика — это когда все работает, но никто не знает почему. Мы же объединяем теорию и практику: ничего не работает… и никто не знает почему!
© Альберт Эйнштейн
© Альберт Эйнштейн
- Gudd-Head
- Друг Кота
- Сообщения: 20091
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: Мелкие вопросы по МК и ПЛИС.
Chip115 писал(а):я записываю P1=0xFF , то на выходах будет лог.1 ,а что с теми,кто настроен на вход? на них тоже будет лог.1 или для них не важно что я там записал и они следят только за состоянием соответствующих выводов мк?
Можно назначать биты логическими "И" &= и "ИЛИ" |=
Ну а что будет с теми, кто настроен на вход... Смотря какая у них нагрузка. Логично, что если они сидят на "земле", то даже выставив на порте "1", читаться она всё равно будет как "0".
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Re: Мелкие вопросы по МК и ПЛИС.
Не загружает значение из стека.
Код: Выделить всё
.include "d:\edu\edu3\m8def.inc"
.def temp = r16
.cseg
.org 0
rjmp reset
.org 9
rjmp timer_0_ovf
reset:
ldi temp,low(ramend)
out spl,temp
ldi temp,high(ramend)
out sph,temp
ldi temp,0b11111111
out ddrb,temp
ldi temp,0b00110000 ;гружу значения в стек
push temp;1
ldi temp,0b01101101
push temp;2
ldi temp,0b01111001
push temp;3
sei
ldi temp,0b00000001 ; настройка таймера
out tccr0,temp
ldi temp,0b00000001
out timsk,temp
inf:
sei ;ставлю флаг I для зацикленного прерывания
rjmp inf
timer_0_ovf:
cli
rjmp on
on:
pop temp ;гружу из стека и вывожу ... вот тут то и проблема не грузит из стека
out portb,temp
ldi temp,0b000000000;очищаю флаг таймера
out tifr,temp
in temp,pinb ;проверяю выводимое число
cpi temp,0b00110000
breq a
rjmp inf
a: reti
Re: Мелкие вопросы по МК и ПЛИС.
Флаги запроса прерывания (TIFR) очищаются записью в них еденицы.stima писал(а):Не загружает значение из стека.
Re: Мелкие вопросы по МК и ПЛИС.
stima, внимательно прочитайте, что делает инструкция reti...
- ibiza11
- Поставщик валерьянки для Кота
- Сообщения: 1900
- Зарегистрирован: Сб фев 21, 2009 13:11:40
- Откуда: Москва
Re: Мелкие вопросы по МК и ПЛИС.
asteroid7 писал(а):stima, внимательно прочитайте, что делает инструкция reti...
а также почитайте что происходит со стеком при прерывании...
Ставим плюсы: )
Re: Мелкие вопросы по МК и ПЛИС.
Т.е. стек не целесообразно использовать для хранения констант?
- Gudd-Head
- Друг Кота
- Сообщения: 20091
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: Мелкие вопросы по МК и ПЛИС.
stima писал(а):Т.е. стек не целесообразно использовать для хранения констант?
Константы, наверное, лучше хранить во шлэше.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
- PersidCat
- Родился
- Сообщения: 18
- Зарегистрирован: Чт дек 02, 2010 06:08:10
- Откуда: Россия
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
хочу заняться ПЛИСами
с чего начать?
вообще непонятно.
хочу брать ep2c10
с чего начать?
вообще непонятно.
хочу брать ep2c10
-
Chettuser
Re: Мелкие вопросы по МК и ПЛИС.
С этого: http://radiokot.ru/start/mcu_fpga/altera/
или с этого: http://radiokot.ru/start/mcu_fpga/xilinx/
к сожалению дальше они пока не расписаны.
или с этого: http://radiokot.ru/start/mcu_fpga/xilinx/
к сожалению дальше они пока не расписаны.
- PersidCat
- Родился
- Сообщения: 18
- Зарегистрирован: Чт дек 02, 2010 06:08:10
- Откуда: Россия
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
Chettuser писал(а):С этого: http://radiokot.ru/start/mcu_fpga/altera/
или с этого: http://radiokot.ru/start/mcu_fpga/xilinx/
к сожалению дальше они пока не расписаны.
здесь откопал туториал по плисам
но он недоделан
интересно узнать продолжение!
жду!!!

-
Chettuser
Re: Мелкие вопросы по МК и ПЛИС.
Я тоже жду. Уже полгода. По крайней мере это лучшее что мне попадалось. Книги не в счёт.
- Meteor
- Друг Кота
- Сообщения: 3961
- Зарегистрирован: Пн июл 13, 2009 14:37:39
- Откуда: Московская область, наукоград.....
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
Не ждите.
Уходите от схемных построений в сторону языков описания аппаратуры (для альтеры лучше взять квартус).
Сэкономите больше сил и продвинетесь значительно дальше (почти без книжек).
Уходите от схемных построений в сторону языков описания аппаратуры (для альтеры лучше взять квартус).
Сэкономите больше сил и продвинетесь значительно дальше (почти без книжек).
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Re: Мелкие вопросы по МК и ПЛИС.
можно ли, если не предполагается внутрисхемное программирование, вывод резет посадить прямо на +5???
KIT
- Gudd-Head
- Друг Кота
- Сообщения: 20091
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: Мелкие вопросы по МК и ПЛИС.
O-LED писал(а):можно ли, если не предполагается внутрисхемное программирование, вывод резет посадить прямо на +5???
В смысле, без резистора? Можно. Правда, тогда придётся питанием делать ресет
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
- Necroteeth
- Потрогал лапой паяльник
- Сообщения: 362
- Зарегистрирован: Вс окт 10, 2010 17:43:48
- Откуда: Воронеж
Re: Мелкие вопросы по МК и ПЛИС.
вечер добрый. хочу собрать программатор для lpt-порта. вот такой - http://myrobot.ru/stepbystep/mc_programmer.php
вопрос: резисторы обязательно 150 Ом или подойдут другого номинала? а то у меня в наличии сейчас только 220, 330 и 620 Ом
вопрос: резисторы обязательно 150 Ом или подойдут другого номинала? а то у меня в наличии сейчас только 220, 330 и 620 Ом