Teknomerkez
TR EN ES
Konular

PicASM ile PIC16F628A ve Bluetooth ile veri gönderme

Yazar: Mehmet Yılmaz
Tarih: 28.03.2017
Türkçe

Bu devre ile basılan butonun tanımlanmış bilgileri HC-06 bluetooth modül üzerinden telefona gönderilmektedir. Devre 5 volt ile çalışmaktadır.

Çalışması: Birinci butona basıldığında telefona "Teknomerkez - Teknoloji Merkezi" yazısnı gönderir.

İkinci butona basınca "Mehmet YILMAZ" yazısını gönderir.

Üçüncü butona basınca "ASM ile PIC16F628A ve Bluetooth ile veri gonderme" yazısını gönderir.

Bu bilgileri sizler ASM kodlardan değiştirebilirsiniz.

Devre şeması:


Devrenin malzeme listesi:

U1: 16F628A
Y1: 4 Mhz kristal
C1: 100nF
C2-C3: 22pF
SW1-SW3: Buton
R1-R4: 10K direnç
J1: HC-06 bluetooth bağlantısı için konnektör.

Devreye ait uygulama resmi:

Devreye ait çalışma videosu:


Devreya ait assembly ASM kodlar:

; ********* ***************************** *********
; ASM ile PIC16F628A ve Bluetooth ile veri gönderme
; MPASM derleyicisi kullanınız
; Tarih: 28.03.2017 10:46:43
; http://teknomerkez.com/index.php?git=1661
; *************************************************
        TITLE "ASM ile PIC16F628A ve Bluetooth ile veri gönderme"
        LIST p=16F628A
        #INCLUDE <p16f628a.inc>
        __CONFIG _XT_OSC & _WDT_OFF & _PWRTE_OFF & _MCLRE_ON & _BODEN_OFF & _LVP_OFF & _CPD_OFF & _CP_OFF

        CBLOCK  0x20    ;Değişkenler Tanımlanıyor
        TR500MS1
        TR500MS2
        TR500MS3
        YOL
        ENDC

        ORG     0x00
        GOTO    BASLA

BASLA           ;Başlangıç noktası
        CLRF    PORTA
        CLRF    PORTB
        BANKSEL TRISA
        MOVLW   b'11111111'
        MOVWF   TRISA
        MOVLW   b'00000000'
        MOVWF   TRISB
        BANKSEL SPBRG
        MOVLW   d'25'
        MOVWF   SPBRG
        MOVLW   b'00100100'
        MOVWF   TXSTA
        BANKSEL RCSTA
        BSF     RCSTA,SPEN
        BANKSEL CMCON
        MOVLW   0x07
        MOVWF   CMCON
        GOTO    GOREVLER

GOREVLER        ;Yapılacak işlemler burada
        BTFSS   PORTA,0
        GOTO    TR_ISE0
        BSF     PORTB,2
        MOVLW   'T'
        CALL    SERIPORT_GONDER
        MOVLW   'e'
        CALL    SERIPORT_GONDER
        MOVLW   'k'
        CALL    SERIPORT_GONDER
        MOVLW   'n'
        CALL    SERIPORT_GONDER
        MOVLW   'o'
        CALL    SERIPORT_GONDER
        MOVLW   'm'
        CALL    SERIPORT_GONDER
        MOVLW   'e'
        CALL    SERIPORT_GONDER
        MOVLW   'r'
        CALL    SERIPORT_GONDER
        MOVLW   'k'
        CALL    SERIPORT_GONDER
        MOVLW   'e'
        CALL    SERIPORT_GONDER
        MOVLW   'z'
        CALL    SERIPORT_GONDER
        MOVLW   ' '
        CALL    SERIPORT_GONDER
        MOVLW   '-'
        CALL    SERIPORT_GONDER
        MOVLW   ' '
        CALL    SERIPORT_GONDER
        MOVLW   'T'
        CALL    SERIPORT_GONDER
        MOVLW   'e'
        CALL    SERIPORT_GONDER
        MOVLW   'k'
        CALL    SERIPORT_GONDER
        MOVLW   'n'
        CALL    SERIPORT_GONDER
        MOVLW   'o'
        CALL    SERIPORT_GONDER
        MOVLW   'l'
        CALL    SERIPORT_GONDER
        MOVLW   'o'
        CALL    SERIPORT_GONDER
        MOVLW   'j'
        CALL    SERIPORT_GONDER
        MOVLW   'i'
        CALL    SERIPORT_GONDER
        MOVLW   ' '
        CALL    SERIPORT_GONDER
        MOVLW   'M'
        CALL    SERIPORT_GONDER
        MOVLW   'e'
        CALL    SERIPORT_GONDER
        MOVLW   'r'
        CALL    SERIPORT_GONDER
        MOVLW   'k'
        CALL    SERIPORT_GONDER
        MOVLW   'e'
        CALL    SERIPORT_GONDER
        MOVLW   'z'
        CALL    SERIPORT_GONDER
        MOVLW   'i'
        CALL    SERIPORT_GONDER
        BSF     PORTB,2
        MOVLW   d'13'
        CALL    SERIPORT_GONDER
        BSF     PORTB,2
        MOVLW   d'10'
        CALL    SERIPORT_GONDER
        CALL    BEKLE500MS
