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

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
stima
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Сб ноя 13, 2010 16:16:45

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

Сообщение stima »

Добрый вечер.
У меня вопрос. По идее код одинаков:
; 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: Мелкие вопросы по МК и ПЛИС.

Сообщение Meteor »

Правильно реагирует ибо команда in- предназначена для ввода из пространства ввода/вывода БАЙТАМИ.
Чувствительность к отдельному биту определяется командами SBIC или SBIS
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Аватара пользователя
Chip115
Сверлит текстолит когтями
Сообщения: 1132
Зарегистрирован: Пт фев 16, 2007 14:18:20
Откуда: Новосибирск
Контактная информация:

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

Сообщение Chip115 »

И снова сдрасте)))
Пытаюсь прописать функцию задержки. Не работает. Не могу найти причину....Помогите, пожалуйста.
просто хочу мигать светодиодом. компилируется и прошивается без ошибок.

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

#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 раза.
Теория — это когда все известно, но ничего не работает. Практика — это когда все работает, но никто не знает почему. Мы же объединяем теорию и практику: ничего не работает… и никто не знает почему!
© Альберт Эйнштейн
vovgrad
Родился
Сообщения: 12
Зарегистрирован: Ср окт 13, 2010 18:11:27

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

Сообщение vovgrad »

А ты на чем пишеш? Си что ли. Пиши на ASMе-там все проще, вариантов уйма. :)))
Аватара пользователя
Chip115
Сверлит текстолит когтями
Сообщения: 1132
Зарегистрирован: Пт фев 16, 2007 14:18:20
Откуда: Новосибирск
Контактная информация:

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

Сообщение Chip115 »

и еще попутный вопрос.
Что если часть порта настроена цифровой вход, а другая часть на цифровой выход.
Допустим порт 1.
я записываю P1=0xFF , то на выходах будет лог.1 ,а что с теми,кто настроен на вход? на них тоже будет лог.1 или для них не важно что я там записал и они следят только за состоянием соответствующих выводов мк?
Теория — это когда все известно, но ничего не работает. Практика — это когда все работает, но никто не знает почему. Мы же объединяем теорию и практику: ничего не работает… и никто не знает почему!
© Альберт Эйнштейн
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20091
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

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

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

Chip115 писал(а):я записываю P1=0xFF , то на выходах будет лог.1 ,а что с теми,кто настроен на вход? на них тоже будет лог.1 или для них не важно что я там записал и они следят только за состоянием соответствующих выводов мк?

Можно назначать биты логическими "И" &= и "ИЛИ" |= :)
Ну а что будет с теми, кто настроен на вход... Смотря какая у них нагрузка. Логично, что если они сидят на "земле", то даже выставив на порте "1", читаться она всё равно будет как "0".
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
stima
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Сб ноя 13, 2010 16:16:45

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

Сообщение stima »

Не загружает значение из стека.

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

.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
Аватара пользователя
ValBag
Потрогал лапой паяльник
Сообщения: 326
Зарегистрирован: Сб сен 06, 2008 12:56:13

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

Сообщение ValBag »

stima писал(а):Не загружает значение из стека.
Флаги запроса прерывания (TIFR) очищаются записью в них еденицы.
Аватара пользователя
asteroid7
Опытный кот
Сообщения: 703
Зарегистрирован: Вс янв 18, 2009 21:12:49

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

Сообщение asteroid7 »

stima, внимательно прочитайте, что делает инструкция reti...
Аватара пользователя
ibiza11
Поставщик валерьянки для Кота
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

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

Сообщение ibiza11 »

asteroid7 писал(а):stima, внимательно прочитайте, что делает инструкция reti...

а также почитайте что происходит со стеком при прерывании...
Ставим плюсы: )
stima
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Сб ноя 13, 2010 16:16:45

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

Сообщение stima »

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

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

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

stima писал(а):Т.е. стек не целесообразно использовать для хранения констант?

Константы, наверное, лучше хранить во шлэше.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
PersidCat
Родился
Сообщения: 18
Зарегистрирован: Чт дек 02, 2010 06:08:10
Откуда: Россия
Контактная информация:

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

Сообщение PersidCat »

хочу заняться ПЛИСами

с чего начать?

вообще непонятно.

хочу брать ep2c10
Chettuser

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

Сообщение Chettuser »

С этого: http://radiokot.ru/start/mcu_fpga/altera/
или с этого: http://radiokot.ru/start/mcu_fpga/xilinx/
к сожалению дальше они пока не расписаны.
Аватара пользователя
PersidCat
Родился
Сообщения: 18
Зарегистрирован: Чт дек 02, 2010 06:08:10
Откуда: Россия
Контактная информация:

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

Сообщение PersidCat »

Chettuser писал(а):С этого: http://radiokot.ru/start/mcu_fpga/altera/
или с этого: http://radiokot.ru/start/mcu_fpga/xilinx/
к сожалению дальше они пока не расписаны.


здесь откопал туториал по плисам

но он недоделан :(

интересно узнать продолжение!

жду!!! :dont_know:
Chettuser

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

Сообщение Chettuser »

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

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

Сообщение Meteor »

Не ждите.
Уходите от схемных построений в сторону языков описания аппаратуры (для альтеры лучше взять квартус).
Сэкономите больше сил и продвинетесь значительно дальше (почти без книжек).
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Аватара пользователя
O-LED
Мудрый кот
Сообщения: 1800
Зарегистрирован: Вт окт 05, 2010 01:08:57
Контактная информация:

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

Сообщение O-LED »

можно ли, если не предполагается внутрисхемное программирование, вывод резет посадить прямо на +5???
KIT
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20091
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

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

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

O-LED писал(а):можно ли, если не предполагается внутрисхемное программирование, вывод резет посадить прямо на +5???

В смысле, без резистора? Можно. Правда, тогда придётся питанием делать ресет :)
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
Necroteeth
Потрогал лапой паяльник
Сообщения: 362
Зарегистрирован: Вс окт 10, 2010 17:43:48
Откуда: Воронеж

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

Сообщение Necroteeth »

вечер добрый. хочу собрать программатор для lpt-порта. вот такой - http://myrobot.ru/stepbystep/mc_programmer.php
вопрос: резисторы обязательно 150 Ом или подойдут другого номинала? а то у меня в наличии сейчас только 220, 330 и 620 Ом :oops:
Ответить

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