Dot Matrix Display Module and

Documente similare
Interfețe și Protocoale de Comunicații Arduino-Port Paralel Arduino. Laborator 1- Portul Paralel 1 Caracteristici generale Arduino UNO este o placă de

PowerPoint-Präsentation

Minicurs CCS C / Aplicatia1 1.Programul CCS C Compiler. Instalare.Creare proiect. Descarcati ultima versiune a programului de

Microsoft Word - Laboratorul 3.doc

în Tabletă convertibilă GHID DE UTILIZARE 8085 LKB001X CJB1FH002AZA

ep0117

Ch

Ghid de Referință Explicații sumare ale operațiunilor de rutină HL-L2312D HL-L2357DW HL-L2352DW HL-L2372DN HL-L2375DW Brother recomandă să păstrați ac

WorkCentre M123/M128, WorkCentre Pro 123/128, CopyCentre C123/128 Ghid de Configurare Rapidă pentru Reţea


TM200 Live Tour guide Sistem audio mobil Sistemul de comunicare audio Tour guide este util in cel putin 3 situatii si vine cu avantaje clare: 1) Cand


Microsoft Word - intro_msp430.doc

BC-2000 Control Acces

EXCEL FĂRĂ SECRETE Grafice şi diagrame

Kein Folientitel

Ghid de conectare la web MFC-J825DW MFC-J835DW DCP-J925DW Versiunea 0 ROM

SEKA GPRS BUS Modul GPRS BUS nativ S.C. SECPRAL COM SRL Mihai Limbăşan Revizie manual: v iulie 2009 Rezumat Documentul de faţă descrie instalare

PowerPoint Presentation

PowerPoint Presentation

Platforma 5. 1 Introducere in MSSQL Introducere Pe parcursul ultimilor ani, se poate observa o cuplare a limbajelor de programare majore cu tipuri de

Microsoft Word - Prezentare - A4 - cernavoda.doc

Lucrarea 10

Manual scurt pentru instalare rapida a Accesoriului Wi-Fi 1. Instalare fizica a accesoriului Wi-Fi 2. Intrare in modul AP pentru conectarea la reteaua

MIdland CT210 manual

Microsoft Word - 4-Interfete paralele.doc

{LINGO} Specificațiile produsului: - Dimensiune: 61 x 18 x 8 mm - greutate: 8,6 g - rază: 10 m -capacitatea și tipul bateriei: 90 mah, baterie polimer

Ghidul Utilizatorului GW210

Microsoft Word - Excel_3.DOC

PowerPoint Presentation

Cuprins

Ghid de referinţă rapidă pentru Seria ZT400™

PowerPoint-Präsentation

Universitatea Transilvania Braşov Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor Catera de Electronică şi Calculatoare Construcţia şi de

E_d_Informatica_sp_SN_2014_bar_10_LRO

PowerPoint Presentation

Cartelele telefonice

Student: Mădălina-Maria Mitricioaei Titlul proiectului: IOT Sensor Hub Rezumat

Lab6LCD

