$refile=”m32def.dat"
$crystal=8000000
$swstack=64
$hwstack=128
$framesize=128
Config portc=output
prtc=0
Config pind.1=input :portd.1=1
Rec_key Alias pnd.1
Config orta.1=output:porta.1=0
Led_rec alias porta.1
Config porta.2=output :porta.2=0
Led_play alias porta.2
config int0=falling
on int0=falling
enable interrupts
enable int0
waitms 1
$include “config_mm.bas”
$external_mmc
Gbdriveerror=driveinit()
If gbdriveerror<>0 then
Led_rec=1 : wait1:led_rec=0
Else
Led_rec=1:wait1:led_play=0
End if
Gbdriveerror=drivecheck()
Config adc=single,prescaler=32,reference=avcc
Declare sub no_key
Dim abuffer(512) as byte
Dim wsiampointer as word
Dim tsectornumber as long
Dim cop_lsec as integer
Lsectornumber=100
Dim I as integer
For i=1 to 512
Abuffer(i)=0
Next
I=1
Do
If rec_key=0 then
Call no_key
Led_rec=1
Start adc
Goto main
End if
Loop
Main:
Wsrampointer=varptr(abuffer(1))
Do
For i=1 to 512
Abuffer(i)=getadc(0)
Next
Gbdriveerror = drivewritesector(wsrampointer,lsectornumber)
Lsectornumber=lsectornumber+1
I=1
Loop
Request:
Stop adc
Cop_tset=lesctornumber
Led_rec=0
Lsectornumber=lsectornumber-1
From_one:
Do
If rec_key=0 then
Call no_key
Goto start_play
End if
Loop
Start_play:
Led_play=1:led_rec=0
Lsectornumber=100
Wsrampointer = varptr(abuffer(1))
Gbdriveerror =drivereadsector(wsrampointer,lsectornumber)
Do
I=1
For i=1 to 512
Portc = abuffer (i)
Waitus 117
Next
Lsectornumber=lsectornumber+1
Gbdriveerror=drivereadsector(wsrampointer,lsectorn umber)
Loop until cop_lsec = lsectornumber
Portc=0
Led_play =1:led_rec =1
Goto from_one
Return
End
Sub no_key
Do
Loo p until pind.1=1
Waitms 5
End sub
سلام
این دوتا دستور در این برنامه چیه؟
()Gbdriveerror=drivecheck
()Gbdriveerror=driveinit
$crystal=8000000
$swstack=64
$hwstack=128
$framesize=128
Config portc=output

Config pind.1=input :portd.1=1
Rec_key Alias pnd.1
Config orta.1=output:porta.1=0
Led_rec alias porta.1
Config porta.2=output :porta.2=0
Led_play alias porta.2
config int0=falling
on int0=falling
enable interrupts
enable int0
waitms 1
$include “config_mm.bas”
$external_mmc
Gbdriveerror=driveinit()
If gbdriveerror<>0 then
Led_rec=1 : wait1:led_rec=0
Else
Led_rec=1:wait1:led_play=0
End if
Gbdriveerror=drivecheck()
Config adc=single,prescaler=32,reference=avcc
Declare sub no_key
Dim abuffer(512) as byte
Dim wsiampointer as word
Dim tsectornumber as long
Dim cop_lsec as integer
Lsectornumber=100
Dim I as integer
For i=1 to 512
Abuffer(i)=0
Next
I=1
Do
If rec_key=0 then
Call no_key
Led_rec=1
Start adc
Goto main
End if
Loop
Main:
Wsrampointer=varptr(abuffer(1))
Do
For i=1 to 512
Abuffer(i)=getadc(0)
Next
Gbdriveerror = drivewritesector(wsrampointer,lsectornumber)
Lsectornumber=lsectornumber+1
I=1
Loop
Request:
Stop adc
Cop_tset=lesctornumber
Led_rec=0
Lsectornumber=lsectornumber-1
From_one:
Do
If rec_key=0 then
Call no_key
Goto start_play
End if
Loop
Start_play:
Led_play=1:led_rec=0
Lsectornumber=100
Wsrampointer = varptr(abuffer(1))
Gbdriveerror =drivereadsector(wsrampointer,lsectornumber)
Do
I=1
For i=1 to 512
Portc = abuffer (i)
Waitus 117
Next
Lsectornumber=lsectornumber+1
Gbdriveerror=drivereadsector(wsrampointer,lsectorn umber)
Loop until cop_lsec = lsectornumber
Portc=0
Led_play =1:led_rec =1
Goto from_one
Return
End
Sub no_key
Do
Loo p until pind.1=1
Waitms 5
End sub
سلام
این دوتا دستور در این برنامه چیه؟
()Gbdriveerror=drivecheck
()Gbdriveerror=driveinit