الکترونیک، رباتیک و مکانیک

آموزش به زبان بسیار ساده و روان (از صفر تا بینهایت)

الکترونیک، رباتیک و مکانیک

آموزش به زبان بسیار ساده و روان (از صفر تا بینهایت)

الکترونیک، رباتیک و مکانیک

با سلام و عرض ادب خدمت هموطنان عزیز
در این سایت قصد داریم موضوعاتی که در حیطه الکترونیک ،مکانیک و برنامه نویسی ربات ها دارای جذابیت خاصی می باشد رو آموزش بدیم. امیدواریم که با نظرات شما عزیزان شاهد آموزشهای جامعی در این زمینه باشیم.
با تشکر

نویسندگان
پیوندهای روزانه
طبقه بندی موضوعی
آخرین نظرات

دوشنبه, ۲۱ دی ۱۳۹۴، ۰۸:۰۸ ق.ظ

۰

جلسه ششم
1-سلام خوبی
2-سلام قربانت تو چطوری
1-خوبم . امروز چی می خای یادم بدی
2-اول بگو که با این پروتوس مشکلی نداشتی
1-این پروتوس اوایل eror میداد ولی رفتم مشکلم رو حل کردم
2-خوبه . امروز می خام طرز اتصال صفحه کلید ماتریسی به میکروکنترلر همراه با برنامه اون بهت بگم
1-صفحه کلید ماتریسی دیگه چیه


2-همون صفحه کلیدی که ماشین حسابا و تلفن ها دارن


1-اها ادامه بده
2-این صفحه کلید ها از نظر سخت افزاری 8 تا پایه دارن که مستقیم وصل میشن به میکروکنترلر ویک پوت کامل رو اشغال می کنن
1-منظورت از اینکه یک پورت کامل رو اشغال می کنن چیه ؟
2-منظورم اینه که باید وصل بشن به هشتا از پایه های میکرو مثلا وصل بشن به پورت A یا پورت B یا هر پورتی فرقی نداره کدوم پورت ولی باید اگه می خای به پورت A وصل کنی باید فقط به پایه های پورت A وصل بشن نباید مثلا چندتا رو به پایه های A و چندتای دیگشو وصل کنی مثلا به پایه های پورت B .
خوب بزار بهتر بهت بگم که باید چطوری وصلش کنی
1-یک لحظه وایستا اصلا چرا ما باید کیبرد رو وصل کنیم به میکرو خوب کاربردشم بگو دیگه مارو گیج کردی
2-باشه معزرت می خام . فرض کن که می خای یک ماشین حساب با میکروکنترلر درست کنی یا اینکه می خای اعداد 0 تا 15 رو روی LCD نمایش بدی . یا یکم پیشرفته تر می تونی یک قفل رمز الکترونیکی درست کنی
1-حالا فهمیدم ادامه بده
2-خوب می خاستم بهت بگم که چطوری کیبرد رو به میکرو وصل کنی . خوب این خیلی ساده است ابتدا یک پورتی که حال کردی کیبرد رو بهش وصل کنی رو در نظر می گیری خوب گفتم که کیبرد 8 تا پایه داره خوب میکرو هم هر پورتش 8 تا پایه داره مثلا می خای به پورت A وصل کنی . خوب برای این کار پایه اول کیبرد رو وصل می کنی به پایه A.0 پایه دوم رو وصل می کنی به پایه A.1 و الی اخر که باید پایه اخر یعنی پایه هشتم کیبرد رو وصل کنی به پایه A.7
1-خوب این طرز اتصال شو فهمیدم برنام چطوری به میکرو بدیم
2-عجله می کنی یا . خوب حالا می ریم سر برنامه . قبلش بگم که وصل کردن صفحه کلید به میکرو رو در اصطلاح بهش
میگن اسکن صفحه کلید . اینو گفتم که یک موقع جایی شنیدی نگی این دیگه چه اصطلاحیه . خوب برنامه اتصال صفحه کلید ماتریسی به میکرو ساده هستش. طرز کار به این صورت هستش که ما اول یک متغییر رو از نوع بایت تعریف می کنیم بعد مقدار خونده شده از کیبرد رو می ریزیم توی این متغییر بعد با فرمان CLS و LCD اونو روی LCD نمایش می دیم به همین سادگی . خوب اول باید ما برای میکرو تعریف کنیم که اقا ما میخایم یک کیبرد ماتریسی به جنابعالی وصل کنیم تا طفلی بفهمه که این جسمی که بهش وصل شده چیه . یادت می یاد گفتم که برای استفاده از امکانات میکرو باید اونها رو پیکره بندی کنی یا به اصطلاح CONFIG کنی
1-اره
2-یادت میاد که برای استفاده از امکان ورودی خروجی میکرو از دستور CONFIG PORTA = OUTPUT برای خروجی و CONFIG PINA.0 = INPUT برای ورودی استفاده می کردیم
1-بازم اره
2-خوب یکی از امکانات میکروکنترلر AVR اینکه که می تونه کلید هایی رو که روی کیبرد فشرده میشه رو بخونه که چه عددی بوده و برای استفاده از این امکان هم مثل سایر امکانات دیگه باید از دستور CONFIG استفاده کنیم
CONFIG KBD = PORTB
با دستور بالا ما به میکرو فهماندیم که اقا ما می خایم یک کیبرد به شما متصل کنیم اون هم به پورت B . توجه کن که پورتی رو که جلوی علامتی مساوی می نویسی می تونه یکی از چهار پورت A یا B یا C ویا D باشه ولی هر پورتی رو که می نویسی کیبرد رو هم باید به همون وصل کنی .


