Форум программистов, компьютерный форум, киберфорум
Измерительная техника
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Измерительная техника Входное сопротивление осциллографа https://www.cyberforum.ru/ measuring-devices/ thread2494483.html
При добавлении цифровому осциллографу(1Мегаом), входное сопротивление 50 Ом(адаптер) http://intes.spb.ru/files/images/catalog/4650/615mo9f88cl._sl1067_.jpg нужно ли включать в настройках осциллографа программный делитель напряжения https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRK-DljsjdL7KF-RlVufP8G3_PI9qDOiM72ACqpHR8F8AmXLAEuTQ 1х, 20х, 100х и.т.п.? Если нужно, то какой именно?...
Измерительная техника Замена КП305Е в В3-36,В3-43
Возможна ли замена КП305Е в В3-36,В3-43 на HEF4066B? Эффективна ли такая замена? Гасящие резисторы питания подбирают под ток через стабилитрон около 8...15 мА.
Измерительная техника Доработка дискриминатора частотного 5.404.010 в старых СК3-45 https://www.cyberforum.ru/ measuring-devices/ thread2491113.html
В некоторых партиях измерителей девиации СК3-45 до 1988 года выпуска когда-то ставились дискриминаторы частотные 5.404.010 с перемычкой , терморезистором , диодами КД522Б вместо 4 2Д922А ,5 реле вместо 6 включением звена с фильтрацией в режиме калибровки и неэффективной W(s) кольца АПЧ и ЧД на частотах свыше 2,8 МГц и ДМШ в качестве ограничителя без впаянных схем ЧД малошумящего на...
Измерительная техника Формат выходных данных LiDAR Ouster 1-16 Здравствуйте. Кто-нибудь знает, какого формата выходные данные у LiDAR Ouster 1-16? Знаю, что для хранения облака лазерных точечных данных используется формат .las, верно ли это и для данной модели? https://www.cyberforum.ru/ measuring-devices/ thread2488468.html
Тестер Измерительная техника
Доброго часа. Посоветуйте тестер или прибор для измерения витой пары на затухание и на обрыв. Для таких ситуаций как, например для теста камеры видеонаблюдения. Воткнул тестер и он показал на каком метре обрыв или затухание. Где какой коннектор RG45 плохо обжат. Что-то в этом роде.
Измерительная техника мультиметр dt700d Доброе время суток! Кто знает - подскажите номинал этого резистора. Дал, соседу напряжение померять, он DCV и ACV перепутал, сжег в положении =1000v. Спасибо! https://www.cyberforum.ru/ measuring-devices/ thread2482292.html
Измерительная техника Задающий генератор на ОУ для Г3-36А https://www.cyberforum.ru/ measuring-devices/ thread2479725.html
Вариант замены нестабильно работающего задающего генератора на основе моста Вина в ГЗЧ Г3-36А на схему с ОУ (с позистором и полевым транзистором ).
Замена транзисторов 2П301Б1 в токовых ключах В7-38 Измерительная техника
Замена транзисторов 2П301Б1 в токовых ключах В7-38: какие импортные аналоги с подложкой отдельно от истока (для подведения энергии отдельно от стока и истока симметрично ) существуют ? (какие микросхемы аналогичны или не хуже по сопротивлению открытого и закрытого ключа, симметрии , двунаправленности , отсутствию электризации выводов канала от подведения управляющих напряжений )....
Измерительная техника Нужна подсказка с измерителем сетевого напряжения, пожалуйста https://www.cyberforum.ru/ measuring-devices/ thread2467003.html
Очень нужна схема или литература по этому вопросу!!! пропаду без вас, форумчане...
Измерительная техника Модель АЦП на AM2504 и AD7541A Модель на Си++ АЦП на AM2504 и AD7541A с поразрядным уравновешиванием #include <iostream> #include <stdint.h> #include <math.h> using namespace std; https://www.cyberforum.ru/ measuring-devices/ thread2466854.html
Измерительная техника OpenSource аналог АЛС КОП 814 на микроконтроллере
У кого есть схема и прошивка OpenSource DIY-аналога анализатора логических состояний КОП (GPIB) 814 на микроконтроллере PIC18F4550 + буферные элементы с открытым коллектором стандарта КОП (GPIB )? Поместится ли программа в PIC16F877A или ATMEGA16A...ATMEGA48A (DIP)? Внедрить анлгоязычное обозначение , как в GPIB . (For education only ).
Измерительная техника Измерительный тракт солнечного коллектора Измерительный тракт блока управления солнечным коллектором. Здравствуйте, делаю задание и у меня возникли некоторые трудности. Мне нужно сделать следующее: есть три аналоговых датчика температуры (T, T1, T2). Есть три условия, если условие верно - загорается светодиод. Условия: 1) T>T1+10°. Как я понимаю нужно использовать компаратор, на + подавать напряжение с датчика T, на минус - с T1. Но... https://www.cyberforum.ru/ measuring-devices/ thread2457174.html
6 / 6 / 0
Регистрация: 29.06.2018
Сообщений: 1,536
03.10.2019, 23:08  [ТС] 0

