Светодиодные фонари и световые приборы. Всё о светотехнике.
Изображения Дневники Группы Поиск
Вернуться   Форум FONAREVKA.RU Лаборатория Электроника и схемотехника Электроника Микроконтроллеры
Расширенный поиск
Забыли пароль? Регистрация

  • О нашем проекте
  • Светотехника и световые приборы
  • Правила форума
Проект FONAREVKA.RU специализируется на предоставлении всей необходимой информации по светотехнике:

— светодиодные фонари;
— различные источники питания;
— разнообразные зарядные устройства;
— освещение помещений и наружное освещение;
— световые приборы для личного, пассажирского и грузового транспорта;
— специальные световые приборы для медицины, для растений, для аквариумов, для террариумов, а также аварийно-сигнальные световые приборы;
— альтернативные источники света;
— лазеры и лазерная техника.

Если у вас есть вопросы по выбору фонарей, аккумуляторов и зарядных устройств ознакомьтесь с FAQ от наших экспертов:

F.A.Q. по выбору фонарей различных типов;
F.A.Q. по выбору аккумуляторов;
F.A.Q. по выбору зарядных устройств.
Ответ  Создать новую тему
Просмотров в теме 13916   Ответов в теме 29   Подписчиков на тему 0   Добавили в закладки 0
Опции темы Поиск в этой теме
Старый 30.11.2011, 12:58   21
ysmat
Новичок
 
Регистрация: 13.06.2010
Последняя активность: 29.10.2015 19:19
Сообщений: 18
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

Цитата:
Посмотреть сообщение Сообщение от Fonarik :
ассамблер более тесно взаимодействует с аппаратными свойствами МК. у меня почему-то рвотное отвращение от С... я учу его в колледже ради галочки... для МК сначала выучу ассамблер, а потом возможно пересяду на Си
асемблер простой но на нем больших прог не собереш
а с сложен своим синтаксисом всякие спец символы
простой и удобный компилятор CodeVisionAVR
ysmat вне форума   Ответить с цитированием Вверх
Старый 30.11.2011, 13:41   22
ysmat
Новичок
 
Регистрация: 13.06.2010
Последняя активность: 29.10.2015 19:19
Сообщений: 18
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

к примеру мой проект на с "безумные часы"
Код:
/*****************************************************
This program was produced by the
CodeWizardAVR V2.05.0 Professional
Automatic Program Generator
© Copyright 1998-2010 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com

Project : 
Version : 
Date    : 24.11.2011
Author  : NeVaDa
Company : 
Comments: 


Chip type               : ATtiny25
AVR Core Clock frequency: 0,032768 MHz
Memory model            : Tiny
External RAM size       : 0
Data Stack size         : 32
*****************************************************/





/**************************************************************************************************************************************************
ПОДКЛЮЧАЕМЫЕ МОДУЛИ,КОНСТАНТЫ,ПРИВЯЗКА ИМЕН,МАКРОСЫ,ГЛОБАЛЬНЫЕ ЯЧЕЙКИ,
**************************************************************************************************************************************************/
#include <tiny25.h>
#include <delay.h>
#include <stdlib.h>

bit on = 0;
unsigned int veroyat;
unsigned int count_veroyat;
register unsigned int secund = 0;

//*************************************************************************************************************************************************








/**************************************************************************************************************************************************
МОДУЛЬНЫЕ БЛОКИ
**************************************************************************************************************************************************/



/*****************************************************
ИНИЦИАЛИЗАЦИЯ АПАРАТНАЯ
*****************************************************/
void InitAll()
{
// Declare your local variables here

// Crystal Oscillator division factor: 1
#pragma optsize-
CLKPR=0x80;
CLKPR=0x00;
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif

// Input/Output Ports initialization
// Port B initialization
// Func5=In Func4=In Func3=In Func2=In Func1=Out Func0=Out 
// State5=T State4=T State3=T State2=P State1=0 State0=0 
PORTB=0x04;
DDRB=0x03;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=0xFF
// OC0A output: Disconnected
// OC0B output: Disconnected
TCCR0A=0x00;
TCCR0B=0x00;
TCNT0=0x00;
OCR0A=0x00;
OCR0B=0x00;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: 0,256 kHz
// Mode: Normal top=0xFF
// OC1A output: Disconnected
// OC1B output: Disconnected
// Timer1 Overflow Interrupt: On
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
PLLCSR=0x00;
TCCR1=0x08;
GTCCR=0x00;
TCNT1=0x00;
OCR1A=0x00;
OCR1B=0x00;
OCR1C=0x00;

// External Interrupt(s) initialization
// INT0: Off
// Interrupt on any change on pins PCINT0-5: Off
GIMSK=0x00;
MCUCR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x04;

// Universal Serial Interface initialization
// Mode: Disabled
// Clock source: Register & Counter=no clk.
// USI Counter Overflow Interrupt: Off
USICR=0x00;

// Analog Comparator initialization
// Analog Comparator: Off
ACSR=0x80;
ADCSRB=0x00;
DIDR0=0x00;

// ADC initialization
// ADC disabled
ADCSRA=0x00;
}
//*****************************************************