DIM A AS BYTE
خوب ما یک متغییر تعریف کردیم که مقدار خونده شده از کیبرد رو بریزیم توی این متغییر
1-منظورت از این که مقدار خونده شده از کیبرد رو می ریزیم توی متغییر چیه


2-خوب ببین ما وقتی که کار برنامه نویسیمون تموم شد و مدار رو راه اندازی کردیم مثلا یک کلید رو از روی صفحه کلید فشار دادیم میکرو قادره مقدار عددی این کلید فشرده شده رو بخونه مثلا کلید شما ره یک رو فشار دادیم میکرو می فهمه که کلید شماره یک فشرده شده خوب این مقدار عددی باید در یک جا قرار بگیره و ما جایی بهتر از اینکه این مقدار عددی رو انتقال بدیم به یک متغییر گیر نیاوردیم . البته وقتی که مطلب کیبرد رو تموم کردم کامل می فهمی چی به چیه. بزار یک مثال بزنم . فرض کن که ما یک کیبرد داریم بایک میکروکنترلر و یک LCD می خایم این سه تا رو به هم وصل کنیم وهنگامی که یک کلید از روی صفحه کلید فشرده شد میکرو اونو بخونه و مقدار اون عدد رو روی LCD نمایش بده که برنامه به صورت زیر هستش :

کد:
CONFIG KBD = PORTA
DIM A AS BYTE
MAIN:
DO
A = GETKBD( )
IF A < 16 THEN GOTO MASHHAD
LOOP
END
MASHHAD :
CLS
LCD A
DO
A = GETKBD ( )
LOOP UNTIL A = 16
GOTO MAIN

