بسم الله الرحمن الرحيم
الميكروكنترولر عبارة عن كمبيوتر متكامل موجود على شريحة متكاملة يحتوي على الخصائص التالية
" Optimized 8 bit CPU for control applications.
" Extensive Boolean processing capabilities.
" 64K Program Memory address space.
" 64K Data Memory address space.
" 128 bytes of onchip Data Memory.
" 32 Bi-directional and individually addressable I/O lines.
" Two 16 bit timer/counters.
" Full Duplex UART.
" 6-source / 5-vector interrupt structure with priority levels.
" Onchip clock oscillator.
ويمكن استخدامه في تطبيقات عديدة للتحكم
وهذه صورة لمداخل ومخارج هذا المعالج
وهذا المعالج يعمل بلغة برمجة خاصة به وتكون بلغة الاسمبلي
ولكي نتمكن من التعامل مع هذا المعالج من خلال الكمبيوتر pc فنحن بحاجة الى دائرة الكترونية لتقوم بالربط بين المعالج وجهاز الكمبيوتر وتكون الدائرة على هذا النحو
عند تجهيز الدائرة وربطها بالمنفذ التسلسلي com لجهاز الكمبيوتر نقوم بعمل برنامجنا الاول بلغة الفيجوال بيسيل للتعامل مع هذا المعالج والبرنامج عبارة عن برنامج بسيط لاضائة led من خلال هذا المعالج حيث نتبع الخطوات التالية
نقوم بفتح بروجكت جديد standard exe ثم فقوم باضافة comm control 6.0 من الcomponents
حيث تظر لنا صورة هاتف صغير كما في الصورة ادناه
ثم نقوم باضافة option buttons عدد 2 و command button عدد 1 ليصبح الفورم كالتالي
نحن الان جاهزين لتكملية البرنامج وتزويده بالكود المناسب حيث نقوم بكتابة الكود التالي
رمز برمجي:
Private Sub Form_Load()
On Error Resume Next
'use comm port 1
MSComm1.CommPort = 1
' 9600 baud, no parity, 8 data bits, 1 stop bit
MSComm1.Settings = "9600,N,8,1"
' Disable DTR
MSComm1.DTREnable = False
'open the port
MSComm1.PortOpen = True
End Sub
Private Sub cmdsend_Click()
Dim LED As Long
' Get LED State
If opton.Value = True Then
LED = 0
Else
LED = 1
End If
' Send Out Data
MSComm1.Output = Chr$(255) & Chr$(LED)
End Sub
Private Sub Form_Unload(Cancel As Integer)
MSComm1.PortOpen = False 'Close the COMM port
End Sub
اما برنامج الميكرو كنترولر فهو مكتوب بلغة الاسمبلي ويكون كالتالي:
رمز برمجي:
Program the MIcrocontroller with the following code
ORG 00H ; Reset
MOV TMOD,#20H ;enable timer1, mode 2 (auto reload)
MOV TH1,#0FDH ;9600 Baud rate
MOV SCON,#50H ;8 bit, 1 stop bit, REN enabled
SETB TR1
HERE:JNB RI,HERE ;wait for character to come in
MOV A,SBUF ;get data in A
CJNE A,#0FFH,DOWN ;chk if the char is synch byte ie.offh or 255
;if not jump to clear RI
CLR RI ;get ready to get next byte
WAIT:JNB RI,WAIT ;wait for character to come in
MOV A,SBUF ;get data in A
CJNE A,#00H,NXT ;chk if the char is 0
CLR P2.0 ;switch on LED
SJMP DOWN ;jump to clear RI
NXT:CJNE A,#01H,DOWN ;chk if the char is 1
SETB P2.0 ;switch off LED
DOWN:CLR RI ;get ready to get next byte
SJMP HERE ;keep getting the data
وهذه صورة المبرمجة المستخدمة لبرمجة هذا المعالج
ارجو ان اكون قد قدمت بعض الافادة
يعطيكم العافية
الميكروكنترولر عبارة عن كمبيوتر متكامل موجود على شريحة متكاملة يحتوي على الخصائص التالية
" Optimized 8 bit CPU for control applications.
" Extensive Boolean processing capabilities.
" 64K Program Memory address space.
" 64K Data Memory address space.
" 128 bytes of onchip Data Memory.
" 32 Bi-directional and individually addressable I/O lines.
" Two 16 bit timer/counters.
" Full Duplex UART.
" 6-source / 5-vector interrupt structure with priority levels.
" Onchip clock oscillator.
ويمكن استخدامه في تطبيقات عديدة للتحكم
وهذه صورة لمداخل ومخارج هذا المعالج
وهذا المعالج يعمل بلغة برمجة خاصة به وتكون بلغة الاسمبلي
ولكي نتمكن من التعامل مع هذا المعالج من خلال الكمبيوتر pc فنحن بحاجة الى دائرة الكترونية لتقوم بالربط بين المعالج وجهاز الكمبيوتر وتكون الدائرة على هذا النحو
عند تجهيز الدائرة وربطها بالمنفذ التسلسلي com لجهاز الكمبيوتر نقوم بعمل برنامجنا الاول بلغة الفيجوال بيسيل للتعامل مع هذا المعالج والبرنامج عبارة عن برنامج بسيط لاضائة led من خلال هذا المعالج حيث نتبع الخطوات التالية
نقوم بفتح بروجكت جديد standard exe ثم فقوم باضافة comm control 6.0 من الcomponents
حيث تظر لنا صورة هاتف صغير كما في الصورة ادناه
ثم نقوم باضافة option buttons عدد 2 و command button عدد 1 ليصبح الفورم كالتالي
نحن الان جاهزين لتكملية البرنامج وتزويده بالكود المناسب حيث نقوم بكتابة الكود التالي
رمز برمجي:
Private Sub Form_Load()
On Error Resume Next
'use comm port 1
MSComm1.CommPort = 1
' 9600 baud, no parity, 8 data bits, 1 stop bit
MSComm1.Settings = "9600,N,8,1"
' Disable DTR
MSComm1.DTREnable = False
'open the port
MSComm1.PortOpen = True
End Sub
Private Sub cmdsend_Click()
Dim LED As Long
' Get LED State
If opton.Value = True Then
LED = 0
Else
LED = 1
End If
' Send Out Data
MSComm1.Output = Chr$(255) & Chr$(LED)
End Sub
Private Sub Form_Unload(Cancel As Integer)
MSComm1.PortOpen = False 'Close the COMM port
End Sub
اما برنامج الميكرو كنترولر فهو مكتوب بلغة الاسمبلي ويكون كالتالي:
رمز برمجي:
Program the MIcrocontroller with the following code
ORG 00H ; Reset
MOV TMOD,#20H ;enable timer1, mode 2 (auto reload)
MOV TH1,#0FDH ;9600 Baud rate
MOV SCON,#50H ;8 bit, 1 stop bit, REN enabled
SETB TR1
HERE:JNB RI,HERE ;wait for character to come in
MOV A,SBUF ;get data in A
CJNE A,#0FFH,DOWN ;chk if the char is synch byte ie.offh or 255
;if not jump to clear RI
CLR RI ;get ready to get next byte
WAIT:JNB RI,WAIT ;wait for character to come in
MOV A,SBUF ;get data in A
CJNE A,#00H,NXT ;chk if the char is 0
CLR P2.0 ;switch on LED
SJMP DOWN ;jump to clear RI
NXT:CJNE A,#01H,DOWN ;chk if the char is 1
SETB P2.0 ;switch off LED
DOWN:CLR RI ;get ready to get next byte
SJMP HERE ;keep getting the data
وهذه صورة المبرمجة المستخدمة لبرمجة هذا المعالج
ارجو ان اكون قد قدمت بعض الافادة
يعطيكم العافية
(( يَا أَيَّتُهَا النَّفْسُ الْمُطْمَئِنَّةُ ارْجِعِي إِلَى رَبِّكِ رَاضِيَةً مَرْضِيَّةً فَادْخُلِي فِي عِبَادِي وَادْخُلِي جَنَّتِي ))