//*************************************************************************************************************************************************




/**************************************************************************************************************************************************
ПРЕРИВАНИЯ
**************************************************************************************************************************************************/

interrupt [TIM1_OVF] void timer1_ovf_isr(void)
{
if ((secund == 0) && (on != 1))
  {
   PORTB.0 =  (~PINB.0);
   PORTB.1 =  (~PINB.1);
   secund = 60;
  }
  
else {secund--;}

if (PINB.2 == 1)  // ЦИКЛ ТАКТОВ ПО ТАМПЕРУ
 {
   while (PINB.2 == 1)
   {
    PORTB.0 =  (~PINB.0);
    PORTB.1 =  (~PINB.1);
    delay_ms(200);
   }
  secund = 60;
 }


}

//*************************************************************************************************************************************************









void main(void)
{
InitAll();

PORTB.0 = 1; // НАЧ ИНВЕРС
PORTB.1 = 0;

#asm("sei");

srand(0x0AD1); //ЗАПУСК СЛУЧ ИНИЦИАЛИЗАЦИИ
while (1)
      {  
       unsigned int sluc2;
       unsigned int sluc1;
       unsigned int sluc3;
       unsigned int count;
       unsigned int TEMP;  
       
      sluc1 = rand();
      sluc2 = rand();   // ПОЛУЧЕНИЕ ЧИСЕЛ 
       
       if (count_veroyat != 0)  // ЕСЛИ ВЕРОЯТНОСТЬ ЕСТЬ ВХОДИМ В НЕЁ
        {
         sluc3 = (sluc2 + veroyat); // +
         sluc2 = (sluc2 - veroyat); // -
          if ((sluc1 >= sluc2) && (sluc1 <= sluc3)) // СОВПАДЕНИЕ НАЙДЕНО РЕЖИМ БЕШЕННОГО ТАМПЕРА
            {

              count = (rand() % 10); // ВЗЯТЬ ВЕЛИЧИНУ ОСТАТКА ОТ ДЕЛЕНИЯ
              TEMP = (count * 60); // ПОЛУЧТЬ КОЛ_ВО СЕКУНД  
              
              secund +=  TEMP; // ДОБАВЛЕНИЕ СЕКУНД ДЛЯ КОМПЕНСАЦИИ БЕЗУМИЯ 
              on = 1;  // ЗАПРЕТИТЬ РЕЖИМ ПО ПРЕРИВАНИЯМ 
               for (; count != 0; count--) // ГЛЮКИ ПОШЛИ 
                 {

                  PORTB.0 =  (~PINB.0);
                  PORTB.1 =  (~PINB.1);
                  delay_ms(200);
                  
                 } 
             
             
             on = 0;
            } 
            
         count_veroyat--;   
        }
       else // ЕСЛИ СТЕРТА ВЕРОЯТНОСТЬ НАЙТИ НОВУЮ
         {
         count_veroyat = sluc2;
         veroyat = (sluc1 % 20);
        

         }
         
       delay_ms(700);

      }
}
ysmat вне форума   Ответить с цитированием Вверх
Старый 30.11.2011, 20:36 Автор темы   23
lasers_Fonarik
Увлеченный
 
Аватар для lasers_Fonarik
 
Регистрация: 18.02.2010
Последняя активность: 05.03.2014 20:17
Сообщений: 371
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

Отправить сообщение для lasers_Fonarik с помощью ICQ
По умолчанию

Если честно, меня это уже начинает харить! все так распинаются что язык Си такой крутой, куча всяких преимуществ перед ассемблером и т.д. такое чувство я заставляю писать на ассемблере. нравится Си, пишите на Си. я пишу на чем хочу.
и ещё, если кто нибудь ещё захочет сказать что "Си круче" и при этом не знает ассемблер, прочитайте что собой представляет сам язык
http://ru.wikipedia.org/wik...
оссобенно эту фразу:
Команды языка ассемблера один к одному соответствуют командам процессора. Фактически, они и представляют собой более удобную для человека символьную форму записи — мнемокоды — команд и их аргументов.
ещё вопросы?
__________________


lasers_Fonarik вне форума   Ответить с цитированием Вверх
Старый 01.12.2011, 10:52   24
SS20
Ветеран Фонарёвки
 
Аватар для SS20
 
Регистрация: 15.02.2010
Последняя активность: 17.10.2018 15:32
Сообщений: 1039
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

прально говориш!!!!!!
__________________
[SIGPIC][/SIGPIC]
Все права защищены, спросите у Димана. ®


SS20 вне форума   Ответить с цитированием Вверх
Старый 01.12.2011, 14:25   25
ysmat
Новичок
 
Регистрация: 13.06.2010
Последняя активность: 29.10.2015 19:19
Сообщений: 18
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

а я не говорю что с круче
он не очень удобен синтаксисом и для него очень важен хороший редактор кода
например если {} не выделяються как в редакторе borland6 понять что во что вложено
тяжело
ysmat вне форума   Ответить с цитированием Вверх
Старый 01.12.2011, 14:40   26
ysmat
Новичок
 