کل برنامه همین هستش البته به غیر از معرفی میکرو و انتخاب فرکانس کاری که باید در اول برنامه نوشته بشن. خوب حالا بریم سر تحلیل برنامه.
خط اول که ما پیکره بندی کیبرد رو مشخص کردیم که می خاهد به پورت A متصل بشه
خط دوم ما یک متغییر تعریف کردیم که مقدار خوانده شده از کیبرد ریخته بشه یا به عبارتی انتقال داده بشه به داخل این متغییر
خط سوم که یک زیر برنامه تعریف کردیم
خط بعدی نوشتیم DO یعنی ابتدای حلقه
خط بعد نوشتیم A = GETKBD ( ) با این دستور مقداری که میکروکنترلر از کیبرد می خونه میریزه توی متغییر A
خط بعد نوشتیم IF A < 16 THEN GOSUB MASHHAD خوب با این دستور این شرط را گذاشتیم که اگر اعدادی کوچکتر از 16 رو خوندی بروی دستور شرط رو که پرش به زیر برنامه MASHHAD هستش رو اجرا کن خوب حالا ممکنه که از خودت بپرسی که چرا کوچکتر از 16 خوب الان بهت می گم چرا . ببین ما گفتیم که کیبرد ما 15 دکمه داره که اعدادی که داره یعنی 0 تا 15 که کلا می شه 16 کلید پس ما می تونیم اعداد 0 تا 15 رو روی باهاش نشون بدیم پس باید یک دستوری رو بنویسیم که اگر عددی کوچکتر از 16 رو خوند بره دستور شرط رو اجرا کنه.
خط بعدی نشتیم LOOP که پایان حلقه هستش
خط بعدی نوشتیم END که برنامه هیچ وقت به این END نمی رسه
خط بعدی نوشتیم MASSHAD: که همان زیر برنامه MASSHAD هستش که هر اسم دیگه ای می تونیم براش بزاریم
خط بعدی نوشتیم CLS که باید بدونی کارش چیه
خط بعدی نوشتیم LCD A که با این دستور مقدار عددی که میکرو از کیبرد خونده و ریخته توی متغییر A رو می تونیم بخونیم امیدوارم که فهمیده باشه که چرا مقداری رو که میکرو می خونه باید بریزیم توی یک متغییر .فرض کن که ما کلیدی از کیبرد رو که روش نوشته 4 رو فشار می دیم میکرو میاد این مقدار رو میخونه و انتقالش می ده توی متغییر A بعد ما برای اینکه ببینیم کلیدی رو که فشردیم چه عددی بوده باید با دستور LCD A مقدار متغییر A رو روی LCD نمایش بدیم
در خط های بعدی نوشتیم

کد:
DO
A = GETKBD ( )
LOOP UNTIL A = 16
GOTO MAIN

که این دستورات هیچ توضیحی نداره و همیشه باید بنویسیش . این دستورات برای اینه که وقتی شما یک دکمه رو فشار می دی میکرو نیاد هی اون عدد رو روی LCD تند تند نمایش بده . این سه خط دستور طور کلی میاد یک حالتی رو در برنامه ایجاد می کنه که تا وقتی که ما دستمون رو از روی دکمه فشرده شده برنداشتیم عدد فیکس بمونه بعد وقتی که دستمون رو از روی کلید برداشتیم میاد خط بعدی رو می خونه
خط اخر هم نوشتیم GOTO MAIN که با این دستور دوباره برمی گردیم توی حلقه اول و انقدر توی این حلقه می مومنه تا یک دکمه دیگه فشرده بشه و بره اونو بخونه به عبارتی روز از نو روزی از نو.
1-کل برنامش همین بود
2-اره اگه شک داری می تونی بری توی پروتوس امتحانش کنی
1-این کیبرد کجای پروتوس هستش
2-وقتی که کتابخانه نرم افزار رو باز کردی اول می ری تو قسمت ACTIVE بعد از اونجا میتونی یک کیبرد انتخاب کنی
1-ممنون
2-قربانت . بزار یک مثال کاربدی تر بزنم همین برنامه رو یکم پیشرفته ترش می کنیم مثلا می خایم هر وقت که دکمه شماره 3 رو فشار دادیم یک LED روشن بشه و هر وقت که دکمه شماره 12 رو فشار دادیم LED خاموش بشه . پس ما به طور دلخواه باید یک پورت رو مثلا پورت A رو برای اتصال کیبرد به میکرو در نظر بگیریم و یک پورت دیگه هم مثلا پورت B رو برای LED در نظر بگیریم البته ما از پورت B فقط یک پایه لازم داریم که مثلا می تونه B.0 باشه . LCD هم که حال می کنیم وصل بشه به پورت C . خوب برنامه ای که ما باید بنویسیم به شرح زیر است :

