реклама на сайте
подробности

 
 
> Помогите с PIC16F84A
Asekart
сообщение Dec 3 2006, 16:54
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 17
Регистрация: 3-12-06
Из: SV-IX
Пользователь №: 23 068



Помогите с усовершенствованием кода help.gif
Код
;*******************************************************************************
*************
;*                   Мигание светодиода               ***************************************
;*******************************************************************************
*************

list p=16f84
  
   #include <p16F84a.inc>

__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC


count1 EQU  0x0C
count2 EQU  0x0D
ledset EQU  0x0E


   ORG 0x000
  
   clrf PORTA
   clrf PORTB
      bsf STATUS, RP0
   movlw b'11111100'
   movwf PORTA
   movlw b'00000101'
   movwf PORTB

   bcf OPTION_REG,7
   bcf STATUS,RP0
   clrf ledset

loop   movlw b'00000011'
   xorwf ledset, f
   movf ledset, w
   movwf PORTA
      
      movlw 0x00

   movwf count1
cycle1 movlw 0xFF
      movwf count2
cycle2 decfsz count2, f
      goto cycle2
      
      incfsz count1, f
      goto cycle1
    
      goto loop
      
      end

Значит эта прога заставляет мигать 2 диода...за ножки отвечает эта строчка, она рассчитана и она была дописана мной для двух светиков
movlw b'11111100' ; последние 2 нуля показывают что на 17 и 18 ножках светики
movwf PORTA
Далее инвертируется этот адресс в строчке

movlw b'00000011' ; тут инвертируется значние и выходит так что на 17 и 18 ножках логическая 1....

xorwf ledset, f
movf ledset, w
movwf PORTA

Как дописать, чтоб светики мигали поочередно, а не вместе...??? Кто знает отзовись и помоги юному пиковщику.... Не допру сам никак smile3046.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
xemul
сообщение Dec 4 2006, 19:44
Сообщение #2



*****

Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731



Главное, чтобы во благоsmile.gif.
Чтобы менять частоту мигания, задействуйте таймер, настройте прескалер для получения желаемой частоты переполнения таймера (скорее всего придется расширить таймер программным счетчиком), и по прерыванию таймера (точнее, по желаемому состоянию программного счетчика) переключайте светодиоды.
Кнопками можно изменять частоту мигания. Можно добавить еще одну - для изменения характера мигания. Творитеsmile.gif.

ЗЫЖ pull-up'ы (внутренние привязочные резисторы по PORTB), надеюсь, включены? Без привязки кнопки обработать не удастся.
Go to the top of the page
 
+Quote Post
Asekart
сообщение Dec 4 2006, 22:28
Сообщение #3


Участник
*

Группа: Новичок
Сообщений: 17
Регистрация: 3-12-06
Из: SV-IX
Пользователь №: 23 068



Цитата(xemul @ Dec 4 2006, 18:44) *
Главное, чтобы во благоsmile.gif.
Чтобы менять частоту мигания, задействуйте таймер, настройте прескалер для получения желаемой частоты переполнения таймера (скорее всего придется расширить таймер программным счетчиком), и по прерыванию таймера (точнее, по желаемому состоянию программного счетчика) переключайте светодиоды.
Кнопками можно изменять частоту мигания. Можно добавить еще одну - для изменения характера мигания. Творитеsmile.gif.

ЗЫЖ pull-up'ы (внутренние привязочные резисторы по PORTB), надеюсь, включены? Без привязки кнопки обработать не удастся.

А вы можете привести пожалуста простенькое дополнение к уже существующей проге, только с использованием таймера...буду бескрайне благодарен...нужно просто увидеть пример, а потом поковырятся в нем....огромное спасибо!!!!
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 11:46
Рейтинг@Mail.ru


Страница сгенерированна за 0.03946 секунд с 7
ELECTRONIX ©2004-2016