Миландр

Ключевым подразделением нашей компании является Центр Проектирования интегральных микросхем
Текущее время: 2017-ноя-20 12:21

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 74 ]  На страницу Пред.  1, 2, 3, 4, 5  След.

Ваша категория?
Радио любитель 21%  21%  [ 8 ]
Программист 32%  32%  [ 12 ]
Самоучка 29%  29%  [ 11 ]
Паяльник вместо ручки 18%  18%  [ 7 ]
Всего голосов : 38
Автор Сообщение
 Заголовок сообщения: Re: А как-же радиолюбители?
СообщениеДобавлено: 2015-янв-27 17:11 
Не в сети

Зарегистрирован: 2012-июл-24 19:43
Сообщения: 72
В процессе беседы вспомнилась такая вещь, как BASIC-Stamp - прошитый в микроконтроллер интерпретатор бейсика - в свое время вызвала интерес за рубежом да и у нас в "Радио" в свое время описывали. Так что, если смотреть в сторону бейсика, может быть, такой вариант будет интересен..
А насчет отечественных комплектующих для освоения - думаю, наиболее реально - это НТЦ СИТ и Ангстрем - деталюшки этих компаний еще есть на складах в магазинах - можно будет поспрашивать, диповские корпуса ну и цена не такая кусачая, хоть и может быть высокой.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: А как-же радиолюбители?
СообщениеДобавлено: 2015-янв-28 01:53 
Не в сети
Аватара пользователя