کد:
CONFIG PORTB = OUTPUT
CONFIG PORTA = KBD
DIM A AS BYTE
MAIN:
DO
A = GETKBD ( )
IF A < 16 THEN GOTO SHOW1
IF A = 3 THEN GOTO SHOW2
IF A = 12 THEN GOTO SHOW3
LOOP
END
SHOW1:
CLS
LCD A
DO
A = GETKBD ( )
LOOP UNTIL A = 16
GOTO MAIN
SHOW2:
SET PORTB.0
CLS
LCD A
DO
A = GETKBD ( )
LOOP UNTIL A = 16
GOTO MAIN
SHOW3:
RESET PORTB.0
CLS
LCD A
DO
A = GETKBD ( )
LOOP UNTIL A = 16
GOTO MAIN


خوب این هم یک برنامه کامل برای این مثالی که زدم فقط باید نوع میکرو و فرکانس کاری میکرو رو خودت بنویسی یا اینکه از داخل نرم افزار تنظیمشون کنی . خوب حالا بریم سر تحلیل برنامه:
میکرو میاد از خط اول برنامه شروع می کنه به خوندن یعنی عبارت CONFIG PORTB = OUTPUT و می فهمه که ما یک خروجی رو پیکره بندی کردیم . بعد میاد خط دوم رو می خونه که نوشته CONFIG PORTA = KBD و می فهمه که قراره یک کیبرد بهش وصل بشه. بعد خط بعدی رو می خونه DIM A AS BYTE این یعنی اینکه ما یک متغییر تعریف کردیم برای همون که قبلا بهت گفتم که می خایم عددی رو که میکرو از کیبرد می خونه بریزه توی یک متغییر برای همون یک متغییر تعریف کردیم . خط بعدی یک زیر برنامه به اسم MAIN تعریف کردیم که می تونست هر اسم دخواه دیگه ای با شه کاربردش هم در ادامه بهت می گم که چرا گذاشتیمش. خط بعدی نوشتیم DO که با این کار ابتدای یک حلقه رو تعریف کردیم. خط بعد نوشتیم که A = GETKBD ( ) که این جمله کوچیک رو می تونم اینطوری ترجمه کنم که اقای میکرو هر دکمه ای رو که فشرده شد عدد او دکمه فشرده شده رو بریز توی این متغییر A . در خط های بعدی سه شرط گذاشتیم که شرط های ما همیشه باید در داخل حلقه DO –LOOP قرار بگیره
1-چرا باید داخل حلقه قرار بگیره
2-چون که یکسره میکرو بیاد این شرط ها رو چک کنه و اگر که شرطی اجرا شد بره دستور شرط رو اجرا کنه
1-اها ادامه بده
خوب گفتیم که ما داخل این حلقه سه تا شرط گذاشتیم . اولی شرط نوشتیم که IF A < 16 THEN GOTO SHOW1
به این معنی که اگر A کوچکتر از 16 بود برو دستور شرط رو که بعد از THEN نوشتیم رو برو اجرا کن خوب حالا دستور شرط چیه اینه : GOTO SHOW1 یعنی اگر شرط مورد نظر اجرا شد بپر برو توی زیر برنامه SHOW1 حال توی زیر برنامه SHOW1 چیکار باید انجام بده رو بهش می رسیم که از این شرط برای خواندن عددی که دکمه متناظر با اون فشرده شده استفاده میشه.
شرط دوم نوشتیم که IF A = 3 THEN GOTO SHOW2 که با این جمله این مطلب رو به میکرو فهموندیم که اگر خدای ناکرده دکمه شماره 3 فشرده شد برو دستور شرط رو که پرش به زیر برنامه SHOW2 هستش رو اجرا کن.
شرط سومی که گذاشتیم اینه IF A = 12 THEN GOTO SHOW3 یعنی اگر دکمه شماره 12 فشرده شد برو دستور شرط رو که پرش به زیربرنامه SHOW3 هستش رو اجرا کن. بعد از این که شروط رو نوشتیم LOOP رو که پایان حلقه هستش رو گذاشتیم . در خط بعد نوشتیم END که برنامه ما هیچ وقت به این END نمیرسه و نباید هم برسه . در خط های بعدی سه تا زیر برنامه به نام های SHOW1 و SHOW2 و SHOW3 تعریف کردیم البته که در داخل این زیر برنامه ها چند تا دستور نوشتیم که توضیجات این زیر برنامه ها رو حین تحلیل دوم برنامه بهت می گم .
تحلیل دوم برنامه : خوب فرض کن که برنامه رو نوشتیم و ریختیم توی میکروکنترلر حالا بهت می گم که می کرو با خوندن این دستورات چیکار می کنه یا به عبارتی دیگر چکار باید بکنه . در دو خط اول که ما یک پورت برای خروجی تعریف کردیم و یک پورت برای اتصال به کیبرد که میکرو این دو خط رو می خونه و می ره سر خط سوم در این خط یک متغییر تعریف کردیم که این خط رو هم می خونه و میره سر خط بعدی. خط بعدی زیر برنامه MAIN رو می خونه و می ره سرخط بعدی . خط بعدی که ما یک DO گذاشتیم و میکرو این رو هم می خونه و هم زمان که اینو خوند می فهمه که ابتدای یک حلقه رسیده و همونجا
میوفته توی این حلقه و میکرو میاد کل چهار خط این حلقه رو می خونه
1-
منظورت از چهار خط داخل این حلقه همون خط اول + سه تا شرط بعدیشه
2-
اره عزیز . بعد که این چهار خط رو خوند میرسه به LOOP می فهمه که باید بره دوباره از خط زیر DO شروع کنه به خوندن بعد دوباره میاد این کار رو می کنه و بازدوباره اون چهار خط رو میخونه و بعدش دوباره می رسه به LOOP و دوباره می فهمه که باید بره برنامه رو از خط زیری DO شروع کنه به خوندن بعد دوباره این کار رو می کنه . به عبارت دیگه می تونم بهت بگم که داخل این حلقه یکسره دور می زنه
1-
خوب پس کی بیرون میاد
2-
اها این همون سوالی بود که الان می خواستم جوابشو بگم . وقتی بیرون میادش که یکی از دستورات شرط اجرا بشه فرقی هم نمی کنه که کدوم یکی از سه تا شرط باشه
1-
حالا شما فرض کن که شرط اولی اجرا شده خوب چه اتفاقی میوفته
2-
شرط اولی هستش IF A<16 THEN GOTO SHOW1 که مربوط به خوندن عدد دکمه ای است که روی کیبرد فشرده شده. اگر این شرط اجرا بشه دستور شرط هم اجرا می شه دستور شرط همون جمله بعد از THEN هستش که گفته بپر برو توی زیر برنامه SHOW1 و میکرو هم همین کار رو میکنه و میپره میره توی زیربرنامه SHOW1 و دستوراتی رو که داخل این زیربرنامه نوشتیم رو اجرا میکنه حالا توی زیر برنامه SHOW1 نوشتیم که:

کد:
CLS
LCD A
DO
A = GETKBD ( )
LOOP UNTIL A = 16
GOTO MAIN

خط اول داخل زیربرنامه SHOW1 هستش CLS که میکرو با این دستور می ره و صفحه LCD رو پاک می کنه
خط دوم نوشتیم LCD A یعنی این که مقدار متغییر A رو که عدد دکمه ای هست که فشردیم اونجا ریخته شده رو با این دستور میره روی LCD نمایش می ده حالا هر عددی که باشه فرقی نداره می ره و نشون می ده
سه خط بعدی هم که قبلا برات توضح دادم که برای اینه که تا وقتی که دستمون رو از روی دکمه برنداشتیم همون عدد رو روی LCD نمایش بده
خط بعدی نوشتیم GOTO MAIN که در اخر این زیر برنامه قرار داره به این معنی که بپر برو توی زیر برنامه MAIN و میکرو هم میره همین کار رو میکنه . بعد از پریدن توی زیربرناه MAIN میکرو میاد خط بعدیشو می خونه نوشته DO و باز دوباره میوفته توی حلقه و دوباره توی این حلقه دور می زنه تا یکی از شروط اجرا بشه . فرض کن که این دفعه شرط دوم اجرا بشه البته فرقی نمیکنه که کدوم شرط اجرا بشه خوب گفتیم که فرض رو بر این میزاریم که شرط دوم اجرا شده یعنی
IF A = 3 THEN GOTO SHOW2 که ما با این دستور این شرط را گذاشته بودیم که اگر دکمه شماره 3 فشرده شد برو دسترو شرط رو اجرا کن که اگر این شرط اجرا بشه دستور شرط هم که پرش به زیربرنامه SHOW2 هستش هم اجرا میشه و میکرو هم همین کار رو می کنه و میاد میپره توی زیربرنامه SHOW2 و دستورات داخل این زیربرنامه رو اچرا می کنه که دستورات داخل این زیربرنامه به قرار زیر است :

کد:
SHOW2:
SET PORTB.0
CLS
LCD A
DO
A = GETKBD ( )
LOOP UNTIL A = 16
GOTO MAIN

خط اول نوشتیم که SET PORTB.0 به این معنی که پایه B.0 رو یک کن
خط بعدی نوشته شده CLS یعنی اینکه صفحه LCD رو پاک کن
خط سوم نوشتیم که LCD A یعنی نشون بده مقدار متغییر A رو که باید عدد 3 رو نشون بده
1-
چرا 3
2-
چون که ما داخل اون حلقه شرط گذاشته بودیم که اگه دکمه شماره 3 فشرده شده بود بپر برو توی زیربرنامه SHOW2 خوب پس دکمه ای که فشرده شده شماره سه هستش دیگه پس باید حتما عدد 3 رو نشون بده
1-
اخر ما نفهمیدیم که این شرط بندی حلاله یا حرام
2-
تو این جور موارد حلاله . در سه خط بعدی نوشتیم :

کد:
DO
A = GETKBD ( )
LOOP UNTIL A = 16

که اینو بهت گفتم برای چیه . برای فیکس شدن عدد روی LCD تا موقعی که دستمون رو از روی دکمه برنداشتیم
در خط بعدی هم نوشتیم GOTO MAIN که میکرو با خوندن این دستور می پره میره اولین خط بعد از این زیربرنامه که نوشته DO رو می خونه و می فهمه که ابتدای دردسر یعنی دور زدن توی این حلقه شروع شده
1-
خوب این LED کی خاموش می شه
2-
وقتی که شرط سوم یعنی فشرده شدن دکمه شماره 12 اجرا بشه که شرطی که براش گذاشتیم از این قراره
IF A = 12 THEN GOTO SHOW3 این شرط رو میشه اینطوری ترجمه کرد که اگه دکمه شماره 12 ازروی کیبرد فشرده شد بپر برو توی زیربرنامه SHOW3 . حالا توی این زیربرنامه SHOW3 این دستورات هستش :

کد:
SHOW3:
RESET PORTB.0
CLS
LCD A
DO
A = GETKBD ( )
LOOP UNTIL A = 16
GOTO MAIN

خط اول بعد از زیر برنامه نوشته شده RESET PORTB.0 به این معنی که پایه B.0 رو 0 کن و در اینجا اون LED که گفتیم خاموش میشه .
خط بعدی نوشتیم CLS یعنی پاک کن صفحه ال سی دی رو
خط بعدی LCD A هستش یعنی مقدار متغییر A رو نشون بده که باید مقدار 12 رو روی LCD نمایش بده
سه خط بعدی هم از قرار زیر هستش :

کد:
DO
A = GETKBD ( )
LOOP UNTIL A = 16

که باید دیگه بدونی مال چی هستش
خط اخر هم GOTO MAIN هستش که بعد از این که دستورات داخل زیربرنامه اجرا شد و میکرو به این خط رسید با خوندن این خط میپره میره توی زیربرنامه MAIN و میکرو هم
1-
بزار من بقشو بگم ببین یاد گرفتم یا نه
2-
بفرمایید
1-
بعد از این که پرید توی زیربرنامه MAIN اولین خط نوشته DO که دوباره میوفته توی این حلقه . بقیشو خودت بگو
2-
خوب بود معلومه که یاد گرفتی . بعد توی این حلقه اونقدر دور میزنه تا دوباره یک شرط دیگه از سه شرط اجرا بشه .
این هم از تفسیر برنامه گمون نکنم که از این ساده تر بشه تفسیرش کرد.
یک نکته ای که من باید بگم اینه که تو هر دستور شرطی رو می تونی توی این زیر برنامه ها قرار بدی مثلا بعد از این که PORTB.0 رو SET کرد یک پشبندش یعنی خط پایینیش بنویسیم که CLS
LCD "AHMAD" که با اینکار میداد هم پایه B.0 رو SET میکنه و هم روی LCD یک چیزی می نویسیه و خیلی کارای دیگه ای هم می تونی بکنی که بستگی به خودت داره
یک نکته دیگه اینه که گاهی وقتا لازم هستش که دکمه های صفحه کلید رو مثل ماشین حساب پیکره بندی کنی که باید از جدول LOOKUP استفاده کنی که من الان حضور ذهن ندارم که چطوری بودش یادم رفته باید مراجعه کنم استادم.
درس بعدی استفاده از توابع ریاضی هستش که من همه اونا رو بهت نمی گم چون که کاربرد نداره
علامت جمع + : به مثال زیر توجه کن

کد:
DIM A AS BYTE
A = 5 + 1
CLS
LCD A
END

این برنامه هیچ نیازی به توضیح ندارد چون همه چیزش شفاف هستش . فقط همینو بگم که در مثال بالا ما یک متغییر تعریف کردیم مقداری رو که به متغییر دادیم 5+1 هستش میکرو میاد با امکاناتی که داخل خودش داره این دو عدد رو باهم جمع می کنه و حاصل که عدد 6 هست رو هنگامی که ما دستور LCD A رو می خونه یعنی عدد 6 روی LCD نمایش میده . بزار یکم پیشرفته ترش کنیم

کد:
CONFIG PORTB = OUTPUT
DIM A AS BYTE
A = 5+1
IF A = 5 THEN SET PORTB.0
IF A = 6 THEN SET PORTB.1
IF A = 7 THEN SET PORTB
END

در برنامه بالا ما یک خروجی تعریف کردیم . بعد یک متغییر از نوع بایت تعریف به نام A تعریف کردیم بعد اومدیم برای مقدار دهی به متغییر A از جمع دوعدد استفاده کردیم بعنی مقدار متغییر A هست 5+1 . بعد اومدیم سه تا شرط و سه تا دستور شرط گذاشتیم اولین شرطی که گذاشتیم این بود که اگر مقدار متغییر A شد 5 برو و دستور شرط رو که هست SET PORTB.0 رو اجرا کن . شرط دوم اومدی گفتیم که اگه مقدار متغییر A شد 6 برو دستور شرط رو که هست SET PORTB.1 رو اجرا کن . شرط سوم گفتیم که اگه مقدار متغییر A شد 7 برو و دستور شرط رو که هست SET PORTB رو اجرا کن که یعنی یک کردن کل هشتا پایه پورت B .
برای امروز دیگه کافیه بقیش باشه برای جلسه بعدی
پایان قسمت ششم

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی