ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
9 мая
84837 Топик полностью
LordN (29.03.2007 14:43, просмотров: 1) ответил ReAl на Ну так первые ссылки Max_QNX - как раз по алгоритму. А ещё можешь глянуть
вобщем кое-что нашел, но там сделано по другому <c> double M; double N; double Increment; double Total; long Whole; void main(void) { M = 100; N = /*Задайте число*/ Whole = 0; Total = 0; Increment = N / M; /*Приращение за 1 шаг последов. M*/ while(--M) { Total = Total + Increment; Whole = Total; /*Целая часть переходит в Whole*/ Total = Total - Whole; /*Далее используем Whole, например выдаем импульс в порт, и пошли по новой*/ } } </c> как-то сложно мне показалось... "структуру счётчика 155ие8, тоже под эту задачу годится, период управления тиристором должен быть степенью двойки. Берёшь счётчик периодов сети (бежит себе по кругу и никого не трогает) и код мощности. Код мощности "разворачиваешь" битами наоборот, делаешь AND со счётчиким, если результат не 0 - включаешь тиристор. Регулировка от 0 до 2^N-1/2^N-тых (N - разрядность счётчика и кода мощности), если надо от 1/2^N до 1, то надо инвертировать код мощности и выход." про AND поясните плз, не совсем понял, что с чем эндить надо... <c> char cnt, // счетчик power; // код мощности while(1) { cnt++; TriakPin = (~power & cnt); // ???? } </c>