MANUAL DE UTILIZARE TERMOSTAT DE CAMERĂ EBERLE INSTAT PLUS 3R Cod produs: I. Instrucţiuni de utilizare Manevrarea produsului (privire de ansamb

Pornire rapidă Powerline 1200 Model PL1200

Microsoft Word - Prelegere 1 - Bratu C. - Microcontrolerul.doc

Ghid de Referință Explicații sumare ale operațiunilor de rutină HL-L5000D HL-L5100DN HL-L5100DNT HL-L5200DW HL-L5200DWT HL-L6250DN Brother recomandă s

Print

Înregistraţi produsul achiziţionat şi veţi putea beneficia de suport pe pagina CD250 CD255 SE250 SE255 Ghid de iniţiere rapidă

Lucrarea nr

Laborator - Configurarea Rutelor IPv4 Statice și Implicite Topologie Tabela de Adresare Echipame nt Interfață Adresă IP Masca de subreţea Default Gate

Microsoft Word - Controller pt 32cp0123,140,160-manual_ro .docx

Inspiron Specificaţii (Battery)

Gateway Cloud Turck

vt9500bt

XL30 Romanian quick start guide

Înregistrator de temperatură şi umiditate AX-DT100 Instrucţiuni de utilizare

EVALUARE NAȚIONALĂ CLASA A VIII-A 2017 FLUX DE LUCRU PENTRU UTILIZATOR DE TIP CENTRU DE ÎNSCRIERE (CI)

Controlerul LCD

Sfaturi pentru clienti

fm

Matrici și vectori în VBA În VBA, o matrice este un grup de variabile de același tip. De ce ar trebui să utilizați o matrice? Presupunem că ați vrut s

Manual de utilizare a Sistemului Informațional al Institutului Național al Justiției (SI INJ) intranet.inj.md Ver.2 Manual de utilizare a Sistemului I

DCP330C_540CN_QSG_ROM.book

HONEYWELL AWARD

Vostro 3500 Fişă tehnică informativă privind configurarea şi funcţiile

Microsoft Word - IngineriF_A.DOC


Always leading the pack SEMICONDUCTOR FUNDAMENTAL DL 3155M11R Laborator TIME

Denumire pachet training Categorie licee Avantajele programului Metode interactive utilizate Pachet II.3 - Mecatronica Licee cu clase profil de Mecatr

DCS-2330L_A1_QIG_v1.00(EU).indd

PowerPoint-Präsentation

Paradigme de programare

Distribuitor Ethernet

Ghid de instalare Powerline 500, model XAVB5221

Inserarea culorilor in tabele

1

untitled

Microsoft Word - lab1_2007.doc

Ghid SmartTV-ro-M

D6300 WiFi ADSL Modem Router Installation Guide Cover

Ghid de utilizare pentru Platforma E-Admitere intranet.inj.md

Gestiunea serviciilor de recuperare a sănătăţii în sanatorii şi preventorii

Addendum Syllabus 6 Microsoft Word 2016 REF Syllabus 6.0 Crearea unui document nou pe baza unor șabloane disponibile local sau online Microsoft

Packet Tracer - Configurarea ACL-urilor extinse - Scenariul 1 Topologie Tabela de Adresare R1 Echipament Interfață Adresă IP Masca de subreţea Default

Midland 278 manual

Instrucţiuni Conectare Internet Banking Prima conectare (logare) la Internet Banking (aplicaţia BankFlex Multychannel) Pentru a accesa serviciile banc

PowerPoint Presentation

Microsoft Word - HMM - Instructiuni de instalare.doc

Clemă de alimentare Ethernet

GHID PENTRU RESETAREA PAROLEI Informații Generale Din dorința de a facilita procesul de autentificare, chiar dacă nu mai cunoașteti datele necesare, a

Laborator Depanarea Rutării Inter-VLAN Topologie 2013 Cisco and/or its affiliates. All rights reserved. This document is Cisco Public. Page 1 of 8

Ghid Web connect DCP-J4120DW MFC-J4420DW MFC-J4620DW MFC-J5320DW MFC-J5620DW MFC-J5720DW

AcadNet Etapa Naţională Secțiunea calculatoare, clasele Citiți cu atenție toate subiectele înainte de a începe rezolvarea. Aveți 15 minut

Modulator FM Bluetooth FMT-B6 TLL Manual de utilizare

DCP-350C DCP-353C DCP-357C DCP-560CN Ghid de Instalare Rapidă Înainte de a putea utiliza aparatul, trebuie să configuraţi hardware-ul şi apoi să insta

BOXA PORTABILA cu Bluetooth si FM-radio MANUALUL UTILIZATORULUI PS-460 PS-470

SUBPROGRAME

Manual de utilizare Aplicatie Proiector I. Pornire/Oprire proiectie Pentru a porni/opri proiectia aveti 3 posibilitati: 1) Pentru pornirea proiectiei

