|
Помогите с PIC16F84A |
|
|
|
Dec 3 2006, 16:54
|
Участник

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

|
Помогите с усовершенствованием кода Код ;******************************************************************************* ************* ;* Мигание светодиода *************************************** ;******************************************************************************* *************
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 Как дописать, чтоб светики мигали поочередно, а не вместе...??? Кто знает отзовись и помоги юному пиковщику.... Не допру сам никак
|
|
|
|
|
 |
Ответов
|
Dec 3 2006, 17:04
|
    
Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731

|
Цитата(Asekart @ Dec 3 2006, 16:54)  ... Как дописать, чтоб светики мигали поочередно, а не вместе...??? Кто знает отзовись и помоги юному пиковщику.... Не допру сам никак  Вместо Код clrf PORTA напишите, например: Код movlw b'00000001' movwf PORTA Светодиоды будут мигать в противофазе.
|
|
|
|
|
Dec 3 2006, 18:09
|
Участник

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

|
Цитата(xemul @ Dec 3 2006, 16:04)  Цитата(Asekart @ Dec 3 2006, 16:54)  ... Как дописать, чтоб светики мигали поочередно, а не вместе...??? Кто знает отзовись и помоги юному пиковщику.... Не допру сам никак  Вместо Код clrf PORTA напишите, например: Код movlw b'00000001' movwf PORTA Светодиоды будут мигать в противофазе. Как показала практика то не будут...будут опять вместе мигать....так как после вашего присваивания...им дальше как и у меня присаивается опять новое значение... Нужен другой како-то способ....
|
|
|
|
|
Dec 3 2006, 19:44
|
    
Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731

|
Цитата(Asekart @ Dec 3 2006, 18:09)  Цитата(xemul @ Dec 3 2006, 16:04)  Цитата(Asekart @ Dec 3 2006, 16:54)  ... Как дописать, чтоб светики мигали поочередно, а не вместе...??? Кто знает отзовись и помоги юному пиковщику.... Не допру сам никак  Вместо Код clrf PORTA напишите, например: Код movlw b'00000001' movwf PORTA Светодиоды будут мигать в противофазе. Как показала практика то не будут...будут опять вместе мигать....так как после вашего присваивания...им дальше как и у меня присаивается опять новое значение... Нужен другой како-то способ.... Упс-с, извините. Естесно, читать: Код clrf ledset напишите, например: Код movlw b'00000001' movwf ledset Это я подумал про то, что в данном случае можно и не заводить промежуточную переменную, а работать прямо с PORTA, ну и написал, что думал
|
|
|
|
|
Dec 3 2006, 23:32
|
Участник

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

|
Цитата(xemul @ Dec 3 2006, 18:44)  Цитата(Asekart @ Dec 3 2006, 18:09)  Цитата(xemul @ Dec 3 2006, 16:04)  Цитата(Asekart @ Dec 3 2006, 16:54)  ... Как дописать, чтоб светики мигали поочередно, а не вместе...??? Кто знает отзовись и помоги юному пиковщику.... Не допру сам никак  Вместо Код clrf PORTA напишите, например: Код movlw b'00000001' movwf PORTA Светодиоды будут мигать в противофазе. Как показала практика то не будут...будут опять вместе мигать....так как после вашего присваивания...им дальше как и у меня присаивается опять новое значение... Нужен другой како-то способ.... Упс-с, извините. Естесно, читать: Код clrf ledset напишите, например: Код movlw b'00000001' movwf ledset Это я подумал про то, что в данном случае можно и не заводить промежуточную переменную, а работать прямо с PORTA, ну и написал, что думал   Теперь картина чуток иная, спасиба и на этом! Но цель всёже не достигнута, второй диод не мигает, а мигает только первый, кторый записан у вас (т.е который на 18 ножке.....)... так вот  Может есть всё таки еще какие-то идеи на реализацию этого примера....нужная штука в просторах сети такого нет, может кто увидит и использует по назначению  Хелп короче! Пасиба огромное за идеи!!!!
|
|
|
|
Сообщений в этой теме
Asekart Помогите с PIC16F84A Dec 3 2006, 16:54      Asekart Цитата(xemul @ Dec 4 2006, 13:55) Цитата(... Dec 4 2006, 19:21 xemul Главное, чтобы во благо.
Чтобы менять частоту мига... Dec 4 2006, 19:44 Asekart Цитата(xemul @ Dec 4 2006, 18:44) Главное... Dec 4 2006, 22:28  DL36 Цитата(Asekart @ Dec 4 2006, 23:28) А вы ... Dec 25 2006, 01:12   Asekart Цитата(DL36 @ Dec 25 2006, 01:12) Цитата(... Dec 27 2006, 09:46    DL36 Цитата(Asekart @ Dec 27 2006, 10:46) Огро... Dec 27 2006, 11:12 Spag Помогите пожалуйста с программой для PIC16F84A. За... Dec 16 2011, 20:40 fox2trot Цитата(Spag @ Dec 17 2011, 00:40) Програм... Jan 17 2012, 06:45 xemul Цитата(Spag @ Dec 17 2011, 00:40) Поперем... Jan 17 2012, 11:33
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|