Регистрация: 13.06.2010
Последняя активность: 29.10.2015 19:19
Сообщений: 18
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

примитивный генератор шума на asm тут с точно не нужен
Код:
.include "tn13def.inc"		
;**********************************************************************************************************************************************************
; ИМЕНА И НАЗВАНИЯ
;**********************************************************************************************************************************************************

            .DEF BUF  = R16
            .DEF BUF2 = R17
;**********************************************************************************************************************************************************

;НАЧАЛО
            .CSEG
            .ORG 	0x0000	
             RJMP 	START

START:
             LDI 	BUF,(1<<PB0) | (1<<PB1)	 ;НОЖКИ НА ВЫХОД
	     OUT 	DDRB,BUF

             CLI                     ;ВСЕ ПРЕРИВАНИЯ ЗАГЛУШЕНЫ
             LDI   R18,0xF3          ;СЛУЧАЙНЫЕ ЧИСЛА В ЯЧЕЙКИ        
             LDI   R19,0xBB
	     LDI   R20,0xCF
             LDI   R21,0x09         
             LDI   R22,0x95
	     LDI   R23,0x0F
             LDI   R24,0x11
	     LDI   R25,0x78
             LDI   R26,0x34

CIKL_SUM:    
             ROR   R18               ;СДВИГИ С XOR
             ROR   R19
             ROR   R20
             ROR   R21
             ROR   R22
             ROR   R23
             ROR   R24
             ROR   R25
             ROR   R26
             MOV   BUF,R19           ;
             EOR   BUF,R23           ;XOR 
	     MOV   R26,BUF
             MOV   BUF,R21           ;
             EOR   BUF,R22           ;XOR 
	     MOV   R25,BUF

             MOV   BUF,R25       
             SBRC  BUF,1             ;ЕСЛИ 1 ТО КОПИРУЕМ ЕЕ В НОЖКУ 0
             SBI   PORTB,0
             SBRS  BUF,1             ;ЕСЛИ 0 ТО КОПИРУЕМ ЕГО В НОЖКУ 0
             CBI   PORTB,0

             MOV   BUF,R26
             SBRC  BUF,1             ;ЕСЛИ 1 ТО КОПИРУЕМ ЕЕ В НОЖКУ 1
             SBI   PORTB,1
             SBRS  BUF,1             ;ЕСЛИ 0 ТО КОПИРУЕМ ЕГО В НОЖКУ 1
             CBI   PORTB,1
             RJMP  CIKL_SUM
ysmat вне форума   Ответить с цитированием Вверх
Старый 01.12.2011, 16:31 Автор темы   27
lasers_Fonarik
Увлеченный
 
Аватар для lasers_Fonarik
 
Регистрация: 18.02.2010
Последняя активность: 05.03.2014 20:17
Сообщений: 371
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

Отправить сообщение для lasers_Fonarik с помощью ICQ
По умолчанию

ты лучше бы со схемами выкладывал, ато от одного кода толку мало
lasers_Fonarik вне форума   Ответить с цитированием Вверх
Старый 01.12.2011, 19:06   28
ysmat
Новичок
 
Регистрация: 13.06.2010
Последняя активность: 29.10.2015 19:19
Сообщений: 18
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

Цитата:
Посмотреть сообщение Сообщение от Fonarik :
ты лучше бы со схемами выкладывал, ато от одного кода толку мало
вот схема к радиочастотному генератору шума
та что error не совсем рабочая в ней свч задающий генератор
работает не стабильно
не помню точно но скорей всего даже давал тебе платы для него
Вложения
Тип файла: rar GEN_SUM.rar (94.3 Кб, 278 просмотров)
ysmat вне форума   Ответить с цитированием Вверх
Старый 01.12.2011, 19:43 Автор темы   29
lasers_Fonarik
Увлеченный
 
Аватар для lasers_Fonarik
 
Регистрация: 18.02.2010
Последняя активность: 05.03.2014 20:17
Сообщений: 371
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

Отправить сообщение для lasers_Fonarik с помощью ICQ
По умолчанию

хехе) не узнал)
да, платы у меня есть, всё никак руки не дойдут до SIM300DZ
lasers_Fonarik вне форума   Ответить с цитированием Вверх
Старый 01.12.2011, 20:10   30
ysmat
Новичок
 
Регистрация: 13.06.2010
Последняя активность: 29.10.2015 19:19
Сообщений: 18
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

Цитата:
Посмотреть сообщение Сообщение от Fonarik :
хехе) не узнал)
да, платы у меня есть, всё никак руки не дойдут до SIM300DZ
да я уже и не помню тот другой ник
на работе достают так что на инет уже нет времени

а sim300 уже снят с производства
на замену пошел sim900 естественно с новыми глюками
ysmat вне форума   Ответить с цитированием Вверх
Ответ  Создать новую тему





Copyright ©2007 - 2024, FONAREVKA.RU

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

Правила форума | Отказ от ответственности

Время генерации страницы 0.09168 секунды с 17 запросами