برنامه نویسی میکروکنترلر به 3 زبان امکان پذیر می باشد: زبان C , اسمبلی و بیسیک

از آنجا که زبان بیسیک از محبوبیت بیشتری در میان علاقمندان به الکترونیک برخوردار می باشد در اینجا چند پروژه ساده و راه اندازی چند ماژول پر کاربرد را برای شما عزیزان فراهم کرده ایم.

سورس پروژه راه اندازی ماژول GPS

$regfile = "m8def.dat"
$crystal = 4000000
$baud = 9600 

Dim Sr As String * 1 , X As Byte , Char(70) As String * 1 

Config Lcdpin = Pin , Db4 = Pinc.2 , Db5 = Pinc.3_
                               , Db6 = Pinc.4 , Db7 = Pinc.5 , Rs = Pinc.0 , E = Pinc.1
Config Lcd = 20 * 4
Config Portb = Output

''''''''''''''''''''''''
Cls
Lcd " www.mgzelec.com"
Set Portb.1
Waitms 500
Reset Portb.1
''''''''''''''''''''''''
Inja:
Sr = Waitkey()
If Sr = "$" Then
Sr = Waitkey()
If Sr = "G" Then
Sr = Waitkey()
If Sr = "P" Then
Sr = Waitkey()
If Sr = "R" Then
Sr = Waitkey()
If Sr = "M" Then
Sr = Waitkey()
If Sr = "C" Then
For X = 1 To 64
Char(x) = Waitkey()
Next X
Cls
Lcd " TIME IS  " ; Char(2) ; Char(3) ; ":" ; Char(4) ; Char(5) ; ":" ; Char(6) ; Char(7) 

Locate 2 , 1
Lcd "Latitude:" ; Char(14) ; Char(15) ; Char(16) ; Char(17) ; Char(18) ; Char(19) ; Char(20) ; Char(21) ; Char(22) ; Char(23) 

Locate 3 , 1
Lcd "Longitude:" ; Char(28) ; Char(29) ; Char(30) ; Char(31) ; Char(32) ; Char(33) ; Char(34) ; Char(35) ; Char(36) ; Char(37) 

Locate 4 , 1
If Char(25) = "N" Then
Lcd "  NORTH"
Else
Lcd "  SOUTH"
End If
If Char(38) = "E" Then
Lcd "      EAST"
Else
Lcd "      WEST"
End If 

End If
End If
End If
End If
End If
End If
Goto Inja

--------------------------------------------------------------------------------------------------

سورس پروژه راه اندازی ماژول 315 و433 به زبان بیسیک

$regfile = "m8def.dat"
$crystal = 4000000     
$hwstack = 64     
$swstack = 64   
$framesize = 64
'=========================
Config Pinb.0 = Input
Config Pinb.1 = Input
Config Pind.0 = Input
Config Pind.1 = Input
Config Portd.2 = Output
Config Portd.3 = Output
Config Portd.4 = Output
Config Portd.5 = Output
Config Portd.6 = Output
Config Portd.7 = Output
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Pinc.2 , Db5 = Pinc.3 , Db6 = Pinc.4 , Db7 = Pinc.5 , E = Pinc.1 , Rs = Pinc.0
'=======================================
Config Watchdog = 2048
'--------------------------------- ---------------------------------------
Config Timer1 = Timer , Prescale = 8 : Stop Timer1 : Timer1 = 0
'--------------------------------- ------------------------------------
Dim A(24)as Word , B As Byte
Dim C As String * 20 , D As String * 4
Dim H As Long , F As Byte , G As Byte , P As Word , K As Long , E As String * 10
'=================================
'--------------------------
Dip Alias Pinb.0
Dip1 Alias Pinb.1
Resiv Alias Pind.0
Key Alias Pind.1
Led Alias Portd.2
Led1 Alias Portd.3
Led2 Alias Portd.4
Led3 Alias Portd.5
Led4 Alias Portd.6
Led5 Alias Portd.7
'=========================
G = 0
Cls
Locate 1 , 1
Lcd "**MG SECURITY**"
Locate 2 , 1
Lcd "WWW.MGZELEC.COM"
'=============================
B = 0
Main:
Start Watchdog
Do
Led = 1
Gosub Amade
Reset Watchdog
Loop
'================================
Amade:
If Resiv = 1 Then
Do
Reset Watchdog
If Resiv = 0 Then Exit Do
Loop
Timer1 = 0
Start Timer1
While Resiv = 0
Reset Watchdog
Wend
Stop Timer1
If Timer1 >= 3500 And Timer1 <= 8800 Then
Do
If Resiv = 1 Then
Timer1 = 0
Start Timer1
While Resiv = 1
Reset Watchdog
Wend
Stop Timer1
Incr B
Led = 0
A(b) = Timer1
End If
Reset Watchdog
If B = 24 Then Exit Do
Loop
For B = 1 To 24
Reset Watchdog
If A(b) >= 120 And A(b) <= 350 Then
A(b) = 0
Else
If A(b) >= 400 And A(b) <= 850 Then
 A(b) = 1
 Else
 B = 0
 H = 0
 F = 0
 Return
 End If
 End If
Next
B = 0
C = ""
D = ""
For B = 1 To 20
C = C + Str(a(b))
Next
For B = 21 To 24
D = D + Str(a(b))
Next
H = Binval(c)
F = Binval(d)
E = Str(h)
Cls
Locate 1 , 1
Lcd H
Locate 2 , 1
Lcd F
Reset Watchdog
B = 0
End If
Return

==================================

سورس پروژه  راه اندازی ماژول RFID

$regfile = "m8def.dat"
$crystal = 4000000
$baud = 9600
'--------------------------
Config Lcdpin = Pin , Db4 = Pinc.2 , Db5 = Pinc.3 , Db6 = Pinc.4 , Db7 = Pinc.5 , Rs = Pinc.0 , E = Pinc.1
Config Lcd = 16 * 2
Config Pinb.0 = Input
Config Portb.1 = Output
Config Portb.2 = Output
Config Portb.3 = Output
'---------------------------
Dim A As Byte                                               'design by www.mgzelec.com
Dim B As Byte
Dim C(12) As String * 1
Dim D As String * 10
Dim F As String * 10
Dim Pass As String * 10
Dim Num1 As String * 10
'--------------------------
A = 0
B = 0
Cls
Lcd "www.mgzelec.com"
'--------------------------
Do
Main:
Incr A
C(a) = Waitkey()
If A < 12 Then Goto Main
For A = 3 To 12
Incr B
Mid(d , B , 1) = C(a)
Next
A = 0
B = 0
Cls
Lcd D
Loop

-----------------------------=========

سورس پروژه راه اندازی ماژول sim900

$regfile = "m8def.dat"
$crystal = 4000000
$baud = 9600
'~~~~~~~~~~~~~~~~~~~~~ Configurations ~~~~~~~~~~~~~~~~~~~~~
Config Lcdpin = Pin , Db4 = Pinc.2 , Db5 = Pinc.3 , Db6 = Pinc.4 , Db7 = Pinc.5 , Rs = Pinc.0 , E = Pinc.1
Config Lcd = 20 * 4
Config Pind.2 = Input
Config Pind.3 = Input
Config Pind.4 = Input
Config Pind.1 = Input
Dim A As Byte
'~~~~~~~~~~~~~~~~~~~~~ Main program ~~~~~~~~~~~~~~~~~~~~~
Bala:
Cls
Lcd "ready"
Do
If Pind.3 = 1 Then Goto Inja
If Pind.4 = 1 Then Goto Javab
If Pind.2 = 1 Then
Print "AT"
Waitms 500
Print "AT+CMGF=1"
Waitms 500
Print "AT+CMGS=" ; Chr(34) ; "call number" ; Chr(34)
Waitms 500
Print "www.mgzelec.com" ; Chr(26)
Waitms 500
End If
Loop
End
Inja:
Print "AT"
Waitms 500
Print "AT+CHFA?"
Waitms 500
Print "AT+CHFA:0"
Waitms 500
Print "ATL9"
Waitms 500
Print "ATD" ; call number ; ";"
Waitms 500
Goto Bala
Javab:
Print "AT"
Waitms 500
Print "AT+CHFA?"
Waitms 500
Print "AT+CHFA:0"
Waitms 500
Print "ATL9"
Waitms 500
Print "ATA"
Waitms 500
Goto Bala

================================================================

 پروژه های بیشتر در لینک زیر:

پروژه های AVR

  تولید ملی   سرمایه ملی    حمایت از کار و سرمایه ایرانی