Home
Manuel d`utilisation PICBASIC
Contents
1. cuxn 20 TECHNOLOGY 2 DIM I AS BYTE l est une variable de type Byte I BYTEIN O Lecture de l tat du block 0 ATTENTION Aucun des ports pr sent au sein d un block ne pourra tre exploit en sortie si vous utilisez l instruction BYTEIN en effet tous les ports du block seront automatiquement configur s en entr es COMFILE Technology traduction Fran aise Lextronic 57 Manuel de r f rence PICBASIC BYTEOUT BYTEOUT port block Valeur Sortie d une valeur sur 8 bits Port block est un num ro de bloc 0 3 ou une variable de type Byte Valeur est une contante 0 255 ou une variable de type Byte EXPLICATION Cette instruction sort une Valeur 8 bits sur le port block Tous les ports d un port block utilis s avec l instruction BYTEOUT seront automatiquement configur s en sortie EXEMPLE PB 1B 1S BLOCKO BLOCK1 amp HAB BYTEOUT 0 1 Sort le contenu de la variable I sur le port block O COMFILE Technology traduction Fran aise Lextronic 58 Manuel de r f rence PICBASIC CAPTURE Variable Integer CAPTURE port target Capture d impulsion Port est le port de la mesure pouvant tre d fini par une constante 0 3 ou une variable de type Byte Target est une contante 0 ou 1 seulement Ce param tre ne peut pas tre utilis avec une variable EXPLICATION Permet de mesurer la dur e d une impulsion d un signal ext r
2. ATTENTION A l inverse des PICBASIC de la s rie PB les variables des PICBASIC de la s rie PBM ne sont pas initialis es une valeur sp cifique lors du RESET Il vous faut donc imp rativement pr voir au d but de votre programme une initialisation syst matique de toutes les variables d clar es COMFILE Technology traduction Fran aise Lextronic 41 Manuel de r f rence PICBASIC D claration de tableaux Vous pouvez galement d finir des tableaux une dimension capables de contenir jusqu 65535 l ments de nature diff rente suivantle type de PICBASIC utilis DIM A 20 AS BYTE D finition d un tableau 20 l ments DIM B 200 AS INTEGER Tableau Integer DIM C 200 AS LONG Tableau array DIM D 200 AS SINGLE Tableau array Pour la premi re ligne de d claration le param tre du tableau d marre en 0 Ainsi il sera possible de disposer de 20 l ments en utilisant les positions de 0 19 De part la faible capacit de m moire des PICBASIC de la s rie PB la d finition maximale possible d un tableau correspond la taille m moire RAM maxi du PICBASIC Il ne sera ainsi pas possible de d clarer un tableau sup rieur 96 octets avec un PICBASIC 1S Il n est pas non plus possible de r aliser des d claratoin similaires ci dessous ARRAY1 K J Definition des constantes Une des possibilit s int ressantes des PICBASIC r side dans la possibilit
3. Envoi la valeur h xad cimale de la variable Lorsque vous envoyez un variable de type String tout le contenu de la variable est envoy DIM ST AS STRING 16 ST PICBASIC 2000 SEROUT 1 93 0 1 ST PICBASIC 2000 est envoy Rappelez vous enfin que les niveaux logiques pr sents sur les ports des PICBASIC sont de 0 5 Vcc Si vous devez raccorder le PICBASIC un PC ou tout autre dispositif au travers d une liaison RS232 standard il vous faudra intercaler un composant MAX 232 additionnel c bler au plus pr s du PICBASIC entre le port utilis avec l instruction SEROUT et le port s rie du PC COMFILE Technology traduction Fran aise Lextront 45 Manuel de r f rence PICBASIC SERVO SERVO Port Val Gestion d un servomoteur Port est une constante de type Byte repr sentant un N de Port Val est une constante ou une variable de type Byte comprise entre 0 255 EXPLICATION Cette instruction permet de faire varier la position du palonnier d un servomoteur de 0 90 en fonction de la dur e des impulsions qu on lui applique via la sortie Port La dur e des impulsions sera proportionnelle Val et fonction du type de PICBASIC utilis A noter que les impulsions g n r es devront tre espac es de 10 15 ms chacune Pour une impulsion de l odre de 1 mS le servomoteur se positionne sur 45 Pour une impulsion de l odre de 1 5 mS le servomoteur se positionne su
4. 10 PWM 9 191 20 DELAY 255 30 PWMOFF 9 Stoppe le signal PWM RND 0 RND 0 G n ration valeur pseudo al atoire EXPLICATION Cette instruction permet de g n rer une suite de chiffres peusdo al atoires la s quence est la m me chaque mise sous tension du PICBASIC EXEMPLE 10 DIM I AS BYTE 20 I RND 0 30 SOUND 2 1 3 Joue une s rie de notes pseudo al atoires 40 GOTO 20 COMFILE Technology traduction Fran aise Lextront 41 Manuel de r f rence PICBASIC SERIN SERIN port Param1 Mode Param2 Adress Condition var1 R ception de donn es s ries Port est une constante de type Byte repr sentant un N de Port sur la s rie PBM on ne peut utiliser que les ports 0 15 Param1 est une constante qui d termine la vitesse de communication de la liaison s rie Mode est une constante 0 ou 1 permettant d inverser la polarit des donn es re ues Param2 est une constante repr sentant une dur e partir de laquelle si aucune donn e n est re ue le PICBASIC continuera l ex ution de son programme la ligne Adress Si Adress est absent le programme continuera la ligne suivante Adress est un N de ligne ou une tiquette utilis e si aucune donn e n est re ue dans un laps de temps donn Condition permet d inclure des conditions lors de la r ception des donn es telles que WAIT UNTIL et SKIP UNTIL et SKIP ne sont pas disponibles avec les PICBASIC de la s rie PBM Var1 es
5. Cette instruction g n re un signal carr de fr quence 2 KHz pendant quelques milli secondes sur une broche du module PICBASIC En connectant un buzzer sans oscillateur sur cette broche un bip sonore se fait alors entendre voir sch ma ci dessous Le param tre Port indique la broche o sera connect le buzzer Les PICBASIC PBM R1 PBM R5 ne peuvent utiliser que les ports 0 15 Le buzzer devra tre c bl au plus pr s de la broche du PICBASIC quelques cm de fil max EXEMPLE 20 IF KEYIN 1 1 THEN GOTO 20 Attend la sollicitation d une touche connect e sur le port 1 le port passe alors 0 BEEP 10 G n re un bip sonore lorsque la touche est sollicit e GOTO 20 BREAK BREAK Break EXPLICATION Cette instruction tr s utile est utilis e dans le cadre de la mise au point de vos programmes Lors de d roulement de ce dernier si vous placez cette instruction alors que le module est reli votre PC via son cordon de t l chargement l diteur stoppe alors le fonctionnement du programme et vous place automatiquement sur la fen tre Debug Window afin que vous puissiez v rifier les valeurs de toutes les variables et ventuellement tester votre programme en mode pas pas voir explications d taill es aux chapitres 3 et 6 Si le module n est pas reli au PC et qu une instruction Break est effectu e le PICBASIC apr s un l ger temps d arr t continu le d roulement de son programme
6. octet bas de poids faible de la variable Long K Pour la s rie PBM On utilise le caract re point en remplacement des 2 points utilis s sur la s rie PBM LH 0 LL 0 M IH COMFILE Technology traduction Fran aise Lextronic 44 Manuel de r f rence PICBASIC Expressions Les expressions avec les PICBASIC peuvent tre d clar es comme suit suivant les mod les utilis s Met la variable O Augmente la variable d une unit 2 K Multiplie la variable J par 12 et divise par la variable K Ce tableau montre la liste des op rateurs utilisables variable suivant le type de PICBASIC Op rations arithm tiques Op rations logiques et d calage Pour tout type de variable Sur variable de type Integer seulement Adition AND Op ration ET Logique Soustraction OR Op ration OU Logique Multiplication XOR Op ration XOR Logique Division lt lt d calage gauche gt gt d calage droite MOD reste de la division Ordre de priorit des op rations multiplication division op ration sur bit addition et soustraction 12 K Multiplication de 12 par K et addition avec J l J J 1 AND amp HF Ex cute un ET entre et amp HF puis additonne avec J L criture d op rations complexes peut provoquer des erreurs lors de la compilation Dans ce cas il est recommander de scinder les op rations en plusieurs parties
7. un sous programme l adresse Ligne cette gestion tant trait e en t che de fond L intervalle de temps d fini par la valeur Param se fait gr ce une table de correspondance donn es ci dessous en fonction du type de module utilis EXEMPLE 10 DIM I AS BYTE 20 ON TIMER 1 GOSUB 100 Programme principal 100 1 1 1 110 RETURN PE M ENT NET UN DE MNT ON TT ET TN CE se roms INFORMATION COMPLEMENTAIRE Il est imp ratif que la dur e d ex cution totale de la sous routine appel e soit plus courte que la dur e d finie par Param dans l instruction ON TIMER sans quoi le programme de la sous routine n aura cesse d tre appel en continu ou pourra galement g n rer des disfonctionnements dans le d roulement du programme De m me vitez de faire appel des instructions telles que SEROUT SERIN PRINT dans la sous routine appel e par ON TIMER COMFILE Technology traduction Fran aise Lextronic 90 Manuel de r f rence PICBASIC OUT OUT port Val Sortie sur un port Port est une constante 0 31 ou une variable de type Byte qui repr sente un N de port Val est une constante 0 ou 1 ou une variable de type Byte EXPLICATION Cette instruction permet de faire passer une broche I O Port d s lors configur e en sortie un niveau logique donn Val EXEMPLE 10 OUT 0 1 Place la broche I O 0 au niveau logique 1 5 V 20 OUT 0 0 Place la broche I O 0 au
8. amp H44 amp H00 20 LOCATE 0 0 30 PRINT ABCD Consultez la documentation des afficheurs commande s rie pour plus d infos La ligne 10 provoque le m me r sultat que les lignes 20 et 30 Les signaux g n r s par les instructions sp cialis es pour la gestion des afficheurs s ries ou l instruction BUSOUT sont de type s rie 5 V niveau TTL Le d bit 4800 ou 19200 Bds est fonction de la d claration faite par les instructions PICBUS HIGH ou PICBUS LOW COMFILE Technology traduction Fran aise Lextronic 54 Manuel de r f rence PICBASIC BYTEIN Variable Byte BYTEIN port block Gestion d entr es sur 8 bits Port block est un num ro de bloc 0 3 ou une variable de type Byte EXPLICATION Cette instruction permet de r cup rer la valeur de 8 entr es du module PICBASIC dans un mot binaire 8 bits dont chaque bit est l image de chacune des entr es Il est ainsi possible de g rer de 1 4 blocs de 8 bits diff rents donc 4 x 8 entr es max suivant le mod le de PICBASIC utilis EXEMPLE 5v 40 VBB RES TM 3 PE BUS ena 3 Single Board Computer e aoon w00 31 11iani 36 10 2 AD2 6 35 10 3203 7 31 o Potbbck0 AA a Potbbck3 per 10 6 06 31 0 727 30 m Ms 12 K EEPROM 32K 12b ADC RT 34 10 24 109 PWMO e i 28 1010PHMI e 1 27 0 1011 26 Potbbckl 1 12 e i6 5 Potbbck2 1013 e 24 10 14 1 23 0 S COMFILE
9. d but de programme si vous utilisez le logiciel de programmation PICBASIC Studio sous Windows XPTM COMFILE Technology traduction Fran aise Lextronic A7 Manuel de r f rence PICBASIC ADIN Variable Integer ADIN port CONVERSION A N Port est une variable contante de type Integer relative une entr e de conversion A N EXPLICATION Cette instruction permet de conna tre la valeur de la tension analogique pr sente sur une broche de conversion analogique nu m rique particuli re du module PICBASIC sauf le PICBASIC 1B La valeur lire doit tre comprise entre 0 et 5 V pour des valeurs plus lev es il sera n cessaire d avoir recours des ponts diviseurs l aide de r sistances en s assurant toujours que la tension ne d passe jamais 5 V sous peine de destruction du port d entr e du PICBASIC non pris en compte par la garantie Le param tre Port correspond la broche du module qui recevra la valeur mesurer Se r f rer aux brochages des PICBASIC pour conna tre les pattes b n ficiant d une fonction de conversion analogique num rique et pouvant tre utilis es pour cette mesu re voir ci dessous Le nombre obtenu en r sultat d une conversion est directement proportionnel la valeur de la tension d entr e Dans tous les cas il est imp ratif que les fils de connexions entre le signal analogique mesurer et l entr e du port de conversion du PICBASIC ne d
10. 000 40 LCDINIT butte keed cute BR RAGE VOOR 1A A S PR 50 LOCATE 0 0 60 PRINT HEX 1 4 0 i n E a PULSE PULSE port G n ration d impulsion Port est une constante 0 31 ou une variable de type Byte indiquant un N de port EXPLICATION Cette instruction permet de g n rer des impulsions positives ou n gatives de dur e fixe de l ordre de 2 3 us sur les broches I O du PICBASIC Elle doit tre pr alablement pr c d e d une initialisation au niveau haut ou bas de la broche en question afin de d terminer le type d impulsion g n rer EXEMPLE 1 10 OUT 2 0 Place le port au niveau logique bas 20 PULSE 3 G n re une impulsions positive de l ordre de 2 3 us EXEMPLE 2 10 OUT 2 1 Place le port au niveau logique haut 20 PULSE 3 G n re une impulsions n gative de l ordre de 2 3 us COMFILE Technology traduction Fran aise Lextronic 98 Manuel de r f rence PICBASIC PWM PWM port Vall Val2 G n ration de signaux PWM Port est une constante 9 ou 10 ou une variable de type Byte Val est une constante ou une variable de type Byte pour les PBM elle est de type Integer Val 2 est une constante Variable de type Byte uniquement utilisable sur la s rie PBM EXPLICATION Cette instruction permet de g n rer sur une des broches du PICBASIC Port un signal rectangulaire de fr quence fixe voir tableau ci dessous mais
11. 3B 3H Parameter Frequency Parameter Frequency 1 258Hz 1 13 BK RE 10 267 5Hz 10 Un 20 278 7Hz 20 21 OK BB 40 304 7Hz 40 23 15KHA SBIH 80 374Hz 80 28 AKHAGB H 100 421 8Hz 100 SD SK SESH 191 1KHz 153 48 5KH2 3B 3H 200 1 17KHz 200 80 KLOR 230 2 5KHz 230 188 RGB 253 21 9KHz 253 BOOKS ISH La valeur maximale de valeur est 253 si vous utilisez 254 ou 255 aucune fr quence ne sera g n r e ATTENTION Il n est pas possible d utiliser l instruction FREQOUT simultan ment sur les ports 9 et 10 Il n est pas non plus possible d utiliser les instructions de g n ration de signaux PWM en m me temps que l instruction FREQUOUT l inverse est galement vrai si vous utilisez une instruction PWM vous ne pourrez alors pas utiliser l instruction FREQUOUT en m me temps Les valeurs de fr quences indiqu es dans le tableau peuvent tre soumises de l g res variations COMFILE Technology traduction Fran aise Lextronic 71 Manuel de r f rence PICBASIC FOR NEXT FOR variableil valiTO va 2ISTEP increment NEXT va 3 Boucle FOR NEXT Variable est une variable de type Byte Integer Vall est une constante de type Byte Integer correspondant la valeur de d part Val2 est une constante de type Byte Integer correspondant la valeur de fin Val3 est une constante de type Byte 128 127 repr sentant le pas devariation utilisable uniquement sur s rie PBM EXPLICATION Cette instr
12. SEROUT SEROUT port Paraml Mode Interval Var1 RS232C transmission Port est une constante de type Byte repr sentant un N de Port sur la s rie PBM on ne peut utiliser que les ports 0 15 Parami est une constante qui d termine la vitesse de communication de la liaison s rie Mode est une constante 0 ou 1 permettant d inverser la polarit des donn es envoy es Interval est une constante permettant d intercaler des temporisations en mS entre les donn es envoy es Var1 est une variable de type Byte servant envoyer les donn es EXPLICATION Cette instruction permet de transmettre des donn es sous forme s rie 8 bits 1 stop sans parit Une fois ex cut e la broche Port du PICBASIC transmettra la ou les donn es Var1 une vitesse d finie par Parami selon la correspondance du tableau donn ci apr s Le param tre Mode permet d inverser la polarit des donn es envoy es En temps normal il doit tre mis 0 Le param tre Interval permet d instaurer une temporisation en ms entre chaque caract re mis la valeur mettre par d faut est 1 Les donn es envoyer Var1 peuvent tre de type BYTE ou cha ne Si vous essayez d envoyer des donn es de type INTEGER seuls les 8 bits de poids faibles seront transmis La figure ci dessous montre la forme du signal s rie CON Start b bl b2 b3 b4 b5 b b7 Stop En r sum SEROUT offre des possibilit s similaires l instruc
13. de la part du PICBASIC Exemple de gestion correct Exemple de gestion non correct le GOSUB n est pas relay par RETURN GOSUB 1000 GOSUB 1000 2000 1000 1 1 1 Sous Routine 1000 I 1 1 Sous Routine RETURN GOTO 2000 COMFILE Technology traduction Fran aise Lextronic 76 Manuel de r f rence PICBASIC IF THEN IF expression THEN ELSE Action conditionn e EXPLICATION Cette instruction permet de r aliser des actions en fonction de tests et de conditions d finies par vos soins EXEMPLE 1 10 DIM AS BYTE 20 IF 1 gt 5 THEN GOTO 50 Continu l ex cution du programme si gt 5 EXEMPLE 2 10 DIM AS BYTE 20 DIM J AS BYTE 30 IFI gt 5 THEN J 0 ELSE J 1 J 0sil gt 5 sinonJ 1 EXEMPLE 3 10 DIM AS BYTE 20 DIM J AS BYTE 30 IF 1 gt 5 THEN 40 J ADIN 0 50 ELSE 60 J ADIN 1 70 ENDIF EXEMPLE 4 10 IF 1 lt 10 THEN 20 PRINT I lt 10 30 ELSE IF 1 lt 80 THEN 40 PRINT 10 lt lt 80 50 ELSE 60 PRINT I gt 80 70 END IF On notera que les d calages vers la droite des instructions internes la boucle IF THEN ENDIF ne sont pas absolument n cessaires mais conseill s du fait qu ils participent une plus grande clart et lisibilit du programme EXPRESSIONS CONDITIONNELLES De m me il est important de signaler que les tests peuvent galement faire l objet de conditions plus tendues EXEMPLES 5 IF I lt gt 5 THEN Si I di
14. de pouvoir attribuer une valeur une constante La d claration se fera l aide de l instruction CONST en tout d but de programme Dans l exemple ci dessous le module PICBASIC dispose d une LED connect e sur sa broche 1 0 2 Lors de la d claration initiale on indiquera au PICBASIC que le terme LED quivaudra la valeur 2 D s lors lorsqu on voudra allumer la Led en sortie du PICBASIC il suffira de faire r f rence au mot LED ce qui am liorera la lisibilit et la compr hension du programme 10 CONST LED 2 20 OUT LED 1 Allume la LED L instruction CONST permet galement de d finir des tableaux de valeurs qu il vous sera ensuite possible de r cup rer tr s facilement Dans l exemple ci dessous on pourra attribuer plusieurs valeurs la constante DATA en fonction de la valeur de la variable avec laquelle elle sera appel e 10 CONST BYTE DATA 31 26 102 34 65 20 DIM AS BYTE 30 DIM B AS BYTE 40 A 0 50 B DATA A B 31 60 A 2 70 B DATA A B 102 Selon le m me principe il est possible de d clarer d autres type de tableaux CONST INTEGER DATA 6000 3000 65500 0 3200 CONST LONG DATA 12345678 356789 165500 0 0 CONST SINGLE DATAG3 3 14 0 12345 1 5443 0 0 32 0 Vous pouvez pour les d clarations n cessitant un grand nombre de donn es continuer la d claration sur plusieurs lignes CONST BYTE DATA 31 25 102 34 1 O O O O 0 65 64 34 12 123 9
15. entre une variable de type SINGLE avec des variables de type BYTE INTEGER ou LONG il vous faudra imp rativement proc der une conversion pr alable de ces derni res l aide de l instruction sous peine d obtenir un r sultat erron Gestion de valeurs virgule avec les PICBASIC PB Pour utiliser des nombres virgule l aide des PICBASIC de la s rie PB vous devrez utiliser des astuces de programmation Par exemple il ne vous sera pas possible d origine de multiplier 200 par 3 14 avec les PICBASIC de la s rie PB Dans ce cas il vous faut avoir recours une m thode de mise l chelle pour obtenir le m me r sultat ou une approximation de ce r sultat plus exactement Voir l exemple ci dessous pour plus d infos La multiplication de 200 3 14 donne 628 SET PICBUS HIGH LCDINIT DIM I AS INTEGER 200 1 200 3 1 200 1 10 1 200 4 100 1 LOCATE 0 0 PRINT DEC I Affiche le r sultat sur le LCD 10 GOTO 10 Dans le m me esprit lorsque vous voulez convertir une valeur issue d une entr e de conversion analogique num rique r cup r e sous la forme d une valeur entre 0 255 et que vous voulez avoir l quivalent sous une valeur comprise entre 0 1000 il vous faut avoir recours l op ration 1000 256 3 90625 Ce qui revient multiplier la valeurde la mesure A N par 3 90625 Le programme ci dessous montre comment faire SET PICBUS HIGH LC
16. est une constante 0 ou 1 0 Maintenu 1 RAZ Celle ci ne peut pas tre remplac e par une variable EXPLICATION Cette instruction permet de compter le nombre d impulsions pr sentent sur l entr e sp cifique CLKIN du module PICBASIC id ale pour conna tre la fr quence d un signal carr le nombre d impulsions g n r es par un syst me externe II est possible suivant la valeur du param tre 0 ou 1 de d terminer une remise z ro automatique du compteur chaque ex cution de l instruction A noter que ce comptage s effectue en t che de fond c est dire en m me temps que le d roulement de votre programme sans que vous n ayez le g rer et que c est au moment ou vous appelez l instruction COUNT que vous r cup rez le nombre d impulsions comptabilis es Les impulsions sont comptabilis es chaque front montant du signal passage du niveau logique 0 OV au niveau logique 1 5V Respectez imp rativement le niveau d entr e maximal de 5V sous peine de destruction de l entr e CLKIN non pris en compte dans la garantie Le compteur est g r sur 16 bits jusqu 65535 En cas de d passement du compteur celui ci repasse z ro EXEMPLE I COUNT 0 La variable contiendra le nombre d impulsions comptabilis es depuis la mise sous tension du module Si l instruction COUNT est de nouveau appel e le nombre des nouvelles impulsions comptabilis es s ajoutera celui de celles d j compta
17. gles g n rales d utilisation Les r gles d utilisation des instructions des PICBASIC sont tr s similaires celles que l on utilise pour la plupart des autres langages BASIC Les instructions peuvent tre class es en 2 cat gories les commandes et les fonctions Une fonction dispose g n ralement d une expression exprim e entre deux Exemples de de commandes PRINT GOTO RETURN Exemples de fonctions ADIN 0 EEREAD 0 Les constantes peuvent tre exprim es selon diff rents formats D cimal 10 20 32 1234 H xad cimal amp HA amp H1234 amp HABCD Binaire amp B10001010 amp B10101 Vous pouvez utiliser les lettres minuscules lorsque vous crivez les instructions de votre programme Toutefois le langage des PICBASIC ne fera pas la distinction entre les lettres minuscules et les lettres majuscules le langage les reconna t toutes en tant que lettres majuscules Par exemple LoopCNT sera interpr t comme LOOPCNT Formatage lors de la saisie du programme La r daction de votre programme n cessite comme tout langage une certaine structure et une syntaxe particuli re Celle ci est tr s proche de la plupart des BASIC standards En premier lieu par convention chaque instruction de votre programme devra tre au moins pr c d e d un espace Il vous sera possible d attribuer un N de ligne avant vos instructions afin d effectuer des rappels et saut ve
18. logique 0 COMFILE Technology traduction Fran aise Lextront 51
19. module PICBASIC qui pourra tre potentiellement g n par les parasites importants produits lors de la rotation du moteur De plus le fil de liaison reliant le port du PICBASIC l entr e de commande du servomoteur devra tre le plus court possible COMFILE Technology traduction Fran aise Lextron 46 Manuel de r f rence PICBASIC SET PICBUS SET PICBUS H GHILOW D termine la vitesse de communication du port PICBUS des PICBASIC EXPLICATION Cette instruction permet de param trer la vitesse de communication du bus sp cialis PICBUS afin de l adapter en fonction du type d afficheur liaison s rie commander EXEMPLE 10 SET PICBUS HIGH Configure le PICBUS 19200 bps 20 SET PICBUS LOW Configure le PICBUS 4800 bps SHIFTIN SHIFTIN Port 1 Port2 Param Bi Communication bi filaire Port1 est une constante de type Byte indiquant le N d un Port assurant la g n ration du signal de sortie d horloge Port2 est une constante de type Byte indiquant le N d un Port assurant la g n ration du signal d entr e des donn es Param 0 LSB prioritaire lecture apr s le front montant d horloge 1 MSB prioritaire lecture apr s le front montant d horloge 2 LSB prioritaire lecture apr s le front descendant d horloge 3 MSB prioritaire lecture apr s le front descendant d horloge Bit est une constante indiquant le nombre de bits 8 16 bit par defaut 8 bits
20. n est pas disponible sur les PBM R1 PBM R5 EXEMPLE 10 DIM I AS BYTE 20 KEYDELAY KEYIN 0 1 30 10 30 IF 1 1 THEN GOTO 20 Action suite l action sur une touche 100 GOTO 20 LCDINIT LCDINIT Initialisation d un LCD commandes s ries de type ELCDxxx EXPLICATION Cette instruction doit imp rativement tre ex cut e au d marrage du programme si vous d sirez piloter un afficheur LCD commande s rie de type ELCDxxx l aide du port PICBUS du PICBASIC afin que l afficheur s initialise correctement LOCATE LOCATE Vall Val2 Positionnement sur afficheur LCD commandes s ries Val1 est une constante 0 255 ou une variable de type Byte Val2 est une constante 0 255 ou une variable de type Byte EXPLICATION Cette instruction permet si vous pilotez un afficheur LCD commande s rie de type ELCDxxx via le port PICBUS du PICBASIC de positionner le curseur un endroit sp cifique de l afficheur ou Val1 d termine la position horizontale et Val2 la position verticale La position 0 0 correspond au point le plus en haut gauche Dans le cas d un afficheur de type 2 lignes de 16 caract res vous pourrez utilisez les valeurs 0 15 pour val1 et 0 1 pour val2 EXEMPLE LOCATE 10 0 PRINT ABC COMFILE Technology traduction Fran aise Lextronic 82 Manuel de r f rence PICBASIC ON GOTO ON Var GOTO ignel ligne2 ligne3 Br
21. niveau logique 0 0 V ETAT DU PORT EN SORTIE Lorsqu il est utilis en sortie un port de PICBASIC peut g n rer ou absorber jusqu 20 mA env Ce qui est suffisant pour allumer directement une Led D Sortie de courant d un Port Entr e de courant dans un port CR LT Toutefois les 20 mA ne seront pas suffisant pour piloter un relais Dans ce cas vous devrez utiliser un montage transistor ou optocoupleur comme ci dessous Dans tous les cas le fil de sortie du PICBASIC ne devra pas depasser quelques cm il ne faudra pas par exemple piloter des Leds d port es sur des grands fils g Single Board Computer DC24V re ET CTR INR ps e 32K 12B ADC RE 34 2 R1 i 9 COMFILE ru COMFILE Technology traduction Fran aise Lextronic 91 Manuel de r f rence PICBASIC OUTSTAT OUTSTAT port Verification de l tat d un port Port est une constante 0 31 ou une variable de type Byte qui repr sente un N de port EXPLICATION Cette instruction permet de conna tre l tat logique d une broche I O Port configur e en sortie Ceci peut tre tr s utile si on utilise une broche du PICBASIC tout en ayant la possibilit de conna tre son tat EXEMPLE 10 DIM I AS BYTE 20 OUT 0 1 30 OUTSTAT 0 INFORMATION COMPLEMENTAIRE Rappel des actions r alis es par les diff rentes instructions sur les por
22. octets en RAM DIM ST AS STRING 14 D clare la variable TEXTE afin de pouvoir recevoir 16 caract res max Dans ce dernier cas et comme pour toutes les variables de type STRING le PICBASIC r servera toujours 2 octets suppl mentaires par rapport la taille des initialement r serv e Cette notion est donc tr s importante si vous utilisez un grand nombre de variables II vous faudra ainsi en tenir compte afin que vous ne tombiez pas cours de RAM Ainsi dans l exemple de d claration pr c dent 16 octets seront monopolis s bien que la cha ne ST ne fasse que 14 caract res La figure ci dessous montre comment le PICBASIC stocke les donn es de type STRING au sein de sa m moire PCB ASI c2000 14 O Ge Attention bien d terminer la taille de votre variable lorsque vous d finissez une variable de type STRING DIM ST AS STRING 16 D clare la variable ST comme une cha ne de 16 octets max ST COMFILE TECHNOLOGY Si vous essayez ensuite d attribuer le nom COMFILE TECHNOLOGY la variable ST les 2 derni res lettres GY neseront pas m moris e car il n y aura pas eu assez de place vous n avez r serv que 16 octets Dans un m me ordre d id e il est galement possible de combiner des cha nes entres elles SG SG ST Combinaison de cha nes Il vous faudra aussi dans ce cas v rifier que vous ne d passez la taille de la variable d clar e
23. un PC ou tout autre dispositif au travers d une liaison RS232 standard il vous faudra intercaler un composant MAX 232 additionnel c bler au plus pr s du PICBASIC entre le port utilis avec l instruction SERIN et le port s rie du PC COMFILE Technology traduction Fran aise Lextront 42 Manuel de r f rence PICBASIC RECEPTION DE PLUSIEURS OCTETS Vous pouvez utiliser un tableau ou une cha ne pour recevoir plusieurs donn es en utilisant le caract re SERIN 2 93 0 50000 TIMEOUT I 0 5 Dans cet exemple le PICBASIC va attendre 5 donn es et transf rer celles ci dans I 0 1 1 I 2 I 3 1 4 SERIN 2 93 0 50000 TIMEOUT ST 5 Dans cet exemple le PICBASIC va attendre 5 donn es et transf rer celles ci dans la variable de type cha ne ST Le dernier octet re u doit tre un 0 ce qui signifie pour le PICBASIC une fin de cha ne V rifiez que la taille de la cha ne d clar e par l instruc tion DIM en d but de programme ne soit pas d pass INFORMATIONS COMPLEMENTAIRES R ception avec condition 1 WAIT La condition WAIT pemet d inclure une notion de filtrage ou d adressage lors de la r ception de vos donn es En utilisant cette derni re le programme attendra 2 octets particuliers puis m morisera la suite des donn es au sein d une variable SERIN 2 66 0 50000 TIMEOUT WAI T AB I Cette instruction attend pendant 5 secondes la su
24. variables sont d clarables avec les PICBASIC de la s rie PB Les variables de type BYTE qui pourront correspondre un nombre compris entre 0 et 255 elles occuperont 1 octet de m moire RAM et les variables de type INTEGER qui pourront correspondre un nombre compris entre 0 et 65535 elles occuperont 2 octets de m moire RAM La d claration se fera l aide de l instruction DIM On d clarera g n ralement toutes les variables en d but de programme A noter qu une m me instruction DIM peut servir d clarer plusieurs variables L instruction DIM ne doit pas tre coll e gauche de l cran et au moins un espace ou plusieurs doit tre ajout gauche de l cran DIM AS BYTE DIM J AS INTEGER DIM K ASBYTE L AS BYTE Les noms des variables doivent d marrer avec une lettre et la longueur des noms doit tre inf rieure 255 caract res Vous ne pouvez attribuer une variable le nom d une commande ou d une fonction Noms de variables pouvant tre utilis s A BO J TH BF1 Noms de variables NE pouvant PAS tre utilis s 23 3A INPUT GOTO gt gt gt Comme vu pr c demment 5 types de variables sont d clarables avec les PICBASIC de la s rie PBM Les r gles de d claration sont identiques celles vues ci avant DIM AS BYTE Monopolise 1 octet en RAM DIM J AS INTEGER Monopolise 2 octets en RAM DIM K AS LONG Monopolise 4 octets en RAM DIM L AS SINGLE Monopolise 4
25. 1 Il est galement possible d afficher des valeurs d cimales ou h xad cimales en utilisant les instructions de conversion telles que DEC ou HEX EXEMPLE2 SET PICBUS HIGH LCDINIT LOCATE 0 0 PRINT I LOVE PICBASIC PRINT COMFILE amp H30 EXEMPLE sur un afficheur ELCD162 COMFILE Technology traduction Fran aise Lextronic 96 Manuel de r f rence PICBASIC PRINT DEC PRINT DEC Var Paraml Param2 Affichage sur cran LCD Var est une constante ou une variable de type Byte Parami est une constante 1 5 de type Byte Param2 est une constante 0 ou 1 de type Byte EXPLICATION Cette instruction permet d afficher la valeur d cimale d un nombre selon plusieurs formats possibles sur un afficheur OEM LCD Comfile Technology de la s rie Elcdxxx commandes s ries pr alablement connect sur le port PICBUS du PICBASIC Avant d utiliser cette commande il faudra bien videmment initialiser l afficheur LCDINIT et positionner le curseur l endroit ou le texte devra commencer LOCATE Le nombre afficher Var peut tre une valeur fixe ou une variable le param tre Param1 d termine le nombre de caract res que devra occuper le nombre l cran 1 5 Si Param1 est inf rieur au nombre de chiffres qui compose le nombre afficher ce dernier sera alors affich en partie Le param tre Param2 permet de d terminer si le nombre doit tre pr c d de 0 la
26. 4 200 0 123 44 39 120 239 132 13 34 20 101 123 44 39 12 39 Des donn es de type cha ne peuvent galement tre utilis e CONST BYTE DATA I LOVE PICBASIC 2000 13 10 0 COMFILE Technology traduction Fran aise Lextronic 42 Manuel de r f rence PICBASIC La diff rence entre la d claration de tableaux et la d claration de tableaux par le biais de l instruction CONST r side dans le fait que les donn es des tableaux d clar es avec l instruction CONST sont enregistr es dans la m moire programme du PICBASIC lors de l op ration de t l chargement Dans le cas des autres type de tableau ceux ci sont enregistr s en m moire SRAM non conserv s apr s un RESET l inverse des tableaux d clar s par le biais de l instruction CONST qui sont conserv s apr s un RESET Contenu Tableau Tableau CONST M morisation M moire SRAM M moire Programme FLASH ou EEPROM Enregistrement Pendant exgeutgn Pendant le t l chargement programme Modification pendant l x cution du Oui Impossible programme Stockage de variables Utilisation type dynamiques Stockage de donn es fixes Etat apr s RESET Initialisation Conserv es CONST sous PICBASIC Studio L instruction CONST a enfin une derni re utilisation Lorsque vous utilisez un ordinateur fonctionnant sous Windows XP et que vous travail
27. DINIT DIM I AS INTEGER DIM J AS INTEGER 10 I ADIN O J 1 3 J 1 9 10 J LOCATE 0 0 PRINT DEC I Valeur de la conversion A N surla ligne du dessus LOCATE 0 1 PRINT DEC J R sultat de la conversion sur la ligne du dessous GOTO 10 Parce que l on utilise uniquement 3 9 comme chiffre multiplicateur une erreur appara t dans le r sultat de la conversion le maximum affichable sera alors de 994 Toutefois ces astuces sont tr s pratiques avec les PICBASIC de la s ie PB COMFILE Technology traduction Fran aise Lextronic 46 Manuel de r f rence PICBASIC Description d taill e des instructions Lors de la description d taill e des instructions des PICBASIC vous pourrez voir appara tre des petits logo droite de l instruction Voici la description de ces derniers Instruction utilisable seulement avec les PICBASIC de la s rie PBM PBM R1 PBM R5 Instruction utilisable seulement avec les PICBASIC de la s rie PB PICBASIC 1B 1S 28 2H 3B 3H Si aucun logo n est pr sent c est que l instruction peut tre utilis e avec TOUS les PICBASIC NOTE Lors de la description d taill e des instructions nous ne faisons pas syst matiquement appara tre les d clarations des variables utilis es dans les petits programmes donn s en exemples De m me nous ne faisons pas appara tre la d claration CONST DEVICE 3B ou 1B 1S 2S 2H 3B R1 ou R5 n cessaire en
28. Dans tous les cas il est imp ratif une fois le programme compl tement mis au point de supprimer toutes les instructions Break de son programme ATTENTION Si vous placez une instruction BREAK dans une boucle sans fin tr s rapide vous g n rerez des arr ts de programmes r p tition pouvant tre l origine d erreurs de fonctionnement du PICBASIC Placez donc toujours les instructions BREAK de telle sorte qu elles ne soient pas appel es de fa on trop r p titive l id al est d avoir recours cette instruction suite la sollicitation d une entr e particuli re de votre PICBASIC par exemple Si vous avez en revanche plac l instruction BREAK dans une boucle sans fin rapide utilisez la commande du menu ERASE ALL dans le programme du PICBASIC du PC pour sortir de la boucle BUSOUT BUSOUT Valeur Valeur Transmission de codes sp cifiques sur le PICBUS Valeur est une constante comprise entre 0 et 255 ou une variable de type Byte EXPLICATION La broche PICBUS de chaque module PICBASIC est sp cialement con ue pour piloter des afficheurs commandes s ries sp ciaux appel s ELCDxxx par le biais d instructions sp cifiques locate PRINT etc qui envoient une des d ordres ces derniers L utilisateur a galement la possibilit de piloter ces afficheurs s ries en utilisant l instruction BUSOUT EXEMPLE 10 BUSOUT amp HA1 amp H00 amp H00 amp HA2 amp H41 amp H42 amp H43
29. EXPLICATION Cette instruction permet de communiquer tr s facilement avec la plupart des composants adressage s rie 2 fils type I2CTM SPI Son ex cution g n re un signal d horloge de synchronisation sur la sortie Port1 du PICBASIC tout en venant lire s riellement les donn es pr sentent sur l entr e Port2 Le param tre Param permet de d finir le mode de lecture voir syntaxe ci dessus Le param tre Bit permet de d finir le nombre de bits lire 8 ou 16 EXEMPLE SHIFTIN 3 4 0 Le port3 st utilis en tant que signal d horloge Le Port4 re oit les don es en entr e Le mode est 0 et le r sultat est stock dans l 4 b5 b6 DATA A UUU COMFILE Technology traduction Fran aise Lextront 47 Manuel de r f rence PICBASIC 8SHIFTOUT SHIFTOUT Portli Port2 Param data bit Serial output Port1 est une constante de type Byte indiquant le N d un Port assurant la g n ration du signal de sortie d horloge Port2 est une constante de type Byte indiquant le N d un Port assurant la g n ration du signal des donn es Param 0 LSB prioritaire 1 MSB prioritaire 2 MSB prioritaire avec g n ration d un signal ACK convient pour le pilotage de composant I2C Bit est une constante indiquant le nombre de bits 8 16 bit par defaut 8 bits EXPLICATION Cette instruction permet de communiquer tr s facilem
30. G qui d termine l interval de la tonalit et l autre param tre est un chiffre qui d termine la dur e de la tonalit Ainsi C4 d signe un Do 1 4 de note LORSQUE VOUS INDIQUEZ C 5 4 param tres sont utilis s pour d finir la tonalit d signe la tonalit haute par demi ton et d signe la tonalit haute par un octave Ainsi C 5 d signe une tonalit plus haute qu un Do d un demi ton et d un octave Sa longeur est 5 1 4 de note Exemple C5E5G5 C1 Joue un do mi sol do COMFILE Technology traduction Fran aise Lextronic 94 Manuel de r f rence PICBASIC PRINT PRINT 7exte Va li Va 2 Affichage sur cran LCD Texte est une cha ne de caract res de type ABC123 Val1 Val2 est une constante 0 255 ou une variable de type Byte EXPLICATION Cette instruction permet d afficher des messages sur un afficheur OEM LCD Comfile Technology de la s rie Elcdxxx commandes s ries pr alablement connect sur le port PICBUS du PICBASIC Avant d utiliser cette commande il faudra bien videmment initialiser l afficheur LCDINIT et positionner le curseur l endroit ou le texte devra commencer LOCATE EXEMPLE 10 SET PICBUS HIGH 10 SET PICBUS HIGH 10 SET PICBUS HIGH 20 LCDINIT 20 LCDINIT 20 LOCDINIT 30 LOCATE 0 0 OU 30 LOCATE 0 0 OU 30 LOCATE 0 0 40 PRINT LEXTRONIC 2001 40 PRINT LEXTRONIC 40 PRINT LEXTRONIC 200 amp H31 50 PRINT 200
31. I J K L 4 l J K I 1 L 4 Si l op ration ne n cessite aucun calcul prioritaire il est possible de saisir une op ration via une expression assez longue I J K L 4 100 ATTENTION Les PICBASIC ne permettent pas l utilisation d une fonction l int rieur d une autre fonction PRINT DEC ASC ST Cette fonction ne marchera pas Elle devra tre d compos e comme ci dessous ASC ST PRINT DEC I Dans le cas des PICBASIC de la s rie PBM vous pouvez diviser les lignes d instructions trop longues en plusieurs lignes l aide du caract re _ Ceci n est pas disponible sur les PICBASIC de la s rie PB I TABLE J 192 12 13 142 123 0 0 0 1 2 2 3 _ 234 192 14 90 100 200 0 O O 1 De plus il est interdit d utiliser une expression d op ration au milieu d une commande IF A 2 0 THEN K 0 Cette fonction ne marchera pas Elle devra tre d compos e comme ci dessous B A 2 IF B 0 THENK 0 COMFILE Technology traduction Fran aise Lextronic 45 Manuel de r f rence PICBASIC Gestion de valeurs virgule avec les PICBASIC PBM Pour attribuer une valeur d cimale virgule une variable de type SINGLE avec les PICBASIC de la s rie PBM il vous faudra utiliser une variable STRING de passage associ e l instruction VALSNG DIM VALEUR AS STRING 16 DIM NB AS SINGLE VALEUR 1234 5678 NB VALSNG VALEUR En cas de calculs ou de comparaisons
32. IC 1B sur la broche I O 2 Si des donn es arrivent elles seront stock es dans les variables A 0 A 1 A 2 Si parmis les donn es re ues le programme d tecte le caract re R ce dernier ne sera pas m moris ASTUCE POUR UTILISER UNE RECEPTION SUR INTERRUPTION AVEC LES PICBASIC DE LA SERIE PB Le programme ci dessous vous permettra de quitter automatiquement le cours de votre programme principal d s qu une donn es sera re ue sur la broche d interruption d un PICBASIC de la s rie PB PICBASIC 1B par exemple ON INT 5 0 GOSUB RS232_INT Programme principal RS232_INT SERIN 5 11 0 1000 TIMEOUT BF TIMEOUT RETURN Lors de la d tection d un front descendant sur le port 5 Bit de start le programme principal ira ex cuter la sous routine d interruption RS232_INT laquelle attendra la r ception des donn es s ries A ce moment il faut que le syst me annexe qui envoi des donn es au PICBASIC puisse temporairement retarder l envoi des donn es car le PICBASIC mettra plusieurs mS entre le moment ou il d tecte le bit de start et o il est pr t recevoir des donn es Vous pouvez galement essayer d envoyer un premier octet non exploitable 00 afin que le PICBASIC ait le temps de se synchroniser mais il faut faire des essais en fonction du type de syst me qui envoi des donn es au PICBASIC COMFILE Technology traduction Fran aise Lextront 43 Manuel de r f rence PICBASIC
33. IC il faudra utiliser le block 1 Les valeurs des r sistances de tirage devant toutes tre appliqu es au 5 Vcc devront tre comprises entre 5 et 10 Kohms La longueur des fils reliant le clavier au PICBASIC ne devra pas depasser quelques cm afin que ce dernier ne soit pas perturb par des parasites pouvant se propager le long des fils de liaison PEEK PEEK Adr Lecture de registres internes Adr est une constante repr sentant une adresse de registre 0 amp HFF EXPLICATION Cette instruction permet de lire directement dans les registres internes du microcontr leur PIC qui assure la gestion du PICBASIC PIC16C73 ou PIC16C74 ou PIC16F876 ou PIC16F877 suivant les mod les La valeur de l octet se trouvant l adresse Adr peut ainsi tre connue EXEMPLE 10 DIM I AS BYTE 20 PEEK amp H85 COMFILE Technology traduction Fran aise Lextronic 93 Manuel de r f rence PICBASIC POKE POKE Adr Val Ecriture dans un registre Adr est une constante repr sentant une adresse de registre 0 amp HFF Val est une constante ou une variable de type Byte 90 255 EXPLICATION Cette instruction permet d crire la valeur Val directement l adresse m moire Adr du microcontr leur PIC qui assure la gestion du PICBASIC PIC16C73 ou PIC16C74 ou PIC16F876 ou PIC16F877 suivant les mod les EXEMPLE 10 POKE amp H5 0 Force la donn e pr sente l adresse amp H5 z ro NOTE Cette instruction p
34. IONS ADDITIONELLES Il existe 2 sortes d identifiants pour les sauts inconditionnels Les N de ligne Les tiquettes Les N de ligne sont en quelque sorte des tiquettes constitu es de chiffres 10 PRINT DEC I GOTO 10 Les tiquettes permettent d am liorer la lisibilit de vos programmes en utilisant des noms Une tiquette doit commencer par une lettre de l alphabet et terminer par GOSUB DELAY10 DELAY10 FOR 1 0 TO 10 NEXT I RETURN Vous pouvez utiliser des tiquettes de 255 caract res max Exemples d tiquettes valides Exemples d tiquettes non valides NOKEY 123AB Non car commence par un nombre DELAY_RTN IN Non car il s agit du m me nom qu une instruction ACCIN_PROC COMFILE Technology traduction Fran aise Lextronic 75 Manuel de r f rence PICBASIC GOSUB RETURN GOSUB igne RETURN Appel d une sous routine Ligne est l endroit o le programme doit poursuivre son ex cution EXPLICATION Cette instruction permet depuis un ou plusieurs endroits de votre programme d ex cuter un bout d un autre programme encore appel sous routine puis de revenir l endroit initial pour continuer le d roulement du programme principal L instruction GOSUB Ligne g n re le saut la sous routine tandis que RETURN provoque le retour au programme initial Comme pour l instruction GOTO il est possible de remplacer un N de ligne par un nom plus explicite condi
35. Manuel de r f rence PICBASIC Les instructions des PICBASIC 3B 3H CLASSEMENT DES INSTRUCTIONS PAR FONCTION Les carr s sont des liens 1 D clarations structures de donn es ODIM d clare une variable ou un tableau OCONST d clare une constante CONST BYTE d clare un tableau de constantes de type octet CONST INTEGER d clare un tableau de constantes de type entier TABLE cr e un tableau d octets rep rables par un index 2 Entr es Sorties DIN lecture de l tat logique d une broche et affectation de la valeur une variable OOUT place une broche un tat logique OUTSTAT lit l tat 1 ou 0 d une sortie TOGGLE inverse l tat logique pr sent sur une broche PULSE cr e une impulsion de dur e d termin e BYTEIN lecture de 8 ports cons cutifs simultan ment BYTEOUT criture d un octet sur 8 ports cons cutifs simultan ment 3 Gestion LCD CILCDINIT lance les instructions n cessaires l initialisation d un afficheur OCLS efface l cran ALOCATE positionne le curseur un emplacement choisi OPRINT affiche un texte PRINT DEC affiche une valeur d cimale PRINT HEX affiche une valeur en hexad cimal SET PICBUS fixe la vitesse de transmission CSRON fait appara tre le curseur CSROFF fait dispara tre le curseur BUSOUT envoie un octet de configuration l afficheur 4 Structures de traitement OIF THEN ENDIF structure alternative OFOR NEXT structure r p titive compteur AGOTO s
36. PICBASIC des circuits d anti parasitage devront tre utilis s pour viter toute perturbation sur les entr es du PICBASIC pouvant entra ner des disfonctionnements ou une destruction de ce dernier COMFILE Technology traduction Fran aise Lextronic 80 Manuel de r f rence PICBASIC KEYIN Variable Integer KEYIN port Paraml Gestion de touches Port est une constante 0 31 Param est une constante exprimant un delais en mS 0 255 La valeur par defaut est de 20 mS EXPLICATION Cette instruction est sp cialement con ue pour conna tre l tat d un bouton poussoir connect sur un port du PICBASIC Port en g rant le probl me des rebonds potentiellement occasionn s lors de l action sur ce dernier Le sch ma type d utilisation donn ci dessous peut en effet tre la source de rebonds pouvant fausser le niveau logique de lecture du programme Pour y rem dier le param tre Param va fixer une dur e comprise entre 1 et 100 ms pendant laquelle le PICBASIC va attendre un niveau logique stable avant de le valider EXEMPLE 10 DIM I AS BYTE 20 KEYIN 0O 25 5V gt 10K e e Figure 1 Entr e test pour BP Figure 2 2 G n ration de rebond par le poussoir NOTE Le sch ma ci dessus ne vaut que pour des essais I est dans tous les cas imp ratif que les fils de connexions des signaux du bouton poussoir appliqu s sur les entr es du PICBASIC ne d passent pas quelques cm Il faudra ga
37. a variable A vers le 7 bit de la variable PICBASIC de la s rie PB DIM I AS BYTE A AS BYTE 7 0 force 7 bit de la variable Byte l 0 1 7 A 2 Transmet le 2 bit de la variable A vers le 7 bit de la variable COMFILE Technology traduction Fran aise Lextronic 43 Manuel de r f rence PICBASIC Acces direct aux Octets Il est possible d acc der directement aux octets de poids faible et fort d une variable de type Integer Long en utilisant un pointeur d octets non disponible avec les variables de type Single INTEGER H L MSB LSB LONG HH HL H L La fa on d utiliser le pointeur d octet diff re galement selon que vous utilisez un PICBASIC de la s rie PB ou de la s rie PBM Pour la s rie PBM Dans le cadre d une variable de type Integer 2 octets il est possible de diviser celle ci en 2 parties H et L DIM I AS INTEGER LH 0 Place 0 sur l octet de poids fort de la variable Interger EL 0 Place 0 sur l octet de poids faible de la variable Interger Dans le cadre d une variable de type Long 4 octets il est possible de diviser celle ci en 4 parties HH HL H et L DIM K AS LONG K HH 0 Place 0 sur l octet haut de poids fort de la variable Long K KHL 0 Place 0 sur l octet haut de poids faible de la variable Long K KH 0 Place 0 sur l octet bas de poids fort de la variable Long K KL 0 Place 0 sur l
38. anchement conditionnel Var est une variable de type Byte La valeur maximale est 127 Ligne Ligne2 Ligne3 sont des tiquettes ou des N de lignes o leprogramme doit aller poursuivre son ex cution EXPLICATION Cette instruction permet de r aliser des acc s directs certaines parties du programme Ligne1 ou Ligne2 ou Ligne3 en fonction de la valeur de la variable Var EXEMPLE 10 ON I GOTO 100 200 300 Quand I 0 on continue l ex cution du programme la ligne 100 Quand I 1 on continue l ex cution du programme la ligne 200 Quand l 2 on continue l ex cution du programme la ligne 300 Quand I ne correspond aucune de ces valeurs on continue l ex cution du programme la ligne suivante COMFILE Technology traduction Fran aise Lextronic 86 Manuel de r f rence PICBASIC ON INT x GOSUB ON INT port val GOSUB igne Interruption sur Port Port est une variable de type Byte ou un num ro de port 0 31 capable de recevoir une interruption Val est une constante 0 ou 1 Ligne est une ligne ou tiquette correspondant la sous routine devant tre appel e EXPLICATION Lorsqu un niveau logique Haut ou Bas est d tect sur le port d un PICBASIC autre que celui de la s rie PBM cette instruction appelle la sous routine sp cifi e par Ligne Si Val est 0 un niveau Bas sera d tect A l inverse si Val est 1 un niveau HAUT sera d tect Cette inst
39. aut inconditionnel OON GOTO structure de choix multiple structure de cas GOSUB RETURN lancement d un sous programme s p 5 Conversion analogique num rique et num rique analogique ADIN assure la conversion analogique num rique PWM est galement utilis pour la CNA associ un circuit externe PWMOFF 6 Commande de moteurs OPWM cr e un signal MLI pour un hacheur fonctionne en t che de fond PWMOFF stoppe la t che de fond STEPOUT commande d un moteur pas pas SERVO commande d un servomoteur N Instructions faisant intervenir le temps CIDELAY produit une temporisation CICAPTURE mesure la dur e d une impulsion FREQOUT produit une fr quence al atoire 8 Gestion des Interruptions ON TIMER GOSUB lancement d un s p la survenue d un v nement minuterie ON INT GOSUB lancement d un s p la survenue d un front sur un port 9 Liaison s rie RS232 CISERIN entr e de donn es OISEROUT sortie de donn es 10 Liaison s rie 12C ou SPI OISHIFTIN entr e de donn es OISHIFTOUT sortie de donn es 11 Gestion et saisie de touches ADKEYIN PADIN KEYIN 12 Gestion eeprom EEWRITE EEREAD 13 G n ration sonore 14 Instructions diverses RND produit un nombre al atoire BCD assure la conversion d un nombre en D cimal Cod en Binaire BREAK instruction de mise au point CICOUNT cr e un compteur d impulsions Manuel de r f rence PICBASIC N LA LA r a R
40. bilis es I COUNT 1 La variable contiendra le nombre d impulsions comptabilis es depuis la mise sous tension du module et le compteur interne d im pulsions est automatiquement remis z ro Si l instruction COUNT est de nouveau appel e le nombre des nouvelles impulsions comptabilis es pourra alors tre connu Le fil de raccordement ramenant le signal des impulsions comptabiliser sur la broche du PICBASIC devra tre le plus court possible et ne pas exc der 1 2 cm COMFILE Technology traduction Fran aise Lextronic 61 Manuel de r f rence PICBASIC CSRON CSRON Active l apparition du curseur d un afficheur LCD commandes s ries EXPLICATION Cette instruction permet lorsque le PICBASIC est reli un afficheur LCD s rie via son port PICBUS d activer l apparition du curseur CSROFF CSROFF D sactive l apparition du curseur d un afficheur LCD commandes s ries EXPLICATION Cette instruction permet lorsque le PICBASIC est reli un afficheur LCD s rie via son port PICBUS de faire dispara tre le curseur CES CLS Efface le contenu d un cran LCD commandes s ries EXPLICATION Cette instruction permet lorsque le PICBASIC est reli un afficheur LCD s rie via son port PICBUS d effacer compl tement l cran DELAY DELAY va Delais en mS mS est une constante variable de type Byte Integer permettant de d finir une temporisation exprim e en millisec
41. dont le rapport cyclique est variable et fonction de Val1 duty rate Val 1 est ajustable de 1 255 ou de 1 1023 sur la s rie PBM Ce type de signal encore appel PWM impulsions dur e variable est g n ralement utilis pour le pilotage de moteur courant continu via une interface de puissance ou pour la g n ration de tensions analogiques Seules les broches PWMO 1 0 9 et PWM1 1 010 des modules PICBASIC peuvent tre affect es cette t che donc Port 9 ou Port 10 A noter que ce signal est g n r en t che de fond et que le PICBASIC peut r aliser d autres instructions en m me temps L instruction PWMOFF permet de stopper le signal voir ci apr s Il est galement possible de g n rer ind pendamment 2 signaux PWM de valeurs diff rentes sur les broches 1 0 9 et I O 10 d un m me PICBASIC Duty ate JULIE Cyck Le param tre Val2 cycle peut tre ajust uniquement que sur la s rie des PICBASIC PBM Si cette valeur est omise elle sera d office 255 Le tableau ci dessous donne la relation entre Val2 cycle et la g n ration du signal PWM La valeur du rapport cyclique variera onc galement en fonction de la valeur de Val2 cycle La valeur de Val duty rate ne doit pas d passer le quadruple de la valeur de Val2 cycle En cas contraire le port passera l tat haut Gardez galement l esprit que le param tre Val2 cycle affecte les 2 port
42. ent avec la plupart des composants adressage s rie 2 fils type I2C SPI Son ex cution g n re un signal d horloge de synchronisation sur la sortie Port1 du PICBASIC tout en venant crire s riellement les donn es pr sentent sur l entr e Port2 Le param tre Param permet de d finir le mode d criture voir syntaxe ci apr s Le param tre Bit permet de d finir le nombre de bits lire 8 ou 16 X a gt D Q oe EN gt o SHFTO UT 3 4 0 TE 8 Configurez Param avec la valeur 2 pour une communication de type 12C M avec ACK apr s chaque r ception de 8 bits EXEMPLE SHIFTOUT 0 1 0 amp H55 Le port 0 est l horloge le port 1 est pour les donn es Le mode 0 est s lectionn bO b1 b2 b3 b4 b5 b6 b7 DATA 1 0 1 0 1 0 1 0 amp H55 CLK COMFILE Technology traduction Fran aise Lextronic 48 Manuel de r f rence PICBASIC SOUND SOUND port Vall Val2 I Generate sound Port est une constante ou une variable de type Byte indiquant le N d un Port Val est une constante variable de type Byte Val2 est une constante variable de type Byte EXPLICATION Cette instruction permet de g n rer un signal sonore de tonalit proportionnelle la valeur Val et de dur e proportionnelle la valeur Val2 sur la broche Port du PICBASIC Il est possible de cumuler plusi
43. er le moteur suivant un nombre de pas proportionnel au nombre d impulsions qui leur sont envoy es Ainsi STEPOUT permet de g n rer des impulsions sur la sortie Port dont la fr quence est proportionnelle Var1 suivant le tableau ci dessous et dont le nombre g n r est directement fonction de Var2 Vali 1 255 1B 1S 2S 2H 3B 3H N e E e S a O E e E 29 jh 5 1 nr pe E E eT N O1 O1 COMFILE Technology traduction Fran aise Lextront 49 Manuel de r f rence PICBASIC EXEMPLE 1 10 STEPOUT 2 50 10 Cette ligne va g n rer 10 impulsions de fr quence 1 54 KHz si vous l utilisez sur un PICBASIC 1B Si le moteur pas pas est un mod le de type 1 8 il effectuera une rotation de 18 10 STEPOUT 2 20 10 Cette instruction g n rera une fr quence plus lev e Le moteur tournera plus vite Il est galement possible ajouter une condition sur une entr e du PICBASIC permettant de stopper la g n ration des impulsions id al si vous disposez par exemple de contacts de fin de course Ainsi lors de la g n ration des impulsions si le niveau logique pr sent sur Port2 est gal Var3 gt 0 ou 1 alors les impulsions cesseront SI avant la fin du nombre d impulsions programm le niveau logique reprend un tat autoris les impulsions reprendront EXEMPLE 2 10 STEPOUT 2 50 10 3 0 G n re 10 impulsions de fr quence 1 54 KHz et stoppe ces derni r
44. es si le niveau logique pr sent sur I O 3 tombe 0 COMFILE Technology traduction Fran aise Lextront Manuel de r f rence PICBASIC TABLE Table Var Vall Va 2 Val3 Table de correspondance Var est une variable de type Byte Sa valeur ne doit pas d passer 127 Val1 Val2 Val3 sont des constantes 0 255 EXPLICATION Cette instruction tr s utile permet d attribuer une valeur particuli re Vali ou Val2 ou Val3 une variable en fonction de la valeur d une autre variable Var EXEMPLE 10 DIM I AS BYTE 20 DIM J AS BYTE 30 2 40 J TABLE 1 192 45 35 68 99 i Dans cet exemple la variable J 35 Si avait initialis avec la valeur 0 alors J aurait t gal 192 Si I avait initialis avec la valeur 1 alors J aurait t gal 45 etc Si a une valeur sup rieur 4 alors J 0 TOGGLE TOGGLE port Inverse le niveau logique d une sortie Port est une constante comprise entre 0 31 et repr sentant un N de port EXPLICATION Cette instruction permet d effectuer un changement de d tat logique d une broche Port Si la broche tait au niveau logique 0 0 V celle ci passera au niveau logique 1 5 V et inversement EXEMPLE 10 DIM I AS BYTE 20 OUT 0 1 30 FOR l 0TO7 40 TOGGLE 0 50 NEXT l 60 OUT 0 0 Dans cet exemple la broche I O 0 va changer plusieurs fois d tat avant de passer d finitivement au niveau
45. eurs tonalit s les unes la suite des autres Pour se faire il vous faudra raccorder un buzzer sans oscillateur sur le port du PICBASIC le fil de raccordement entre le buzzer et le port du PICBASIC devra tre le plus court possible Lorsque les valeurs 233 139 sont utilis es on obtient approximativement les notes do re mi fa sol la sur un octave Plus Val2 est grand plus la note sera g n r e longtemps lorsque Val2 est 16 les notes correspondent environ 1 4 note Sur les PICBASIC de la s rie PBM il vous faut utiliser les ports 0 15 pour la g n ration des sons EXEMPLE 10 SOUND 1 239 10 159 10 20 GOTO 10 G n re 2 sonorit s de suite type pompier en boucle STEPOUT STEPOUT Portli Varl Var2 Port2 Var3 Gestion d un moteur pas pas Port1 est une constante ou une variable de type Byte indiquant le N d un Port Var1 est une constante 1 255 ou une variable de type Byte d finissant l interval des impulsions Var2 est une constante 1 65535 ou une variable de type Integer Port est une constante ou une variable de type Byte indiquant le N d un Port utilis pour stopper le moteur pas pas Var3 est une constante 0 ou 1 EXPLICATION Cette instruction uniquement disponible sur les PICBASIC de la s rie PB permet en association avec des interfaces sp cialis es de piloter tr s facilement des moteurs pas pas Ces interfaces non livr es doivent pouvoir faire tourn
46. eut avoir des effets directs sur le fonctionnement du PICBASIC Nous recommandons aux personnes qui ne sont pas familiaris es avec les microcontr leurs PIC de ne pas utiliser cette instruction sans quoi des disfonctionnements pourraient intervenir sur votre application PLAY PLAY port Vall Val2 Val G n ration de musique Port est une constante 0 31 ou une variable de type Byte indiquant le N d un Port EXPLICATION Cette instruction permet la g n ration de notes musicales sur une broche du module PICBASIC qui devra tre connect e un buzzer sans oscillateur Le param tre Port indique la broche o sera connect e le buzzer Les param tres Val1 Val2 Val3 indiquent la valeur des notes conform ment au clavier ci contre la lettre indique la note et le chiffre la dur e de la note Sur les PICBASIC de la s rie PBM PICBASIC R1 PICBASIC R5 vous ne pourrez utiliser que les ports 0 15 pour restituer les notes de musiques sur le buzzer Le buzzer devra tre c bl au plus pr s de la broche du PICBASIC quelques cm de fils max C D F G AH C D EXEMPLE 10 PLAY 5 C5C7D4C4F4E2C5C7D4C4G4F2C5 20 PLAY 5 C7 C4A4F4E4D2A 5A 7G4E4G4F4 G n re la musique Joyeux anniversaire C D EFI G IAIB C D E DAPPPPPPP 0 3 4 5 6 7 LORSQUE VOUS INDIQUEZ C4 2 param tres sont utilis s pour d finir la tonalit Le premier param tre est une lettre de l alphabet A
47. euvent pas tre utilis es comme des entr es sorties tout ou rien standards COMFILE Technology traduction Fran aise Lextronic 49 Manuel de r f rence PICBASIC ADKEYIN Variable Byte ADKEYIN port Gestion de touches via entr es de conversion A N Port est une variable de type Byte comprise entre 0 et 33 ou le num ro d une entr e de conversion A N EXPLICATION Cette instruction permet gr ce l utilisation d une seule broche de conversion analogique num rique de conna tre l tat de 1 10 boutons poussoirs Pour ce faire il suffira de r aliser le montage ci dessous nous disposons galement d une petite platine pr te l emploi sous la r f rence ADKEY BOARD Le principe de fonctionnement est en fait tr s simple et repose sur celui des ponts diviseurs Lorsque le bouton poussoir le plus pr s de la broche du PICBASIC est sollicit l entr e se retrouve avec une tension de 0 V en entr e d s lors l instruction ADKEYIN retourne la valeur 1 Lorsque le second bouton poussoir est sollicit son tours on se retrouve avec une tension de 450 mV et la valeur 2 est retourn e La troisi me touche g n re 830 mV et retourne la valeur 3 enfin la quatri me touche g n re environ 1 15V et retourne la valeur 4 et ainsi de suite II est possible de g rer jusqu 10 touches associ e chacune une r sistance par broche d di e une conversion analogique num riq
48. ff rent de 5 alors IF I lt 5 THEN Si l inf rieur ou gal 5 alors IF 1 gt 5 THEN Si sup rieur ou gal 5 alors IF I lt 5 THEN SI I inf rieur 5 alors IF1 gt 5 THEN SI I sup rieur 5 alors IF l 5 THEN SI gal 5 alors Il est galement d utiliser des conditions additionnelles du type AND OR ET OU IF 1 lt 5 AND 1 gt 10 THEN Si l inf rieur 5 et I sup rieur 10 alors IF 1 5 OR 1 10 THEN Si l gal 5 ou I gal 10 alors COMFILE Technology traduction Fran aise Lextronic 78 Manuel de r f rence PICBASIC NOTE 1 Il n est pas possible d utiliser des parenth ses pour d limiter des conditions au sein d une instruction IF ces parenth ses ne seront pas trait es lors de la compilation du programme Si pour crivez par exemple ce programme IF A gt 1 AND A lt 10 OR B gt 10 AND B lt 20 THEN K K 1 END IF En fait le programme sera interpr t comme ci dessous IF gt 1 AND A lt 10 ORB gt 10 AND B lt 20 THEN K K 1 END IF Dans ce cas de figure il vous faudra s parer les tests conditionnels en 2 tests distincts NOTE 2 Il est imp ratif que les conditions de comparaison se fassent sur des donn es de m me type sans quoi le PICBASIC ne pourra pas fonctionner correctement NOTE 3 Il n est pas possible d effectuer des comparais
49. ieur niveau haut 1 ou bas 0 selon Target sur une broche Port du PICBASIC Le nombre r cup r est soumis un facteur de r duction Ainsi pour les PICBASIC 1B 1S 2S il doit tre multipli par 20 pour obtenir la valeur r elle pour les PICBASIC 2H 3B 3H il doit tre multipli par 4 et par 7 pour les PBM R1 PBM RS Ceci veut dire qu il ne sera pas possible de mesurer des largeurs d impulsions sup rieures 1 31 s pour les PICBASIC 1B 18 2S et sup rieur 0 26 s pour les PICBASIC 2H 3B 3H le calcul est tr s simple Nombre max 65535 car d clar en INTEGER 20 1310700 ms et 65535 x 4 262140ms EXEMPLE CAPTURE 0 0 Mesure la largeur de l impulsion basse sur le port I O O Start point of instruction Start point of capture End point of capture 1500uS Dans l exemple ci dessus le calcul de la dur e de l impulsion commence lorsque le niveau bas est d tect lt Start point of instruction gt et se termine lors de la d tection du niveau logique haut lt end point of instruction gt Si la d tection du niveau haut lt end point of capture gt intervient en dehors de la largeur maximale mesurable l instruction retournera la valeur 0 sans attendre le retour au niveau haut lt end point of instruction gt PB 1B 1S 2S PB 2H PB 3B 3H PBM R1 R5 Largeur maxi 1 31 sec 0 26 sec 0 26 sec 0 4 sec mesurable Valeur retorun e Interval captur 20 In
50. ite de caract res AB sous forme de donn es s rie 4800 bds avec un PICBASIC 1B sur la broche I O 2 Si cette trame caract ristique n arrive pas temps le programme continu l adresse TIMEOUT Si cette trame caract ristique est reconnue avant 5 secondes le PICBASIC enregistre le caract re suivant dans la variable l R ception avec condition 2 UNTIL non utilisable avec les PICBASIC de la s rie PBM La condition UNTIL permet lors de la r ception d une suite de donn es de stopper la r ception si un caract re sp cifique est reconnu SERIN 2 66 0 50000 TIMEOUT UNTIL A 0 10 Cette instruction attend pendant 5 secondes la r ception de donn es sous forme de donn es s rie 4800 bds avec un PICBASIC 1B sur la broche I O 2 Si des donn es arrivent elles seront stock es dans les variables A 0 A 1 A 2 Si parmis les donn es re ues le programme d tecte le caract re la r ception est stopp e R ception avec condition 3 SKIP non utilisable avec les PICBASIC de la s rie PBM La condition SKIP permet lors de la r ception d une suite de donn es de ne pas prendre en compte un caract re sp cifique SERIN 2 66 0 50000 TIMEOUT SKIP R A 0 10 During receiving 10 bytes to array A character R will be skipped Cette instruction attend pendant 5 secondes la r ception de donn es sous forme de donn es s rie 4800 bds avec un PICBAS
51. lement imp rativement v rifier que la tension ne d passe pas 5 Vcc sur les entr es du PICBASIC afin d viter tout dysfonctionnement et ou destruction du PICBASIC non pris en compte par la garantie Suivant l environnement dans lequel est utilis le PICBASIC des circuits d anti parasitage devront tre utilis s pour viter toute perturbation sur les entr es du PICBASIC pouvant entra ner des disfonctionnements ou une destruction de ce dernier COMFILE Technology traduction Fran aise Lextronic 81 Manuel de r f rence PICBASIC KEYDELAY Variable Integer KEYDELAY nstruction Paraml Param2 Param3 Gestion de touche Instruction peut tre ADKEY ou KEYIN ou PADIN Parami est une constante donnantle retour de l information normallement 0 lorsqu il n y a pas de saisie Param2 est une constante 0 255 correspondant une valeur d attente Param3 est une constante 0 255 correspondant une valeur de r p tition EXPLICATION Cette instruction permet d introduire un d lai lors de l attente d une action sur une touche Le r sultat de cette instruction est identique celui que vous obtiendrez avec les instructions ADKEY KEYIN et PADIN La seule diff rence est que le r sultat peut tre diff r suivant Param2 et r p t selon la dur e Param3 En cas d absence d action sur la touche la valeur Parami est retourn e Instruction peut tre remplac e par ADKEY KEYIN ou PADIN Cette instruction
52. les boutons poussoirs et le PICBASIC ne d passent pas quelques cm afin d viter que le PICBASIC ne soit perturb par des parasites externes COMFILE Technology traduction Fran aise Lextronic 51 Manuel de r f rence PICBASIC BCD Variable Integer BCD Va eur Conversion BCD Valeur est une constante comprise entre 0 et 65535 ou une variable de type Byte Integer EXPLICATION Cette instruction permet de convertir le format d un nombre en sa formulation D cimal Cod en Binaire Si la valeur convertir d passe 2 chiffres gt 99 il vout faudra d clarer les variables en INTEGER Si la valeur est sup rieure 9999 l instruction BCD ne pourra plus tre utilis e En cas contraire une erreur interviendra dans la conversion Si par exemple vous essayez de convertir 12345 en BCD dans une variable de type INTEGER vous n obtiendrez que 2345 Avant conversion BCD Apr s conversion BCD Apr s conversion BCD D cimal D cimal H xad cimal 1 1 amp H01 15 21 amp H15 EXEMPLE DIM A AS INTEGER I AS INTEGER fe SCO Conversion valeur de la variable A en BCD LOCATE 0 0 PRINT DEC I Affiche le r sultat sur un cran LCD COMFILE Technology traduction Fran aise Lextronic 53 Manuel de r f rence PICBASIC BEEP BEEP port G n ration d un bip sonore Port est une constante de valeur comprise entre 0 et 31 ou une variable de type Byte EXPLICATION
53. lez donc avec le logiciel PICBASIC Studio il vous faudra alors d clarer la toute premi re ligne de votre programme avec quel PICBASIC vous travaillez au moyen de l instruction CONST Ceci n est pas n cessaire si vous utilisez un ordinateur sous Windows 98 EXEMPLE CONST DEVICE 3H Ceci signifiera que votre porgramme sera utilis sur un PICBASIC 3H En fonction du PICBASIC utilis le param tre 3H pourra tre remplac par 1B 1S 2S 2H 3B R1 ou R5 Acces direct aux Bits Il est possible d acc der directement aux bits d une variable l aide d un pointeur le pointeur de Bit est valable de 0 31 La gestion des Bits d pend de chaque type de variables Pour d finir un Bit avec les PICBASIC de la s rie PB il faut utiliser un point tandis qu avec les PICBASIC de la s rie PBM on utilisera deux points La gestion des bits n est pas possible avec les variables de type Single BYTE 71615141312110 INTEGER 15 14113 112 1110 918 7 16 5 43 12 14 0 LONG 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11110 9 8 7 6 5 4 3 2 1 0 MSB LSB PICBASIC de la s rie PBM DIM I AS BYTE A AS BYTE 7 0 force 7 bit de la variable Byte O 7 A 2 Transmet le 2 bit de l
54. mitt une tension sup rieure 3 4 Vcc sera consid r e comme une valeur 1 et comme une valeur 0 pour une tension inf rieure 3 3 Vcc Avant d appliquer une quelconque tension 5V ou masse sur une des broches du PICBASIC v rifiez IMPERATIVEMENT que cette broche ai bien t configur e en ENTREE D s lors ne reliez aucune tension 5V ou masse sur les ports du PICBASIC configur s en sorties sous peine de court circuit et de destruction de ces derniers Si certaines broches du PICBASIC ne sont pas utilis es pour les besoins de votre application configurez tout de m me imp rativement ces derni res en SORTIE et placez ces derni res au niveau logique 0 Remettez jour l tat de toutes les broches des PICBASIC r guli rement m me celles non utilis es au sein de la boucle principale de votre programme ne vous contentez pas d une simple configuration au d but du programme REFERENCE Tous les ports passent l tat HAUT haute imp dance la mise sous tension du PICBASIC NOTE Dans tous les cas il est imp ratif que les fils de connexions des signaux appliqu s sur les entr es du PICBASIC ne d passent pas quelques 3 cm Il faudra galement imp rativement v rifier que la tension ne d passe pas 5 Vcc sur les entr es du PICBASIC afin d viter tout dysfonctionnement et ou destruction du PICBASIC non pris en compte par la garantie Suivant l environnement dans lequel est utilis le
55. ondes EXPLICATION Cette instruction permet de g n rer une temporisation dont la dur e est fonction de la valeur de Val Cette dur e exprim e en milli secondes peut s tendre de 1 255 ms ou jusqu 65535 suivant le type de PICBASIC A noter que cette instruction ne dispose pas d une extr me pr cision EXEMPLE DELAY 20 Effectue une temporisation de 20 ms COMFILE Technology traduction Fran aise Lextronic 63 Manuel de r f rence PICBASIC FREQOUT FREQOUT port valeur Output desired frequency Port est une constante de type Byte 9 ou 10 Valeur est une constante de type Byte comprise entre 1 253 EXPLICATION Cette instruction permet de g n rer un signal rectangulaire sur une broche sp cifique Port du PICBASIC de fr quence pr d finie par Valeur Seules les broches PWMO I O 9 et PWM1 1 010 des modules PICBASIC peuvent tre affect es cette t che La valeur de la fr quence de sortie peut tre d termin e l aide des tableaux de correspondance ci dessous A noter que le signal rectangulaire est g n r en t che de fond et que le PICBASIC peut r aliser d autres instructions tout en continuant de d livrer son signal de sortie L instruction PWMOFF permet de stopper le signal EXEMPLE 10 FREQOUT 9 191 G n re un signal de l ordre de 1 KHZ sur le port 9 d un PICBASIC 1S 20 DELAY 255 30 PWMOFF 9 PB 1B 1S 2S PB 2H
56. ons entre des cha nes de caract res DIM ST1 AS STRING 12 DIM ST2 AS STRING 12 IF ST1 ST2 THEN GOTO 100 Ceci ne fonctionne pas COMFILE Technology traduction Fran aise Lextronic 79 Manuel de r f rence PICBASIC IN Variable Integer IN port Gestion des entr es Port est une constantes 0 31 EXPLICATION Cette instruction permet de conna tre le niveau logique 0 pour 0 V ou 1 pour 5 V pr sent l entr e d une broche Port du PICBASIC EXEMPLE 10 DIM AS BYTE 20 IN O R cup re le niveau logique de l entr e I O 0 dans la variable I INFORMATIONS ADDITIONNELLES Chacune des broches d E S des PICBASIC peut ind pendamment tre configur e pour tre utilis e en entr e ou en sortie Certaines peuvent galement faire office d entr e dans le cadre d une conversion analogique num rique Dans ces conditions il conviendra d tre extr mement vigilant avec le type de signaux appliqu s sur ces broches et le type de dispositifs pilot s par ces broches Ceci est d autant plus vrai lors des premi res phases d utilisation ou pour le besoin de vos tests pendant lesquels vous serez amen changer souvent le r le de vos broches Dans le cas des ports de type TTL une tension sup rieure 1 4 Vcc sera consid r e comme une valeur 1 et comme une valeur 0 pour une tension inf rieure 1 3 Vcc Dans le cas des ports de type Trigger de Sch
57. passent quelques cm afin de ne pas tre perturb par des parasites externes Avec les PICBASIC 1S 2S 2H les convertisseurs b n ficient d une r solution sur 8 bits Pour 0 V en entr e gt on obtient le nombre 0 Pour 2 5 V en entr e gt on obtient le nombre 128 Pour 5 0 V en entr e gt on obtient le nombre 255 EXEMPLE ADIN O R cup re le r sultat de la conversion dans la variable SEROUT 8 93 0 0 1 Envoi la valeur sur le port s rie Avec les PICBASIC 3B 3H PBM R1 PBM R5 les convertisseurs b n ficient d une r solution sur 10 bits Pour 0 V en entr e gt on obtient le nombre 0 Pour 2 5 V en entr e gt on obtient le nombre 512 Pour 5 0 V en entr e gt on obtient le nombre 1023 j g A Signifie que le r sultat de cette instruction deviendra une donn e de type Integer Output 1023 Input Voltage OV 5V INFORMATIONS COMPLEMENTAIRES Le module PBM R5 dispose de 2 entr es de conversion A N suppl mentaires dot es d une r solution de 12 bits Lorsque vous utilisez cette instruction sur les ports 32 et 33 vous r cup rerez une valeur comprise entre 0 et 4095 DIM K AS INTEGER D claration de la variable K en Integer 16 bits K ADIN 32 R cup re la valeur de la conversion sur 12 bits dans la variable K Attention les ports 32 et 33 ne peuvent tre utilis s qu en tant qu entr es de conversion analogique num rique les entr es ne p
58. place des caract res non utilis s Param2 0 gt affichage de 0 Param2 1 gt Affichage d espace En absence de param tre Param1 et Param2 le PICBASIC affichera automatiquement le nombre sur 5 caract res sans 0 devant EXEMPLE 1 10 SET PICBUS HIGH 20 DIM AS BYTE 30 12 40 LCDINIT 50 LOCATE 0 0 60 PRINT DEC 21 5 0 70 LOCATE 0 1 80 PRINT DEC 1 4 1 Ce programme affiche le message de l afficheur ci dessus oo I Il est galement possible de r aliser des combinaisons afin d afficher plusieurs types de donn es textes sur une m me ligne EXEMPLE 2 10 SET PICBUS HIGH 20 DIM ANNEE AS INTEGER 30 ANNEE 2001 40 LCDINIT 50 LOCATE 0 0 60 PRINT LEXTRONIC DEC ANNEE 4 1 COMFILE Technology traduction Fran aise Lextronic 97 Manuel de r f rence PICBASIC PRINT HEX PRINT DEC Var Paraml Param2 Affichage sur cran LCD Var est une constante ou une variable de type Byte Parami est une constante 1 5 de type Byte Param2 est une constante 0 ou 1 de type Byte EXPLICATION Cette instruction qui s utilise exactement de la m me mani re que l instruction PRINT DEC permet d afficher la valeur hexad cimale d un nombre selon plusieurs formats possibles sur un afficheur OEM LCD Comifile Technology de la s rie Elcdxxx commandes s ries pr alablement connect sur le port PICBUS du PICBASIC EXEMPLE 10 DIM AS BYTE 20 SET PICBUS HIGH e 30 10
59. r 0 Pour une impulsion de l odre de 2 mS le servomoteur se positionne sur 45 NOTA De part le manque de pr cision des servomoteurs les valeurs indiqu es peuvent diff rer d un mod le l autre 1mS 1 5mS 2mS lt gt x 45 0 45 Il n est pas possible d utiliser l instruction SERVO avec les PICBASIC de la s rie PBM Pour piloter un servomoteur avec les PICBASIC de la s rie PBM vous devrez utiliser l instruction PULSE EXEMPLE Exemple de positionnement du servomoteur sur position 45 avec un PB 1B 1S 2S via le Port 0 DASI SERVO 0 333 Generation impulsion 1mS sur Port 0 DELAY 10 GOTO DASI Tableau permettant l utilisation de l instruction SERVO en fonction des PICBASIC e PB 1B 15 28 PB 2H 3B 3H Unit 3 uS 0 8 uS G n ration pulse de 1mS SERVO 0 333 SERVO 0 1250 INFORMATIONS COMPLEMENTAIRES Il est imp ratif que la g n ration des impulsions soit continue et sans interruption avec un espacement de dur e fixe Dans certains cas il pourra tre difficile de r aliser cet imp ratif C est pourquoi vous pouvez avoir recours un module optionnel SMC voir page 4 qui vous permettra de piloter 8 servomoteurs via une commande s rie 8 cartes SMC peuvent ainsi tre pilot es afin de pouvoir g rer jusqu 64 servomoteurs Dans tous les cas on veillera ne pas alimenter le servomoteur sur la m me source que le
60. rs ce N de ligne dans ce cas le N devra imp rativement tre compl tement coll sur la gauche de l cran et il devra y avoir au minimum un espace de libre entre ce N et l instruction Pour des raisons videntes de lisibilit il est conseill d utiliser la touche de tabulation pour g n rer un espace constant Les N de lignes sont optionnels vous pouvez en mettre uniquement sur les lignes importantes Le pas d incr mentation des N n a pas d importance du moment que les num ros se suivent dans l ordre chronologique du plus petit au plus grand II est possible de mettre des commentaires au sein de votre programme Pour ce faire il suffit simplement que ce dernier soit pr c d d une apostrophe 10 OUT 5 0 DELAY 20 12 OUT 5 1 20 DELAY 20 OUT 5 0 21 OUT 5 1 Ceci est un commentaire Type de variables utilisables Suivant le mod le de PICBASIC utilis il est possible d exploiter 5 types de variables diff rentes Byte Nombre sur 8 bits non sign 0 255 Integer Nombre sur 16 bits non sign 0 65535 COMFILE Technology traduction Fran aise Lextront 2 Manuel de r f rence PICBASIC D claration des variables Avant de pouvoir utiliser une variable dans laquelle vous pourrez stocker des donn es il vous faudra au pr alable d clarer celle ci au d but de votre programme afin que le PICBASIC r serve de la place au sein de sa m moire RAM gt gt gt Comme vu pr c demment 2 types de
61. ruction doit tre utilis e une seule fois au d but de votre programme il ne faut pas l utiliser plusieurs fois au sein de votre programme EXEMPLE ON INT 0 0 GOSUB 20 Pendant l x cution du programme si port 0 est au niveau bas le programme ira en ligne 10 10 GOTO 10 20 OUT 1 1 RETURN A PROPOS DES INTERRUPTIONS SUR FRONTS MONTANT DESCENDANT Selon le m me principe il est galement possible de g n rer une interruption sur un front montant ou descendant en utilisant un port sp cial du PICBASIC Pour les PICBASIC 1B 1S 2S 2H il s agira du port 5 Pour les PICBASIC 3B il faudra utiliser le port 16 et le port 24 pour les PICBASIC 3H Il suffira d indiquer le N du port entre parenth se et le type de front d tecter voir syntaxe ci dessous EXEMPLE ON INT 5 0 GOSUB 10 Si un front descendant survient sur P5 le programme ira en ligne 10 ON INT 5 1 GOSUB 10 Si un front montant survient sur P5 le programme ira en ligne 10 COMFILE Technology traduction Fran aise Lextronic 88 Manuel de r f rence PICBASIC ON TIMER GOSUB ON TIMER Param GOSUB Ligne Time interrupt Param est une constante 0 20 qui indique l intervalle des interruptions Ligne est un N ou une tiquette qui sera appel e lors de la d tection de l interruption EXPLICATION Cette puissante instruction permet de r aliser automatiquement et intervalle de temps d fini par la valeur Param un acc s direct
62. s PWM 9 et 10 en m me temps Il n est pas possible d utiliser des valeurs diff rentes pour les 2 ports Modifiez donc la valeur de Val2 avec pr caution Valeur cycle Gamme Duty rate 28 4KHz 0 400 1 22KHz 0 1023 Dans le cas des autres PICBASIC s rie PB vous ne pouvez pas changer la valeur de Val2 cycle Celle ci est fig e la valeur 255 La fr quence de chaque mod le est indiqu e dans le tableau ci dessous 1B 1S 2S Fr quence 256Hz Fr quence 1 22 KHz Fr quence 19 53 KHZ R solution 8 bits R solution 8 bits R solution 8 bits Si vous d sirez g n rer un signal de fr quence diff rente sur la s rie des PICBASIC de type PB vous devrez utiliser l instruction FREQOUT En revanche il ne sera pas possible de g n rer un signal PWM sur une sortie et un signal avec l instruction FREQOUT sur une autre sortie en m me temps EXEMPLE 10 I ADIN O M morise la valeur de la tension pr sente sur l entr e du PICBASIC PWM 9 I G n re un signal PWM variable surle port 9 GOTO 10 COMFILE Technology traduction Fran aise Lextront 40 Manuel de r f rence PICBASIC PWMOFF PWMOFF port Stoppe la g n ration d un signal PWM Port est une constante 9 ou 10 ou une variable de type Byte EXPLICATION Cette instruction permet de d sactiver le signal PWM initialement g n r par l instruction PWM A la mise sous tension les ports 9 et 10 ne g n rent aucun signal PWM EXEMPLE
63. t une variable de type Byte servant recevoir les donn es EXPLICATION Cette instruction permet d attendre la r ception de donn es sous forme s rie 8 bits 1 stop sans parit Une fois ex cut e la broche Port du PICBASIC attendra la ou les donn es Var1 une vitesse d finie par Param1 selon la correspondance du tableau ci apr s Durant cette phase le module PICBASIC ne pourra pas effectuer d autres t ches et attendra en permanence les donn es pendant une dur e en ms d finie par Param2 Si la dur e d attente est d pass e sans qu aucune donn e ne soit re ue le programme sautera alors directement l adresse Adress Le param tre Mode permet d inverser la polarit des donn es re ues En temps normal il doit tre mis 0 g ERN 2 66 0 50000 TM La vitesse de communication d finie par Param1 est diff rente pour chaque mod le de PICBASIC voir table de correspondance ci dessous Cette table peut aussi tre utilis e pour l instruction SEROUT Valeur Param1 Valeur Parami Valeur Param1 Baud rate 1B 1S 2S 2H 3B 3H PBM R1 R5 EXEMPLE SERIN 2 196 0 5000 TIMEOUT I Attend r ception de donn es sur le port 2 4800 bds avec un PBM R1 Saute l tiquette TIMEOUT si aucune donn e n arrive dans les 5 secondes Rappelez vous enfin que les niveaux logiques pr sents sur les ports des PICBASIC sont de 0 5 Vcc Si vous devez raccorder le PICBASIC
64. terval captur 4 Interval captur 4 Interval captur 7 Le fil de raccordement ramenant le signal d impulsion la broche du PICBASIC devra tre le plus court possible et ne pas exc der quelques cm COMFILE Technology traduction Fran aise Lextronic 59 Manuel de r f rence PICBASIC CONST DEVICE CONST DEVICE device Declararation d une constante ou du type de PICBASIC utilis Cette instruction a 2 usages 1 Lorsque vous utilisez un ordinateur fonctionnant sous Windows XP il vous faudra alors d clarer au tout d but de vore programme avec quel PICBASIC vous travaillez au moyen de l instruction CONST Ceci n est pas n cessaire si vous utilisez un ordinateur sous Windows 987 EXEMPLE CONST DEVICE 3H Ceci signifiera que votre porgramme sera utilis sur un PICBASIC 3H 3H sera remplac par 1B 1S 2S 2H 3B R1 ou R5 suivant le type de PICBASIC utilis 2 Cette instruction permet galement de remplacer une constante par une expression au sein de votre programme afin d en faciliter la lecture et la mise en oeuvre EXEMPLE 10 CONST BUZZER 5 20 BEEP BUZZER Dans cet exemple la sortie I O 5 est reli e un buzzer Afin de simplifier la lisibilit du programme et apr s l ex cution de l instruction CONST il suffira d crir le mot BUZZER pour d signer en fait la sortie I O 5 COUNT Integer variable COUNT parametre Entr e de comptage Parametre
65. tion PUT sur les PICBASIC de la s rie PBM mais sans gestion mat rielle de la transmission C est dire que durant la transmission de donn es avec SEROUT le PICBASIC ne peut pas faire autre chose Par contre l avantage de SEROUT est de pouvoir travailler avec n importe quel port de pouvoir inverser les donn es et disposer de temporisation entre les donn es envoy es La vitesse de communication d finie par Param1 est diff rente pour chaque mod le de PICBASIC voir table de correspondance ci dessous Cette table peut aussi tre utilis e pour l instruction SEROUT Baud rate Valeur Parami Valeur Param1 Valeur Parami 1B 1S 2S 2H 3B 3H PBM R1 R5 COMFILE Technology traduction Fran aise Lextront 44 Manuel de r f rence PICBASIC EXEMPLE SEROUT 3 196 0 1 amp HAO Envoi en s rie l octet amp HAO sur le port 3 4800 bds via un PBM R1 sans inversion de polarit et avec interval de 1 ms SEROUT 1 93 0 1 PICBASIC 2000 13 10 Envoi en s rie une cha ne de caract res PICBASIC ainsi que les octets 13 et 10 sur le port 3 9600 bds via un PBM R1 sans inversion de polarit et avec interval de 1 ms INFORMATIONS COMPLEMENTAIRES Lorsque vous d sirez envoyer seulement des codes ASCII utilisez les instructions de conversion telles que DEC HEX pour convertir les digits en code ASCII SEROUT 1 93 0 1 DEC I Envoi la valeur d cimale de la variable SEROUT 1 93 0 1 HEX 1
66. tion que ce dernier soit coll compl tement gauche de l cran et termin par voit description de GOTO EXEMPLE 1 10 CONST BUZZER 5 20 BEEP BUZZER 30 GOSUB 100 40 BEEP BUZZER 50 GOSUB 100 60 GOTO 20 100 DELAY 255 110 RETURN INFORMATIONS ADDITIONELLES A noter qu il est galement possible imbriquer plusieurs sous routines les unes dans les autres jusqu concurrence de 6 max cette limitation tant due la r servation n cessaire de m moire RAM de la part du PICBASIC pour m moriser l adresse de retour au programme principal Le nombre de sous routines pouvant tre imbriqu es les unes dans les autres peut donc tre plus limit suivant l occupation de la RAM par le PICBASIC Il est donc imp ratif de faire des essais successifs en cas d imbrications multiples afin de v rifier que le PICBASIC n est pas en d passement sans quoi ce dernier pourra tre amen faire des actions incoh rentes et al atoires EXEMPLE 2 10 CONST BUZZER 5 20 GOSUB 100 30 GOTO 20 100 BEEP BUZZER 110 GOSUB 200 120 RETURN 200 DELAY 255 210 RETURN Il est galement imp ratif de v rifier que chaque instruction GOSUB est bien relay e par l instruction RETURN associ e sans quoi des erreurs dans la gestion de la pile de retour des GOSUB interviendront sans que ceci ne vous soit annonc lors de la compilation du programme Ceci aura pour cons quence de g n rer des actions incoh rentes et al atoires
67. ts IN Configure un port en entr e et r cup re le niveau logique de ce port OUT Configure un port en sortie et change son tat logique OUTSTAT Configure un port en sortie et lecture du contenu interne du buffer de sortie COMFILE Technology traduction Fran aise Lextronic 92 Manuel de r f rence PICBASIC PADIN PADIN b ock Gestion de clavier Bloc est une constante 0 3 de type Byte repr sentant le n du block utiliser EXPLICATION Cette instruction permet de g rer automatiquement un clavier 16 touches de type matriciel Ce dernier devra tre connect comme indiqu ci contre sur les broches l O 8 1 0 15 des modules PICBASIC les colonnes entre 1 0 8 1 0 11 et les lignes entre 1 0 12 1 0 15 D s lors en effectuant l instruction PADIN 1 le module effectuera automatiquement un scanning des 16 touches et vous retournera une valeur sp cifique la touche sollicit e Si plusieurs touches sont sollicit es en m me temps seule la touche renvoyant le N le plus petit sera prioritaire Si aucune touche n est sollicit e la valeur 0 est retourn e 5 Vcc EXEMPLE 10 DIM AS BYTE 20 I PADIN 1 1 015 1 014 SCAN CODE 1 013 1 012 VO 16 12 8 4 1 010 15 11 7 3 ee 14 10 6 2 13 9 5 1 1 08 Dans les cas des PICBASIC PBM R1 R5 l instruction PADIN pourra tre utilis e avec les blocs 1 2 et 3 Pour tous les autres PICBAS
68. uction permet de r aliser plusieurs fois de suite certaines actions comprises entre les instructions FOR et NEXT de votre programme Le nombre de r p tition de ces actions sera d termin par les valeurs de Val1 et Val2 Par exemple FOR 1 0 TO 50 provoquera l ex cution des commandes instructions entre FOR et NEXT 51 fois EXEMPLE 1 10 DIM I AS BYTE 20 FOR I 0 TO 5 30 BEEP 4 40 NEXT EXEMPLE 2 10 DIM I AS BYTE 20 DIM J AS BYTE 30 FOR 1 0 TO 5 40 FOR J 0 TO 4 50 BEEP 4 60 NEXT J 70 NEXT Pour une meilleure lisibilit de votre programme il est conseill de d caler l g rement les instructions qui se trouvent entre FOR et NEXT vers la droite Pour les PICBASIC de la s rie PBM il est possible d adjoindre un pas Val3 de comptage ou de d comptage EXEMPLE 3 10 FOR I 0 TO 50 STEP3 50 NEXT La variable va prendre successivement les valeurs 0 3 6 60 FOR I 50 TO 0 STEP 3 90 NEXT La variable va prendre successivement les valeurs 50 47 44 l COMFILE Technology traduction Fran aise Lextronic 73 Manuel de r f rence PICBASIC GOTO GOTO igne Saut inconditionnel Ligne est l endroit o le programme doit poursuivre son ex cution EXPLICATION Cette instruction permet d ex cuter un saut la ligne indiqu e Ligne EXEMPLE 1 10 DIM I AS BYTE 20 1 30 GOTO 20 Exemple 2 10 DIM I AS BYTE BOUCLE 1 I 1 30 GOTO BOUCLE INFORMAT
69. ue il vous sera ainsi possible de g rer entre 50 et 80 touches au maximum suivant le type de module PICBASIC utilis Attention il ne sera pas possible d utiliser cette instruction avec le PICBASIC 1B car il ne dispose pas d entr e de conversion A N En absence de sollicitation des boutons poussoirs la valeur retourn e est 0 Lors du montage v rifiez toujours utiliser une tension de r f rence de 5V sous peine de destruction de l entr e du PICBASIC non prise en compte dans la garantie On notera enfin que si plusieurs touches sont sollicit es en m me temps seule la valeur de la touche la plus basse chronologiquement sera retourn e EXEMPLE ADKEYIN 5V 100K 10K 10K 10K L Xe E A e e e e L2 Li 10 1 ADKEYIN O r cup re la valeur de la touche sur le port O PRINT HEX 1 Affiche la valeur de la touche sur l cran LCD GOTO 10 INFORMATIONS COMPLEMENTAIRES Il n est pas possible d utiliser l instruction ADKEYIN sur les ports de conversion A N 12 bits du PBM R5 Si des valeurs de touches erron es sont d tect es ou que des touches ne sont pas d tect es il vous faudra ajuster l g rement la valeur de la r sistance talon de 100 KQ Ce sympt me est du une erreur de conversion A N pouvant survenir sous l influence de perturbations externes signaux parasites etc A ce titre il est imp ratif que les fils de connexions entre tous
Download Pdf Manuals
Related Search
Related Contents
Storability 1795.0 Instructions / Assembly Page 1 à LEICA SCA 3502 M5 Blitzadapter îúr Kameras [a Guida Samsung Galaxy Tab MINISTÈRE DE L`ÉDUCATION NATIONALE, DE L`ENSEIGNEMENT Sommaire - Virtual DJ SS2250/2260/2270/2280 mod. L21-ek-add to view PDF - Jireh Industries カラー液晶モニターYFR-121-Mシリーズ取扱説明書 Service Manual Copyright © All rights reserved.
Failed to retrieve file