Manual de utilizare Descrierea produsului Structura produsului 1) Butonul SUS (UP) 2) MENIU 3) Butonul JOS (DOWN) 4) Interfața USB 5) Cameră 6) Difuzo

Slide 1

SRS-BTS50_QSG_ro

Produkt-Datenblatt

Laborator Implementarea algoritmului DES - Data Encryption Standard. Exemplu DES Algoritmul DES foloseşte numere b

Transcriere:

Erasmus+ KA-202 Proiecte de parteneriate strategice pentru educație și formare profesională Titlul proiectului: "Predarea și învățarea microcontrolerelor prin limbajul PicBasicPro (PBP) în VET" Acronimul proiectului: "PBPinVET" Numărul proiectului: "2016-1-TR01-KA202-033963" KIT ȘI MODUL TASTATURĂ Ce este o tastatură O tastatură este un sistem de butoane aranjate într-o matrice care funcționează ca un dispozitiv de comutare pentru a asigura o conexiune între o linie și o coloană. Figure: 3x3 and 3x4 keypads 1

Row-1 Row-2 Row-3 Column-1 Row-4 Column-1 Column-2 Column-3 Column-4 Column-2 Row-1 Column-1 Row-4 Column-3 Row-3 Row-2 Atunci când tastatura este denumită, aceasta este codată ca 3x4 și 4x4. La această codificare, primul număr este numărul de coloane, al doilea număr este numărul de rânduri. Figura de mai jos prezintă numele de pini ale tastaturii pentru conexiuni. Figura: Pinuri de conectare pentru tastaturi 3x3 și 3x4 Principii de interfațare a tastaturii Interfața cu câteva butoane este simplă, dar când sunt necesare mai multe, o tastatură este aproape esențială. Figura de mai jos arată dispunerea tastaturii cu 12 butoane și 16 taste. După cum se vede, ele sunt aranjate ca o matrice, acest lucru minimizează cantitatea de linii I/O necesare, în caz contrar ar trebui să se utilizeze 12 sau 16 intrări pentru interfața cu aceleași cantități de taste. Prin aranjarea cheilor în Rânduri și Coloane, avem nevoie doar de 7 sau 8 intrări pentru a o utiliza, dar prețul de plată este că trebuie folosit o rutină de scanare a tastaturii. 2

Figura: Structura tastaturii cu 12 butoane și 16 taste Rutina de scanare a tastaturii caută sistematic o apăsare de tastă. Începe prin a stabili conexiunile la pinii coloanei ca intrări și conexiunile la pinii de rând ca ieșiri. Intrările sunt susținute de rezistențele interne de tracțiune. Obiectul căutării este să aflăm dacă una dintre rândurile tastaturii este conectată la una dintre coloane și, dacă da, care dintre ele. Rutina de scanare trage una dintre liniile de rând scăzute, apoi se uită la intrarea coloanelor pentru a vedea dacă este detectat un 0. Dacă nu, atunci încearcă următorul rând; acest lucru este continuat până când toate rândurile de rânduri au fost scanate. Există la fel de multe rutine de scanare a tastaturii ca și în cazul programatorilor. Fiecare programator are modul său de a face lucrurile. Cu toate acestea, oricare ar fi modul de a face treaba în mod eficient este OK. Utilizarea unei tastaturi O tehnică de scanare este folosită de obicei pentru a detecta tastatura care este apăsată pe tastatură. Rândurile sunt conectate la pinii RB4, RB5, RB6 și RB7, în timp ce coloanele sunt conectate la pinii RB0, RB1 și RB2 ai portului B al PIC16F84 cu rezistențe de tracțiune de 10KΩ. Întregii rânduri și coloanele sunt la nivelul 0 logic. Procesul de scanare este efectuat pentru a detecta butonul apăsat în timpul fazei de scriere a programului. Pentru a detecta tasta presată, în primul rând rândul 1 este făcut logic 1. Dacă 1, 2 sau 3 este apăsat pe oricare dintre taste, nivelul coloanei se face logică 1. De exemplu, dacă este apăsată tasta 1, rândul 1 și coloana 1 vor fi întrerupte. Dacă este apăsat numărul 2, această coloană 2 este făcută logică 1, dacă tasta 3 este apăsată, coloana 3 devine logică 1. Se determină că una din tastele de pe rândul 1 nu a fost apăsată. Același proces va fi efectuat și pentru alte rânduri. 3

