Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 28.07.2007, 04:25  
Curt_atmel-proger
Прохожий
 
Регистрация: 28.07.2007
Сообщений: 4
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Curt_atmel-proger на пути к лучшему
По умолчанию помогите с кодом для АВР. язык си.

Здравствуйте.
У меня возникла проблема с написанием или поиском кода на языке СИ для АВР.
Задумка такая: создать проект, чтобы автоматически после запуска шёл перебор подаваемой единицы на 5 пинов. Тоесть чтобы переменно подавался высокий уровень(тобишь 1) на порты контроллера. Чтобы этот перебор был автоматически и хаотичен.
Представление такое: включили, пошло "жанглирование" на пяти портах. Тоесть нужно создать алгоритм, в котором будет осуществляться хаотичный выбор порта на который будет подаваться высокий уровень.
Помогите пожалуйста с кодом.
Может у кого есть старые проекты такого плана.
Может кто-нибудь знает литературу в которой описано создание данного действия или просто литературу которая может помочь,подтолкнуть.
Помогите пожалуйта...
Реклама:
Curt_atmel-proger вне форума  
Непрочитано 28.07.2007, 11:13  
avr123-nm-ru
Почётный гражданин KAZUS.RU
 
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
avr123-nm-ru на пути к лучшему
По умолчанию

Вам нужно случайные (иди псевдо-) числа выводить в порт.

вот краткий курс avr123.nm.ru и там проекты на МК.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
avr123-nm-ru вне форума  
Непрочитано 02.08.2007, 04:15  
Curt_atmel-proger
Прохожий
 
Регистрация: 28.07.2007
Сообщений: 4
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Curt_atmel-proger на пути к лучшему
По умолчанию

Сообщение от avr123-nm-ru
Вам нужно случайные (иди псевдо-) числа выводить в порт.

вот краткий курс avr123.nm.ru и там проекты на МК.
Спасибо.
Скачал полный архив с Вашим курсом, но к сожалению ничего похожего в проектах я не нашёл. Может я чего пропустил? помогите пожалуйста почной сылкой или закиньте сюда.
Curt_atmel-proger вне форума  
Непрочитано 02.08.2007, 07:34  
stri
Прописка
 
Аватар для stri
 
Регистрация: 11.07.2006
Адрес: Ru, Nsk
Сообщений: 249
Сказал спасибо: 1
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
stri на пути к лучшему
По умолчанию

Скачайте с avr123.nm.ru архив FAQ (ссылка называется Скачать FAQ - сборник вопросов и ответов).
В нем есть файл (_77 псевдоСлучайное число получить.txt). Имхо то что надо.
stri вне форума  
Непрочитано 16.08.2007, 23:41  
LessM
Временная регистрация
 
Регистрация: 27.03.2007
Адрес: Москва
Сообщений: 50
Сказал спасибо: 21
Сказали Спасибо 1 раз в 1 сообщении
LessM на пути к лучшему
По умолчанию

Пожалуй тут спрошу, в основном у avr123.nm.ru Вот на страничке http://avr123.nm.ru/z09.htm такая фраза есть:
Цитата:
Внимание!

CodeVisionAVR позволяет использовать в программе виртуальный 16 битный регистр ADCW:
регистр ADCW
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
9
9
регистр ADCH регистр ADCL
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0

это бывает удобно !
Так что, просто ADCH он считать не позволяет??? А то я присвоил
ppmg=ADCH; , ошибок не выдало, а вот во что откомпиллится... ?
LessM вне форума  
Непрочитано 17.08.2007, 00:02  
retcom
Вид на жительство
 
Регистрация: 27.07.2006
Сообщений: 308
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
retcom на пути к лучшему
По умолчанию

В языке С существует функция rand(), которая позволяет генерировать случайные значения. Я не знаю, сишный компилятор под контроллеры использует ее или нет. Во всяком случае, можно попробовать. Если не получится, то надо будет открыть заголовочный файл ctime.h и переложить кодировку на МК. Потому что случайное число берется из-за привязки к системным чисам компа. Это на асме написано, если не ошибаюсь. Вам нужно будет сделать привязку к таймеру МК.
Вот пример кода на С++, выполните в какой-нибудь кансоли:

Код:
include‹iostream.h›
include‹iomanip.h›
include‹stdlib.h›
include‹ctime.h›

int main()
{
int n[10];
for(int i=0; i‹10; i++)
{
n[i]=rand();
}
cout‹‹"Element"‹‹setw(13)‹‹"Number";

for(i=0; i‹10; i++)
{
cout‹‹setw(13)‹‹i‹‹"Number"‹‹setw(13)‹‹n[i]‹‹endl;
}

return 0;
}
retcom вне форума  
Непрочитано 17.08.2007, 00:37  
double_dash
Прописка
 
Аватар для double_dash
 
Регистрация: 15.10.2006
Сообщений: 130
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 1 сообщении
double_dash на пути к лучшему
По умолчанию

А что если использовать способ,
который применяют повсеместно в кодировании
для получения псевдослучайных чисел:
сдвигать регистр,
а на вход подавать результат суммы по модулю 2 (XOR) определенных битов регистра:
Ну вот скажем пример для 4-х разрядного регистра
- если начальное состояние 1000,
то то последовательно будут получены следующие значения
1000, 0100, 0010, 1001, 1100, 0110, 1011, 0101,
1010, 1101, 1110, 1111, 0111, 0011, 0001, 1000

-- Прилагается рисунок: --
double_dash вне форума  
Непрочитано 17.08.2007, 00:49  
retcom
Вид на жительство
 
Регистрация: 27.07.2006
Сообщений: 308
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
retcom на пути к лучшему
По умолчанию

Цитата:
последовательно будут получены следующие значения
1000, 0100, 0010, 1001, 1100, 0110, 1011, 0101,
1010, 1101, 1110, 1111, 0111, 0011, 0001, 1000
Ему нужен хаос. Последовательность? Возможно. Как разновидность хаоса.
retcom вне форума  
Непрочитано 17.08.2007, 00:54  
LessM
Временная регистрация
 
Регистрация: 27.03.2007
Адрес: Москва
Сообщений: 50
Сказал спасибо: 21
Сказали Спасибо 1 раз в 1 сообщении
LessM на пути к лучшему
По умолчанию

retcom, double_dash, проехали уже, 2 недели назад... Тогда и надо было советовать и обсуждать...
LessM вне форума  
Непрочитано 17.08.2007, 08:46  
avr123-nm-ru
Почётный гражданин KAZUS.RU
 
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
avr123-nm-ru на пути к лучшему
По умолчанию

Сообщение от LessM
Так что, просто ADCH он считать не позволяет???
Позволяет конечно.

ADCW - просто для удобства пользователя введен.

Порядок чтения в задаче 11 ... /z11.htm
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
avr123-nm-ru вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Снова проблема с кодом - чего я опять не учел? greafuger Микроконтроллеры, АЦП, память и т.д 3 27.04.2008 07:25
Правильно ли я активизирую собаку для авр? junior Микроконтроллеры, АЦП, память и т.д 9 03.04.2008 16:11
Можно применить язык FCL (язык нечеткого логики) в AVR Kanava Микроконтроллеры, АЦП, память и т.д 4 13.12.2007 12:03
ключ для Микробейсик под АВР aleksandr-zh Proteus, KiCAD и другие ECAD 0 25.04.2007 21:48
Русский язык на mt-16s2d. GregoryN Микроконтроллеры, АЦП, память и т.д 1 30.07.2006 14:36


Часовой пояс GMT +4, время: 03:58.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot