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

 
 
> Помогите с 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
Ответов
Spag
сообщение Dec 16 2011, 20:40
Сообщение #2





Группа: Новичок
Сообщений: 1
Регистрация: 16-12-11
Пользователь №: 68 911



Помогите пожалуйста с программой для PIC16F84A. Задача такая: Нужно написать программу которая обеспечивала бы мигание светодиода подключенного к порту В с частотой 2Гц. При поступлении низкого сигнала на порт В5 загорался второй светодиод подключенный к порту А. Попеременное мигание осуществить с помощью прерываний инициируемых таймером. Программу написал но сердцем чувствую что что-то не так.
Цитата
List p=16F84a
Include <c:\P16F84a.inc>
_w equ 0x00b;
_status equ 0x00d;
PAGE;
__CONFIG _CP_OFF & _XT_OSC & _PWRTE_ON &_WDT_OFF
org 0;
goto Mainline
org 4
int
movwf_w;
movf STATUS,w;
movwf STATUS;
bcf INTCON, T0IF
movlw B'00000001'
xorwf PORTB
movwf STATUS;
swapf_w;
swapf_ww;
retfie;
Mainline
bsf STATUS, RP0;
movlw B'11111110'
movlw TRISA;
movlw B'11010111'
movlw OPTION_REG;
movlw B'11111110'
movlw TRISB;
bcf STATUS, RP0;
movlw B'10100000'
movwf INTCON;
Loop
btfsc PORTB, 5;
goto Setbit;
bcf PORTA,0;
goto Loop;
Setbit;
Bsf PORTA, 0;
goto Loop;
end
Go to the top of the page
 
+Quote Post

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


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

 


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


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