Figura: O conexiune pentru tastatura 3x4 la microcontroler O tastatură 4x4 constă din 16 taste cu comutatoare mecanice interne la fiecare poziție a tastei. Figura de mai jos prezintă o tastatură tipică 4x4 conectată la PORT D a unui microcontroler PIC. Tastatura funcționează pe principiul "scanării și detectării", unde RD0, RD1, RD2 și RD3 sunt configurate ca intrări și conectate la coloanele tastaturii prin intermediul rezistențelor de tragere. RD4, RD5, RD6 și RD7 sunt configurate ca ieșiri și conectate la rândurile tastaturii. Figura: O tastatură 4x4, conectată la un microcontroler 4

Programul trimite logic 1 la fiecare rând al tastaturii în schimb și verifică coloanele citirea stării logice la coloană. Apăsarea oricărei taste va face ca logica 1 să fie aplicată pinilor de intrare ai microcontrolerului. Software-ul detectează ce tastă este apăsată prin scanarea intrărilor. De exemplu, presupunem că în timp ce trimitem logica 1 la rândul 2 unde numerele 4, 5, 6, B sunt detectate, intrarea RD2 este logică 1. În acest caz, tasta presată trebuie să fie numărul 5 și așa mai departe. Schema de circuit a kitului tastatură: Figura: Circuitul electronic al kitului modulului tastaturii 5

Lista componentelor utilizate pentru implementarea practică a kitului tastatură: Comment Description Designator Quantity Value Antet Condensator C1, C2 2 22pF ICSP programming Antet, 5-Pin P1 1 NSL25G-5p Display Antet, 10-Pin P2 1 NSL25G-10p Tastatura Antet, 10-Pin P3 1 NSL25G-10p Antet 2 Antet, 2-Pin P4 1 DG128-5.0-02P-14-00A(H) RPot Potentiometru R1 1 5K Res1 Rezistenta R2 1 10K Res1 Rezistenta R3 1 10K PIC16F84-04/SO Flash/EEPROM 8-Bit Microcontroller, 1K (x14-bit words) Flash Program Memory, 68 Bytes Data RAM, 4 MHz, 18-Pin SOIC, Standard VDD Range, Commercial Temperature U1 1 PIC16F84-04 LM7805CT Series 3-Terminal Positive Regulator U2 1 LM7805 4MHz Oscilator de cristal Y1 1 4MHz Cables 1 Keyboard 3x4 keypad 1 Display 2x8 characters 44780 LCD Display 1 LED Led rosu 4 Rezistenta 6 300, 10K 6

COMANDA SPECIALĂ pentru acest KIT GOSUB Sintaxă: Etichetă GOSUB Salt la subrutina de la Etichetă salvând adresa de întoarcere din stivă. Spre deosebire de GOTO, când se ajunge la o instrucțiune RETURN, execuția se reia cu instrucțiunea urmând ultima instrucțiune GOSUB executată. Un număr nelimitat de subrutine pot fi utilizate într-un program. Subrutinele pot fi, de asemenea, imbricate. Cu alte cuvinte, este posibil ca o subrutină să apeleze o altă subrutină. O astfel de cuibare a subrutinei ar trebui să fie limitată la maximum patru niveluri adânci. Exemplu GOSUB beep... beep: HIGH 0 SOUND 1,[80,10] LOW 0 RETURN ' Executați subrutina numită beep ' Porniți LED-ul conectat la Pin0 ' Difuzor bip conectat la Pin1 ' Opriți LED-ul conectat la Pin0 ' Du-te înapoi la rutina principală care ne-a sunat ÎNTOARCERE Sintaxa: ÎNTOARCERE Întoarcere din subrutină. RETURN reia executarea la declarația care urmează după GOSUB care a numit subrutina. Exemplu: GOSUB sub1 ' Mergeți la subrutina etichetă sub1... sub1: SEROUT 0,N2400,["Lunch"] ' Trimiteți "Pranz" din seria Pin0 RETURN ' Reveniți la programul principal după Gosub 7

EXEMPLE DE PROGRAM PENTRU MODULUL ȘI KITUL TASTATURĂ CIRCUIT-1: Utilizați schema principală de circuit de mai sus. Titlul circuitului: Programul care se afișează pe ecranul LCD atunci când una dintre tastele 1, 2 sau 3 din prima linie a tastaturii este apăsată Descrierea circuitului: Pentru a ușura înțelegerea logicii lucrării cu tastatură, în program sunt utilizate primul rând și trei coloane ale tastaturii. Ce tastă este apăsată pe acest prim rând al tastaturii, numărul de cheie este afișat pe ecranul LCD. Programul PicBasicPro: Nume: PROGRAMUL CARE SE APLICĂ PE SCREENUL LCD CÂND Una din cheile 1, 2, 3 pe prima linie a lui Tastatura este presată ' Autor: PBPinVET ' Set LCD Data port DEFINE LCD_DREG PORTA ' Set starting Data bit (0 or 4) if 4-bit bus DEFINE LCD_DBIT 0 ' Set LCD Register Select port DEFINE LCD_RSREG PORTB ' Set LCD Register Select bit DEFINE LCD_RSBIT 7 ' Set LCD Enable port DEFINE LCD_EREG PORTA ' Set LCD Enable bit DEFINE LCD_EBIT 4 ' Set LCD bus size (4 or 8 bits) DEFINE LCD_BITS 4 ' Set number of lines on LCD DEFINE LCD_LINES 2 OPTION_REG.7=0 TRISA=%00000000 TRISB=%01110000 ' Extracția externă a PortB este activată ' Setați pini PORTA ca ieșiri ' Setați pinii B4-B6 ai intrărilor PORTB, alții sunt ieșiri 8

KEY VAR BYTE SYMBOL ROW1=PORTB.0 SYMBOL COLON1=PORTB.4 SYMBOL COLON2=PORTB.5 SYMBOL COLON3=PORTB.6 ' Declarați KEY ca octet ' Definiți portb.0 ca Row1 ' Definiți portb.4 ca Colon1 ' Definiți portb.5 ca Colon2 ' Definiți portb.5 ca Colon3 PORTA=0 PORTB=0 ' Clear PORTA 'Clear PORTB KEY_SCAN: LOW ROW1 IF COLON1=0 THEN ' Dacă este apăsată tasta 1 KEY=1 GOSUB LCD ' dute la LCD sub- program ENDIF IF COLON2=0 THEN ' Dacă este apăsată tasta 2 KEY=2 GOSUB LCD ' dute la LCD sub- program ENDIF IF COLON3=0 THEN ' Dacă este apăsată tasta 3 KEY=3 GOSUB LCD ' dute la LCD sub- program ENDIF GOTO KEY_SCAN LCD: LCDOUT $FE,1," KEY=",#KEY PAUSE 50 RETURN END ' Afișați numărul tastei apăsate ' Asteptati 50ms ' Sfarsitul programului 9

