$regfile = "m32def.dat"
$crystal = 1000000
$baud = 9600
Config Portb = Input
Config Porta = Output
Dim A As Byte
Dim q As Byte
Portb = 0
Q = 0
A = 0
W:
Q = pinb
Printbin Q
A =inkey()
Porta = A
Goto w
End
سلام
اول فیل پروتوس رو باز کنید و عمکرد میکرو ها رو ببینید
من برنامه رو خط به خط میگم
خط اول مربوط به معرفی میکرو میباشد که در اینجا از میکروی مگا 32استفاده شده است
خط دوم مربوط به معرفی کریستال است که در اینجا از کریستال 10 مگا هرتز استفاده شده است
در خط سوم نرخ انتقال دیتا مشخص شده است (این عدد مشخص میکند که در هرثانیه چقدر اتلاعات بین دو میکرو ردو بدل شود)
در خط چهارم و پنجم دو پورت به عوان ورودی و خروجی معرفی شده است
پورت a که چهر led به ان وصل شده است به عنوان خروجی تعریف شده و پورت b که چهار عدد کلید به ان متصل شده به عنوان ورودی
در خط ششم و هفتم دو متغییر از جنس بایت تعریف شده است (متغییر میتواند حول دو عدد تغییر کند در اینجا از متغییر بایت استفاده شده است که میتواند بین 0 تا 255 تغییر کند)
در خط هشتم و نهم مقدار 0 برای دو متغییر انتصاب یافته است (مقدار a صفر است یعنی شما میتوانید به جای a صفر بگذارید
در خط دهم یک برجسب به نام w برای ایجاد یک حلقه گذاشته شده است
در خط یازدهم مقدار دسیمال پورت b در متغییر qریخته میشود در حالتی که هیچ کلیدی فشرده نشود مقدار پورت b برابر 0000 باینری است فرض کن کلید های اول و اخر فشرده شوند در این حالت عدد 1001 باینری در پورت b ظاهر میشود این عدد به مقدار دسیمال 9 تبدیل شده ودر متغییر q ریخته میشود
در خط دهم توسط دستورPrintbin مقدار q به پورت سریال میرود (به پایه txd)
در خط یازدهم با دستورinkey مقدار گرفته شده از پورت سریال (پایه rxd) در متغییر a ریخته میشود
و در خط یازدهم مقدار دسیمال a به عدد باینری تبدیل شده و روی پورتa ریخته میشود فرض کن مقدار12 از پورت سریال دریافت شده است بااین حساب دو led اول روشن شده وبقیه خاموش می ماند
در خط یاردهم با دستورGoto به برچسب qپرش میشود و مراحل قبل دوباره تکرار میشود
اگه سوال دیگه ای داشتی من در خدمتم
فایل پروتوس رو حتما ببین