Зарегистрирован: 2015-янв-25 12:06
Сообщения: 44
Мне тут колым подкинули, фрезерный станок ЧПУ "Микрон" починить. Посмотрел я на это 1986х. чудо и загорелась идея всё выдрать и выкинуть ). Вот только проблема будет у меня, как графический дисплей сделать на обычном мониторе. Так уж придётся опять Си юзать, а это затягивает на очень долго (.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Хотелось бы....
СообщениеДобавлено: 2015-янв-28 02:11 
Не в сети
Аватара пользователя

Зарегистрирован: 2015-янв-25 12:06
Сообщения: 44
prostoRoman, ознакомьтесь вот с этим материалом:
Bascom AVR, кто-то написал библию начинающего - DOC файл
Учебник Bascom AVR - http://decada.org.ru/project/lessons/bascom_avr/
Операторы с описанием - http://www.cqham.ru/bascom.htm
Подключение LCD экрана, проще некуда - http://decada.org.ru/project/lessons/bascom_avr/16/
Подключение LCD экрана, ещё проще - http://cxema21.ru/publ/mikrokontrollery ... 23-1-0-118
Подключение экрана, картинки хорошие - http://avrproject.ru/index/rabota_s_dis ... m_avr/0-52
.
.
.
.
Любое начинание сложное в практике, а не в теории. Тут нужно сперва всё подключить и получить быстро результаты, а то искра угаснет и всё.
Я когда начинал, купил JonisProg 2000, COM программатор. После прошил первый контроллер в PonyProg2000, когда собирал металлоискатель Clone PI-W, после написал инструкцию по его сборке
Дальше захотел сам попробовать создать чего либо. Искал среду программирования, но все как-то разваленные были, без Русского языка и примеры без объяснений чего либо.
Единственное, что объединяло всё, где было приятно писать код, где можно было и на ассемблере врезки делать и самому на прямую работать и использовать вкусные функции, это - Bascom Avr.
Ну куда проще то:
Пауза в 20 мс - Waitms 20
Отправить в пин порта 8 бит с тактом на другой порт - Shiftout
Издать звук такой-то частоты и такой-то длительности на такой-то вывод- Sound
Вывести на экран строку - Lcd="текс" позиция - Locate 1,1
Там много чего упрощено, даже регистр текста можно выровнять одной командой, единственный минус, это не больше одной математической операции в присвоении, но терпимо.
Так-же работа с IC2,SPI, Uart вполне очень лёгкая. На Си компиляторах устанешь клавиатуры менять, голова пухнет от когда, а тут и ошибки подскажут вполне понятно и симуляция есть и в одно нажатие можно увидеть результат в работе.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: А как-же радиолюбители?
СообщениеДобавлено: 2015-янв-28 08:51 
Не в сети

Зарегистрирован: 2009-июл-21 14:13
Сообщения: 1010
Откуда: Тула
http://www.artekit.eu/vga-output-using-a-36-pin-stm32/

_________________
сочувствующий…


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Хотелось бы....
СообщениеДобавлено: 2015-янв-28 09:52 
Не в сети
Аватара пользователя

Зарегистрирован: 2011-окт-19 17:25
Сообщения: 522
Откуда: г. Владимир ОАО "ВКБР"
Ev3658 писал(а):
Открыть
Любое начинание сложное в практике, а не в теории. Тут нужно сперва всё подключить и получить быстро результаты, а то искра угаснет и всё.
Я когда начинал, купил JonisProg 2000, COM программатор. После прошил первый контроллер в PonyProg2000, когда собирал металлоискатель Clone PI-W, после написал инструкцию по его сборке
Дальше захотел сам попробовать создать чего либо. Искал среду программирования, но все как-то разваленные были, без Русского языка и примеры без объяснений чего либо.
Единственное, что объединяло всё, где было приятно писать код, где можно было и на ассемблере врезки делать и самому на прямую работать и использовать вкусные функции, это - Bascom Avr.
Ну куда проще то:
Пауза в 20 мс - Waitms 20
Отправить в пин порта 8 бит с тактом на другой порт - Shiftout
Издать звук такой-то частоты и такой-то длительности на такой-то вывод- Sound
Вывести на экран строку - Lcd="текс" позиция - Locate 1,1
Там много чего упрощено, даже регистр текста можно выровнять одной командой, единственный минус, это не больше одной математической операции в присвоении, но терпимо.
Так-же работа с IC2,SPI, Uart вполне очень лёгкая. На Си компиляторах устанешь клавиатуры менять, голова пухнет от когда, а тут и ошибки подскажут вполне понятно и симуляция есть и в одно нажатие можно увидеть результат в работе.
Закрыть


Вы сейчас фактически говорите о том, чтобы компания, которая занимается разработкой микросхем всё бросила и начала разрабатывать свою собственную среду разработки. Что-то вроде mikroBasic PRO for ARM® от компании MikroElektronika.

То есть тут люди просят Миландр ПЛИС сделать (а некому больше, либо Миландр, либо НИИЭТ), которые реально нужны, как хлеб, как воздух, без которых серьёзные системы обработки данных реального времени это пустой звук. И ведь есть реальная потребность, как в металлокерамике, так и пластике. И потребность эта, как в мелких CPLD. так и в серьёзных, больших FPGA.

А вы сейчас говорите о компиляторе, который должен быть априори бесплатным (а если он будет платным, то его всё равно взломают), иметь сразу 100500 примеров, как кода, так и различных устройств и постоянно поддерживаться, так? Вы серьёзно???

Для тех, кто действительно хочет разобраться с микроконтроллерами и написать что-то своё, сейчас преград нет. Наоборот, информации море. А если человеку ничего не надо, то ему что Бейсик, что Си, всё едино и непонятно. И без разницы с какой средой разработки.

И да, кстати, большинство радиолюбительских конструкций с МК, в сети если поищите, выполнены либо на ассемблере, либо на Си, и очень-очень мало на Бейсике. Это ни о чём не говорит?

_________________
"В радиотехнике, как в церкви - многое не понятно, но приходится верить"
ВлГУ. к.т.н Садовский Н.В


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Хотелось бы....
СообщениеДобавлено: 2015-янв-28 22:56 
Не в сети
Аватара пользователя

Зарегистрирован: 2015-янв-25 12:06
Сообщения: 44
Вечная дилемма, что лучше: C, pascal, basic и пр. Постоянные стычки между обладателями знания по разным ЯП, на тему что хуже.(про таких могу сказать: Всяк кулик свое болото хвалит) Порождают истину - самый лучший тот язык, который ты Знаешь!
HEMAH писал(а):
Ev3658 писал(а):
[spoiler=]...
И да, кстати, большинство радиолюбительских конструкций с МК, в сети если поищите, выполнены либо на ассемблере, либо на Си, и очень-очень мало на Бейсике. Это ни о чём не говорит?

Ну не скажите, очень-очень много на Bascom AVR реализовано, кучу форумов, статей. Почти все радио любительские сайты насыщены приборами и исходниками Bascom AVR, даже бортовые ПК есть и многое другое. Не говоря об устройствах на SIM900. Мне проще на бэйсике найти нужный пример на Русском языке, чем на Си.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: А как-же радиолюбители?
СообщениеДобавлено: 2015-янв-30 12:28 
Не в сети
Аватара пользователя

Зарегистрирован: 2015-янв-25 12:06
Сообщения: 44
Доношу до вашего сведения некий вид слуха:
Цитата:
Евгений, говорят гемору с ними много, не всё так совместимо с АВР/АРМ, проще и дешевле ....

Не в первый раз в беседах слушаю и читаю такое. В чём проблема? Они пытаются прошивать прошивкой, созданной в программах на подобии AVR Studio?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Хотелось бы....
СообщениеДобавлено: 2015-фев-03 12:39 
Не в сети

Зарегистрирован: 2014-дек-22 14:08
Сообщения: 25
Откуда: Киров
Ev3658 писал(а):
Ну не скажите, очень-очень много на Bascom AVR реализовано, кучу форумов, статей. Почти все радио любительские сайты насыщены приборами и исходниками Bascom AVR, даже бортовые ПК есть и многое другое. Не говоря об устройствах на SIM900. Мне проще на бэйсике найти нужный пример на Русском языке, чем на Си.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: А как-же радиолюбители?
СообщениеДобавлено: 2015-май-14 22:02 
Не в сети
Аватара пользователя

Зарегистрирован: 2015-янв-25 12:06
Сообщения: 44
За несколько дней реализовал (2 на программу с электроникой и два на механику) :

Начало: http://www.youtube.com/watch?v=G1JGk4QOAKs :roll:

Середина: http://www.youtube.com/watch?v=4EOD31XNNNg :D

Что получилось: http://www.youtube.com/watch?v=BA6dI9DR-4M :lol:


Быстро, практично, результат.

Исходный код, который работает:
Открыть
Код:
$regfile = "m32def.dat"
$prog &HFF , &H32 , &H0A , &H00                             ' generated. Take care that the chip supports all fuse bytes.
$crystal = 16000000
$hwstack = 40
$swstack = 16
$framesize = 32


Config Timer1 = Pwm , Compare A Pwm = Clear Up , Prescale = 1
'Config Porta = Output
Config Portc = Output
Config Portd = Output

Vistrel Alias Pinc.7
Config Vistrel = Input

Sdk Alias Portc.3
Sdz Alias Portc.2
Config Sdk = Output
Config Sdz = Output

Motor1 Alias Portc.1
Motor2 Alias Portd.7
Rele1 Alias Portc.4
Rele2 Alias Portd.5
Config Motor1 = Output
Config Motor2 = Output
Config Rele1 = Output
Config Rele2 = Output

Avto Alias Pina.7
Config Avto = Input


Bah Alias Porta.6
Config Bah = Output

Dim T1 As Byte
Dim T2 As Byte
Dim T3 As Byte
Dim T4 As Byte

Dim D As Byte
Dim Bom As Byte

Dim P1 As Byte
Dim P2 As Byte
Dim P3 As Byte                                              'пауза между выстрелами

Dim Dl As Byte                                              'длина озвучки выстрела

Dim Vs As Byte                                              'подсчёт выстрелов
Dim Prz As Byte                                             'кол-во выстрелов перед до перезарядки.

Dim Sh As Byte

Dim Dc As Integer

Dim Ugol As Byte
Dim Ugol1 As Byte

Dim T5 As Byte                                              ' используется в тайминге времени работы мотора
Dim T6 As Byte                                              ' подсчитывает кол-во очередей, для последующего изменение угла пушки
Dim Rn As Integer

Config Adc = Single , Prescaler = 128 , Reference = Avcc


Goto Prog:
Motorstop:

Motor1 = 0
Motor2 = 0
Return







Prog:












Ugol1 = 1


P2 = 52
Bom = 2
T1 = 0
T2 = 0
T3 = 0
T4 = 0

Vs = 0


Prz = 50
$prog &HFF , &HDE , &HC9 , &H00                             ' generated. Take care that the chip supports all fuse bytes.




Start Adc

Prog1:





If Bom = 0 Then                                             'если не в режиме стрелять
Pwm1a = 0

   If Avto = 1 Then
      'T3 = T3 + 1
      'If T3 = 255 Then
         'T3 = 0
         'T4 = T4 + 1
         'Waitms 500
         Bom = Rnd(10)                                      'генерация кол-ва выстрелов в очереди

         Rn = Rnd(250)                                      'генерация паузы между очередями
         Rn = Rn * 8
         Waitms Rn                                          'пауза между очередями

         If T6 > 0 Then T6 = T6 - 1

         If T6 = 0 Then                                     'генерация подъёма-спуска
            T6 = Rnd(5)                                     'кол-во до подъёма-спуска
            Ugol = Rnd(4)                                   'генерация угла подъёма спуска
           ' Ugol = Ugol + 1
         End If
   End If



   If Avto = 0 Then                                         'ручной режим

      If Vistrel = 1 Then                                   'ручной выстрел тремя очередями
         'Waitms 200
         Bom = 1
      End If

      Dc = Getadc(1)
      If Dc < 200 Then Ugol = 0

      If Ugol <> 5 Then
         If Dc > 200 And Dc < 400 Then Ugol = 1
         If Dc > 400 And Dc < 600 Then Ugol = 2
         If Dc > 600 And Dc < 800 Then Ugol = 3
         If Dc > 800 And Dc < 1024 Then Ugol = 4
       End If
   End If





   T5 = 0


   If Ugol1 <> Ugol Then

      If Ugol = 0 Then                                      'угол0===========
         Do
            If Dc > 10 Then
              Motor1 = 1
              Motor2 = 0
            End If

            Dc = Getadc(0)
            If Dc < 3 Then
             Gosub Motorstop:
               Exit Do
            End If

            T5 = T5 + 1

            Waitms 100

            If T5 = 35 Then
               Ugol = 5
               Gosub Motorstop:
               Exit Do
            End If
         Loop
      End If


   If Ugol = 1 Then                                         'угол 1===========
         Do
            Dc = Getadc(0)
            If Dc > 25 Then
               Motor1 = 1
               Motor2 = 0
            End If

            If Dc < 30 Then
               Motor1 = 0
               Motor2 = 1
            End If


            If Dc >= 25 And Dc <= 30 Then
               Gosub Motorstop:
               Exit Do
            End If

            T5 = T5 + 1
            Waitms 100

            If T5 = 35 Then
               Ugol = 5
               Exit Do
            End If

         Loop
   End If

   If Ugol = 2 Then                                         'угол 2===========
      Do
         Dc = Getadc(0)
         If Dc > 55 Then
            Motor1 = 1
            Motor2 = 0
         End If

         If Dc < 60 Then
            Motor1 = 0
            Motor2 = 1
         End If

         If Dc >= 55 And Dc <= 60 Then
            Gosub Motorstop:
            Exit Do
         End If

         T5 = T5 + 1
         Waitms 100
         If T5 = 35 Then
            Ugol = 5
            Exit Do
         End If
      Loop
    End If

   If Ugol = 3 Then                                         'угол 3===========
      Do
         Dc = Getadc(0)
         If Dc > 75 Then
            Motor1 = 1
            Motor2 = 0
         End If

         If Dc < 80 Then
            Motor1 = 0
            Motor2 = 1
         End If

         If Dc >= 75 And Dc <= 80 Then
            Gosub Motorstop
            Exit Do
         End If

         T5 = T5 + 1
         Waitms 100
         If T5 = 35 Then
            Ugol = 5
            Exit Do
         End If
      Loop
    End If

   If Ugol = 4 Then                                         'угол 4===========
      Do
         Dc = Getadc(0)
         If Dc > 100 Then
            Motor1 = 1
            Motor2 = 0
         End If

         If Dc < 95 Then
            Motor1 = 0
            Motor2 = 1
         End If

         If Dc >= 95 And Dc <= 100 Then

             Gosub Motorstop:
            Exit Do
         End If

         T5 = T5 + 1
         Waitms 100
         If T5 = 35 Then
         Ugol = 5
            Gosub Motorstop:
            Exit Do
         End If
      Loop
    End If

Ugol1 = Ugol
Gosub Motorstop

   End If
End If                                                      '======================================






If Bom > 0 Then                                             'заказ на N кол-во выстрелов
   Read D
   Pwm1a = D

   T1 = T1 + 1

   If T1 = 255 Then
      T1 = 0
      T2 = T2 + 1
      End If












'====================втягивающая стартера ===========================



   If T2 > 2 And T2 < 15 Then
      Rele1 = 1
      Rele2 = 1
      Else

      Rele1 = 0
      Rele2 = 0
   End If

         'Sh = T1 / 3
   If T1 < 50 Then

       Bah = 1
       Else
      Bah = 0
   End If

'====================световая индикация ===========================
      Sh = T1 / 11
   If T2 < Sh Then
     Sdk = 1
       Bah = 1
       If T2 > 100 And T2 < 10 Then
         Sdz = 1                                            '============== грохот

       End If

      Else
      Bah = 0
      Sdk = 0
      Sdz = 0
   End If


   If T2 = 0 Then
      If Bom = 1 Then
            Dl = 22
         Else
            Dl = Rnd(5)
            Dl = Dl + 15
      End If

      If Vs => Prz Then                                     'щелчек перезарядки
         Dl = 53
      End If

   End If


   If T2 = Dl Then                                          'продолжительность выстрела
      Sdz = 0
      Sdk = 0
      Bom = Bom - 1
      Vs = Vs + 1

      If Vs > Prz Then                                      'щелчек перезарядки
         Vs = 0
         Wait 1
      End If
      Gosub Motorstop:
      Restore 100:
      T2 = 0
   End If




End If


Waitus P2












Goto Prog1:


End
100:
' C:\Users\RADIOKSTOVO\YandexDisk-rprmsr\Разработка\СУ-36\Звук-1.ddd
Data &H52 , &H49 , &H46 , &H46 , &H4E , &H16 , &H0 , &H0 , &H57 , &H41 , &H56 , &H45 , &H66 , &H6D , &H74 , &H20
Data &H10 , &H0 , &H0 , &H0 , &H1 , &H0 , &H1 , &H0 , &H11 , &H2B , &H0 , &H0 , &H11 , &H2B , &H0 , &H0
Data &H1 , &H0 , &H8 , &H0 , &H64 , &H61 , &H74 , &H61 , &H2A , &H16 , &H0 , &H0 , &H80 , &H7F , &H80 , &H7F
Data &H80 , &H7F , &H7F , &H81 , &H80 , &H80 , &H80 , &H81 , &H80 , &H80 , &H7F , &H7F , &H80 , &H7F , &H80 , &H7F
Data &H80 , &H82 , &H7E , &H81 , &H80 , &H7F , &H80 , &H80 , &H80 , &H7F , &H81 , &H7F , &H80 , &H7F , &H81 , &H82
Data &H7E , &H82 , &H7A , &H82 , &H82 , &H82 , &H7C , &H83 , &H80 , &H80 , &H82 , &H80 , &H7D , &H83 , &H84 , &H83
Data &H80 , &H80 , &H7B , &H7E , &H86 , &H7C , &H7F , &H7F , &H86 , &H7D , &H80 , &H83 , &H7A , &H81 , &H79 , &H82
Data &H7E , &H7E , &H7F , &H77 , &H81 , &H7E , &H7D , &H79 , &H81 , &H7E , &H7B , &H80 , &H7E , &H82 , &H7D , &H81
Data &H7C , &H87 , &H79 , &H88 , &H7C , &H80 , &H7D , &H7E , &H7E , &H7E , &H80 , &H7D , &H83 , &H79 , &H7E , &H7B



.................... ТУТ ЗВУК ЗАПИСАН WAV 11кГц 10кб. ................ (урезал, форум не пропускал)




Data &H7D , &H7F , &H7E , &H7E , &H7F , &H7E , &H7D , &H7F , &H7E , &H7F , &H7E , &H7E , &H7D , &H7F , &H7E , &H7F
Data &H7E , &H7E , &H7E , &H7E , &H7E , &H80 , &H7D , &H7E , &H7D , &H7C , &H80 , &H7D , &H7D , &H7F , &H7E , &H7E
Data &H7E , &H80 , &H7E , &H7D , &H7F , &H7C , &H7E , &H7E , &H7F , &H7F , &H7E , &H0
' Размер - 8044

Закрыть


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: А как-же радиолюбители?
СообщениеДобавлено: 2015-май-15 07:26 
Не в сети

Зарегистрирован: 2014-май-15 11:04
Сообщения: 127
Откуда: Москва
Молодец. Дымо-генератора не хватает...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: А как-же радиолюбители?
СообщениеДобавлено: 2015-июл-04 12:08 
Не в сети
Аватара пользователя

Зарегистрирован: 2015-янв-25 12:06
Сообщения: 44
Ну, а я опять намекаю. Нам бы в радиолюбительстве освоить ваши МК, но нет их в розничной торговле в регионе.
Вот, Atmega128. Программируется в Bascom Avr и в нём-же в одно нажатие компилируется и прошивается через UsbAsp. Можно сказать это новый вид профессии: "Слесарь-программист". :|

http://www.youtube.com/watch?v=ZpyuyTj6bbU


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: А как-же радиолюбители?
СообщениеДобавлено: 2015-июл-06 08:52 
Не в сети

Зарегистрирован: 2009-июл-21 14:13
Сообщения: 1010
Откуда: Тула
"посылторг" http://www.chipfind.ru/search/?part=%D0 ... 9592QI&a=1
прошивается через ком-порт. васик кроме вас кому-нибудь ещё нужен?

_________________
сочувствующий…


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: А как-же радиолюбители?
СообщениеДобавлено: 2015-июл-07 13:04 
Не в сети
Аватара пользователя

Зарегистрирован: 2015-янв-25 12:06
Сообщения: 44
prostoRoman писал(а):
"посылторг" http://www.chipfind.ru/search/?part=%D0 ... 9592QI&a=1
прошивается через ком-порт. васик кроме вас кому-нибудь ещё нужен?

Ещё как нужен ))) Быстрое обучение, быстрая передача опыта, быстрый старт, скорые результаты.
Вот, помогли мне с повышением разрядности АЦП, огромное http://bascomavr.3bb.ru/ спасибо (код для Bascom AVR):
Код:
'-------------------------------------------------------------------------------

  $map              ' Получаем карту распределения памяти
  $regfile = "m328pdef.dat"       ' Используемый контроллер