CIRCUIT-2: Utilizați schema principală de circuit de mai sus. Titlul circuitului: Programul care utilizează 3 coloane și 4 rânduri ale tastaturii pentru afișarea numerelor 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, # (11) și * (12) LCD atunci când este apăsată o tastă. Programul PicBasicPro: Nume: PROGRAM CARE DISPLAY NUMĂRUL CHEIE PE SCREENUL LCD CÂND ESTE PRESUPAT O UTILIZARE A TEXTURILOR PE TASTATURĂ ' Autor: PBPinVET ' Set LCD Data port DEFINE LCD_DREG PORTA ' Set starting Data bit (0 or 4) if 4-bit bus DEFINE LCD_DBIT 0 ' Set LCD Register Select port DEFINE LCD_RSREG PORTB ' Set LCD Register Select bit DEFINE LCD_RSBIT 7 ' Set LCD Enable port DEFINE LCD_EREG PORTA ' Set LCD Enable bit DEFINE LCD_EBIT 4 ' Set LCD bus size (4 or 8 bits) DEFINE LCD_BITS 4 ' Set number of lines on LCD DEFINE LCD_LINES 2 OPTION_REG.7=0 TRISA=%00000000 TRISB=%01110000 KEY VAR BYTE ' Extracția externă a PortB este activată ' Setați pini PORTA ca ieșiri ' Setați pinii B4-B6 ai intrărilor PORTB, alții sunt ieșiri ' Declarați KEY ca octet SYMBOL ROW1=PORTB.0 SYMBOL ROW2=PORTB.1 SYMBOL ROW3=PORTB.2 SYMBOL ROW4=PORTB.3 SYMBOL COLON1=PORTB.4 SYMBOL COLON2=PORTB.5 SYMBOL COLON3=PORTB.6 10

PORTA=0 PORTB=0 KEY_SCAN: LOW ROW1 IF COLON1=0 THEN:KEY=1 : GOSUB LCD IF COLON2=0 THEN:KEY=2 : GOSUB LCD IF COLON3=0 THEN:KEY=3 : GOSUB LCD HIGH ROW1 LOW ROW2 IF COLON1=0 THEN:KEY=4 : GOSUB LCD IF COLON2=0 THEN:KEY=5 : GOSUB LCD IF COLON3=0 THEN:KEY=6 : GOSUB LCD HIGH ROW2 LOW ROW3 IF COLON1=0 THEN:KEY=7 : GOSUB LCD IF COLON2=0 THEN:KEY=8 : GOSUB LCD IF COLON3=0 THEN:KEY=9 : GOSUB LCD HIGH ROW3 LOW ROW4 IF COLON1=0 THEN:KEY=10 : GOSUB LCD IF COLON2=0 THEN:KEY=0 : GOSUB LCD IF COLON3=0 THEN:KEY=12 : GOSUB LCD HIGH ROW4 GOTO KEY_SCAN LCD: LCDOUT $FE,1," KEY=",#KEY PAUSE 50 RETURN END ' Afișați numărul tastei apăsate ' Asteptati 50ms ' Sfârșitul programului 11

CIRCUIT-3: Utilizați schema principală de circuit de mai sus. Titlul circuitului: Programul afișează numărul de două cifre de pe ecranul LCD când este introdus de pe tastatură. Programul PicBasicPro: Nume: Programul afișează numărul de două cifre, introdus de la tastatură, pe ecranul LCD. 'Autor: PBPinVET ' Set LCD Data port DEFINE LCD_DREG PORTA ' Set starting Data bit (0 or 4) if 4-bit bus DEFINE LCD_DBIT 0 ' Set LCD Register Select port DEFINE LCD_RSREG PORTB ' Set LCD Register Select bit DEFINE LCD_RSBIT 7 ' Set LCD Enable port DEFINE LCD_EREG PORTA ' Set LCD Enable bit DEFINE LCD_EBIT 4 ' Set LCD bus size (4 or 8 bits) DEFINE LCD_BITS 4 ' Set number of lines on LCD DEFINE LCD_LINES 2 OPTION_REG.7=0 TRISA=%00000000 TRISB=%01110000 KEY VAR BYTE ONES VAR BYTE TENS VAR BYTE ' Extracția externă a PortB este activată ' Setați pini PORTA ca ieșiri ' Setați pinii B4-B6 ai intrărilor PORTB, alții sunt ieșiri ' Declarați KEY ca octet ' Declarați ONES ca un octet ' Declarați TENS ca un octet SYMBOL ROW1=PORTB.0 SYMBOL ROW2=PORTB.1 SYMBOL ROW3=PORTB.2 SYMBOL ROW4=PORTB.3 SYMBOL COLON1=PORTB.4 SYMBOL COLON2=PORTB.5 SYMBOL COLON3=PORTB.6 PORTA=0 : PORTB=0 : key=0 : ONES=0 : TENS=0 KEY_SCAN: 12

