دماسنج مبتنی بر میکروکنترلر
برنامه میکرو:
$regfile "m16def.dat"
$crystal = 1000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Rs = Pb.0 , E = Pb.1 , Db4 = Pb.2 , Db5 = Pb.3 , _
Db6 = Pb.4 , Db7 = Pb.5
Config Adc = Single , Prescaler = Auto , Reference = Internal
Deflcdchar 0 , 32 , 32 , 32 , 2 , 1 , 31 , 32 , 4
Deflcdchar 1 , 32 , 2 , 14 , 18 , 30 , 1 , 32 , 32
Deflcdchar 2 , 32 , 32 , 8 , 2 , 1 , 31 , 32 , 32
Deflcdchar 3 , 1 , 1 , 1 , 1 , 1 , 1 , 32 , 32
Deflcdchar 5 , 4 , 32 , 4 , 10 , 1 , 30 , 32 , 32
Deflcdchar 6 , 32 , 32 , 32 , 12 , 2 , 3 , 14 , 32
Deflcdchar 4 , 32 , 6 , 5 , 15 , 16 , 16 , 16 , 32
Dim A As Word
Dim C As String * 8
Dim L As String * 8
Dim H As String * 8
Dim N As String * 8
L = "LOW"
H = "HIGH"
N = "NORMALL"
Cls
Locate 1 , 4
Lcd Chr(3)
Lcd Chr(6)
Lcd Chr(5)
Lcd " "
Lcd Chr(4)
Lcd Chr(3)
Lcd Chr(2)
Lcd Chr(1)
Lcd Chr(0)
Cursor Off
Wait 2
Cls
Cls
Locate 1 , 3
Cls
Lcd "designed by:"
Waitms 3
Locate 2 , 1
Lcd " Mr.Amir Qorbany "
Cursor Off
Wait 5
Cls
Stop Adc
Start Adc
Measuring:
A = Getadc(0)
A = A / 4
If A <= 10 Then
C = L
Elseif A > 40 Then
C = H
Else
C = N
End If
Screen:
Cls
Locate 1 , 1
Lcd "TEMP MEASURED:"
Locate 2 , 1
Lcd " "
Locate 2 , 1
Lcd "TEMP: " ; A ; " " ; C;
Wait 2
Cursor Off
Goto Measuring
End 'end program