بازدیدها: 1755
این برنامه به زبان c می باشد که ضمن توضیح کامل برنامه عمکلرد دستورات نیز توضیح داده شده…
رنگ سبز نام فايل سر آيند مي باشد. رنگ قرمز توابع تعريف مي باشند يعني اينكه هر كلمه يا حرفي را مي توان به دلخواه تعريف كرد. رنگ قهواي مقدار هگز (عدد) را مي توان به يك تابع اختصاص داد كه بعد از 0x عدد هگز را قرار مي دهيم. رنگ آبي دستورات زبان C مي باشند. رنگ خاكستري رنگ قرمز را اجرا مي كند.
1 #include
2 #defineout0x00
3 sbit led=P1^3;
4 void wait()
5 {
6 Unsigned int x;
7 for(x=0;x<33000;x++);
8 }
9 main()
10 {
11 P1=out;
12 Led=0;
13 Wait();
14 Led=1;
15 Wait();
16 }
1) دستورات براي ميكرو كنترولر 8051 ترجمه شوند
2) #define دستوري است براي تعريف كردن يك متغير، كه در اين مثال مقدار 00H به متغيير out اختصاص داده مي شود.
3) بيت 3 از پورت 1 را كه مي خواهيم خاموش و روشن شود را تعريف مي كنيم.
4) برنامه تاخيري مي باشد كه بجاي waitهر كلمه يا حروف ديگري را مي توان به كار برد
5)
6) Unsigned int يك دستور 16 بيتي مي باشد كه در آن ما x را به عنوان متغيير تعريف مي كنيم.
7) مقدار اوليه x=0 قرار مي دهيم و 33000 عددي است كه تقريبا يك ثانبه تاخير به وجود مي آورد. و در نهايت به x يك واحد يك واحد اضافه مي شود. تا اين تاخير به وجود آيد.
8)
9) main() برنامه اصلي از اين پس شروع مي شود.
10)
11) P1=out محتواي پورت 1 را با مقدار out برابر مي كند و طبق رنگها ، out برابر با رنگ قرمز و در رنگ قرمز مقدار 00H به متغيير out داده شده پس اگر ما همه بيت هاي پورت 1 را LED ببنديم پس از اجراي اين دستور همه LED ها روشن كي شوند و اگر عدد 0xff را قرار دهيم همه LED ها روشن مي شوند.
12) Led=0 طبق رنگها بيت 3 از پورت 1 راخاموش مي كند.
13) Wait() طبق رنگها اين دستور برنامه تاخيري را كه يك ثانيه مي باشد اجرا مي كند.
14) Led=1 طبق رنگها بيت 3 از پورت 1 راروشن مي كند.
15) ) Wait() طبق رنگها اين دستور برنامه تاخيري را كه يك ثانيه مي باشد اجرا مي كند.
نكته :
0x00 اگر بخواهيم در حيني كه بيت 3 چشمك مي زند بقيه بيت ها خاموش بمانند مقدار 00 را به متغيير مي دهيم
0xff اگر بخواهيم در حيني كه بيت 3 چشمك مي زند بقيه بيت ها روشن بمانند مقدار ff را به متغيير مي دهيم
در ضمن ما اگر بخواهيم بين خاموش شدن و روشن شدن LED زمان هاي متفاوت داشته باشيم به صورت زير عمل مي كنبم:
مثلا مي خواهيم 1 ثانيه روشن باشد و زمان خاموشي 2 ثانيه باشد؟
1 #include
2 #defineout0x00
3 sbit led=P1^3;
4 void wait()
5 {
6 Unsigned int x;
7 for(x=0;x<33000;x++);
8 }
9 main()
10 {
11 P1=out;
12 Led=0;
13 Wait();
14 Wait();
15 Led=1;
16 Wait();
17 }
در خط 14 براي مدت زمان خاموشي 2 ثانيه يك بار ديگر Wait(); را اجرا مي كنيم تا زمان ما 2 ثانيه شود.
در ضمن براي ايجاد تاخير 1 ثانيه اي در ديگر برنامه مي توان از خط 4 الي 8 استفاده كرد
1 Comments
یعنی اگه همین کد را بزنیم
لامپ چشمک زن درست میشه