LOW ROW1 IF COLON1=0 THEN:KEY=1 : gosub lcd IF COLON2=0 THEN:KEY=2 : gosub lcd IF COLON3=0 THEN:KEY=3 : gosub lcd HIGH ROW1 LOW ROW2 IF COLON1=0 THEN:KEY=4 : gosub lcd IF COLON2=0 THEN:KEY=5 : gosub lcd IF COLON3=0 THEN:KEY=6 : gosub lcd HIGH ROW2 LOW ROW3 IF COLON1=0 THEN:KEY=7 : gosub lcd IF COLON2=0 THEN:KEY=8 : gosub lcd IF COLON3=0 THEN:KEY=9 : gosub lcd HIGH ROW3 LOW ROW4 IF COLON1=0 THEN:KEY=10 : gosub lcd IF COLON2=0 THEN:KEY=0 : gosub lcd IF COLON3=0 THEN:KEY=12 : gosub lcd HIGH ROW4 GOTO KEY_SCAN LCD: TENS=ONES ONES=KEY LCDOUT $FE,1," NUMBER= ",DEC TENS,DEC ONES 'Afișați un număr din două cifre PAUSE 200 RETURN END 13

CIRCUIT-4: Schimbați circuitul principal ca în diagrama de mai jos. Scoateți ecranul LCD și conectați 4 LED-uri în circuit printr-o placă de proiect. Titlul circuitului: Programul care arată valoarea presetată a tastelor pe LED-uri, conectate la portul A. Programul PicBasic Pro: Nume: Programul afișează valoarea cheii presate pe LED-urile conectate la PortA. De exemplu, dacă este apăsat numărul 9, 1010 este afișat pe LED-uri ca număr binar. 'Autor: PBPinVET OPTION_REG.7=0 ' Extracția externă a PortB este activată TRISA=%00000000 TRISB=%01110000 KEY VAR BYTE ' Setați pini PORTA ca ieșiri ' Setați pinii B4-B6 ai intrărilor PORTB, alții sunt ieșiri ' Declarați KEY ca octet SYMBOL ROW1=PORTB.0 SYMBOL ROW2=PORTB.1 SYMBOL ROW3=PORTB.2 SYMBOL ROW4=PORTB.3 SYMBOL COLON1=PORTB.4 SYMBOL COLON2=PORTB.5 SYMBOL COLON3=PORTB.6 14

PORTA=0: PORTB=0: KEY=0 KEY_SCAN: ' Clear PortA, PortB, Key ' Start scanning the keypad LOW ROW1 IF COLON1=0 THEN:KEY=1 : gosub LED IF COLON2=0 THEN:KEY=2 : gosub LED lcd IF COLON3=0 THEN:KEY=3 : gosub LED lcd HIGH ROW1 LOW ROW2 IF COLON1=0 THEN:KEY=4 : gosub LED IF COLON2=0 THEN:KEY=5 : gosub LED IF COLON3=0 THEN:KEY=6 : gosub LED HIGH ROW2 LOW ROW3 IF COLON1=0 THEN:KEY=7 : gosub LED IF COLON2=0 THEN:KEY=8 : gosub LED IF COLON3=0 THEN:KEY=9 : gosub LED HIGH ROW3 LOW ROW4 IF COLON1=0 THEN:KEY=10 : gosub LED IF COLON2=0 THEN:KEY=0 : gosub LED IF COLON3=0 THEN:KEY=12 : gosub LED HIGH ROW4 GOTO KEY_SCAN LED: PORTA=KEY PAUSE 500 RETURN END ' Afișați valoarea variabilei cheie pe PortA 15