TR_ISE0
        BTFSS   PORTA,1
        GOTO    TR_ISE1
        BSF     PORTB,2
        MOVLW   'M'
        CALL    SERIPORT_GONDER
        MOVLW   'e'
        CALL    SERIPORT_GONDER
        MOVLW   'h'
        CALL    SERIPORT_GONDER
        MOVLW   'm'
        CALL    SERIPORT_GONDER
        MOVLW   'e'
        CALL    SERIPORT_GONDER
        MOVLW   't'
        CALL    SERIPORT_GONDER
        MOVLW   ' '
        CALL    SERIPORT_GONDER
        MOVLW   'Y'
        CALL    SERIPORT_GONDER
        MOVLW   'I'
        CALL    SERIPORT_GONDER
        MOVLW   'L'
        CALL    SERIPORT_GONDER
        MOVLW   'M'
        CALL    SERIPORT_GONDER
        MOVLW   'A'
        CALL    SERIPORT_GONDER
        MOVLW   'Z'
        CALL    SERIPORT_GONDER
        BSF     PORTB,2
        MOVLW   d'13'
        CALL    SERIPORT_GONDER
        BSF     PORTB,2
        MOVLW   d'10'
        CALL    SERIPORT_GONDER
        CALL    BEKLE500MS
TR_ISE1
        BTFSS   PORTA,2
        GOTO    TR_ISE2
        BSF     PORTB,2
        MOVLW   'A'
        CALL    SERIPORT_GONDER
        MOVLW   'S'
        CALL    SERIPORT_GONDER
        MOVLW   'M'
        CALL    SERIPORT_GONDER
        MOVLW   ' '
        CALL    SERIPORT_GONDER
        MOVLW   'i'
        CALL    SERIPORT_GONDER
        MOVLW   'l'
        CALL    SERIPORT_GONDER
        MOVLW   'e'
        CALL    SERIPORT_GONDER
        MOVLW   ' '
        CALL    SERIPORT_GONDER
        MOVLW   'P'
        CALL    SERIPORT_GONDER
        MOVLW   'I'
        CALL    SERIPORT_GONDER
        MOVLW   'C'
        CALL    SERIPORT_GONDER
        MOVLW   '1'
        CALL    SERIPORT_GONDER
        MOVLW   '6'
        CALL    SERIPORT_GONDER
        MOVLW   'F'
        CALL    SERIPORT_GONDER
        MOVLW   '6'
        CALL    SERIPORT_GONDER
        MOVLW   '2'
        CALL    SERIPORT_GONDER
        MOVLW   '8'
        CALL    SERIPORT_GONDER
        MOVLW   'A'
        CALL    SERIPORT_GONDER
        MOVLW   ' '
        CALL    SERIPORT_GONDER
        MOVLW   'v'
        CALL    SERIPORT_GONDER
        MOVLW   'e'
        CALL    SERIPORT_GONDER
        MOVLW   ' '
        CALL    SERIPORT_GONDER
        MOVLW   'B'
        CALL    SERIPORT_GONDER
        MOVLW   'l'
        CALL    SERIPORT_GONDER
        MOVLW   'u'
        CALL    SERIPORT_GONDER
        MOVLW   'e'
        CALL    SERIPORT_GONDER
        MOVLW   't'
        CALL    SERIPORT_GONDER
        MOVLW   'o'
        CALL    SERIPORT_GONDER
        MOVLW   'o'
        CALL    SERIPORT_GONDER
        MOVLW   't'
        CALL    SERIPORT_GONDER
        MOVLW   'h'
        CALL    SERIPORT_GONDER
        MOVLW   ' '
        CALL    SERIPORT_GONDER
        MOVLW   'i'
        CALL    SERIPORT_GONDER
        MOVLW   'l'
        CALL    SERIPORT_GONDER
        MOVLW   'e'
        CALL    SERIPORT_GONDER
        MOVLW   ' '
        CALL    SERIPORT_GONDER
        MOVLW   'v'
        CALL    SERIPORT_GONDER
        MOVLW   'e'
        CALL    SERIPORT_GONDER
        MOVLW   'r'
        CALL    SERIPORT_GONDER
        MOVLW   'i'
        CALL    SERIPORT_GONDER
        MOVLW   ' '
        CALL    SERIPORT_GONDER
        MOVLW   'g'
        CALL    SERIPORT_GONDER
        MOVLW   'o'
        CALL    SERIPORT_GONDER
        MOVLW   'n'
        CALL    SERIPORT_GONDER
        MOVLW   'd'
        CALL    SERIPORT_GONDER
        MOVLW   'e'
        CALL    SERIPORT_GONDER
        MOVLW   'r'
        CALL    SERIPORT_GONDER
        MOVLW   'm'
        CALL    SERIPORT_GONDER
        MOVLW   'e'
        CALL    SERIPORT_GONDER
        BSF     PORTB,2
        MOVLW   d'13'
        CALL    SERIPORT_GONDER
        BSF     PORTB,2
        MOVLW   d'10'
        CALL    SERIPORT_GONDER
        CALL    BEKLE500MS
TR_ISE2
        GOTO    GOREVLER

SERIPORT_GONDER
        MOVWF   TXREG
        BANKSEL TXSTA
SERIPORT_TX_KONTROL
        BTFSS   TXSTA,TRMT
        GOTO    SERIPORT_TX_KONTROL
        BANKSEL PORTB
        RETURN

BEKLE500MS      ;500ms bekle
        MOVLW   d'5'
        MOVWF   TR500MS1
BEKLE500MS1
        MOVLW   d'199'
        MOVWF   TR500MS2
BEKLE500MS2
        MOVLW   d'166'
        MOVWF   TR500MS3
BEKLE500MS3
        DECFSZ  TR500MS3, F
        GOTO    BEKLE500MS3
        DECFSZ  TR500MS2, F
        GOTO    BEKLE500MS2
        DECFSZ  TR500MS1, F
        GOTO    BEKLE500MS1
        RETURN
        
        END     ; Program sonu

Devreye ait hex dosya içeriği:

:020000040000FA
:1000000001288501860183160313FF308500003027
:100010008600831603131930990024309800831248
:10002000031398178312031307309F001728051C2A
:100030005F2806155430F0206530F0206B30F0203A
:100040006E30F0206F30F0206D30F0206530F02001
:100050007230F0206B30F0206530F0207A30F020E4
:100060002030F0202D30F0202030F0205430F020CF
:100070006530F0206B30F0206E30F0206F30F020D3
:100080006C30F0206F30F0206A30F0206930F020C2
:100090002030F0204D30F0206530F0207230F0201C
:1000A0006B30F0206530F0207A30F0206930F0209D
:1000B00006150D30F02006150A30F020F820851CBA
:1000C000832806154D30F0206530F0206830F02090
:1000D0006D30F0206530F0207430F0202030F020BA
:1000E0005930F0204930F0204C30F0204D30F020D5
:1000F0004130F0205A30F02006150D30F020061562
:100100000A30F020F820051DEF2806154130F020B8
:100110005330F0204D30F0202030F0206930F020B6
:100120006C30F0206530F0202030F0205030F0208E
:100130004930F0204330F0203130F0203630F020CC
:100140004630F0203630F0203230F0203830F020C9
:100150004130F0202030F0207630F0206530F02063
:100160002030F0204230F0206C30F0207530F0204C
:100170006530F0207430F0206F30F0206F30F020C8
:100180007430F0206830F0202030F0206930F0200A
:100190006C30F0206530F0202030F0207630F020F8
:1001A0006530F0207230F0206930F0202030F020EF
:1001B0006730F0206F30F0206E30F0206430F02097
:1001C0006530F0207230F0206D30F0206530F02086
:1001D00006150D30F02006150A30F020F8201728FB
:1001E000990083160313981CF32883120313080045
:1001F0000530A000C730A100A630A200A20BFE2847
:0A020000A10BFC28A00BFA2808004F
:04020A000034003488
:02400E00293F48
:00000001FF


Yorumlarınız

Hiç yorum yapılmamış.

Bir yorum ekleyin

İsim:
E-posta:
Yorumunuz:
Güvenlik Kodu:
 
Tüm alanları doldurmak zorunludur. Yorumunuz kontrol edilince yayınlanacaktır. E-posta adresi yayınlanmaz.
İzin verilen html etiketler (tag): <p><div><b><strong><i><u><del><hr><sup><sub><br>