دانلود مقاله درون کامپیوتر

Word 61 KB 411 42
مشخص نشده مشخص نشده کامپیوتر - IT
قیمت قدیم:۲۴,۰۰۰ تومان
قیمت: ۱۹,۸۰۰ تومان
دانلود فایل
  • بخشی از محتوا
  • وضعیت فهرست و منابع
  • در این بخش مقدمه ای را برای سازمان و کار درونی کامپیوترها فراهم می آوریم.

    مدل بکار رفته یک مدل عمومی است، ولی مفاهیم مورد استفاده قابل اعمال به همه کامپیوترها از جمله ‍PS/2 , IBM و سازگار با آنهاست.

    قبل از آغاز این مبحث،‌مروری بر تعاریف برخی از اصطلاحات در کامپیوتر،‌مانند کیلو (k) ، مگا،‌گیگا، بایت، RAM, ROM و غیره مفید است.

    بعضی اصطلاحات مهم یکی از امکانات مهم یک کامپیوتر حافظه موجود در آن است.

    بنابراین اکنون اصطلاحات بکار رفته برای اندازه حافظه در IBM PC ها و سازگار با آنها را بیان می کنیم.

    از بحث قبل بیاد دارید که بیت یک رقم دودویی بود که می توانست مقدار 0 یا 1 داشته باشد.

    بایت یک مجموعه 8 بیتی است.

    نیبل نصف یک بایت، یا 4 بیت است.

    کلمه دو بایت یا 16 بیت می باشد.

    نمایش زیر به منظور نشان دادن اندازه نسبی این واحدها ارائه شده است.

    البته،‌آنها می توانند هر ترکیبی از صفرها و یک ها باشند.

    0 نیبل 0000 بایت 0000 0000 کلمه 0000 0000 0000 0000 یک کیلوبایت،‌ 10 2 بایت یا 1024 بایت است.

    اغلب از K برای بیان آن استفاده می شود.

    مثلاً برخی از فلاپی دیسک ها (یا دیسک نرم) k 356 داده را نگه می دارند.

    یک مگابایت، یا ساده تر مگ، 20 2 بایت است.

    این مقدار، کمی بیش از یک میلیون بایت است و مقدار دقیق آن 576/048/1 می باشد.

    با گذری سریع در ظرفیت به گیگابایت یا 30 2 بایت می رسیم (بیش از 1 بیلیون یا میلیارد)، و یک ترابایت نیز 40 2 بایت است (بیش از 1 تریلیون).

    برای مثالی از چگونگی کاربرد آنها،‌فرض کنید که کامپیوتری دارای 16 مگابایت حافظه باشد.

    این مقدار برابر با 220 * 16 یا 220 * 4 2 یا 224 است.

    بنابراین 16 مگابایت 224 بایت می باشد.

    در میکروکامپیوترها معمولا از دو نوع حافظه استفاده می شود که عبارتند از RAM ، که به معنی حافظه با دستیابی تصادفی است (گاهی هم حافظه خواندن / نوشتن نامیده می شود) و ROM که به معنی حافظه فقط خواندنی می باشد.

    RAM بوسیله کامپیوتر برای ذخیره سازی موقت برنامه های در حال اجرا مورد استفاده قرار می گیرد.

    این برنامه ها یا اطلاعات بعد از خاموش شدن کامپیوتر از بین می روند.

    به همین دلیل، RAM را گاهی حافظه فرار هم می خوانند.

    ROM برای برنامه ها و اطلاعات لازم در عملکرد کامپیوتر لازم است.

    اطلاعات در ROM دائمی است و قابل تعویض بوسیله کاربر نمی باشد و پس از خاموش شدن کامپیوتر هم از بین نمی رود.

    بنابراین آن را حافظه غیرفرار گوییم.

    سازمان درونی کامپیوترها بخش عملیاتی هر کامپیوتر قابل تفکیک به سه قسمت است: CPU (واحد پردازش مرکزی)، حافظه و وسایل I/O (ورودی / خروجی) ، شکل 9-0 ملاحظه شود.

    نقش CPU اجرای (پردازش) اطلاعات ذخیره شده در حافظه است.

    عمل وسایل I/O همچون صفحه کلید، مانیتور تصویر (ویدئو) ، تهیه مفاهیم ارتباط و محاوره با CPU است.

    CPU از طریق رشته ای از سیم ها به نام گذرگاه به حافظه و I/O متصل است.

    گذرگاه داخل یک کامپیوتر، درست مثل گذرگاههای خیابانی که مردم رااز مکانی به مکانی دیگر هدایت می کنند، اطلاعات را از جایی به جای دیگر انتقال می دهند.

    در هر کامپیوتر سه نوع گذرگاه موجود است: گذرگاه آدرس، گذرگاه داده و گذرگاه کنترل.

    به منظور شناسایی یک وسیله (حافظه یا I/O ) توسط CPU ، باید آدرسی به آن تخصیص داد.

    آدرس اختصاص یافته به یک وسله مورد نظر باید منحصر به فرد باشد؛ یعنی دو وسیله مختلف مجاز به داشتن یک آدرس نیستند.

    CPU آدرس را روی گذرگاه آدرس قرار می دهد (البته به شکل دودویی) و مدار دیکد وسیله را می یابد.

    آنگاه CPU از گذرگاه داده برای بدست آوردن داده از وسیله یا ارسال داده به آن استفاده می نماید.

    گذرگاههای کنترل برای تهیه سیگنال های خواندن و نوشتن در وسیله و مطلع ساختن آن از تصمیم CPU برای دریافت اطلاعات و یا ارسال اطلاعات به آن است.

    از سه گذرگاه فوق، آدرس و داده، توانمندی یک CPU را نشان می دهند.

    توضیحی بیشتر درباره گذرگاه داده چون گذرگاههای داده برای انتقال اطلاعات به و یا از CPU بکار می روند، هر چه گذرگاههای داده بیشتر باشند، CPU بهتر است.

    اگر گذرگاههای داده را همچون خطوط اتوبان تصور کنیم، واضح است که هر چه خطوط بیشتر باشند، مسیر بین CPU و وسایل بیرونی (مانند چاپگرها، ROM, RAM و غیره ، شکل 10-0 ملاحظه شود) بهتر خواهد بود.

    اما افزایش در تعداد خطوط، هزینه ساخت را افزایش می دهد.

    گذرگاههای حافظه بیشتر،‌بمعنای CPU و کامپیوتر گرانتر می باشد.

    اندازه متوسط گذرگاه داده در CPU ها بین 8 و 64 متغیر است، کامپیوترهای اولیه مانند Apple2 از یک گذرگاه داده 8 بیت استفاده می کردند، در حالیکه سوپرکامپیوترهایی همچون Cray گذرگاه داده 64 بیتی را به کار می برند.

    گذرگاههای داده دو طرفه هستند، زیرا CPU از آنها به هنگام دریافت و یا ارسال داده استفاده می کند.

    توان پردازش CPU به اندازه این گذرگاهها وابسته است، زیرا یک گذرگاه 8 بیتی هر بار قادر است 1 بایت داده را بفرستد،‌ولی گذرگاه 16 بیتی، 2 بایت را هر بار ارسال می کند که در نتیجه دو برابر سریعتر خواهد بود.

    توضیحی بیشتر درباره گذرگاه آدرس چون گذرگاه آدرس برای شناسایی وسیله و حافظه متصل به CPU بکار می رود، هر چه گذرگاههای آدرس بیشتر باشند، تعداد وسایلی که آدرس دهی می شوند بیشتر خواهند بود.

    به بیان دیگر تعداد گذرگاههای آدرس برای یک CPU ، تعداد مکان هایی را که با آن محاوره می کند افزایش می دهد.

    همواره تعداد مکان ها است که در آن x تعداد خطوط آدرس می باشد و ربطی به اندازه خطوط داده ندارد.

    مثلا یک CPU با 16 خط آدرس می تواند 65536 (216 ) یا k 64 حافظه را آدرس دهی کند.

    هر مکان حداکثر 1 بایت داده دارد.

    به این دلیل است که غالباً تمام ریزپردازنده های همه منظور را بایت آدرس پذیر می نامند.

    برای مثالی دیگر، کامپیوتر IBM PC AT از یک CPU با 24 خط آدرس و 16 خط داده استفاده می کند.

    در این حالت،‌کل حافظه قابل دسترس،‌16 مگابایت خواهد بود (مگابایت 16=224) در این مثال 224 مکان وجود دارد، و چون هر مکان یک بایت است،‌16 مگابایت حافظه موجود خواهد بود.

    گذرگاه آدرس یک گذرگاه یک طرفه می باشد، و به این معنی است که CPU از گذرگاه آدرس فقط برای ارسال آدرس به خارج از خود استفاده می کند.

    بطور خلاصه: تعداد کل حافظه های آدرس‌پذیر بوسیله یک CPU همیشه برابر با x2 می باشد که در آن x تعداد بیت های آدرس است و ربطی به اندازه گذرگاه داده ندارد.

    CPU و ارتباط آن با RAM و ROM در پردازش اطلاعات بوسیله CPU ، داده باید در RAM یا ROM ذخیره شود.

    وظیفه ROM در کامپیوترها ارائه اطلاعات ثابت و دائمی است.

    این اطلاعات عبارتند از :‌جداول برای الگوی کاراکترهای مورد نمایش روی صفحه مانیتور، یا برنامه هایی که در کامپیوتر نقش اساسی دارند، مانند برنامه هایی که کل RAM موجود در سیستم را می یابند و یا تست می کنند، و یا برنامه هایی که اطلاعات را روی مانیتور نمایش می دهند.

    بر عکس، RAM برای ذخیره اطلاعاتی بکار می رود که غیر دائمی و قابل تغییر با زمان می باشند، مانند انواع سیستم های عامل و بسته های کاربردی مثل بسته های پردازش کلمات و محاسبه مالیاتی.

    این برنامه ها را برای پردازش توسط CPU در RAM قرار داده می شوند.

    CPU اطلاعات مورد پردازش را از RAM یا ROM دریافت می نماید.

    در صورتیکه آن را در آنجا نباید شروع به جستجو در وسایل ذخیره سازی حجیم مانند دیسک می نماید، و سپس اطلاعات را به RAM منتقل می کند به این دلیل، گاهی RAM و ROM را حافظه اصلی می نامند و دیسک ها نیز حافظه ثانوی خوانده می شوند.

    درون CPU ها برنامه ذخیره شده در حافظه دستورالعمل هائی را برای CPU فراهم می سازد تا بر اساس آن عملی را انجام دهد.

    عمل می تواند یک جمع داده ساده همچون صورتحساب و یا کنترل یک ماشین مانند روبات باشد.

    برداشت این دستورات از حافظه و اجرای آنها بعهده CPU است.

    برای انجام اعمال برداشت و اجرا، تمام CPU ها مجهز به امکانات زیر هستند: 1- قبل از هر چیز تعدادی ثبات در اختیار CPU قرار دارد.

    CPU از این ثبات ها برای ذخیره موقت اطلاعات استفاده می کند.

    اطلاعات می تواند دو مقدار مورد پردازش و یا آدرس مقدار مورد نظری باشد که باید از حافظه برداشت شود.

    ثبات های درون CPU می توانند 8 بیت ، 16 بیت، 32 بیت و یا حتی 64 بیت باشند.

    اندازه آنها به CPU بستگی دارد.

    بطور کلی هر چه ثبات ها بیشتر و بزرگتر باشند، CPU مناسب تر است.

    عیب ثبات های بیشتر و بزرگتر، گرانی CPU می باشد.

    2- CPU دارای بخشی بنام ALU (واحد حساب/ منطق) است.

    بخش ALU در CPU مسئول انجام اعمال حسابی مانند جمع، تفریق، ضرب و تقسیم، و اعمال منطقی مانند AND ، OR و NOT می باشد.

    3- هر CPU دارای یک شمارنده برنامه است.

    نقش شمارنده برنامه اشارهبه آدرس دستورالعمل بعدی برای اجرا است.

    با اجرای هر دستورالعمل، شمارنده برنامه افزایش یافته و به آدرس دستورالعمل بعدی برای اجرا اشاره خواهد کرد.

    در این اشاره، محتوای شمارنده برنامه روی گذرگاه آدرس قرار گرفته و دستورالعمل مورد نظر را یافته و آن را از مبدأ برداشت می کند.

    در IBM PC شمارنده برنامه را IP یا اشاره گر دستورالعمل می خوانند.

    4- نقش دیکدر دستورالعمل ، تفسیر دستور برداشت شده توسط CPU است.

    می توان دیکدر دستورالعمل را همانند یک فرهنگ لغت تصور کرد که مفهوم هر دستورالعمل را ذخیره نموده و CPU را در برداشت قدم های بعدی پس از دریافت دستورالعمل هدایت می کند.

    همانطور که فرهنگ لغت باتعریف هر چه بیشتر لغات نیاز به صفحات بیشتری دارد، CPU هم در درک دستورالعمل های بیشتر نیاز به ترانزیستورهای بیشتری خواهد داشت.

    عملیات درونی کامپیوتر برای نمایش برخی از مفاهیم مورد بحث فوق، تحلیل قدم به قدمی از پردازش یک CPU برای جمع سه عدد در زیر داده شده است.

    فرض کنید که یک CPU فرضی دارای چهارثبات با نام های D,C,B,A باشد.

    این پردازشگر دارای گذرگاه داده 8 بیتی و گذرگاه آدرس 16 بیتی است.

    بنابراین CPU می تواند به حافظه هایی از 0000 تا FFFFH دسترسی داشته باشد برای نمایش برخی از مفاهیم مورد بحث فوق، تحلیل قدم به قدمی از پردازش یک CPU برای جمع سه عدد در زیر داده شده است.

    بنابراین CPU می تواند به حافظه هایی از 0000 تا FFFFH دسترسی داشته باشد (جمعاً H 10000 مکان) .

    عملی که CPU می خواهد انجام دهد عبارتست از قراردادن مقدار 21 در ثبات A و سپس جمع ثبات A با مقادیر H42 و H12 فرض کنید که کد انتقال مقدار به ثبات A برابر (BOH) 10111000 و کد جمع یک مقدار به ثبات A نیز (04H ) 0100 0000 باشد.

    مراحل لازم و کد اجرای آنها برابر زیر است: اگر برنامه اجرایی فوق در مکان هایی از حافظه قرار گیرد که از H 1400 شروع می شود.

    محتوای هر مکان حافظه بقرارزیراست: عملیاتی که CPU برای اجرای برنامه فوق طی می کند بقرار زیر است: 1- شمارنده برنامه CPU می تواند مقداری بین 0000 و FFFFH داشته باشد.

    باید 1400 را در شمارنده برنامه نشاند تا آدرس اولین دستورالعمل برای اجرا مشخص گردد.

    پس از بارکردن شمارنده برنامه با آدرس اولین دستورالعمل، CPU آماده اجرا است.

    2- CPU ، H 1400 را روی گذرگاه آدرس قرار داده و آن را به خارج ارسال می دارد.

    مدار حافظه مکان را می یابد و در این هنگام CPU نیز سیگنال READ را فعال می نماید و به این ترتیب بایت مکان H1400 را از حافظه درخواست می کند.

    این موجب می شود تا محتوای حافظه در مکان H 1400 ، که B0 است، روی گذرگاه قرار گیرد و به CPU انتقال یابد.

    3- CPU دستورالعمل B0 را به کمک مدار دیکد دستورالعمل، دیکد می کند.

    پس از یافتن تعریف دستورالعمل متوجه می شود که باید محتوی مکان حافظه بعدی را به ثبات A در داخل CPU بیاورد.

    بنابراین به مدار کنترل خود فرمان اجرای دقیق آن را صادر می نماید.

    وقتی که مقدار H 21 را از مکان 1401 حافظه به درون آورد، دریچه های ورودی همه ثبات ها را بجز ثبات A ، می بندد.

    بنابراین مقدار H 21 وقتی وارد CPU شود مستقیماً وارد ثبات A می گردد.

    پس از تکمیل یک دستورالعمل ، شمارنده برنامه به آدرس دستورالعمل بعدی برای اجرااشاره می کند، که در این حالت 1402 است.

    سپس آدرس H 1402 به روی گذرگاه آدرس ارسال می شود تا دستورالعمل بعدی برداشت شود.

    4- آنگاه از مکان H 1402 ، کد 04 را بر می دارد.

    پس از دیکد کردن، CPU می فهمد که باید محتوای ثبات A را با بایتی که در آدرس بعدی قرار دارد (1403) جمع کند.

    پس از آوردن مقدار (در این حالت H42 ) به درون CPU ، مقدار درون ثبات A را همراه با این مقدار به ALU برای انجام جمع تحویل می دهد.

    سپس نتیجه جمع را از خروجی ALU دریافت کرده و در ثبات A قرار می دهد.

    در این هنگام شمارنده برنامه برابر با H 1404 ، یعنی آدرس دستورالعمل بعدی می گردد.

    5- آدرس H 1404 روی گذرگاه آدرس قرار می گیرد و کد درون آن آدرس به داخل CPU آورده شده و سپس دیکد و اجرا می گردد.

    مجدداً این کد مقداری را به ثبات A می افزاید.

    شمارنده برنامه به H 1406 اصلاح می شود.

    6- نهایتاً، محتوای آدرس 1406 برداشت و اجرا می گردد.

    این دستورالعمل، HALT ، به CPU می فهماند تا افزایش شمارنده برنامه را متوقف نماید.

    در غیاب HALT ، CPU به اصلاح شمارنده برنامه ادامه داده و دستورالعمل ها را برداشت می نماید.

    اکنون فرض کنید که آدرس H1403 به جای H 42 ، حاوی 04 باشد.

    CPU چگونه داده 04 را برای جمع از کد 04 تفکیک می کند؟

    بخاطر آورید که برای این CPU ، کد 04 به معنی انتقال یک مقدار به داخل ثبات A است، بنابراین CPU سعی بر دیکد مقدار بعدی نخواهد کرد، بلکه محتوای مکان حافظه بعدی را بدون توجه به مقدار آن بداخل ثبات A منتقل می سازد.

    این فصل با بحثی در موردنقش و اهمیت میکروکنترلرها در زندگی روزمره آغاز می شود.

    در بخش 1-1 روال انتخاب یک میکروکنترلر، همراه با استفاده از آنها را مورد بحث قرار می دهیم.

    بخش 2-1 انواع اعضای خانواده 8051 ، همچون 8052 ، 8031 و ویژگی های آنها را پوشش می دهد.

    بعلاوه انواع مختلف 8051 مانند 8751 ، AT 51C89 و 5000DS را مورد بحث قرار خواهیم داد.

    میکروکنترلرها و پردازنده های درونی در این بخش نیاز به میکروکنترلرها و مقایسه آنها با میکروپروسسورهای همه منظوره ای چون پنتیوم و دیگر میکروپروسسورها بحث شده است.

    ما به نقش میکروکنترلر در بازار نیز نگاه خواهیم کرد.

    بعلاوه، روالی را برای انتخاب یک میکروکنترلر نیز ارائه خواهیم داد.

    میکروکنترلرها در برابر میکروپروسسورهای همه منظوره تفاوت بین یک میکروپروسسور و یک میکروکنترلر چیست؟

    منظور از یک میکروپروسسور (ریزپردازنده)، میکروپروسسورهایی از خانواده 86x اینتل مثل 8086،‌80286 ، 80386 ، 68020 ، 68030 ، 68040 و یا خانواده هایی از این قبیل است.

    این میکروپروسسورها فاقد RAM ، ROM و پورت های I/O در درون خود تراشه هستند.

    با این دلیل به آنها میکروپروسسورهای همه منظور می گویند.

    طراح سیستمی که از میکروپروسسور همه منظوره ای چون پنتیوم ، 68040 استفاده می کند باید در خارج از آن ROM, RAM ، پورت های I/O و تایمرها را اضافه نماید تا سیستمی قابل کار ساخته شود.

    گر چه افزایش ROM, RAM و پورت های I/O موجب حجیم شدن و گرانتر شدن سیستم ها می گردد، ولی به قابلیت انعطاف آنها افزوده می شود.

    از جمله اینکه طراح می تواند روی مقدار ROM, RAM پورت های I/O بر حسب نوع کاربردتصمیم گیری و اعمال نظر نماید.

    این توانمندی در میکروکنترلرها امکان پذیر نیست.

    یک میکروکنترلر دارای یک CPU به همراه مقدار ثابتی از ROM, RAM ، پورت های I/O و تایمر در درون خود می باشد.

    به بیان دیگر، پروسسور، ROM, RAM پورت های I/O و تایمر همگی در یک تراشه جای داده شده اند؛ بنابراین طراح نمی تواند یک حافظه، I/O یا تایمری را بدون گسترش لازم آن از بیرون اضافه کند.

    مقدار ثابت ROM ، RAM و مقدار پورت های تثبیت شده در میکروکنترلرها ، آنها را برای کاربردهایی که قیمت و محفظه در آنها بحرانی است ایده آل کرده است.

    در بسیاری از کاربردها مثل کنترل از راه دور TV ،احتساب توان میکروپروسسورهایی چون 486 یا حتی 8086 هم لزومی ندارد.

    در بعضی کاربردها، فضای اشغالی، توان مصرفی و قیمت هر واحد اهمیت بیشتری نسبت به توان محاسباتی دارد.

    این کاربردها اغلب نیاز به بعضی عملیات I/O برای خواندن سیگنال ها و روشن و خاموش کردن بیت های معینی دارند.

    باین دلیل بعضی ، آنها را پروسسورهای “itty-bitty” می خوانند.

    مقاله “Good things in small Packages Are Generating Big Product Opportunities” که بوسیله Rick Grehan در مجله Byte شماره www.

    Byte 1994; com september نوشته شده و در آن بحث جالبی از میکروکنترلرها ارائه شده مطالعه نمایید.

    میکروکنترلرها و سیستم های تک منظوره در مقالاتی که میکروپروسسورها مطرح می شوند، اغلب عبارت سیستم تک منظوره را ملاحظه می کنیم.

    میکروپروسسورها و میکروکنترلرها بطور گسترده ای در تولید سیستم های تک منظوره بکار می روند.

    یک محصول تک منظوره از یک میکروپروسسور (یا میکروکنترلر) برای انجام فقط و فقط یک کار استفاده می کند.

    یک چاپگر نمونه ای از یک سیستم تک منظوره است زیر پروسسور داخل آن فقط یک کار را انجام می دهد و آن این است که داده را بدست آورده و آن را چاپ کند.

    این کار را با یک PC مبتنی بر پنتیوم (مانند هر PC سازگار با IBM 86 x ) مقایسه نمایید.

    PC می تواند برای هر کاربردی مانند پردازشگرهای کلمات، مراکز چاپ، پایانه، لیست های بانک، بازی های ویدیوئی ، سرویس دهنده شبکه و پایانه اینترنت مورد استفاده قرار گیرد، برای انواع کاربردها می توان به راحتی برنامه را در pC بار کرده وآن را اجرا کرد.

    البته دلیل قابلیت اجرای کارهای متنوع در PC این است که دارای حافظه RAM و سیستم عاملی است که نرم افزار کاربردی را در RAM بار کرده و اجازه اجرای آن را به PC می دهد.

    در یک سیستم تک منظوره ، تنها یک نرم افزار کاربردی وجود دارد و معمولاً در ROM سوزانده می شود.

    یک PC 86 x ممکن است به وسایل تک منظوره ای مانند صفحه کلید، چاپگر، مودم ، کنترل گر دیسک، کارت صدا، راه انداز CD-ROM ، ماوس و غیره متصل باشد.

    هر یک از این وسایل جانبی در داخل خود دارای یک میکروکنترلر برای انجام کار خاص می باشند.

    مثلاً در داخل هر ماوس یک میکروکنترلر وجود دارد که وظیفه اش یافتن مکان ماوس و ارسال آن به PC است.

    جدول 1-1 بعضی از محصولات تک منظوره را نشان می دهد.

    8051 دارای دو شمارنده / تایمر است.

    آنها می توانند به عنوان تایمر (زمان سنج) برای تولید یک تأخیر زمانی یاشمارنده برای شمارش وقایع رخداده در خارج میکروکنترلر بکار روند.

    در این فصل نشان می دهیم که آنها چگونه برنامه ریزی شده و مورداستفاده قرار می گیرند.

    در بخش 1-9 چگونگی استفاده از تایمرها برای تولید تأخیرهای زمانی نشان داده شده است.

    در بخش 2-9 نشان می دهیم که چگونه در شمارش وقایع (یا پدیده های فیزیکی) مورد استفاده قرار می گیرند.

    برنامه نویسی تایمرهای 8051 8051 دارای دو تایمر است: تایمر 0 و تایمر 1 این تایمرها می توانند به عنوان تایمر یا پدیده شمار بکار روند.

    در این بخش ما ابتدا ثبات های تایمر را بحث کرده و سپس چگونگی برنامه نویسی تایمرها را برای تولید تأخیرهای زمانی نشان خواهیم داد.

    ثبات های اساسی تایمر هر دو تایمر 0 و 1 شانزده بیت عرض دارند.

    چون 8051 ساختار 8 بیتی دارد، هر تایمر شانزده بیتی با دو ثبات مختلف بایت پایین و بایت بالا دستیابی می شود.

    هر تایمر بطور جداگانه بحث شده است.

    ثبات های تایمر 0 ثبات 16 بیتی تایمر 0 بصورت بایت بالا و بایت پایین دستیابی می شوند.

    ثبات بایت پایین را TL0 (بایت پایین تایمر 0 ) و ثبات بایت بالا را TH0 (بایت بالا تایمر 0 ) می خوانند.

    این ثبات ها مثل هر ثبات دیگری مانند R2,R1,R0,B,A و غیره قابل دسترسی هستند.

    مثلا دستور MOV TL0,#4FH ، مقدار 4FH را به TL0 منتقل می سازد، که بایت پایین تایمر 0 است.

    این ثبات ها مانند دیگر ثبات ها قابل خواندن هم هستند.

    مثلاً TH0 , "MOV R5, TH0” را در R5 ذخیره می کند.

    ثبات های تامیر 1 تایمر 1 هم 16 بیتی است و 16 بیت آن به صورت دو بایت به دو نیم شده است.

    که هر یک را TL1 (بایت پایین تایمر 1 ) و TH1 (بایت بالای تایمر 1 ) می نامند.

    این ثبات ها به روشی مشابه با ثبات های تایمر 0 قابل دستیابی اند.

    ثبات TMOD (مد تایمر) هر دو تایمر 0 و 1 از یک ثبات به نام TMOD برای تنظیم انواع مدهای عملیاتی تایمر استفاده می کنند.

    TMOD یک ثبات 8 بیت است که در آن 4 بیت پایین تر برای تایمر 0 و 4 بیت بالاتر برای تایمر 1 کنار نهاده شده است.

    در هر حال، دو بیت پایین تر برای تنظیم تایمر و دو بیت بالاتر برای مشخص کردن عملیات بکار می روند.

    این انتخاب ها در زیر بحث شده اند.

    M1, M0 M1, M0 برای انتخاب مد تایمر است.

    همانطور که در شکل 3-9 دیده می شود،‌سه مد 0 و 1 و 2 وجود دارد.

    مد 0 یک تایمر 13 بیت، مد 1 یک تایمر 16 بیت و مد 2 یک تایمر 8 بیت است.

    ما عمدتاً بر مدهای 1 و 2 تأکید خواهیم کرد زیرا بیشتر از دیگری مورد استفاده اند.

    بزودی مشخصه این مدها را بیان خواهیم کرد.

    این کار بعد از توصیف بقیه ثبات TMOD خواهد بود.

    C/T (تایمر / ساعت) این بیت در ثبات TMOD برای تصمیم گیری انتخاب تایمر به عنوان مولد تأخیر و یا شمارنده وقایع بکار می رود.

    اگر 0 = C/T باشد از آن به عنوان تایمر برای تولید زمان تأخیر استفاده می شود.

    منبع ساعت برای تأخیر فرکانس کریستال 8051 است.

    این بخش با این انتخاب به بحث ادامه خواهد داد.

    استفاده از تایمر به عنوان پدیده شمار در بخش بعد بحث شده است.

    تولید زمان تأخیر طولانی همانطور که در مثال های فوق تا کنون دیدیم، سایز تأخیر زمانی به دو فاکتور وابسته است (الف) فرکانس کریستال، و (ب) به ثبات 16 بیتی تایمر در مد 1 ، هر دو فاکتور فوق خارج از کنترل 8051 بوسیله برناهم نویس است.

    قبلاً دیدم که بزرگترین زمان قابل دسترسی با صفر کردن TH و TL بدست می آید.

    چرا این مقدار کافی نیست؟‌مثال 13-9 چگونگی دستیابی به تأخیرهای زمانی بزرگ را نشان می دهد.

    با استفاده از ماشین حساب ویندوز، TL و TH را پیدا کنید.

    ماشین حساب علمی در ویندوز میکروسافت یک ابزار ساده ای برای یافتن مقادیر TL و TH است.

    فرض کنید می خواهیم مقادیر TH و TL را برای تأخیر زمانی 35000 پالس 085/1 پیدا کنیم.

    در زیر مراحل محاسبه آمده است: 1- ماشین حساب علمی را در MS Windows بالا آورده و دهدهی را انتخاب کنید.

    2- 35000 را وارد کنید.

    3- مبنای 16 را انتخاب نمایید.

    این موجب تبدیل 35000 به B8H 88 می شود.

    4- - / + را برای 35000- دهدهی (7748H) اختیار کنید.

    5- دو رقم کم ارزشتر (48) از مقدار فوق به TL و (77) برای TH است.

    ما همه F های سمت را صرفنظر می کنیم زیرا داده 16 بیت است.

    مد 0 مد 0 دقیقاً مثل مد 1 است.

    با این تفاوت که بجای 16 بیت، یک تایمر 13 بیت است.

    شمارنده 13 بیتی می تواند از 0000 تا FFF1 را در TH-TL نگه دارد.

    بنابراین وقتی تایمر به FFFH1 می رسد به 0000 بازگشته TF را بالا می برد.

    برنامه نویسی مد 2 در زیر مشخصات و عملکرد مد 2 تشریح شده است.

    1- این یک تایمر 8 بیت است، بنابراین فقط اعداد 00 تا FFH را برای بارشدن TH از ثبات تایمر اجازه می دهد.

    2- پس از بارشدن TH با مقدار 8 بیتی،‌8051 یک کپی از آن را به TL می دهد.

    سپس تایمر باید آغاز به کار کند.

    این کار بوسیله دستور “SETB TRO" برای تایمر 0 و “SETB TRI" برای تایمر 1 انجام می شود.

    این قسمت دقیقاً مثل مد 1 می باشد.

    3- پس از شروع تایمر، با افزایش ثبات TL شروع به شمارش می کند.

    شمارش تا رسیدن به FFH ادامه دارد.

    وقتی که از FFH به 00 باز گردد، پرچم TF را بالا می برد.

    اگر از تایمر 0 استفاده شود، TF0 بالا می رود و اگر تایمر 1 مورد استفاده قرار گیرد، TF1 بالا خواهد رفت.

    4- وقتی که ثبات TL از FFH به 0 می رود TF برابر 1 می شود و TL با مقدار اولیه بار شده در TH بطور خودکار مجدداً بار می گردد.

    برای تکرار فرآیند باید TF را فقط پاک کرده اجازه بدهیم بدون هر نیازی به بار شدن مقدار اولیه بوسیله برنامه نویس، کار ادامه یابد.

    این قابلیت، بر خلاف مد 1 که در آن برنامه نویس باید بار شدن مجدد TH و TL را انجام دهد مد 2 را بیک امکان خودکار با بار شدن اتوماتیک تبدیل کرده است.

    باید تأکید کرد که مد 2 یک تایمر 8 بیت است.

    با این وجود، قابلیت بار شدن خودکار را دارد.

    در بار شدن خودکار،‌TH با مقدار اولیه بار می شود و سپس یک کپی از آن به TL داده می شود.

    بار کردن TH را تغییر نمی دهد، بلکه همچنان مقدار اولیه را حفظ م یکند.

    این مد کاربردهای متعددی دارد از جمله آنها تنظیم میزان باود است که در فصل 10 خواهیم دید.

    مراحل برنامه نویسی در مد 2 برای تولید یک تأخیر زمانی با مد 2 تایمر، مراحل زیر را اجرا کنید.

    1- مقدار ثبات TOMD را بار کنید تا مشخص شود کدام تایمر بکار می رود، و کدام مد تایمر انتخاب شده است.

    2- ثبات TH را با مقدار اولیه شمارش بار کنید.

    3- تایمر را شروع کنید.

    4- پرچم تایمر (TF) را با دستور “JNB TFx, target" ردیابی کنید تا ببینید آیا بالا رفته است.

    اگر TF بالا بود از حلقه خارج شوید.

    5- پرچم TF را پاک کنید.

    6- به مرحله 4 بازگردید چون مد 2 بطور خودکار بار می شود.

    برنامه ریزی شمارنده در آخرین بخش از تایمر/ شمارنده 8051 برای تولید تأخیرهای زمانی استفاده کردیم.

    این تایمرها برای شمارش پدیده های رخداده در خارج 8051 هم استفاده می شوند.

    استفاده از تایمر/ شمارنده به عنوان یک پدیده شمار، هر چه در بخش قبل راجع به تایمر گفته شد، در برنامه ریزی آن به عنوان شمارنده، بجز منبع فرکانس،‌صادق است.

    وقتی که تایمر / شمارنده به عنوان تایمر (زمان سنج) بکار رود، کریستال 8051 به عنوان منبع فرکانس بکار می رود.

    با این وجود وقتی که به عنوان شمارنده مورد استفاده قرار گیرد، پالس بیرون 8051 ثبات های TH و TL را افزایش می دهد.

    در مد شمارنده، ثبات های TH و TL و TMOD همان هایی هستند که در بخش قبل بحث شده؛ آنها حتی می توانند نام یکسانی داشته باشند.

    مدهای تایمر هم یکسانند.

    بیت C/T در ثبات TMOD در بخش قبل دیدیم که بیت C/T در ثبات TMOD در مورد منبع ساعت برای تایمر تصمیم می گیرد.

    اگر C/T=0 باشد، تایمر پالس ها را از کریستال بدست می آورد.

    در مقابل، وقتی C/T=1 است، تایمر به عنوان شمارنده بکار رفته و پالس ها را از بیرون 8051 بدست می آورد.

    بنابراین در C/T=1 شمارنده با ورود پالس ها به پایه های 14 و 15 رو به بالا می شمارد.

    این پایه ها T0 (ورودی تایمر 0 ) و T1 (ورودی تایمر 1 ) نامیده می شوند.

    توجه کنید که این دو پایه متعلق به پورت 3 هستند.

    در تایمر 0 ، وقتی C/T=1 است، پایه P3.4 پالس ساعت را فراهم می نماید و بازاء هر پالس وارده از پایه، شمارنده رو به بالا می شمارد.

    بطور مشابه، برای تایمر 1 ، وقتی C/T=1 باشد هر پالس ساعت وارده از پایه P3.5 موجب بالا رفتن شمارنده می گردد.

    ثبات TCON در مثال هایی که تا کنون ارائه شدند کاربرد پرچم های TRO و TR1 در روشن و خاموش کردن تایمرها را ملاحظه کردیم.

    این بیت ها بخشی از ثباتی 8 بیتی به نام TCON (کنترل تایمر) است.

    همانطور که در جدول 2-9 ملاحظه شد چهاربیت بالا برای ذخیره بیت های TF و TR در دو تایمر 0 و 1 بکار رفتند.

    4 بیت پایین تر برای کنترل بیت های وقفه اختصاص یافته است که در فصل 11 در مورد آنها صحبت خواهیم کرد.

    متذکر می شویم که ثبات TCON یک ثبات آدرس پذیر بیتی است.

    در عوض بکارگیری دستوراتی چون “STEB “CLR TR1 , TR1” می توانیم بترتیب از “SETB TCON” و “CLR TCON.6” استفاده کنیم.

    جدول 2-9 جایگزینی بعضی از دستوراتی را که تاکنون دیده ایم نشان می دهد.

    وقفه های 8051 در این بخش ابتدا تفاوت بین سرکشی و وقفه ها بررسی گردیده و سپس انواع وقفه های 8051 توصیف شده اند.

    وقفه ها در برابر سرکشی یک میکروکنترلر می تواند چندین دستگاه را سرویس بدهد.

    برای انجام آن دو راه وجود دارد: روش وقفه و سرکشی.

    در روش وقفه ، هر وقت وسیله ای به سرویس نیاز داشته باشد، با ارسال یک سیگنال وقفه میکروکنترلر را مطلع می سازد.

    میکروکنترلر پس از دریافت سیگنال وقفه،‌هر کاری را کنار گذاشته و به وسیله سرویس می دهد.

    برنامه متعلق به وقفه ، روال سرویس وقفه (ISR)، یا اداره کننده وقفه نامیده می شود.

    در روش سرکشی، میکروکنترلر مرتباً وضعیت وسیله مورد نظر را ردیابی می کند.

    وقتی که شرایط ایجاب می کند،‌سرویس را انجام می دهد.

    پس از آن به سراغ وسیله دیگر می رود، تا اینکه همه را سرویس دهد.

    گرچه سرکشی قادر است وضعیت چندین دستگاه را ردیابی کرده و تحت شرایطی آنها را سرویس دهد،‌ولی از نظر کاربرد میکروکنترلر، یک روش کارآیی نیست.

    مزیت وقفه این است که میکروکنترلر می تواند چندین وسیله را سرویس دهد (البته نه بطور همزمان) هر وسیله قادر است توجه میکروکنترلر را بر حسب اولویت منتسب به خود جلب کند.در روش سرکشی امکان تخصیص اولویت وجود ندارد زیرا همه وسایل را بر حسب روش تخصیص دوره ای (rond-robin fasion) چک کند.

    مهمتر اینکه،‌در روش وقفه میکروکنترلر قادر است تا یک وسیله و تقاضای آن را برای سرویس نادیده بگیرد.

    مجدداً این کار در سرکشی میسر نیست.

    مهمترین دلیل در ارجحیت وقفه این است که روش سرکشی بخش قابل توجهی از زمان میکروکنترلر را با سرکشی وسایل و دستگاههای که نیاز به سرویس ندارند تلف می کند.

    به بیان دیگر برای خودداری از کند شدن عملکرد میکروکنترلر، وقفه ها بکار می روند.

    مثلا در بحث تایمرها که در فصل 9 انجام شد ما از دستور “JNB TF, target" استفاده کردیم، و آنقدر صبر کردیم تا وقت تایمر به سر برسد.

    در آن مثال ضمن انتظار قادر به انجام هیچ کار دیگری نبودیم.

    این همان وقت تلف شده ای است که می توانستیم طی آن کارهای مفید بسیاری انجام دهیم.

    در وضعیت تایمر،‌اگر از روش وقفه استفاده کنیم، میکروکنترلر می تواند مشغول به کار دیگری باشد و وقتی پرچم TF بالا برود به میکروکنترلر در هر صورت وقفه بدهد.

  • فهرست:

    ندارد.


    منبع:

    ندارد.

