Свежие обсуждения
Микроконтроллеры

звук

1 2

как мне сделать пищалку? которая посажена на порт а 3.схема в аттаче. прога для компилятора С(HI-TECH)

 

electric, зачем для каждого из Ваших многочисленных вопросов, создавать новую тему? Есть же соответствующая - "Ликбез по С для микроконтроллеров".

 

потому что там уже как пол дня никто не отвечает, а в отдельной теме почти сразу. ну если Вам не нравится то МОДЕРАТОР этого форума снесите к черту эту тему.

 

electric,
такое схемотехническое решение не очень удачно.
Ведь контроллер может "зависнуть" (результат помехи, скрытая ошибка в алгоритме, особенно на этапе отладки).
Если в результате такого зависания на ноге останется лог. 1, то через динамическую голову неограниченно долго потечет ток, который может ее сжечь.
Плюс перерасход энергии при батарейном питании.

Ставьте разделительный конденсатор и запирающий резистор между базой и эмитером.

И еще -- подобное управление транзисторным ключом корректно только в том случае, если выходная нога находится в режиме "Resistive Pull Up", т.е. "нижний ключ с подтягивающим "верхним" резистором". Выбранный микроконтроллер должен поддерживать такой режим.

 

ээээээ..... ну ни фига себе вы загнули ..... я половину не понял. но я надеюсь так можно оставить потому что ПП уже не изменить. еще у меня с ноги микросхемы не сразу идет на базу а через резистор на 600 ом. и кстати у меня прилично греется стабилизатор напряжения. как это устранить не меняя плату?

 

http://forum.radiospec.ru/index.php?s=84a72a1a7d158f8b0f8f40a7fe7a2955&showt...
Генератор биоритмов

 

electric: и кстати у меня прилично греется стабилизатор напряжения. как это устранить не меняя плату?
если он без радиатора и входной напряжение вольна на 3-4 больше выходного, то будет греться

сгенерировать писк можно циклом фор
для этого важно знать частоту генератора

в цикле фор через определенные паузы дергаем выводомс большой частотой, опираясь на частоту кварца
придется подобрать все эти числа

можно таймером генерить

вот нашел пример

volatile uint8_t BeepCnt;
volatile uint8_t BeepTmr;

#define BEEP_Port_ini DDRB
#define BEEP_Port PORTB
#define BEEP_Bit PB2

#define BEEP_T 25 // ms
#define BEEP_F 900 // Hz

#define BEEP_TMR (7812/BEEP_F)
#define BEEP_LEN (255-BEEP_T*15/BEEP_TMR)

//////////////////////////////////////////
void Beep(void) { BeepCnt = BEEP_LEN; return; }

/////////////////
void Beeper(void)
{
if(++BeepTmr > BEEP_TMR)
{
BeepTmr = 0;

if(BeepCnt)
{
if(++BeepCnt & 0x01)
{
SetBit(BEEP_Port,BEEP_Bit);
}
else
ClrBit(BEEP_Port,BEEP_Bit);
}
}
return;
}

 

дайте схему с этими вашими ""разделительный конденсатор и запирающий резистор между базой и эмитером.""

 

Так.

 

Всем привет. вот тут внова сел делать ту штуку, нужна вапше простенькая прога (без таймеров, #define, и т.д.) помогите плз потомучто все выше написанное не работает ибо под другой компилятор заделано, а у меня HI-TECH