Отговори на тема  [ 32 мнения ]  Отиди на страница Предишна  1, 2, 3  Следваща
Pic 16F628 изключване на компаратори 
Автор Съобщение
Ранг: Популярен
Ранг: Популярен

Регистриран на: Пет Юни 25, 2010 2:18 pm
Мнения: 338
Местоположение: Varna
Мнение Re: Pic 16F628 изключване на компаратори
Ето и hex за 16F628 генериран от CVASM16 ( от приложения src файл).


Прикачени файлове:
DELTA_628.zip [5.29 KiB]
216 пъти
Нед Ное 25, 2018 12:31 am
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Съб Яну 30, 2016 5:05 pm
Мнения: 38
Мнение Re: Pic 16F628 изключване на компаратори
Много ти благодаря

Така

Като вкарам промените в mplab-a
LIST p=16F628 ;tell assembler what chip we are using
include "P16F628.inc" ;include the defaults for the chip
__config 0x3D18


***********************************
org 0x0000
movlw 0x07
movwf CMCON

И го компилирам , след това запиша платката тръгва работи .

С другият hex които си го направил платката не тръгва , по принцип много по лесно ми е да работя с този parallax зщото си виждам комнетарите и знам кое къде е можеш ли да го разгадеш какво трябва да се изпише не го схващам изобщо

movlw 0x07
movwf CMCON

mov w,#07H
mov comcon,w

тава не е така не тръгва


Нед Ное 25, 2018 1:20 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 8:21 pm
Мнения: 27949
Местоположение: София
Мнение Re: Pic 16F628 изключване на компаратори
Това не е език, освен това изглежда да си работи и с нормални команди. Директно се пише както си казал, провери си банкирането обаче, можеш и директно с movlf, все там, въпроса е да знаеш къде и кога да го пишеш.


Нед Ное 25, 2018 2:27 pm
Профил
Ранг: Популярен
Ранг: Популярен

Регистриран на: Пет Юни 25, 2010 2:18 pm
Мнения: 338
Местоположение: Varna
Мнение Re: Pic 16F628 изключване на компаратори
Няма нищо за разгадаване :)
синтaксиса на MPASM е различен от този на CVASM. И двата са описани в съоветните документи.
movlw 0x07 = mov w,#07H
movwf CMCON = mov cmcon,w

А не тръгва защото иска още промени по кода. Например още в началото на кода за F84 "org 0Ch" ще трябва да стане "org 20h", защото при F628 general purpose регистрите започват от 20h. Със сигурност има разлики и в "Configuration Bits" и на доста други места.
Не съм убеден че това което тръгва ще работи коректно.


Нед Ное 25, 2018 3:16 pm
Профил
Ранг: Популярен
Ранг: Популярен

Регистриран на: Пет Юни 25, 2010 2:18 pm
Мнения: 338
Местоположение: Varna
Мнение Re: Pic 16F628 изключване на компаратори
Пробвай с това. Само съм преместил променливите.


Прикачени файлове:
DELTA_628.zip [5.29 KiB]
220 пъти
Нед Ное 25, 2018 3:35 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Съб Яну 30, 2016 5:05 pm
Мнения: 38
Мнение Re: Pic 16F628 изключване на компаратори
Не тръгва има още нещо

освен org 20h

eeorg 0 ?

и тук също трябва нещо

valid_ecrit setb status.5
setb eecon1.2
mov eecon2,#055h
mov eecon2,#0AAh
setb eecon1.1
:bou0 jnb eecon1.4,:bou0
clrb eecon1.4
clrb status.5
ret


Нед Ное 25, 2018 3:50 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Съб Яну 30, 2016 5:05 pm
Мнения: 38
Мнение Re: Pic 16F628 изключване на компаратори
Тук също не ми е ясно

__config 0x3D18

дали е така

fuses_CP_OFF
fuses_WDT_OFF
fuses_PWRTE_ON
fuses_XT_OSC


Нед Ное 25, 2018 4:07 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Съб Яну 30, 2016 5:05 pm
Мнения: 38
Мнение Re: Pic 16F628 изключване на компаратори
A това са грешките от mplab-a

И преправения .аsm


Прикачени файлове:
f84.asm [14.54 KiB]
213 пъти
ERROR.txt [8.34 KiB]
200 пъти
Нед Ное 25, 2018 4:29 pm
Профил
Ранг: Популярен
Ранг: Популярен

Регистриран на: Пет Юни 25, 2010 2:18 pm
Мнения: 338
Местоположение: Varna
Мнение Re: Pic 16F628 изключване на компаратори
Ще ти е много трудно да преправиш f84.asm.
По добре работи върху паралакския сорс.