'  $crystal = 1000000       ' 1 МГц
  $crystal = 8000000       ' 8 МГц
  $framesize = 32   'размер области используемой и необходимой для преобразований
  $hwstack = 40     ' Размер аппаратного стека
  $swstack = 16     ' Размер программного стека

  $baud = 19200     '1200     '2400     '4800     '9600     '19200     '38400     '57600     '115000    '230400
'  Ucsr0a.1 = 1      ' Двойная скорость работы USART
  Dim Флаг_есть_данные_usart As Byte

'----------------------  Конфигурация светодиодика  ----------------------------
  Светодиодик Alias Portb.0 : Config Светодиодик = Output
'----------------------  Конфигурация АЦП  -------------------------------------

  Config Adc = Free , Prescaler = 128 , Reference = Avcc

  On Adc Обработка_прерывания_ацп Nosave

'----------------------  Используемые константы  -------------------------------

'----------------------  Используемые переменные  ------------------------------

  Dim Данные_ацп As Word
  Dim Сырые_данные_ацп(2) As Byte At Данные_ацп Overlay

  Dim Сумма_ацп As Long
  Dim 16_bit_данные_ацп As Word
  Dim Счетчик_измерений_ацп As Word

'\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
'    З А П У С К    И    П Р Е Д В А Р И Т Е Л Ь Н Ы Е    Н А С Т Р О Й К И
'\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\


