Care sunt limitele de PICBASIC PRO Compiler Demo?

O

onemilimeter

Guest
Demo versiunea de PICBASIC PRO nu este pe deplin funcţional.Care sunt limitele?Mulţumesc.

 
Salut!

Dacă nu mă înşeală, principalele restricţii de versiunea demo:
- Se limitează la unele modele de câteva PIC (cel mai utilizat şi comune) şi 25 linii de comenzi (care nu sunt incluse în liniile de antet şi de configurare).

Cred că 25 linii este inutil pentru orice cerere, cu excepţia cazului în care LED-uri pentru a face sau blink spune "Hello" la un LCD.

 
Aici este oficial limitări:

http://www.mecanique.co.uk/products/compiler/pbp-demo-limits.html

 
Posibile pentru a partaja un exemplu care poate fi compilat în copie licenţiată, dar nu şi la versiunea demo?Mulţumesc.

 
Credeţi că se poate să fie elaborate în PICBASIC PRO versiunea demo?
Cod:'************************************************* ***************

'* Nume: * SLED4_2.BAS

'* Autor: Bruce Reynolds *

'* Nota: Copyright (c) 2004 Reynolds Electronics *

'*: Toate drepturile rezervate *

'* Data: 7.02.2004 *

'* Version: 1.0 *

'* Note: rutinele de testare pentru SLED4 4 cifre de serie *

'*: LED modul *

'************************************************* ***************

"PIC16F876A @ 20MHz w / boot-loaderDefinească OSC 20

Definească LOADER_USED 1

Includ "modedefs.bas"RO VAR PORTB.5 "Activaţi codul PIN

CLK VAR PORTB.6 "Ceas de aderenţă

DOUT VAR PORTB.7 "date afară de aderenţă

X VAR cuvântul "GP var

Y VAR BYTE "GP var

"Banca # 1 controalele de colon": "

D2 VAR BYTE "Banca # 2 LED dreptul de cifre

D3 VAR BYTE "Banca # 3

D4 VAR BYTE "Banca # 4

D5 VAR BYTE "Banca # 5 stânga LED cifre

Cfg VAR BYTE "Detine afişa bancar / cifre config valoareTRISB = 0Principal:

GoSub Counter2 "Count 0 - 1000

GoSub LampTest "lampă de test cu 8.8.: 8.8.
Sclipitoare

GoSub Ceas "4 cifre ceasul de la 16:50 la 17:00 w / sclipitoare de colon

GoSub Counter0 "Colon PE 100% luminoase, conta pe dreapta 2, apoi de 50% pe stânga 2

GoSub Ajutor "Afişare AJUTOR pulsing luminozitatea de la 50% la 100%

GoSub Counter1 "Counte 9994 - 0000 @ 50% luminozitatea

GoSub Ouch "Afişare Ouch pulsing luminozitatea de la 50% la 100%

Mergi la MainCounter0: "Count 00-14h de pe dreapta de 100% luminoase, atunci conta pe stânga, cu 50% luminoase

Cfg =% 11110001 'Digits 5,4 speciale decoda / OFF, 3,2,1 HEX decoda

GoSub config 'Configuraţi afişa"Acum, pentru a scrie date pe ecran

Pentru X = 0 la 20 de "Contele de la 0 la 14h pe cifre 3 & 2, cu care conduc 0 blanking

RO = 0 'Afişare băncilor 5 4 3 \ 2: = PE

ShiftOut DOUT, CLK, MSBFIRST, [% 1000 \ 4, $ 0 \ 4, $ 0 \ 4, X, $ 2 \ 4]

RO = 1 "transfer de date în registrele de afişare

Întrerupeţi 150 "Întrerupeţi 150mS

Înainte XCfg =% 11001101 'Digits 5,4,1 HEX decoda, 3,2 speciale / OFF

GoSub config 'Configuraţi afişaPentru X = 0 la 20 de "Contele de la 0 la 14h pe cifre 5 & 4 cu conducând 0 blanking

RO = 0 "Activaţi datele de intrare 5 \ 4 3 2: = PE

ShiftOut DOUT, CLK, MSBFIRST, [% 0000 \ 4, X, $ 0 \ 4, $ 0 \ 4, $ 2 \ 4]

RO = 1 "transfer de date în registrele de afişare

