Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 07.11.2016, 19:20  
Дмитрий_58
Частый гость
 
Регистрация: 14.10.2016
Сообщений: 21
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Дмитрий_58 на пути к лучшему
По умолчанию Не работает плавное включение светодиода с помощью ШИМа

Столкнулся с проблемой. Код:
list p=16f628a ; list directive to define processor
#include "p16f628A.inc" ; processor specific variable definitions

__CONFIG _FOSC_INTOSCCLK & _WDTE_OFF & _PWRTE_OFF & _MCLRE_OFF & _BOREN_OFF & _LVP_OFF & _CPD_OFF & _CP_OFF
; '__CONFIG' directive is used to embed configuration data within .asm file.
; The labels following the directive are located in the respective .inc file.
; See respective data sheet for additional information on configuration word.

;‹editor-fold defaultstate="collapsed" desc="comment"›
;***** VARIABLE DEFINITIONS (examples)
; example of using Shared Uninitialized Data Section
INT_VAR UDATA_SHR
w_temp RES 1 ; variable used for context saving
status_temp RES 1 ; variable used for context saving
INTCOUNTER RES 1

; example of using Uninitialized Data Section
TEMP_VAR UDATA 0x20 ; explicit address specified is not required
temp_count RES 1 ; temporary variable (example)

; example of using Overlayed Uninitialized Data Section
; in this example both variables are assigned the same GPR location by linker
G_DATA UDATA_OVR ; explicit address can be specified
flag RES 1 ; temporary variable (shared locations - G_DATA)

G_DATA UDATA_OVR
count RES 1 ; temporary variable (shared locations - G_DATA);‹/editor-fold›

;************************************************* *********************
RESET_VECTOR CODE 0x0000 ; processor reset vector
goto start ; go to beginning of program


INT_VECTOR CODE 0x0004 ; interrupt vector location === прерывание ===
INTERRUPT
movwf w_temp ; save off current W register contents
movf STATUS,w ; move status register into W register
movwf status_temp ; save off contents of STATUS register
; isr code can go here or be located as a call subroutine elsewhere

MOVLW 0xF8 ;проверка на равенство
XORWF CCPR1,w ;проверка на равенство
btfsC STATUS,Z ;проверка на равенство
SLEEP ;по достижении максимального значения шим,
; контроллер уходит в сон(энергосберегающий режим)
; сохраняя состояние выходов.
INCF CCPR1,F ;приращение длительности положительного уровня в шим
BCF PIR1,TMR2IF ;сброс флага прерывания от постделителя TMR2

; isr code can go here or be located as a call subroutine elsewhere
movf status_temp,w ; retrieve copy of STATUS register
movwf STATUS ; restore pre-isr STATUS register contents
swapf w_temp,f
swapf w_temp,w ; restore pre-isr W register contents
RETFIE ; return from interrupt == возврат из прерывания ==

MAIN_PROG CODE

start
; настройки-------------------------------------------------------------
CLRF STATUS ;

clrf PORTB ;очистка порта B
banksel TRISB ;смена банка
bcf TRISB,0 ;установка бита на выход
bcf TRISB,3 ;установка бита на выход
;-------------------------
;-------------------------
MOVLW 0xFA ;
MOVWF PR2 ;период шим
banksel CCP1CON ;смена банка
movlw b'00000010' ;?
movwf CCPR1L ;длительность импульса старший байт
;-------------------------
CLRF TMR2 ;очистка таймера
MOVLW b'1111101' ;
movwf T2CON ;настройка предделителя на 4 и включение таймера
;-------------------------
movlw b'111100' ;?
movwf CCP1CON ;длительность импульса младшие 2 бита ‹5›:‹4› включение шим
;-------------------------
CLRF PIR1 ;очистка флагов переферийных прерываний
BSF INTCON,PEIE ;включение(снятие маски) переферийных прерываний
BANKSEL PIE1 ;смена банка
BSF PIE1,TMR2IE ;включение(снятие маски) прерывания от TMR2
BANKSEL INTCON ;смена банка
BSF INTCON,GIE ;включение всех немаскированых прерываний
;-------------------------
;nop ; code starts here (example)
;banksel count ; смена банка
clrf count ; example
main ;главная программа
; remaining code goes here
NOP
goto main

END ; directive 'end of program'

В протеусе импульсы плавно изменяют скважность, собираю на макетной плате, просто моргание светодиода, в чем проблема??
Реклама:
Дмитрий_58 вне форума  
Непрочитано 07.11.2016, 19:24  
индюк
Гуру портала
 
Аватар для индюк
 
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 10,564
Сказал спасибо: 181
Сказали Спасибо 3,159 раз(а) в 2,045 сообщении(ях)
индюк на пути к лучшему
По умолчанию Re: Не работает плавное включение светодиода с помощью ШИМа

ох мать...........
а на осциллографе что показывает?
__________________
кагмаподэ магмаподэ
индюк вне форума  
Непрочитано 07.11.2016, 19:28  
Дмитрий_58
Частый гость
 
Регистрация: 14.10.2016
Сообщений: 21
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Дмитрий_58 на пути к лучшему
По умолчанию Re: Не работает плавное включение светодиода с помощью ШИМа

индюк, добрый день!На осцилляторе показывает тоже самое что и в протеусе, я цеплял в живую, программа не уходит в спящий режим почему то, а есть схема для плавного включения светодиода?
Дмитрий_58 вне форума  
Непрочитано 07.11.2016, 19:41  
индюк
Гуру портала
 
Аватар для индюк
 
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 10,564
Сказал спасибо: 181
Сказали Спасибо 3,159 раз(а) в 2,045 сообщении(ях)
индюк на пути к лучшему
По умолчанию Re: Не работает плавное включение светодиода с помощью ШИМа

ну так ты выложи что на осциллографе то!! а то говорим ни о чем
__________________
кагмаподэ магмаподэ
индюк вне форума  
Непрочитано 07.11.2016, 19:49  
Дмитрий_58
Частый гость
 
Регистрация: 14.10.2016
Сообщений: 21
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Дмитрий_58 на пути к лучшему
По умолчанию Re: Не работает плавное включение светодиода с помощью ШИМа

индюк, смогу выложить завтра т.к. временно разобрал макетную плату, вопрос в том что почему в протеусе одно а в железе другое, в протеусе программа ушла в sleep и должен просто гореть светодиод, а в железе импульс меняется то низкий то высокий логический уровень поэтому и моргание светодиода. Я хочу сделать ШИМ для плавного включения но пока не разобрался..При подаче напряжения на проц светодиод плавно загорается и потом просто горит и все, в инете особо на PIC ничего подобного не нашел, там либо с помощью кнопок меняется либо по другому
Дмитрий_58 вне форума  
Непрочитано 07.11.2016, 19:52  
tsb
Прописка
 
Аватар для tsb
 
Регистрация: 25.11.2006
Адрес: Харьков
Сообщений: 295
Сказал спасибо: 25
Сказали Спасибо 71 раз(а) в 60 сообщении(ях)
tsb на пути к лучшему
По умолчанию Re: Не работает плавное включение светодиода с помощью ШИМа

Сообщение от Дмитрий_58 Посмотреть сообщение
В протеусе импульсы плавно изменяют скважность, собираю на макетной плате, просто моргание светодиода, в чем проблема??
Возможно, проблема в скорости этого "плавного изменения". Не всегда то, что заметно на приборах, можно увидеть невооруженным взглядом.
tsb вне форума  
Непрочитано 07.11.2016, 19:53  
Дмитрий_58
Частый гость
 
Регистрация: 14.10.2016
Сообщений: 21
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Дмитрий_58 на пути к лучшему
По умолчанию Re: Не работает плавное включение светодиода с помощью ШИМа

Возможно частота большая??А если попробовать через внешнюю RC цепь?
Дмитрий_58 вне форума  
Непрочитано 07.11.2016, 19:59  
индюк
Гуру портала
 
Аватар для индюк
 
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 10,564
Сказал спасибо: 181
Сказали Спасибо 3,159 раз(а) в 2,045 сообщении(ях)
индюк на пути к лучшему
По умолчанию Re: Не работает плавное включение светодиода с помощью ШИМа

Сообщение от Дмитрий_58 Посмотреть сообщение
А если попробовать через внешнюю RC цепь?
тогда просто возми переменный резистор и проц не нужен.)))))
больше 400 герц глаз любой шим не видит в принципе
__________________
кагмаподэ магмаподэ
индюк вне форума  
Непрочитано 07.11.2016, 20:06  
Дмитрий_58
Частый гость
 
Регистрация: 14.10.2016
Сообщений: 21
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Дмитрий_58 на пути к лучшему
По умолчанию Re: Не работает плавное включение светодиода с помощью ШИМа

Нет, такая схема мне не нужна
Дмитрий_58 вне форума  
Непрочитано 07.11.2016, 20:27  
индюк
Гуру портала
 
Аватар для индюк
 
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 10,564
Сказал спасибо: 181
Сказали Спасибо 3,159 раз(а) в 2,045 сообщении(ях)
индюк на пути к лучшему
По умолчанию Re: Не работает плавное включение светодиода с помощью ШИМа

Тогда учись программировать и смотреть в осцил.
Допиливание сигнала навесными схемами это треш. В цифровых системах на выходе не должно быть ничего кроме резистора
__________________
кагмаподэ магмаподэ
индюк вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Плавное включение фар dg79 Электроника средств транспорта 75 15.08.2015 17:01
Регулировка яркости светодиода с помощью ШИМ putmannn Микроконтроллеры, АЦП, память и т.д 107 26.06.2013 13:05
Плавное включение вентилятора охлаждения авто semenov0565 Электроника средств транспорта 35 18.09.2012 10:17
Плавное мигание светодиода Yuyukos Источники питания и свет 2 05.10.2010 23:08
плавное включение вентилятора охлаждения авто semenov0565 Информация по радиокомпонентам 0 21.09.2008 16:25


Часовой пояс GMT +4, время: 14:57.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot