Haberler:

Forum kuralları güncellendi LÜTFEN  okuyunuz:  https://bit.ly/2IjR3ME

Ana Menü

Random komutu

Başlatan melihh, 24 Kasım 2007, 20:41:52

melihh

Merhaba arkadaşlar random komutu kullannarak 16F877 ile LCD de zar yapmam lazım.Random komutunu daha önce hiç kullanmadım komutun rastgele ürettiği sayılardan zar değerini nasıl ayarlaya bilirim.1 den küçük 6 dan büyük olan sayıları göstermemesi için

teknikelektronikci

fikir vermesi acisindan örenk kod (alintidir eprojeden)


****************************************************************
'*  Name    : sayısal.BAS                                       
'*  Author  : [soner yazılım]                                   
'*                                                                                                                           
'*  Date     : 28.03.2005                                        
'*  Version  : 1.0                                               
'*  Notes    : Sayısal loto için 6 rakamı küçükten               
'*              : büyüge doğru sıralar  reset tuşu ile yeni sayılar 
'*              belirlenir                                        
'****************************************************************
@ device XT_OSC,PROTECT_OFF,WDT_OFF,PWRT_ON,PROTECT_OFF
DEFINE    LCD_DREG   PORTB
DEFINE    LCD_DBIT   4
DEFINE    LCD_RSREG  PORTB
DEFINE    LCD_RSBIT  1
DEFINE    LCD_EREG   PORTB
DEFINE    LCD_EBIT   3
DEFINE    LCD_BITS   4



RASGELE     var word
RASGELE1    var word
RASGELE2    var word
RASGELE3    var word
RASGELE4    var word
RASGELE5    var word



SECIM   var byte
SECIM1  var byte
SECIM2  var byte
SECIM3  var byte
SECIM4  var byte
SECIM5  var byte



    trisB=%00000000
    trisA=%11111111
    portB=0
    LCDOut $fe, 1,"  SAYISAL LOTO      "  
    
    pause   1500  
s:
    random  RASGELE 
    SECIM=RASGELE
    if SECIM=0 or SECIM>=50 then s
   
s1:
    random  RASGELE1
    SECIM1=RASGELE1
    if SECIM1=0 or SECIM1>=50 then s1



s2:  
    random  RASGELE2
    SECIM2=RASGELE2
    if SECIM2=0 or SECIM2>=50 then s2
 
s3: 
    random  RASGELE3 
    SECIM3=RASGELE3
    if SECIM3=0 or SECIM3>=50 then s3



s4:
    random  RASGELE4
    SECIM4=RASGELE4
    if SECIM4=0 or SECIM4>=50 then s4
 
s5: 
    random  RASGELE5       
    SECIM5=RASGELE5
    if SECIM5=0 or SECIM5>=50 then s5
    
    
    if SECIM>=SECIM1 or SECIM>=SECIM2 or SECIM>=SECIM3 or SECIM>=SECIM4 or SECIM=SECIM5 then  s
    if SECIM1>=SECIM2 or SECIM1>=SECIM3 or SECIM1>=SECIM4 or SECIM1>=SECIM5 then  s1
    if SECIM2>=SECIM3 or SECIM2>=SECIM4 or SECIM2>=SECIM5  then  s2
    if SECIM3>=SECIM4 or SECIM3>=SECIM5  then  s3
    if SECIM4>=SECIM5 then  s4 
    
   sound   portA.3,[120,5] 
   
    lcdout $fe,$c0,#SECIM," ",#SECIM1," ",#SECIM2," ",#SECIM3," ",#SECIM4," ",#SECIM5," " 
    PAUSE   1500
    end


"
Ey Türk istikbalinin evlâdı! İşte, bu ahval ve şerâit içinde dahi, vazifen; Türk İstiklâl ve Cumhuriyetini kurtarmaktır! Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!

ete

Random komutu ;
RANDOM  DeğişkenAdı  
şeklinde kullanılıyor. DeğişkenAdı 16 bitlik bir Word değişkeni olması gerekiyor. Dolayısıyla bu komut 0 ile 65535 arasında rastgele sayı üretir.
Yalnızca 1 ile 6 arasında sayı ürettirmek için şöyle yapın;

BASLA:
Random Sayı
IF SAYI.byte0=0 or SAYI.Byte0>6 then BASLA
Bu satıra ulaşınca 1 -6 arasında bir sayı üretilmiş olacaktır.

Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com