Întrerupeţi 150 "Afişare conta de la 0 la 14h

Înainte X

Întrerupeţi 500

RevenireCounter1: "Count 9994 - 0000

Cfg =% 11000011 'Digits 5,4,3,2 HEX decoda, 1 speciale decoda

GoSub config 'Configuraţi afişa"Acum, pentru a scrie date pe ecran

D5 = 9: D4 = 9: D3 = 9: D2 = 4 'Load contra 9994 cu privire la start

Pentru X = 0 la 6 'Count 9994 - 0000

RO = 0 "Activaţi date de intrare

DACĂ D2> 9 Apoi D2 = 0: D3 = D3 1 'Increment fiecare cifră mai mare, la 9 #

DACĂ D3> 9 Apoi D3 = 0: D4 = D4 1 "valoarea fiecărei cifre mai mici # pentru BCD

DACĂ D4> 9 Apoi D4 = 0: D5 = D5 1 "de numărare

DACĂ D5> 9 Apoi D5 = 0 "luminoase 5 4 3 2: = OFF

ShiftOut DOUT, CLK, MSBFIRST, [% 0000 \ 4, D5 \ 4, D4 \ 4, D3 \ 4, D2 \ 4, 0 dolari \ 4]

RO = 1 "transfer de date în registrele de afişare

Întrerupeţi 500 "Fără pauză, de afişare pot conta 0 - 9999 în ~ 6 secunde

D2 = D2 1 'Increment counter

Înainte X

Întrerupeţi 500

RevenireCounter2: "Count 0 - 1000

Cfg =% 11000011 'Digits 5,4,3,2 HEX decoda, 1 speciale decoda

GoSub config 'Configuraţi afişa"Acum, pentru a scrie date pe ecran

D5 = 0: D4 = 0: D3 = 0: D2 = 0 "Load contra 0000 cu privire la start

Pentru X = 0 la 1000 "Count 0 - 1000

RO = 0 "Activaţi date de intrare

DACĂ D2> 9 Apoi D2 = 0: D3 = D3 1 'Increment fiecare cifră mai mare, la 9 #

DACĂ D3> 9 Apoi D3 = 0: D4 = D4 1 "valoarea fiecărei cifre mai mici # pentru BCD

DACĂ D4> 9 Apoi D4 = 0: D5 = D5 1 "de numărare

DACĂ D5> 9 Apoi D5 = 0 "luminoase 5 4 3 2: = OFF

ShiftOut DOUT, CLK, MSBFIRST, [% 0000 \ 4, D5 \ 4, D4 \ 4, D3 \ 4, D2 \ 4, 0 dolari \ 4]

RO = 1 "transfer de date în registrele de afişare

Pauza 20 'Fără pauză, display contează 0 - 9999 în ~ 6 secunde

D2 = D2 1 'Increment counter

Înainte X

Întrerupeţi 500

RevenireAjutor: "în timp ce afişa asistenţa toggling luminozitate de la 100% la 50%

Cfg =% 11101111 'Digits 5,3,2,1 speciale decoda, 4 HEX decoda

GoSub config 'Configuraţi afişa"Acum, scrie AJUTOR pentru a afişa sclipitoare de 50% la 100% luminozitate

Y =% 00001111 'Setup bit 3 pentru toggling luminozitate afişaj

Pentru X = 0 la 4 'şi toate DP al PE

RO = 0 "Activaţi date de intrare

Y.0 [3] = Y.0 [3] ^ 1 'Flip Y.bit.3 de XOR-ing cu 1 [DIM = 0, 1 = LUMINATĂ]

'Y = luminozitate & DP's 5 4 3 2: = OFF

ShiftOut DOUT, CLK, MSBFIRST, [Y \ 4, $ 2 \ 4, $ E \ 4, 5 dolari \ 4, $ 8 \ 4, 0 dolari \ 4]

RO = 1 "transfer de date în registrele de afişare

Întrerupeţi 200

Înainte X

Întrerupeţi 500

RevenireOuch: "Au Afişare în timp ce toggling luminozitate de la 100% la 50%

Cfg =% 11010111 'Special decoda 4,2,1.
3,5 HEX decoda

GoSub config 'Configuraţi afişa"Acum, scrie Ouch pentru a afişa

Y =% 00001000 'Setare bit 3 pentru toggling luminozitate & toate DP's OFF

Pentru X = 0 la 4

RO = 0 "Activaţi date de intrare

Y.0 [3] = Y.0 [3] ^ 1 'Flip Y.bit.3 de XOR-ing cu 1 [DIM = 0, 1 = LUMINATĂ]

"5 4 3 2: = OFF

ShiftOut DOUT, CLK, MSBFIRST, [Y \ 4, $ 0 \ 4, $ a \ 4, $ c \ 4, $ 2 \ 4, 0 dolari \ 4]

"^ --- Puţin 3 din 4-bit valoare Comută luminozitatea

RO = 1 "transfer de date în registrele de afişare

Întrerupeţi 200

Înainte X

Întrerupeţi 500

RevenireLampTest: "lampă de test pentru a afişa 8.8.: 8.8.

Cfg =% 11000001 'Toate cifre normale HEX decoda

GoSub config 'Configuraţi afişa"Acum, scrie 8.8.: 8.8.

RO = 0 '5 = 4 8 = 8 3 = 8 2 = 8: = PE

ShiftOut DOUT, CLK, MSBFIRST, [$ F \ 4, $ 8 \ 4, $ 8 \ 4, $ 8 \ 4, $ 8 \ 4, $ 2 \ 4]

"^ - Luminoase display toate DP al PE

RO = 1 "transfer de date în registrele de afişare

Întrerupeţi 3000

"Acum, închide ochii şi de afişare pe OFF de 3 ori

"Nota: Toggling bit.0 a 8-bit config octet Comută în

"Afişa pe (1) si OFF (0) pentru normală / scăzut puterea de moduri

Pentru X = 0 la 2

Cfg =% 11000000 'Toate cifre HEX decoda / off de afişare

GoSub config 'Configuraţi afişa

Întrerupeţi 250

Cfg =% 11000001 'Toate cifre HEX decoda / afişate pe

GoSub config 'Configuraţi afişa

Întrerupeţi 250

Înainte X

RevenireCeas: "24 de ore de ori de la 16:50 la 17:00 w / sclipitoare de colon

Cfg =% 11000011 '5,4,3,2 HEX decoda, 1 speciale decoda

GoSub config 'Configuraţi afişa

Y = 8 "folosit pentru a comuta de colon.
8 = ON, 0 = OFF"Acum, pentru a scrie date pe ecran

D5 = 1: D4 = 6: D3 = 5: D2 = 0 "Setare ceas timp la 16:50

Pentru X = 0 la 10 'Afişare ceas timp de la 16:50 la 17:00

RO = 0 "Activaţi date de intrare

DACĂ D2> 9 Apoi D2 = 0: D3 = D3 1 'Increment fiecare cifră mai mare, la 9

DACĂ D3> 5 Apoi D3 = 0: D4 = D4 1 'roll-over de la 59 minute

DACĂ D4> 9 Apoi D4 = 0: D5 = D5 1 'roll-over de la ore pentru a zeci oră

DACĂ D5> 2 Apoi D5 = 0 "Niciodată> 2 oră, timp de 10 de cifre

IF (D5 = 2) şi (D4> 3), apoi 'roll-over de la 23:59 la 00:00

D5 = 0: D4 = 0

Endif "5 = 1 4 = 6 3 = 5 2 = 0: = sclipitoare

ShiftOut DOUT, CLK, MSBFIRST, [% 0000 \ 4, D5 \ 4, D4 \ 4, D3 \ 4, D2 \ 4, Y \ 4]

Y = Y ^ 8 '8 ^ 8 = 0, 0 ^ 8 = 8

RO = 1 "transfer de date în registrele de afişare

Întrerupeţi 250 "Update frecvenţă sau ceas căpuşe

D2 = D2 1 'Increment scăzute cifre counter

Înainte X

Întrerupeţi 500

RevenireConfig:

RO = 0 "Activaţi date de intrare

ShiftOut DOUT, CLK, MSBFIRST, [cfg] "Scrie pentru a afişa config registru

RO = 1 "transfer de date în registrele de afişare

RevenireFinal

 
Nu, el nu poate, pentru că aţi folosi INCLUDE comandă.Limita este de 31 linii de cod şi fără a include comandă.

cu respect

meax98

 

Welcome to EDABoard.com

Sponsor

Back
Top