'\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
'--------------  Разрешаем работу необходимых прерываний  ----------------------
  Enable Adc
'------------  Разрешаем работу всех включенных прерываний  --------------------
  Enable Interrupts
'===============================================================================
'                   Г Л А В Н Ы Й         Ц И К Л
'===============================================================================
  Главный_цикл:
    nop

      If Флаг_есть_данные_usart = 1 Then
          Print 16_bit_данные_ацп
          Print
          Флаг_есть_данные_usart = 0
      End If


   Power Adcnoise
  Goto Главный_цикл
End
'===============================================================================
'                        П О Д П Р О Г Р А М М Ы
'===============================================================================


'===============================================================================
  Обработка_прерывания_ацп:
'-------------------------------------------------------------------------------
' Сохраняем SREG
    !Push R30
    !In R30 , Sreg
    !Push R30
' Сохраняем регистры, которые используем в обработке
    !Push R16
    !Push R17
    !Push R18
    !Push R19
    !Push R20
    !Push R21
    !Push R22
    !Push R23
    !Push R24
    !Push R25
    !Push R26
    !Push R27
    !Push R28
    !Push R29
    !push R31

'------  Забираем, что намеряли  ---------------

    !in R30 , adcl
    !in R31 , adch

    !sts {Сырые_данные_ацп(1)} , R30
    !sts {Сырые_данные_ацп(2)} , R31

