|
|
  |
жутко глючит мк, помогите пожалуйста |
|
|
|
Apr 20 2008, 11:20
|

Местный
  
Группа: Участник
Сообщений: 355
Регистрация: 27-03-07
Из: Україна, Чуднів
Пользователь №: 26 530

|
Цитата(_Ivan_33 @ Apr 20 2008, 14:10)  но проблема в том, что когда я ставлю delay_ms(...) то время указанное в скобках будет не такое, а будет хаотично (при подключенной переменке) и все будет норм если просто подключен светодиод А можно код увидеть? И как Вы используете пересечение нуля? Может от него и надо плясать? И почему собственно глюки МК?
--------------------
нельзя недооценивать предсказуемость глупости
|
|
|
|
|
Apr 20 2008, 11:36
|

Местный
  
Группа: Участник
Сообщений: 355
Регистрация: 27-03-07
Из: Україна, Чуднів
Пользователь №: 26 530

|
Цитата(_Ivan_33 @ Apr 20 2008, 14:26)  #include <tiny2313.h> #include <delay.h> void main(void) {DDRB=4; DDRA.1=0; while(1) { PORTB=4; delay_ms(3000); if (PINA.1==0x00) {PORTB=0;}; с помощью этого кода я хочу узнать как плавно лампочку загорать С помощью этого кода не получится, алгоритм не верный. Такой алгоритм будет работать только в синхронном режиме с частотой сети. Нольпересечение у Вас обрабатывается в цикле и с какого момента лампочка начинает гореть - предсказать невозможно, такое моё видение
--------------------
нельзя недооценивать предсказуемость глупости
|
|
|
|
|
Apr 20 2008, 11:37
|
fpga designer
   
Группа: Свой
Сообщений: 613
Регистрация: 20-04-08
Из: Зеленоград
Пользователь №: 36 928

|
Код #include <tiny2313.h> #include <delay.h> void main(void) {DDRB=4; DDRA.1=0; while(1) { PORTB=4; delay_ms(3000); if (PINA.1==0x00) {PORTB=0;}; delay_ms(20); if (PINA.1==0x00) {PORTB=4;}; delay_ms(250); if (PINA.1==0x00) {PORTB=0;}; delay_ms(20); if (PINA.1==0x00) {PORTB=4;}; delay_ms(350); if (PINA.1==0x00) {PORTB=0;}; delay_ms(30); if (PINA.1==0x00) {PORTB=4;} delay_ms(450); if (PINA.1==0x00) {PORTB=0;} delay_ms(20); if (PINA.1==0x00) {PORTB=4;}; delay_ms(550); if (PINA.1==0x00) {PORTB=0;}; delay_ms(20); if (PINA.1==0x00) {PORTB=4;}; delay_ms(700);};} - вот так? извините но если не так а переход через нуль использую для включения канала - чтоб не было помех
Сообщение отредактировал zltigo - Apr 20 2008, 11:39
--------------------
|
|
|
|
|
Apr 20 2008, 11:51
|
Частый гость
 
Группа: Свой
Сообщений: 195
Регистрация: 13-05-07
Из: Норильск
Пользователь №: 27 691

|
Посмотрите здесьAVR182: Zero Cross Detector AVR040: EMC Design Considerations По крайней мере, детектирование нуля Атмел предлагает делать немного иначе. В принципе, для детектирования нуля можно цепляться к напряжению вторичной обмотки трансформатора - так безопасней будет
Сообщение отредактировал tazik - Apr 20 2008, 11:55
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|