Aplicação do micro-controlador sıramatik controlada

quarta-feira, 28 de julho de 2010 0 comentários

mikro-denetleyici-kontrollu-siramatik-uygulamasi
Neste ortografia é usado em bancos ou hospitais dará informações sobre sıramatikler. Eu fiz um circuito de roteamento de placa (placa principal), e consiste em três caixas separadas. PIC16F877 a bordo de roteamento, enquanto o caixa era um PIC16F876 cada. Teller, durante o assistente, pode aumentar, diminuir ou reset. Cada contador tem trabalhado com a mesma lógica.
siramatik-devresi-vezne1-vezne2-display
Seus valores em intervalos regulares durante cada remessa de caixa é enviada ao conselho. Panosuda informações de roteamento de cada caixa tem que olhar comum. Todas as informações que recebe e no número de caixas é exibido em sua própria exibição. Scan lógica é trabalhar com cada monitor.
 siramatik-devresi-vezne1-3-display-devre
Cada software de visualização são os seguintes: os pela primeira vez, eles e suas faces são determinados passo. Esse valor é mostrado antes da etapa de mostrar os e, posteriormente, em suas faces são mostradas, a fim de entrar em cena e isso é muito rápido que é difícil de detectar por olhos humanos. Vamos ver no ecrã durante todo o valor. Este processo de seleção deve ser 14ms em períodos normais. Mas eu ajustei o programa de simulação.

Autor: Ediz Ağarer E-mail: edizagarer@yahoo.com "Micro-controlador arquivos sıramatik controlada requerimento: siramatik.ZIP" (o processador principal, 0,3 software e isis uma caixa de arquivo)


HOME conteúdo software _CPU.pbp 
'****************************************
'* Name : ANA CPU .BAS *
'* Author : Ediz AĞARER *
'* Notice : Copyright (c) 2010 *
'* : All Rights Reserved *
'* Date : 24.05.2010 *
'* Version : 1.0 *
'* Notes : *
'* : *
'****************************************


DEFINE OSC 20 ;Kristal 20 MHz

TRISB=0 ;B portunun tamamı çıkış
TRISC=0 ;C portunun tamamı çıkış
TRISD=000111 ;D portunun ilk 3 pini giriş diğerleri çıkış

'*************************************************************

@ DEVICE pic16F877
@ DEVICE pic16F877, PWRT_ON
@ DEVICE pic16F877, WDT_ON
@ DEVICE pic16F877, PROTECT_OFF ;kod koruması yok
@ DEVICE pic16F877, XT_OSC ;osilatör kristal

'**************_ GİRİŞ ÇIKIŞ İSİMLERİ _***********************

GIRIS1 VAR PORTD.0
GIRIS2 VAR PORTD.1
GIRIS3 VAR PORTD.2
SEC1 VAR PORTC.0
SEC2 VAR PORTC.1
SEC3 VAR PORTC.2
SEC4 VAR PORTC.3
SEC5 VAR PORTC.4
SEC6 VAR PORTC.5

'**************_ DEĞİŞKENLER _*********************************

SAY1 VAR BYTE
SAY2 VAR BYTE
SAY3 VAR BYTE
SAYI VAR BYTE
VEZNE VAR BYTE
DEGER VAR BYTE
X VAR BYTE
Y VAR BYTE
A VAR BYTE

'**************_ SABİTLER _************************************

SURE1 CON 2
SURE2 CON 3

'**************_ DEĞERLER _************************************

CLEAR ;Bütün değişkenler temizleniyor...
PORTD=0 ;d portunun tün pinleri logic 0 seviyesinde
PORTB=0 ;b portunun tün pinleri logic 0 seviyesinde
PORTC=0 ;c portunun tün pinleri logic 0 seviyesinde

'**************_ BAŞLANGIÇ _***********************************

BASLA:

FOR X=0 TO 25

SERIN2 GIRIS1,396,[WAIT ("VEZ1"),SAYI] ;1. vezneden gelen bilgiler okunuyor.

VEZNE=$06 :CALL HESAP ;Vezne değeri atanıyor ve displayde gösterilecek olan sayı hesaplanıyor.

GOSUB GOSTER ;Okunan sayı displaylerde gösterilmek üzere yola çıkılıyor.

NEXT

FOR X=0 TO 25

SERIN2 GIRIS2,396,[WAIT ("VEZ2"),SAYI] ;2. vezneden gelen bilgiler okunuyor.

VEZNE=$5B :CALL HESAP ;Vezne değeri atanıyor ve displayde gösterilecek olan sayı hesaplanıyor.

GOSUB GOSTER ;Okunan sayı displaylerde gösterilmek üzere yola çıkılıyor.

NEXT

FOR X=0 TO 25

SERIN2 GIRIS3,396,[WAIT ("VEZ3"),SAYI] ;3. vezneden gelen bilgiler okunuyor.

VEZNE=$4F :CALL HESAP ;Vezne değeri atanıyor ve displayde gösterilecek olan sayı hesaplanıyor.

GOSUB GOSTER ;Okunan sayı displaylerde gösterilmek üzere yola çıkılıyor.

NEXT

GOTO BASLA

'**************_ GÖSTER _*************************************

GOSTER:

FOR X=0 TO 100

Y=SAY1 :GOSUB GONDER : PORTB=DEGER :SEC1=1 :SEC2=1 :SEC3=0 :SEC4=1 :SEC5=1 :SEC6=1 : PAUSE SURE1 :SEC3=1 : PAUSE SURE2
'Sayının birler basamağı displaye gönderiliyor

Y=SAY2 :GOSUB GONDER : PORTB=DEGER :SEC1=1 :SEC2=0 :SEC3=1 :SEC4=1 :SEC5=1 :SEC6=1 : PAUSE SURE1 :SEC2=1 : PAUSE SURE2
'Sayının onlar basamağı displaye gönderiliyor

Y=SAY3 :GOSUB GONDER : PORTB=DEGER :SEC1=0 :SEC2=1 :SEC3=1 :SEC4=1 :SEC5=1 :SEC6=1 : PAUSE SURE1 :SEC1=1 : PAUSE SURE2
'Sayının yüzler basamağı displaye gönderiliyor

PORTB=VEZNE :SEC1=1 :SEC2=1 :SEC3=1 :SEC4=1 :SEC5=1 :SEC6=0 : PAUSE SURE1 :SEC6=1 : PAUSE SURE2
'Vezne no displaye gönderiliyor

NEXT X

RETURN

'**************_ HESAPLAMA _************************************

HESAP:

SAY1=SAYI // 10 ;Displayin birler basamağı için gereken değer

A=SAYI // 100 ;Displayin onlar basamağı için gereken ilk aşama

SAY2=A / 10 ;Displayin onlar basamağı için gereken değer

SAY3=SAYI / 100 ;Displayin yüzler basamağı için gereken değer

RETURN

'**************_ GÖNDER _***************************************

GONDER:

LOOKUP Y,[$3F_ ;Sıfır değeri.
,$06_ ;Bir değeri
,$5B_ ;İki değeri
,$4F_ ;Üç değeri
,$66_ ;Dört değeri
,$6D_ ;Beş değeri
,$7D_ ;Altı değeri
,$07_ ;Yedi değeri
,$FE_ ;Sekiz değeri
,$6F],DEGER ;Dokuz değeri

RETURN

'**************_ MUTLU SON _*************************************
Share this article :

Postar um comentário

 
Support : Creating Website | Johny Template | Mas Template
Copyright © 2011. kvolts - All Rights Reserved
Template Created by Creating Website Published by Mas Template
Proudly powered by Blogger