'------  Набираем сумму измерений для 16 бит  ----------

    Сумма_ацп = Сумма_ацп + Данные_ацп

    Incr Счетчик_измерений_ацп

    If Счетчик_измерений_ацп = 4096 Then
        Счетчик_измерений_ацп = 0
        Shift Сумма_ацп , Right , 6
        16_bit_данные_ацп = Сумма_ацп
        Флаг_есть_данные_usart = 1
        Сумма_ацп = 0
    End If

'Восстанавливаем регистры, которые используем в обработке

    !pop R31
    !pop R29
    !pop R28
    !pop R27
    !pop R26
    !pop R25
    !pop R24
    !pop R23
    !pop R22
    !pop R21
    !pop R20
    !pop R19
    !pop R18
    !pop R17
    !pop R16
'Восстанавливаем SREG
    !pop R30
    !Out Sreg , R30
    !Pop R30
    !reti
'-------------------------------------------------------------------------------
  Return
'===============================================================================


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: А как-же радиолюбители?
СообщениеДобавлено: 2015-июл-07 15:50 
Не в сети

Зарегистрирован: 2014-авг-14 23:01
Сообщения: 3
Цитата:
Вот, помогли мне с повышением разрядности АЦП
Мощно двигается радиолюбительская мысль! Эдак скоро от компаратора программно все 24 разряда получат. Впрочем, в Миландре полно таких радиолюбителей.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: А как-же радиолюбители?
СообщениеДобавлено: 2015-июл-07 16:53 
Не в сети
Аватара пользователя

Зарегистрирован: 2015-янв-25 12:06
Сообщения: 44
Как в бейские сохранить значение в энергонезависимую память?! )))) Жесть, сегодня быстро всё реализовал )))

Код:
Dim Y As eram Byte
Dym Yy As Byte

Yy=y 'загружаем из энергонезависимой памяти
Yy=Yy+1 'делаем нужную операцию
Y=Yy 'Сохраняем


:lol:

Даже с плавающей запятой в лёгкую:
Код:
Dim X As eram Single


А как это на Си в Авр или где нибудь выглядит?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 74 ]  На страницу Пред.  1, 2, 3, 4, 5  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


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

Найти:
Перейти:  
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB