TAHA
11-12-2009, 10:49 PM
امروز می خواهیم برنامه ای بنویسیم که بوسیله اون بشه استپر موتورهامون رو راه اندازی کنیم (عین همین روش رو باید در برنامه اصلی ربات استفاده کنیم) :
کد:
کد:
$crystal = 1000000
$regfile = "m32def.dat"
Config Portb = Output
Config Portc = Output
Dim A As Byte
Dim B As Byte
B = &B10001000
A = &B10001000
Do
Rotate A , Left
Portb = A
Rotate B , Right
Portc = B
Waitms 15
Loop
End
خوب حالا خط به خط تحلیل می کنیم. البته خوب یادمه توضیحات کاملی رو در مورد کدهای استفاده شده در چهار خط اول در پست های "آموزش ساخت ربات (میکرو کنترلر 1 (http://pnu-club.com/redirector.php?url=http%3A%2F%2Fmypersianforum.com %2Fshowthread.php%3Ft%3D66431) - 2 (http://pnu-club.com/redirector.php?url=http%3A%2F%2Fmypersianforum.com %2Fshowthread.php%3Ft%3D66458) - 3 (http://pnu-club.com/redirector.php?url=http%3A%2F%2Fmypersianforum.com %2Fshowthread.php%3Ft%3D66459) - 4 (http://pnu-club.com/redirector.php?url=http%3A%2F%2Fmypersianforum.com %2Fshowthread.php%3Ft%3D66460)) دادم. پس اگه یادتون رفته بهشون دوباره سر بزنید.
کد:
کد:
Dim A As Byte
Dim B As Byte
کلا در زبان های خانواده بیسیک که کامپایلر BASCOM هم از اون استفاده می کنه، از کلمات Dim و as به صورت Dim varname as type برای تعریف متغیر استفاده می شه، که varname نام متغیر و type نوع متغیر هستش. در اینجا دو متغیر به نامهای A و B با نوع Byte معرفی شدن (هر بایت از ۸ بیت تشکیل شده)
کد:
کد:
B = &B10001000
A = &B10001000
استفاده از " مقدار = نام متغیر " که برای همه قابل درکه (یعنی یک مقدار رو داخل متغیر بریزیم) اما در اینجا بجای مقدار از &B10001000 استفاده شده. برای قرار دادن مقادیر به صورت باینری در یک متغیر (در این زبان) باید مقدار باینری رو بعد از B& بنویسم. در اینجا، هم در A و هم در B مقدار باینری ۱۰۰۰۱۰۰۰ معادل دهدهی ۱۳۶ رو قرار دادیم. که دلیلش رو توضیح خواهم داد.
کد:
کد:
$crystal = 1000000
$regfile = "m32def.dat"
Config Portb = Output
Config Portc = Output
Dim A As Byte
Dim B As Byte
B = &B10001000
A = &B10001000
Do
Rotate A , Left
Portb = A
Rotate B , Right
Portc = B
Waitms 15
Loop
End
خوب حالا خط به خط تحلیل می کنیم. البته خوب یادمه توضیحات کاملی رو در مورد کدهای استفاده شده در چهار خط اول در پست های "آموزش ساخت ربات (میکرو کنترلر 1 (http://pnu-club.com/redirector.php?url=http%3A%2F%2Fmypersianforum.com %2Fshowthread.php%3Ft%3D66431) - 2 (http://pnu-club.com/redirector.php?url=http%3A%2F%2Fmypersianforum.com %2Fshowthread.php%3Ft%3D66458) - 3 (http://pnu-club.com/redirector.php?url=http%3A%2F%2Fmypersianforum.com %2Fshowthread.php%3Ft%3D66459) - 4 (http://pnu-club.com/redirector.php?url=http%3A%2F%2Fmypersianforum.com %2Fshowthread.php%3Ft%3D66460)) دادم. پس اگه یادتون رفته بهشون دوباره سر بزنید.
کد:
کد:
Dim A As Byte
Dim B As Byte
کلا در زبان های خانواده بیسیک که کامپایلر BASCOM هم از اون استفاده می کنه، از کلمات Dim و as به صورت Dim varname as type برای تعریف متغیر استفاده می شه، که varname نام متغیر و type نوع متغیر هستش. در اینجا دو متغیر به نامهای A و B با نوع Byte معرفی شدن (هر بایت از ۸ بیت تشکیل شده)
کد:
کد:
B = &B10001000
A = &B10001000
استفاده از " مقدار = نام متغیر " که برای همه قابل درکه (یعنی یک مقدار رو داخل متغیر بریزیم) اما در اینجا بجای مقدار از &B10001000 استفاده شده. برای قرار دادن مقادیر به صورت باینری در یک متغیر (در این زبان) باید مقدار باینری رو بعد از B& بنویسم. در اینجا، هم در A و هم در B مقدار باینری ۱۰۰۰۱۰۰۰ معادل دهدهی ۱۳۶ رو قرار دادیم. که دلیلش رو توضیح خواهم داد.