در اين بخش مقدمه اي را براي سازمان و کار دروني کامپيوترها فراهم مي آوريم. مدل بکار رفته يک مدل عمومي است، ولي مفاهيم مورد استفاده قابل اعمال به همه کامپيوترها از جمله ‍PS/2 , IBM و سازگار با آنهاست. قبل از آغاز اين مبحث،‌مروري بر تعاريف برخي از اصطل

مقدمه گر چه کامپیوترها تنها چند دهه ای است که با ما همراهند، با این حال تأثیر عمیق آنها بر زندگی ما با تأثیر تلفن ، اتومبیل و تلویزیون رقابت می کند. همگی ما حضور آنها را احساس می کنیم، چه برنامه نویسان کامپیوتر و چه دریافت کنندگان صورت حساب های ماهیانه که توسط سیستم های کامپیوتری بزرگ چاپ شده و توسط پست تحویل داده می شود. تصور ما از کامپیوتر معمولا داده پردازی است که محاسبات ...

مقدمه‌اي بر ميکروکنترلر 8051 باوجود اينکه بيش از بيست سال از تولد ريز پردازنده نمي‌گذرد، تصور وسيال الکترونيکي و ... بدون آنکه کار مشکي است در سال 1971 شرکت اينتل: 8080 را به عنوان اولين ريز پردازنده موفق عرضه کرد مدت کوتاهي پس از آن، موتورولا

مقدمه: گرچه کامپیوترهای تنها چند دهه‎ای است که با ما همراهند با این حال تأثیر عمیق آنها بر زندگی ما به تأثیر تلفن، اتومبیل و تلویزیون رقابت می‎کند. همگی ما حضور آنها را احساس می‎‏کنیم چه برنامه‎نویسان کامپیوتر و چه دریافت کنندگان صورت حسابهای ماهیانه که توسط سیستمهای کامپیوتری بزرگ چاپ شده و توسط پست تحویل داده می‎شود. تصور ما از کامپیوتر معمولاً «داده‎پردازی» است که محاسبات ...

آنچه در این فصل می آموزید: / کنترل میزان مصرف حافظه در سیستم / اجرای برنامه های ارزیابی و سنجش حافظه /نمایش اطلاعات حافظه ویندوز به کمک برنامه Sandra / آماده شدن برای ارتقا حافظه سیستم / عیب یابی نصب حافظه در سیستم / حذف کاربرد حافظه بسط یافته و حافظه توسعه یافته در محیط ویندوز / کنترل مقدار فیزیکی مصرف RAM در محیط ویندوز قبل از اینکه Cpu بتواند برنامه‌ها را اجرا کند، دستورات و ...

کامپيوترهاي شخصي اغلب مردم زمانيکه با واژه تکنولوژي برخورد مي نمايند ، بي اختيار کامپيوتر براي آنها تداعي مي گردد. امروزه کامپيوتر در موارد متعددي بخدمت گرفته مي شود. برخي از تجهيزات موجود در منازل ، داراي نوع خاصي از ريزپردازنده مي باشند. حتي اتوم

پیش گفتار : پروژه دستگاه بار کد خوان محصول تحقیق چندین ماهه بوده که ؟ مسیر از منابع و مأخذهای مختلف در زمینه بارکد خوانی و ارسال آن به پورت سریال PC بهره جستم . لازم به ذکر این نکته است که مطلوب نظر اینجانب استفاده از باکس رفلکس بارکد خوان بود و ؟ به دلیل یافت نشدن این ؟ بنده را بر آن داشت که به جای استفاده از روش انعکاس از روش عبوری استفاده کنیم. که این روش مستلزم آن بود که ...

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

چکیده امروزه کامپیوتر در موارد متعددی به خدمت گرفته می شود . برخی از تجهیزات موجود در منازل ، دارای نوعی خاصی از ریز پردازنده می باشند . حتی اتومبیل های جدید نیز دارای نوعی کامپیوتر خاص می باشند . کامپیوترهای شخصی ، اولین تصویر از انواع کامپیوترهائی است که در ذهن هر شخص نقش پیدا می کند. که به شرح چند نمونه از سخت افزار کامپیوتر می پردازیم. 1- حافظه RAM (Random Access Memory) RAM ...

مقدمه» با وجود اينکه بيش از بست سال از تولد ريز پردازنده نمي گذرد،تصور وسايل الکترونيکي و اسباب بازيهاي امروزي بدون آن کار مشکلي است.در 1971 شريک انيتل،8080 را به عنوان اولين ريز پردازنده موفق عرضه کرد.مدت کوتاهي پس از آن،موتور ولا،RCA و سپس Mo

ثبت سفارش
تعداد
عنوان محصول