Цифровой частотомер на x51 (AT89S51)
- LawManiak
- Открыл глаза
- Сообщения: 62
- Зарегистрирован: Пн мар 14, 2011 18:34:23
- Откуда: Смоленск
- Контактная информация:
Re: Цифровой частотомер на x51 (AT89S51)
Если таймер настроить на счетчик, то в нем будет число боле 256, как его преобразовать в двоично-десятичное?

- Реклама
Re: Цифровой частотомер на x51 (AT89S51)
Сто раз этот вопрос в форуме перетирали. Разделить на единицы - десятки - сотни и т.д., преобразовать в код индикатора -- и на табло.LawManiak писал(а):Если таймер настроить на счетчик, то в нем будет число боле 256, как его преобразовать в двоично-десятичное?
Строчка "Преобразование в двоично-десятичный" в поисковике дает много разумного и полезного.
- LawManiak
- Открыл глаза
- Сообщения: 62
- Зарегистрирован: Пн мар 14, 2011 18:34:23
- Откуда: Смоленск
- Контактная информация:
Re: Цифровой частотомер на x51 (AT89S51)
Поискал, вразумительного нашел не много. Я в ассблере вообще не очень.
Может есть какой-то конкретный пример?
Может есть какой-то конкретный пример?

Re: Цифровой частотомер на x51 (AT89S51)
Могу, но только для AVR. Под 51-й почти никогда не пис'ал.
Re: Цифровой частотомер на x51 (AT89S51)
LawManiak, в поисковике лучше набрать строчку BIN BCD MCS51 вариантов масса..
Можешь вот тут почитать: http://radiokot.ru/forum/viewtopic.php?f=20&t=17812
Можешь вот тут почитать: http://radiokot.ru/forum/viewtopic.php?f=20&t=17812
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
- Реклама
- LawManiak
- Открыл глаза
- Сообщения: 62
- Зарегистрирован: Пн мар 14, 2011 18:34:23
- Откуда: Смоленск
- Контактная информация:
Re: Цифровой частотомер на x51 (AT89S51)
В таком случае такой вопрос. Ведь команду div мы можем применять только к A и B.
Какое максимальное число можно вместить в них?
могу я допустим 4х байтовое число записать в аккумулятор?
Jack_A
Если не сложно, хоть посмотрю логику...
Какое максимальное число можно вместить в них?
могу я допустим 4х байтовое число записать в аккумулятор?
Jack_A
Если не сложно, хоть посмотрю логику...

Re: Цифровой частотомер на x51 (AT89S51)
Написано для младших моделей AVR, у которых нет аппаратного деления.
Моя прога для 2-байтового числа. Если надо 4 байта, ее надо модифицировать.
Код: Выделить всё
; Исходное число в R25(ст),R24(мл) .
; Результат - 5 байт по указателю Z (ст -> мл) .
; В массиве числа - НЕ СИМВОЛЫ !
; R25,R24 не сохраняются.
subt: push r16
push r17
push r18
tst r24
brne st1
st z+,r24
st z+,r24
rjmp part2
; Если R24=0, первые две цифры = 0,
; переход на 2-ю часть
;
st1: ldi r18,high(10000)
ldi r17,low(10000)
rcall st_s ; выделили десятки тысяч
ldi r18,high(1000)
ldi r17,low(1000)
rcall st_s ; выделили тысячи
part2: ldi r18,high(100)
ldi r17,low(100)
rcall st_s ; выделили единицы
;
ldi r16,0
st10: subi r24,10
brcs st15
inc r16
rjmp st10
st15: subi r24,-10
st z+,r16 ; распилили R24 на десятки - единицы
st z+,r24
pop r18
pop r17
pop r16
ret
; ====
st_s: ldi r16,0 ; Подпрограмма деления `
sts05: sub r24,r17 ; R25,R24 на R18,R17
sbc r25,r18 ; Частное в R16 -> [Z+]
brcs sts10 ; Остаток в R25,R24
inc r16
rjmp sts05
sts10: add r24,r17
adc r25,r18
st z+,r16
ret
;
А можно в один стакан налить молоко, сок, водку и рассол , каждого по 200гр?LawManiak писал(а):В таком случае такой вопрос. Ведь команду div мы можем применять только к A и B.
Какое максимальное число можно вместить в них?
могу я допустим 4х байтовое число записать в аккумулятор?
Моя прога для 2-байтового числа. Если надо 4 байта, ее надо модифицировать.
- LawManiak
- Открыл глаза
- Сообщения: 62
- Зарегистрирован: Пн мар 14, 2011 18:34:23
- Откуда: Смоленск
- Контактная информация:
Re: Цифровой частотомер на x51 (AT89S51)
А теперь самый глупый вопрос. Сколько мне нужно выделять байт под 4х разрядное число в пределах 1к?

- LawManiak
- Открыл глаза
- Сообщения: 62
- Зарегистрирован: Пн мар 14, 2011 18:34:23
- Откуда: Смоленск
- Контактная информация:
Re: Цифровой частотомер на x51 (AT89S51)
Вот тут нашел в одной книге пример использования в двоично-десятичный код, но не могу разобраться как же это реализовать в моей программе...
Допустим я получаю число 876 и записываю его в какую-то переменную tmp, как мне разбить его для индикации?...




Допустим я получаю число 876 и записываю его в какую-то переменную tmp, как мне разбить его для индикации?...





Re: Цифровой частотомер на x51 (AT89S51)
Даю умный ответ на глупый вопрос : для 4-значного десятичного числа 0...9999 в его двоичном виде нужно 2 байта ( 0...0х270F ), которые обеспечат даже больший диапазон 0...65535LawManiak писал(а):А теперь самый глупый вопрос. Сколько мне нужно выделять байт под 4х разрядное число в пределах 1к?
Посмотрел вышеприведенный код - с моим практически 1 : 1. Только в части "десятки - единицы" не догоняю, бо практики с 51-ми почти не было.
- LawManiak
- Открыл глаза
- Сообщения: 62
- Зарегистрирован: Пн мар 14, 2011 18:34:23
- Откуда: Смоленск
- Контактная информация:
Re: Цифровой частотомер на x51 (AT89S51)
Подскажите, пожалуйста назначение этой схемы и из каких соображений для неё рассчитываются элементы? Мне её поставили знающие люди, сказали что так нада, что оно работает, но объяснять не стали... Оно у меня стоит на входе, с неё сигнал поступает на порт микроконтроллера...


Re: Цифровой частотомер на x51 (AT89S51)
Это входной усилитель сигнала с ограничением по входу..
Двухсторонний ограничитель собран на VD1 и VD2, на VT1 собран усилитель-инвертор, R4 задаёт рабочую точку для транзистора, а заодно обеспечивает ООС..
С8 - развязка по постоянному току..
Двухсторонний ограничитель собран на VD1 и VD2, на VT1 собран усилитель-инвертор, R4 задаёт рабочую точку для транзистора, а заодно обеспечивает ООС..
С8 - развязка по постоянному току..
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
- LawManiak
- Открыл глаза
- Сообщения: 62
- Зарегистрирован: Пн мар 14, 2011 18:34:23
- Откуда: Смоленск
- Контактная информация:
Re: Цифровой частотомер на x51 (AT89S51)
Можно поподробнее как в таком случае рассчитывается коэффициент усиления, зачем стоит R2 и почему именно 100 Ом и для чего 470 Ом на питании?

Re: Цифровой частотомер на x51 (AT89S51)
Так не говорят, R5 является нагрузкой для VT1, т.е. на нём будет усиленный по амплитуде и проинвертированный входной сигнал..LawManiak писал(а):470 Ом на питании?
R2 это защитное и ограничивающее сопротивление, оно стоит последовательно со входом.LawManiak писал(а):ачем стоит R2
При больших входных сигналах /больше прямого напряжения на VD1 и VD2 примерно 0.6 вольта/ эти диоды открываются и начинают ограничивать напряжение на базе транзистора, а лишнее напряжение рассеивается на R2, заодно R2 ограничивает ток через диоды что-бы их не пробило..
Коэффициент усиления зависит от Кусиления транзистора и отношений R4 и R5..
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
Re: Цифровой частотомер на x51 (AT89S51)
Да вот ещё:
R4 должен быть со звёздочкой, т.е. его при настройке надо будет подбирать..
от номинала C8 зависит частотный диапазон твоего прибора, а т.к. у тебя кГц, то ёмкость надо увеличить..
Вот можешь тут посмотреть-почитать.. http://www.qrz.ru/schemes/contribute/co ... /ch2.shtml
R4 должен быть со звёздочкой, т.е. его при настройке надо будет подбирать..
от номинала C8 зависит частотный диапазон твоего прибора, а т.к. у тебя кГц, то ёмкость надо увеличить..
Вот можешь тут посмотреть-почитать.. http://www.qrz.ru/schemes/contribute/co ... /ch2.shtml
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
- LawManiak
- Открыл глаза
- Сообщения: 62
- Зарегистрирован: Пн мар 14, 2011 18:34:23
- Откуда: Смоленск
- Контактная информация:
Re: Цифровой частотомер на x51 (AT89S51)
Таким образом входной сигнал будет отграничен примерно в пределах +/- 0.6В?
Я тут поднял свои старые записи, пришел к выводу, что коэффициент усиления в этой схеме зависит фактически только от R4 и R2, тобишь Uвых=Uвх*Rос/Rг
правильно я понимаю? в этом случае коэффициент усиления получается 470, да? но тогда что определяет сопротивление коллектора... По идее оно задает ток питания транзистора, но как его рассчитать...
Параметры транзистора:
Наимен. КТ315А
тип n-p-n
Uкбо(и),В 25
Uкэо(и), В 25
Iкmax(и), мА 100
Pкmax(т), Вт 0.15
h21э 30-120
Iкбо, мкА 0.5
fгр., МГц 250
И почему R2 100, это какое-то стандартное значение?
Я тут поднял свои старые записи, пришел к выводу, что коэффициент усиления в этой схеме зависит фактически только от R4 и R2, тобишь Uвых=Uвх*Rос/Rг
правильно я понимаю? в этом случае коэффициент усиления получается 470, да? но тогда что определяет сопротивление коллектора... По идее оно задает ток питания транзистора, но как его рассчитать...
Параметры транзистора:
Наимен. КТ315А
тип n-p-n
Uкбо(и),В 25
Uкэо(и), В 25
Iкmax(и), мА 100
Pкmax(т), Вт 0.15
h21э 30-120
Iкбо, мкА 0.5
fгр., МГц 250
И почему R2 100, это какое-то стандартное значение?

Re: Цифровой частотомер на x51 (AT89S51)
Не входной сигнал, а сигнал на базе транзистора..LawManiak писал(а):Таким образом входной сигнал будет отграничен примерно в пределах +/- 0.6В?
Нет.. R2 тут вообще не при чём..LawManiak писал(а):только от R4 и R2
Нет понятия "ток питания транзистора", есть - ток коллектора..LawManiak писал(а):что определяет сопротивление коллектора... По идее оно задает ток питания транзистора, но как его рассчитать...
Он не расчитывается, а при расчётах его просто задают..
Вот смотри:
Входной уровень единицы для микросхемы максимальный, берём 3 вольта, это напряжение нам надо получить когда на вход усилителя ничего не подаётся../измеряемый сигнал в смысле/
Т.е. на коллекторе транзистора относительно корпуса мы должны получить 3 вольта../этот уровень устанавливается подбором R4/
На R5 тогда будет 5-3=2 вольта, ток коллектора транзистора будет 2/470=4.25мА
Когда у нас будет подаваться входной сигнал, то на коллекторе напряжение будет относительно 3-х вольт туда-сюда колебаться, например от 0.5 до 5 вольт...
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
- LawManiak
- Открыл глаза
- Сообщения: 62
- Зарегистрирован: Пн мар 14, 2011 18:34:23
- Откуда: Смоленск
- Контактная информация:
Re: Цифровой частотомер на x51 (AT89S51)
так... теперь я снова в тупике...
как же мне рассчитать коэффициент усиления для этого упт?
просто мне нужно сделать расчет всех элементов этой схемы и указать почему они тут стоят и для чего...
как же мне рассчитать коэффициент усиления для этого упт?
просто мне нужно сделать расчет всех элементов этой схемы и указать почему они тут стоят и для чего...

Re: Цифровой частотомер на x51 (AT89S51)
Для чего мя те вроде про всё написал, а насчёт расчётов - ищи расчёт этой схемы включения транзистора..LawManiak писал(а):просто мне нужно сделать расчет всех элементов этой схемы и указать почему они тут стоят и для чего..
Блин, даже щас и не вспомню, как это включение называется..
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
- LawManiak
- Открыл глаза
- Сообщения: 62
- Зарегистрирован: Пн мар 14, 2011 18:34:23
- Откуда: Смоленск
- Контактная информация:
Re: Цифровой частотомер на x51 (AT89S51)
Вообще я предполагал что здесь вот эта схема включения:

но ты говоришь что по другому, так что я даже не знаю...
но ты говоришь что по другому, так что я даже не знаю...
Последний раз редактировалось LawManiak Чт июн 02, 2011 15:21:49, всего редактировалось 1 раз.