Imagine: vizualizarea LED-urilor CIRCUIT-5: Utilizați schema de circuit revizuită de mai sus. Titlul circuitului: Programul afișează valoarea tastei apăsate pe LED-urile conectate la PortA. Programul care contorizează binar înainte prin LED-uri conectate la porta, de la valoarea numerică introdusă de la tastatură. NOTĂ: Acest program este aproape același cu cel precedent. Deci, doar o parte a programului de subrutine cu LED-uri este scrisă aici. Programul PicBasicPro: Nume: Programul afișează valoarea cheii presate pe LED-urile conectate la PortA. De exemplu, dacă este apăsat numărul 9, 1010 este afișat pe LED-uri ca număr binar. 'Autor: PBPinVET ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- LED: END PORTA=KEY PAUSE 500 KEY=KEY+1 GOTO LED 16

CIRCUIT-6: Utilizați schema de circuit revizuită de mai sus. Titlul circuitului: Aplicație de blocare combinată Descrierea circuitului: programul este aliniat LED-ului timp de 5 secunde, conectat la PortA.0, când sunt introduse cifrele de 1357 de pe tastatură. Programul PicBasicPro: 'Nume: Aplicație de blocare combinată (parola: 1357) 'Autor: PBPinVE T OPTION_REG.7=0 External pull-ups of PortB is ON TRISA=%00000000 TRISB=%01110000 ' Setați pini PORTA ca ieșiri ' Setați pinii B4-B6 ai intrărilor PORTB, alții sunt ieșiri ' ***** Declarați tipurile de variabile KEY VAR BYTE ONES VAR BYTE TENS VAR BYTE HUNDREDS VAR BYTE THOUSANDS VAR BYTE NUMBER VAR WORD PASSWORD VAR WORD ' ***** Declarați pinii pentru tastatură SYMBOL ROW1=PORTB.0 SYMBOL ROW2=PORTB.1 SYMBOL ROW3=PORTB.2 SYMBOL ROW4=PORTB.3 SYMBOL COLON1=PORTB.4 SYMBOL COLON2=PORTB.5 SYMBOL COLON3=PORTB.6 PORTA=0 : PORTB=0 : KEY=0 ONES=0 : TENS=0 : HUNDREDS=0 : THOUSANDS=0 PASSWORD=1357 KEY_SCAN: ' Scan the keypad LOW ROW1 IF COLON1=0 THEN:KEY=1 : gosub LED IF COLON2=0 THEN:KEY=2 : gosub LED IF COLON3=0 THEN:KEY=3 : gosub LED HIGH ROW1 LOW ROW2 17

IF COLON1=0 THEN:KEY=4 : gosub LED IF COLON2=0 THEN:KEY=5 : gosub LED IF COLON3=0 THEN:KEY=6 : gosub LED HIGH ROW2 LOW ROW3 IF COLON1=0 THEN:KEY=7 : gosub LED IF COLON2=0 THEN:KEY=8 : gosub LED IF COLON3=0 THEN:KEY=9 : gosub LED HIGH ROW3 LOW ROW4 IF COLON1=0 THEN:KEY=10 : gosub LED IF COLON2=0 THEN:KEY=0 : gosub LED IF COLON3=0 THEN:KEY=12 : gosub LED HIGH ROW4 GOTO KEY_SCAN LED: THOUSANDS=HUNDREDS : HUNDREDS =TENS TENS=ONES : ONES=KEY NUMBER=1000* THOUSANDS+100* HUNDREDS+10*TENS+ONES IF PASSWORD=NUMBER THEN HIGH PORTA.0 PAUSE 5000 LOW PORTA.0 ENDIF PAUSE 500 RETURN END 18