|
Product
Kit Trainer
Tutorial
MCS51
Tutorial
AVR
Tutorial
ARMSTM32
Link
Download Software
Galery
Pelatihan
Best Seller Trainer
Super
MCS51 Trainer
Standart
MCS51 Trainer
Super
AVR Trainer
Standart
AVR Trainer
Programmer
USBASP
Standart
ARM Trainer |
|
Continue:
cek2:
cek30lagi: cjne r6,#30d,cek31lagi
mov dataSetSuhu2,#101d
ret
;
cek31lagi: cjne r6,#31d,cek32lagi
mov dataSetSuhu2,#112d
ret
;
cek32lagi: cjne r6,#32d,cek33lagi
mov dataSetSuhu2,#122d
ret
;
cek33lagi: cjne r6,#33d,cek34lagi
mov dataSetSuhu2,#132d
ret
;
cek34lagi: cjne r6,#34d,cek35lagi
mov dataSetSuhu2,#142d
ret
;
cek35lagi: cjne r6,#35d,cek36lagi
mov dataSetSuhu2,#152d
ret
;
cek36lagi: cjne r6,#36d,cek37lagi
mov dataSetSuhu2,#163d
ret
;
cek37lagi: cjne r6,#37d,cek38lagi
mov dataSetSuhu2,#173d
ret
;
cek38lagi: cjne r6,#38d,cek39lagi
mov dataSetSuhu2,#183d
ret
;
cek39lagi: cjne r6,#39d,cek40lagi
mov dataSetSuhu2,#193d
ret
;
cek40lagi: cjne r6,#40d,cek30lagi
mov dataSetSuhu2,#203d
ret
;=============================================
; Setting Waktu
;==============================================
setingwaktu:
mov R7,#1
Setupwaktu:
mov a,R7
acall bin2dectimer
acall displaysetingtimer
acall displaysetingsuhu
acall displaysetingtimer
acall displaysetingsuhu
acall displaysetingtimer
jnb p1.2,getoutwaktu1
jb P1.0,SetDnwaktu
jnb p1.0,$
acall buzz
inc R7
cjne R7,#16d,setupwaktu
mov R7,#15d
sjmp Setupwaktu
;
SetDnwaktu:
Mov a,R7
acall bin2dectimer
acall displaysetingtimer
acall displaysetingsuhu
acall displaysetingtimer
acall displaysetingsuhu
acall displaysetingtimer
jnb P1.2,getoutwaktu1
jb p1.1,Setupwaktu
jnb p1.1,$
acall buzz
dec R7
cjne R7,#0d,setDnwaktu
mov R7,#1d
sjmp Setdnwaktu
ret
;
;================================================
getoutwaktu1:
ljmp getoutwaktu
;==========================================
InitTimer:
clr controlbit2
mov counter20,#20
acall Update
anl TMOD,#11110000b
orl TMOD,#00000001b
mov tl0,#0b0h
mov th0,#03ch
setb ET0
setb EA
setb TR0
ret
;
;===========================================
timerinterrupt:
mov tl0,#0b0h
mov th0,#03ch
djnz Counter20, EndInterrupt
mov Counter20,#20
acall DoClock
EndInterrupt:
reti
;
;===========================================
; jam digital
;===========================================
DoClock:
mov A,#0
cjne a,detik,mulai
ljmp next
;
mulai:
dec detik
mov A,#60
cjne A,detik,Update
;
cjne A,menit,next
mov A,#0
cjne A,menit,lanjut2
cjne A,detik,lanjut2
ljmp endproses
;
lanjut2:
sjmp Update
next:
mov detik,#59
;
satumenit:
dec menit
mov A,#0
cjne A,menit,Update
mov menit,#0
;
Update:
mov A,detik
mov B,#10
DIV AB
mov detiksatuan,B
mov detikpuluhan,A
;
mov a,menit
mov b,#10
div ab
mov menitsatuan,B
mov menitpuluhan,A
;
mov A,#0
cjne A,menit,lanjut
cjne A,detik,lanjut
ljmp endproses
lanjut:
ret
;
;=================================================
; Display suhu
;=================================================
Display2SevenSegmen:
mov DPTR,#Satuan
mov A,DataADC
movc A,@A+DPTR
mov DPTR,#decoder7segmen
movc A,@A+DPTR
mov P0,A
Clr P2.5; y4 aktif
clr P2.6
setb P2.7
acall delay
;
mov DPTR,#puluhan
mov A,DataADC
movc A,@A+DPTR
mov DPTR,#Decoder7segmen
movc A,@A+DPTR
mov P0,A
Setb P2.5; y5 aktif
Clr P2.6
setb P2.7
acall delay
ret
;==========================================
; Display Waktu
;==========================================
ClockDisplay:
Mov DPTR,#Decoder7Segmen
mov A,detiksatuan
Movc A,@A+DPTR
mov P0,A
clr P2.5; yo aktif
clr P2.6
clr P2.7
acall delay
;
Mov DPTR,#Decoder7Segmen
mov A,detikpuluhan
Movc A,@A+DPTR
mov P0,A
setb P2.5; y1 aktif
clr P2.6
clr P2.7
acall delay
;
Mov DPTR,#Decoder7Segmen
mov A,menitsatuan
Movc A,@A+DPTR
mov P0,A
clr P2.5; y2 aktif
setb P2.6
clr P2.7
acall delay
;
Mov DPTR,#Decoder7Segmen
mov A,menitpuluhan
Movc A,@A+DPTR
mov P0,A
setb P2.5; y3 aktif
setb P2.6
clr P2.7
acall delay
ret
;
;========================================
; Display Setting Suhu
;========================================
Displaysetingsuhu:
mov A,setingsuhusatuan
mov DPTR,#Decoder7segmen
movc A,@A+DPTR
mov P0,A
clr P2.5; y4 aktif
clr P2.6
setb P2.7
acall delay
;
mov A,setingsuhupuluhan
mov DPTR,#Decoder7segmen
movc A,@A+DPTR
mov P0,A
setb p2.5; y5 aktif
clr P2.6
setb P2.7
acall delay
ret
;
Bin2Decsuhu:
mov b,#100d
div ab
mov setingsuhuratusan,a
mov a,b
mov b,#10d
div ab
mov setingsuhupuluhan,a
mov setingsuhusatuan,b
ret
;
;================================================
; Display Setting Waktu
;================================================
Displaysetingtimer:
mov A,setingtimersatuan
mov DPTR,#Decoder7segmen
movc A,@A+DPTR
mov P0,A
clr P2.5; y2 aktif
setb P2.6
clr P2.7
acall delay
;
mov A,setingtimerpuluhan
mov DPTR,#Decoder7segmen
movc A,@A+DPTR
mov P0,A
setb p2.5; y3 aktif
setb P2.6
clr P2.7
acall delay
;
setb P2.5; y1 aktif
Clr P2.6
clr P2.7
mov p0,#10111111b
acall delay
;
clr P2.5; y0 aktif
clr P2.6
clr P2.7
mov p0,#10111111b
acall delay
ret
;
Bin2Dectimer:
mov b,#100d
div ab
mov setingtimerratusan,a
mov a,b
mov b,#10d
div ab
mov setingtimerpuluhan,a
mov setingtimersatuan,b
ret
;=================================================
; Tampilan error display
;=================================================
errorA:
mov B,DataADC
mov A,#251
subb A,B
jnz terus
clr tanda
ret
;
terus:
jc errordisplay
clr tanda
ret
;
errorB:
mov A,DataADC
mov B,#5
subb A,B
jnz terus2
clr tanda
ret
;
terus2:
jc errordisplay
clr tanda
ret
;========================================
; Bunyi tombol
;========================================
buzz:
clr p2.1; Driver buzzer aktif
acall Ldelay
acall Ldelay
acall Ldelay
acall Ldelay
acall Ldelay
acall Ldelay
acall Ldelay
setb p2.1; Driver buzzer non aktif
ret
;
;============================================
; Tampilan awal Display
;============================================
set1:
clr P2.5; y4 aktif
clr P2.6
setb P2.7
mov p0,#10111111b
acall delay
;
setb P2.5; y5 aktif
clr P2.6
setb P2.7
mov p0,#10111111b
acall delay
ret
;
set2:
clr P2.5; y0 aktif
clr P2.6
clr P2.7
mov p0,#10111111b
acall delay
;
setb P2.5; y1 aktif
clr P2.6
clr P2.7
mov p0,#10111111b
acall delay
ret
;
set3:
clr P2.5; y2 aktif
setb P2.6
clr P2.7
mov p0,#10111111b
acall delay
;
setb P2.5; y3 aktif
setb P2.6
clr P2.7
mov p0,#10111111b
acall delay
ret
;
;========================================
; error display
;========================================
errordisplay:
setb tanda
;
clr P2.5; y0 aktif
clr P2.6
clr P2.7
mov p0,#10000110b
acall delay
;
setb P2.5; y1 aktif
clr P2.6
clr P2.7
mov p0,#10000110b
acall delay
;
clr P2.5; y2 aktif
setb P2.6
clr P2.7
mov p0,#10000110b
acall delay
;
setb P2.5; y3 aktif
setb P2.6
clr P2.7
mov p0,#10000110b
acall delay
;
clr P2.5; y4 aktif
clr P2.6
setb P2.7
mov p0,#10000110b
acall delay
;
setb P2.5; y5 aktif
clr P2.6
setb P2.7
mov p0,#10000110b
acall delay
ret
;========================================
; Waktu Tunda
;========================================
delay: mov R0,#0
delay1: mov R2,#03h
djnz R2,$
djnz R0,delay1
ret
;
Ldelay: mov R3,#02h
Ld1: acall delay
djnz R3,Ld1
ret
;
;========================================
; L O O K U P T A B L E
; Decode to Seven Segmen -> g f e d c b a
;========================================
Decoder7Segmen:
DB 11000000b,11111001b,10100100b,10110000b,10011001b
DB 10010010b,10000010b,11111000b,10000000b,10010000b
;
;============================================================
; L O O K U P T A B L E
; Suhu = DataADC*100/255
;=============================================================
satuan:
db 0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2 db 3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4
db 5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7 db 8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9
db 0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2 db 3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4
db 5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7 db 8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9
db 0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2 db 3,3,3,3,3,3,3,3,3,3,4,4,4,4,5,5,5,5,5,5 db 5
puluhan:
db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
db 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 db 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3
db 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 db 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3
db 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4 db 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4 db 4
;
End
|