Замена микросхемы 1827ВЕ1-0000000 в Г4-164 на AVR -МК - Измерительная техника - Ответ 13873717

03.10.2019, 23:08. Показов 21788. Ответов 228
Метки (Все метки)

Ответ

Таблица логарифмического преобразователя (2^9...2^2 и дополненная двумя нулями 2^9...2^0 таблица комбинаций ) , правая колонка - практическое значение на выводах с учетом нулей в двух младших разрядах после импульса ИЗП . после 10 Дб повторяется через 10 дБ
В линейном :
316 mV -0xFA0
317 mV -0x4F4
318 mV -0x4F8
319 mV -0x4FC
320 mV (-9.9dBV) 0x500
600 mV 0x960
601 mV 0x964
999 mV 0xF9C
1000. mV 0xFA0

Добавлено через 51 секунду
Некоторые младшие биты могут незначительно отличаться .

Добавлено через 2 минуты
Судя по таблице 1К ПЗУ программ для него маловато , а с ОЗУ и стеком подумать (в ATMEGA48 больше возможностей).

Добавлено через 2 часа 39 минут
Возможный вариант размещения подпрограмм (по диаграмме, без статических и глобальных массивов переменных и атомарных процедур ) :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
... //default  "includes" for selected  MCU 
#include "defines.h"
#include "iosubs.h"
#include "atomic.h"
#include "macrosubs.h"
 
...
Init();
InitPorts();
//fix  flags organization and incapsulations, use apropriate args for some subs , redefine some global variables
//fix problem with stack and RAM I/O conception and organization 
//rename some subs and use switch -case and #define   for some signatures of the bytes 
 
//1
label1:
 
if(DutyRegZero()==1; ) {
                  SendMEMWR(); 
                  label_int:
                  if(CheckIsrFlag()==1) { goto label2; }  else  { goto label_int ; }
//fix and rebuild, using ISR
} 
 
SetSelectFlagZero(arg);
 
if(CheckFMParseFlagTrue()==1  )  {   GetFM_Codes(); GetOSCCodes() ;  goto label1;  }
if( CheckAMParseFlagTrue()==1 )   {  GetAM_Codes();  goto label1; }
if( CheckOutputParseFlagTrue() ==1) {  GetAM_Codes(); GetOut_Codes(); GetStaticMode_Codes();    goto label1;   }
if(CheckFreqParseFlagTrue()==1 ) {  GetFreqDividerCodes(); GetOSCCodes() ;  GetStaticMode_Codes();  CheckFM_Limits(); goto label1;  }
if(CheckIncStepFlagTrue() ==1) { IncStep(); goto label1; }
 
//3
 
if(CheckDecStepFlagTrue() ==1) { DecStep(); goto label1; }
if(CheckTurnOffModeFlagTrue()==1) { TurnOffNotUsedMode(); goto label1;}
if(CheckErrorFlagTrue()==1)  { SendErrFM();  goto label1; }
if(CheckFMIndFlagTrue()==1) { SendFM_Value() ; goto label1; }
if(CheckAMIndFlagTrue()==1) { SendAM_Value() ; goto label1; }
if(CheckOutIndFlagTrue()==1) { SendOutLevel_Value() ; goto label1; }
if(CheckFreqIndFlagTrue()==1) { SendFreq_Value() ; goto label1; }
 
//4
 
if(CheckBlinkOffFlagTrue()==1) {  SendBlinkOff() ; goto label1; }
if(CheckBlinkCodeFlagTrue(arg)==1) { SendBlinkDigitCode() ; goto label1; }
if(CheckModeCodeFlagTrue()==1) { SendModesCodeFP() ; goto label1; }
if(CheckStaicCommandCodeFlagTrue()==1) { SendStaticCmdCode() ; goto label1; }
if(CheckLFOCodeFlagTrue()==1) { SendLFONumCode() ; goto label1; }
if(CheckFMCodeFlagTrue()==1) { Send_FMCode() ; goto label1; }
if(CheckAMCodeFlagTrue()==1) { Send_AMCode() ; goto label1; }
//5
if (CheckAttCodeFlagTrue()==1) { GetOut_AttCodes(); goto label1; }
if (CheckHF_OscCodeFlagTrue()==1) { GetHFOscFilterCodes(); goto label1; }
if (CheckDividerCodeFlagTrue()==1) { GetDividerCodes(); goto label1; }
//6
goto label_6;
 
 
/************************************/
//fix using ISR and ISR pin mask switch(PORT_INT)  - case  
label2:
 
ParseInterrupts_Input();
 
if ( IsInt3() ==1) { goto label7 ; }
if ( IsInt2() ==1) { goto label8 ; }
SetFunctionParam ();
 
if(IsFreq()==1) {          goto label12 ;   }
if(IsFM()==1)   {          goto label13 ; }
if(IsAM()==1)   {          goto label14 ; }
 
label15: 
 NormaliseUout();
goto label1;
 
label12:
 NormaliseFout();
goto label1;
 
label13:
 NormaliseDeltaf();
goto label1;
 
label14:
 NormaliseM();
goto label1;
 
/**************************************/
 
 
 
 
//7
//fix  method 
label7:
InputByteLACS_send_dp();
 
if(IsReceivedByte()==1) { goto label6; }  else   {PushByteInoStack() ; goto label1 ;}
 
label6: 
if(IsStackClear()==1)  { goto label1 ; } else  {GetByteFromStack(); goto label8;  }
 
//8
label8:
if(IsNumKeypadPressed()==1) {
 
if(IsMemWritePressed()==1) { WriteDeviceSateIntoMemory(); goto label1; }
else {
   if(IsMemReadCalled()==1) { GetDeviceSateFromMemory(); goto label1; }
                                         else {   InputNumericValue();  goto label1; }   
        }
 
}
else {
 
if(IsFreqButton()==1) {    SetDutyReg();  goto label1;   }
if(IsFMButton()==1) {  TurnOnFM();     SetDutyReg();  goto label1;   }
if(IsAMButton()==1) {  TurnOnAM();    SetDutyReg();  goto label1;     }
if(IsPMButton()==1) {  TurnOnPM();     SetDutyReg();  goto label1;    }
if(IsModOffButton()==1) {  SetModOffByReg();  SetDutyReg();  goto label1;      }
 
//9
 
if(IsExtButton()==1) {  PrepareExtMod();    goto label1;    }
if(IsStepButton()==1) {  SetStepMode();    goto label1;    }
if(IsOutButton()==1) { TutrnOnOut();   SetDutyReg();   goto label1;    }
if(IsLFOscButton()==1) { ChangeLFOScCode();    goto label1;    }
if(IsSharpButton()==1) { TurnOnWriteMem();    goto label1;    }
if(IsCallButton()==1) { TurnOnReadMem();    goto label1;    }
 
//10
if(IsMHzButton()==1) { goto label12 ; }
if(IskHzButton()==1) {  if(IsStepMode()==1) { NormalizeStep() ; goto label1  ;} else { goto label13; }  }
if(IsPercentButton()==1) { goto label14 ; }
 
if(Is_mv_Button()==1) {   SetValueParam(  );   goto label15 ; }
if(Is_uv_Button()==1)  {   SetValueParam(  );   goto label15 ; }
if(Is_dB_Button()==1)  {   SetValueParam(  );   goto label15 ; }
 
//11
if(Is_6dB_Button()==1)  {   if(IsAMMode()==1) {   goto label15 ;} else { TurnOn6dB(); goto label11;  }   }
if(Is_Step_Mode()==1) { ChangeFreqOneStep(); goto label12 ; }
ChangeDiscretStepParam(); 
goto  label1;
Добавлено через 25 минут
Флаги "упаковать" в биты байтов (uint8_t , uint16_t, ...) , сбрасывать, устанавливать и проверять с помощью атомарных функций с масками
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
if(CheckFMParseFlagTrue() ...
if(CheckAMParseFlagTrue()...
if(CheckOutputParseFlagTrue()
if(CheckFreqParseFlagTrue()...
if(CheckIncStepFlagTrue()...
if(CheckDecStepFlagTrue()...
if(CheckTurnOffModeFlagTrue()...
if(CheckErrorFlagTrue()... 
//3
if(CheckFMIndFlagTrue()...
if(CheckAMIndFlagTrue()...
if(CheckOutIndFlagTrue()...
if(CheckFreqIndFlagTrue()...
 
//
if(CheckBlinkOffFlagTrue()...
if(CheckBlinkCodeFlagTrue(arg) ?
if(CheckModeCodeFlagTrue()...
if(CheckStaicCommandCodeFlagTrue()...
if(CheckLFOCodeFlagTrue()...
if(CheckFMCodeFlagTrue() ...
if(CheckAMCodeFlagTrue()  ...
//5
if (CheckAttCodeFlagTrue()   ...
if (CheckHF_OscCodeFlagTrue() 
if (CheckDividerCodeFlagTrue()
Добавлено через 43 секунды
Названия подпрограмм немного исправить

Добавлено через 3 минуты
Кажется, маловато ОЗУ в АТМеге 48 (может, плохо смотрел ).

Добавлено через 2 минуты
В фирменной ЭВМ ОЗУ 2048 бит (128 ячеек для типа uint16_t ), и 16 бит .

Добавлено через 20 минут
Биты флагов могут быть, например :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
//uint8_t flag0;
//define bits
#define  FMParseFlag  0
#define  AMParseFlag  1
 #define OutputParseFlag 2
#define   FreqParseFlag     3
#define   IncStepFlag         4 
#define   DecStepFlag        5
#define    TurnOffModeFlag  6  
#define     ErrorFlag        7
 
//uint8_t flag1;
//define bits
#define FMIndFlag  0
#define AMIndFlag  1
#define OutIndFlag   2
#define FreqIndFlag  3
#define BlinkOffFlag  4
#define ModeCodeFlag       5
#define StaticCommandCodeFlag 6
 
//uint8_t flag2;
//define bits
#define LFOCodeFlag  0 
#define FMCodeFlag    1
#define AMCodeFlag   2
#define AttCodeFlag    3
#define HF_OscCodeFlag  4
#define DividerCodeFlag   5
Добавлено через 5 минут
например ,
C++
1
2
3
4
5
/*volatile */
uint8_t CheckFMParseFlagTrue() {
 
if (   (flag0 & (1<<FMParseFlag))!=0   ) {    return 1 ; }  else {return 0 ; } 
}
Добавлено через 53 минуты
А для ЦАП он там делить на 4 , там с 2^0 по 2^9, (а не с 2^2 ) это в правом столбике поделить на 4

Добавлено через 17 секунд
В ЦАП ЧМ такой формат бывает.

Добавлено через 57 секунд
03E8 ,а не 0FA0 и так дальше.

Вернуться к обсуждению:
Замена микросхемы 1827ВЕ1-0000000 в Г4-164 на AVR -МК Измерительная техника
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.10.2019, 23:08
Готовые ответы и решения:

Замена микросборок 2.030.036 ,2.030.034 в Г4-164, Г4-176
Замена микросборок 2.030.036 в Г4-164, 2.030.034 в Г4-176 : на какие транзисторы в современных...

замена микросхемы
Нужно заменить микросхему драйвер двигателя на HDD Smooth 100369972 . На али есть такие схемки но...

Замена микросхемы AT49F002NT
Господа! Если кто знает ,какая микросхема может заменить AT49F002NT?

Замена микросхемы на аналоговую
Привет всем. Какой микросхемой можно заменить микросхему FBBHAQ DM0265RB ? Она с платы...

228
03.10.2019, 23:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.10.2019, 23:08
Помогаю со студенческими работами здесь

Hp pavilion g6 замена микросхемы видео-чипа
Здравствуйте, может кто-то есть из сервисного центра? Какой срок гарантии дается при замене...

Acer Aspire One D255. Замена микросхемы U13
Здравствуйте форумчане. Имеется Ноут Acer Aspire One D255 (PAV70 LA-6221P Rev:1.0) , у него...

Acer aspire 5602wlmi замена сгоревшей микросхемы PG1AY 6900AS
помогите пожалуйста в ноутбуке Acer aspire 5602wlmi сгорела микросхема &quot;PG1AY 6900AS&quot; найти такую...

СМА Samsung Q1235, Замена микросхемы STK621-015. Есть аналог!!!
Здравствуйте! Подскажите возможна ли замена Микросхемы STK621-015 на STK621-140 трёхфазный инвертор...

Модуль Whirlpool домино, замена микросхемы lnk 304 pn на lnk 305 pn
Всем прывет в модуле сгарела микросхема lnk 304 pn под рукой аказалась lnk 305 pn она падходит.

Нужно печатать число П(Пи) почему всегда печатает 4.0000000
#include &lt;stdio.h&gt; #include &lt;Windows.h&gt; int main() { int n,i; float a,PI=0; printf(&quot;n=&quot;);...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru