Minggu, 29 Juli 2012

Tutorial Seven Segment dengan Bascom AVR

Sebelumnya saya sudah pernah memposting tentang Tutorial Seven Segment dengan CodeVision AVR dan Tutorial Seven Segment dengan AVR GCC (winAVR), untuk mengetahui tentang Seven Segment itu sendiri bisa dilihat pada postingan sebelumnya tersebut.

Kali ini saya akan memberikan tutorial untuk menampilkan display angka pada Seven Segment dengan program BASCOM AVR.


Rangkaian skematiknya sbb:



Pada rangkaian diatas 7Segment yang digunakan adalah tipe Common Anoda (CA) dengan Shift Register 74HC4094, kalau ingin mencoba pada simulasi dengan proteus bisa dibuat rangkaiannya seperti ini:

Listing programnya sebagai berikut:
'==========================================================
'PROGRAM SEVEN SEGMENT DENGAN BASCOM AVR
'PROGRAMMER = WAHYU RAHMANIAR
'COMPANY    = TECHNOLOGINATION
'==========================================================

$regfile = "m32def.dat"
$crystal = 8000000

Config Portc.0 = Output
Config Portc.1 = Output
Config Portc.2 = Output
Config Portc.3 = Output

Datas Alias Portc.0
Strobe Alias Portc.2
Clock Alias Portc.1
Oe Alias Portc.3

Dim Y As Integer
Dim Temp As Integer
Dim Hitung As Integer

Dim Ratusan As Integer
Dim Puluhan As Integer
Dim Satuan As Integer

Dim Byteratusan As Byte
Dim Bytepuluhan As Byte
Dim Bytesatuan As Byte

Strobe = 1
Oe = 0

Mulai:
Hitung = 100
Do
Temp = Hitung
'Mencari angka Ratusan
Ratusan = Temp / 100
'Mencari angka Puluhan
Temp = Temp Mod 100
Puluhan = Temp / 10
'Mencari angka Satuan
Satuan = Temp Mod 10

   For Y = 1 To 10
   'Waitms 100
   Oe = 1
   Bytesatuan = Lookup(satuan , Data7seg)                   'menampilkan satuan
   Shiftout Datas , Clock , Bytesatuan , 1
   Bytepuluhan = Lookup(puluhan , Data7seg)                 'menampilkan puluhan
   Shiftout Datas , Clock , Bytepuluhan , 1
   Byteratusan = Lookup(ratusan , Data7seg)                 'menampilkan ratusan
   Shiftout Datas , Clock , Byteratusan , 1
   Next Y

   Wait 1
Decr Hitung
'untuk mengurangi dengan satu
Loop Until Hitung < 0


Data7seg:
Data &B11000000                                             '0
Data &B11111001                                             '1
Data &B10100100                                             '2
Data &B10110000                                             '3
Data &B10011001                                             '4
Data &B10010010                                             '5
Data &B10000010                                             '6
Data &B11111000                                             '7
Data &B10000000                                             '8
Data &B10010000                                             '9

Listing program diatas adalah untuk menampilkan hitungan mundur dari angka 100 sampai 0 pada 3 buah 7Segment. Data start untuk memulai hitungan ada pada variabel hitung.

Simulasi dan programn lengkapnya bisa di download disini.

-ayuchan-

Tempat Jual Komponen dan Elektronik.