"eeorg 0" си е ОК.

Процедурата за запис в EEPROM-а явно е различна.
Това
Код:
valid_ecrit      setb   status.5       
                 setb   eecon1.2       
                 mov    eecon2,#055h   
                 mov    eecon2,#0AAh   
                 setb   eecon1.1       
:bou0            jnb    eecon1.4,:bou0
                 clrb   eecon1.4       
                 clrb   status.5       
                 ret

ще трябва да го пренапишеш.
На първо четене изглежда че 16F628 ще зависне на това:
Код:
:bou0 jnb eecon1.4,:bou0


С какъв кварц работи това чудо ?


Нед Ное 25, 2018 5:30 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Съб Яну 30, 2016 5:05 pm
Мнения: 38
Мнение Re: Pic 16F628 изключване на компаратори
Имам два вида платки

Тези които са с PIC16F84 са _RC_OSC 4 mhz тук нямам проблем но ми е малко мястото и вече е изчерпано за това исках да мина на 16F628
Вторият вид платка е с Pic16f628 с кварц 4 mhz _XT_OSC
Аз искам да работя на parallax .


Нед Ное 25, 2018 5:42 pm
Профил
Ранг: Популярен
Ранг: Популярен

Регистриран на: Пет Юни 25, 2010 2:18 pm
Мнения: 338
Местоположение: Varna
Мнение Re: Pic 16F628 изключване на компаратори
Изтегли си това http://www.tech-tools.com/d_pictools.htm
Ако иде-то не тръгне на win7, ползвай само CVASM16 през DOSBOX.
Ето още една проба от мен :)
Променил съм записа в EEPROM-a и фюзовете.


Прикачени файлове:
W.zip [5.33 KiB]
218 пъти
Нед Ное 25, 2018 6:59 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Съб Яну 30, 2016 5:05 pm
Мнения: 38
Мнение Re: Pic 16F628 изключване на компаратори
Много ти благодаря .

Да кажа до тук какво е станало

С този Hex тръгва но не си чете предварително зададените честоти

eeorg 0
eedata 001h,047h,061h,004h,005h,003h,000h,000h,000h,000h ;rx 453.0000
eedata 001h,021h,031h,004h,006h,003h,000h,000h,000h,000h ;tx 463.0000

И не може да прави

incrementation_pour_lcd нарастване на цифрите на дисплея и съответно тяхното намаляване decrementation_pour_lcd

Дефкато трябва да тръгва така 453.0000 и да се измества нагоре или на долу с 0,0125

Но тръгва така 000.0000 мести се с 0.0125 но не се запаметява след отпускане на бутона

Много ти благодаря за помощта

Можеш ли да погледнеш и този част


Нед Ное 25, 2018 10:32 pm
Профил
Ранг: Напреднал
Ранг: Напреднал
Аватар

Регистриран на: Съб Май 21, 2016 8:47 pm
Мнения: 472
Местоположение: Бургас
Мнение Re: Pic 16F628 изключване на компаратори
Процедурата за инициализация и запис на EEPROM e различна при 84 и 628. Бит 4 EECON регистъра на F84 го няма в F628, затова не ти "помни" стойностите. Имаш два варианта да станат нещата: единия да разрешиш прекъсванията от EEPROM и при завършване на записа да ти се генерира прекъсване, а втория е да вкараш един цикъл на изчакване с време, по-голямо от максималното време на запис на клетката. За този ред става дума:

:bou0 jnb eecon1.4,:bou0


Пон Ное 26, 2018 10:20 am
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Съб Яну 30, 2016 5:05 pm
Мнения: 38
Мнение Re: Pic 16F628 изключване на компаратори
Така ли трябва да е

valid_ecrit setb status.5
setb eecon1.2
mov eecon2,#055h
mov eecon2,#0AAh
setb eecon1.1
nop
:bou0 jnb eecon1.2,:bou0
clrb eecon1.2
clrb status.5
ret


Пон Ное 26, 2018 1:38 pm
Профил
Ранг: Популярен
Ранг: Популярен

Регистриран на: Пет Юни 25, 2010 2:18 pm
Мнения: 338
Местоположение: Varna
Мнение Re: Pic 16F628 изключване на компаратори
Преправих писането и четенето от EEPROM-а. Тествай пак. Сега поне на симулация работи :)


Прикачени файлове:
delta_628.zip [5.52 KiB]
194 пъти
Вто Ное 27, 2018 12:06 am
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 32 мнения ]  Отиди на страница Предишна  1, 2, 3  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 6 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни