برنامه نویسی میکروکنترلر به 3 زبان امکان پذیر می باشد: زبان C , اسمبلی و بیسیک
از آنجا که زبان بیسیک از محبوبیت بیشتری در میان علاقمندان به الکترونیک برخوردار می باشد در اینجا چند پروژه ساده و راه اندازی چند ماژول پر کاربرد را برای شما عزیزان فراهم کرده ایم.
'''''''''''''''''''''''' 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)
سورس پروژه راه اندازی ماژول 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