کد:
'----------------------------------------------------
' RND.BAS
' demonstration if RND() function
'----------------------------------------------------
$crystal = 16000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Porta.5 , Db5 = Porta.4 , Db6 = Porta.3 , Db7 = Porta.2 , E = Porta.1 , Rs = Porta.0
Config Adc = Single , Prescaler = Auto ',
Config Kbd = Portd Debounce = 50 Delay 100
Config Date = Mdy , Separator = /
Config Clock = Soft
Enable Interrupts
Time$ = "00:00:00"
Dim S As Byte
Dim T As Word
Dim L As Long
Dim W2 As Word
Dim Kb As Byte
Dim Skb As Byte
Dim I As Byte
Dim N As Byte
Dim Tmin(60) As Eram Byte
Cls
Cursor Off
'For I = 0 To 59
'Home
'Readeeprom S , I
'Lcd "min" ; I ; "=" ; S ; " "
'Next
Config Pina.7 = Input
Start Adc
I = 0
Cls
S = _sec
Do
T = Getadc(7)
T = T / 2
If S <> _sec Then
S = _sec
Home
Lcd Time$
Lowerline
Lcd "temp is:" ; T
End If
Kb = Getkbd()
If Kb < 16 Then
Skb = Lookup(kb , Kb_btn)
If Skb = "7" Then Incr _hour
If Skb = "s" Then Decr _hour
If Skb = "8" Then Incr _min
If Skb = "0" Then Decr _min
If Skb = "e" Then _sec = 0
Locate 1 , 15
Lcd Chr(skb)
End If
If T > 30 Then
For I = 1 To 10
N = Lookup(i , Note)
N = N * 10
L = 5000 / N
Sound Portb.0 , L , n 'BEEP
Next
End If
'Writeeeprom T , _sec
Loop
End
Kb_btn:
Data "de0sc987b654a321"
Note:
Data 4% , 0% , 10% , 10% , 10% , 0% , 4% , 0% , 4% , 0% , 10% , 10 % , 10% , 0% , 4 % , 0 % , 10% , 0% , 11% , 13% , 10%' , 0 0 0 15 13 13 11 11 10 10 8 6 0 8 13 10 "