Elektronik / Mikrodenetleyici Projeleri/

PIC18F4550 USB kayan yazı panosu visual basic proton

Kayan yazı devresi bilgisyarın USB portu üzerinden gönderilen metini görüntülüyor. Metin göndermek için kullanılan program visual basic ile hazırlanmış exe ve kaynak kodları var. Devre PIC18F4550 üzerine kurulu 8×32 dot matris ledler 2 adet 74hc154 ile sürülüyor pic yazılımı proton ide ile hazlanmış.

pic18f4550-vb-isis-usb-8x32-dot-matrix-led-leds-74hc154

dotmatris3.bas yazılım içeriği;

'***********************************************
'*  Name    : DOTMATRIS3.BAS                                    *
'*  Author  : [select VIEW...EDITOR OPTIONS]                    *
'*  Notice  : Copyright (c) 2009 [select VIEW...EDITOR OPTIONS] *
'*          : All Rights Reserved                               *
'*  Date    : 13.12.2009                                        *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'********************************************

' select MCU and clock speed
Device = 18F4550
XTAL = 48

' descriptor file, located in \inc\usb_18 - a copy
' is located in the same folder as this file
USB_DESCRIPTOR = "dotmatris3DESC.inc"

' USB Buffer...
Symbol USBBufferSizeMax = 33
Symbol USBBufferSizeTX  = 8
Symbol USBBufferSizeRX  = 33
Dim    USBBuffer[USBBufferSizeMax] As Byte

' some useful flags...
Dim PP0 As Byte SYSTEM        ' USBPOLL status return
Symbol CARRY_FLAG = STATUS.0  ' high if microcontroller does not have control over the buffer
Symbol ATTACHED_STATE = 6     ' is USB attached

' *********************************************
' * main program loop - remember, you must keep the USB      *
' * connection alive with a call to USBPoll, USBIn or USBOut *
' * every couple of milliseconds or so                       *
' *********************************************
i VAR Byte
i1 VAR Byte
p1 VAR Word
p2 VAR Byte
'PORTA değişkenleri
pa1 VAR Byte
pa2 VAR Byte
pa3 VAR Byte
pa4 VAR Byte
pa5 VAR Byte
pa6 VAR Byte
pa7 VAR Byte
pa8 VAR Byte
pa9 VAR Byte
pa10 VAR Byte
pa11 VAR Byte
pa12 VAR Byte
pa13 VAR Byte
pa14 VAR Byte
pa15 VAR Byte
pa16 VAR Byte
pa17 VAR Byte
pa18 VAR Byte
pa19 VAR Byte
pa20 VAR Byte
pa21 VAR Byte
pa22 VAR Byte
pa23 VAR Byte
pa24 VAR Byte
pa25 VAR Byte
pa26 VAR Byte
pa27 VAR Byte
pa28 VAR Byte
pa29 VAR Byte
pa30 VAR Byte
pa31 VAR Byte
pa32 VAR Byte
'şekil değişkenleri
d1 VAR Byte
d2 VAR Byte
d3 VAR Byte
d4 VAR Byte
d5 VAR Byte
d6 VAR Byte
d7 VAR Byte
d8 VAR Byte
d9 VAR Byte
d10 VAR Byte
d11 VAR Byte
d12 VAR Byte
d13 VAR Byte
d14 VAR Byte
d15 VAR Byte
d16 VAR Byte
d17 VAR Byte
d18 VAR Byte
d19 VAR Byte
d20 VAR Byte
d21 VAR Byte
d22 VAR Byte
d23 VAR Byte
d24 VAR Byte
d25 VAR Byte
d26 VAR Byte
d27 VAR Byte
d28 VAR Byte
d29 VAR Byte
d30 VAR Byte
d31 VAR Byte
d32 VAR Byte
kontrol Var Byte

TRISB=%00000000
TRISD=%00000000
PORTB=1
PORTD=0

'=====Bekleme ayarları=====
p1=800'delayus 'sütun geçişleri arasındaki bekleme(TİTREMEYİ ÖNLEYECEK DEĞER)
'=====Görüntü oluşturan değişkenler tanımlanıyor=====
'görünmesini istediğiniz şekli oluşturmak için,
'görünen için=1 siyah kalan için=0 olarak değer verin.
'değerlerin anlaşılabilir olması açısından binary
'olarak verilmiştir.
'Teknoloji
d1=%00000001
d2=%00000001
d3=%01111111
d4=%00000001
d5=%00111001
d6=%01010100
d7=%01011000
d8=%00000000
d9=%01111111
d10=%00010000
d11=%00101000
d12=%01000100
d13=%00000000
d14=%01111100
d15=%00000100
d16=%01111000
d17=%00000000
d18=%00111000
d19=%01000100
d20=%00111000
d21=%00000000
d22=%01111111
d23=%00000000
d24=%00111000
d25=%01000100
d26=%00111000
d27=%00000000
d28=%10000000
d29=%01111101
d30=%00000000
d31=%01111101
d32=%00000000
'PORTA tanımlaması
pa1=0
pa2=1
pa3=2
pa4=3
pa5=4
pa6=5
pa7=6
pa8=7
pa9=8
pa10=9
pa11=10
pa12=11
pa13=12
pa14=13
pa15=14
pa16=15
pa17=16
pa18=17
pa19=18
pa20=19
pa21=20
pa22=21
pa23=22
pa24=23
pa25=24
pa26=25
pa27=26
pa28=27
pa29=28
pa30=29
pa31=30
pa32=31

GoTo ProgramLoop
basla:
'If  UIR And %01000000 Then GoTo  verial
'i=i+1
'If i=i1 Then kaydir
If UIR.3=1 Then GoTo ProgramLoop1

PORTB=pa1
PORTD=d1
DelayUS p1
PORTB=pa2
PORTD=d2
DelayUS p1
PORTB=pa3
PORTD=d3
DelayUS p1
PORTB=pa4
PORTD=d4
DelayUS p1
PORTB=pa5
PORTD=d5
DelayUS p1
PORTB=pa6
PORTD=d6
DelayUS p1
PORTB=pa7
PORTD=d7
DelayUS p1
PORTB=pa8
PORTD=d8
DelayUS p1
PORTB=pa9
PORTD=d9
DelayUS p1
PORTB=pa10
PORTD=d10
DelayUS p1
PORTB=pa11
PORTD=d11
DelayUS p1
PORTB=pa12
PORTD=d12
DelayUS p1
PORTB=pa13
PORTD=d13
DelayUS p1
PORTB=pa14
PORTD=d14
DelayUS p1
PORTB=pa15
PORTD=d15
DelayUS p1
PORTB=pa16
PORTD=d16
DelayUS p1
PORTB=pa17
PORTD=d17
DelayUS p1
PORTB=pa18
PORTD=d18
DelayUS p1
PORTB=pa19
PORTD=d19
DelayUS p1
PORTB=pa20
PORTD=d20
DelayUS p1
PORTB=pa21
PORTD=d21
DelayUS p1
PORTB=pa22
PORTD=d22
DelayUS p1
PORTB=pa23
PORTD=d23
DelayUS p1
PORTB=pa24
PORTD=d24
DelayUS p1
PORTB=pa25
PORTD=d25
DelayUS p1
PORTB=pa26
PORTD=d26
DelayUS p1
PORTB=pa27
PORTD=d27
DelayUS p1
PORTB=pa28
PORTD=d28
DelayUS p1
PORTB=pa29
PORTD=d29
DelayUS p1
PORTB=pa30
PORTD=d30
DelayUS p1
PORTB=pa31
PORTD=d31
DelayUS p1
PORTB=pa32
PORTD=d32
DelayUS p1
GoTo basla 'Göstermeye yeniden başla
'=====Kaydırma işlemi yapılıyor=====

GoSub AttachToUSB
ProgramLoop1:
UIR.3=0
ProgramLoop:

GoSub DoUSBIn

kontrol=USBBuffer[0]
If kontrol=5 Then GoTo basla
If kontrol=6 Then GoTo yukle
' GoSub DoUSBOut

GoTo ProgramLoop
yukle:
d1=USBBuffer[1]
d2=USBBuffer[2]
d3=USBBuffer[3]
d4=USBBuffer[4]
d5=USBBuffer[5]
d6=USBBuffer[6]
d7=USBBuffer[7]
d8=USBBuffer[8]
d9=USBBuffer[9]
d10=USBBuffer[10]
d11=USBBuffer[11]
d12=USBBuffer[12]
d13=USBBuffer[13]
d14=USBBuffer[14]
d15=USBBuffer[15]
d16=USBBuffer[16]
d17=USBBuffer[17]
d18=USBBuffer[18]
d19=USBBuffer[19]
d20=USBBuffer[20]
d21=USBBuffer[21]
d22=USBBuffer[22]
d23=USBBuffer[23]
d24=USBBuffer[24]
d25=USBBuffer[25]
d26=USBBuffer[26]
d27=USBBuffer[27]
d28=USBBuffer[28]
d29=USBBuffer[29]
d30=USBBuffer[30]
d31=USBBuffer[31]
d32=USBBuffer[32]

GoTo basla

' ******************************************
' * receive data from the USB bus                            *
' ******************************************
DoUSBIn:
USBIn 1, USBBuffer, USBBufferSizeRX, DoUSBIn
Return

' **************************************
' * transmit data                                            *
' **************************************
DoUSBOut:
USBOut 1, USBBuffer, USBBufferSizeTX, DoUSBOut
Return

' **********************************
' * wait for USB interface to attach                 *
' **********************************
AttachToUSB:
Repeat
USBPoll
Until PP0 = ATTACHED_STATE
Return

Hazırlayan: Eyüp – Kaynak: elektrobilim.org Alternatif link: PIC18F4550 USB kayan yazı panosu visual basic proton

Dosya indirme LINK listesi (TXT formatında) link-13235.zip şifre-pass: 320volt.com

  1. hsey 2010/11/22
  2. eyup 2010/11/22
  3. zafer 2010/12/16
  4. hakan 2010/12/20
  5. eyup 2010/12/20
    • Emre Destici 2013/03/02
  6. hakan 2010/12/20
  7. eyup 2010/12/20
  8. faruk 2010/12/29
  9. hakan 2011/01/05
  10. eyüp 2011/01/06
  11. ali osman aydın 2011/01/09
  12. eyüp 2011/01/10
  13. eyüp 2011/01/10
  14. hakan 2011/01/19
  15. Mehmet 2011/02/06
  16. Mehmet 2011/02/06
  17. Ahmet 2011/05/04
  18. halil tosun 2012/02/28
  19. tahsin öcal 2012/06/25
  20. caner arslan 2013/01/07

Yorum

Soru: