دانلود مقاله تحقیق پایان نامه

پایان نامه درباره خروجی محور، اطمینان

[do_widget id=kl-erq-2]

#define LCD_E PIN_B2
در این پروژه و در قسمت مربوط به ثبت داده در حافظه جانبی ملزم به تبدیل دادﻩهای عددی به رشته بوده، بنابراین از توابع مربوط به رشته ها از کتابخانه string.h استفاده شد.
#include
قبل از ورود به بدنه اصلی برنامه ﻣﯽتوان توابعی را تعریف نمود که در متن برنامه برای کار خاصی فراخوانی شوند. از یک تابع به نام initialisations() استفاده شده است. در این تابع ابتدا تنظیمات مربوط به مجموع پین های پورت A میکروکنترلر که ﻣﯽتواند در نقش یک مبدل آنالوگ به دیجیتال داخلی عمل نماید، قرار داده شده است. در خط اول پین های A0، A1 و A4 به عنوان پین های آنالوگ ورودی و پین های A2 و A3 به ترتیب به عنوان ولتاژ رفرنس منفی و مثبت تنظیم شدﻩاند. در این پروژه A0، A1 و A4 به ترتیب به خروجی محورهای x، y و z شتاﺏسنج و A2 و A3 به ترتیب به زمین و ولتاژ 3.3V متصل هستند.
setup_adc_ports(AN0_AN1_AN4_VREF_VREF);
در ادامه برای شروع به کار LCD، تابع lcd_init() فراخوانی ﻣﯽشود.
lcd_init();
در ادامه و قبل از ورود به بدنه مجموع متغییرهایی که برای دادﻩها لازم است، تعریف و در صورت نیاز مقداردهی اولیه ﻣﯽشوند.
long int x, y, z, g;
char strx[6];char stry[6];char strz[6];char strg[6];char strR[34];char strV[2]=”,”;char strN[4]=”n”;char strKh[2]=” “;
در این قسمت وارد بخش بدنه برنامه می شویم. در ابتدا تابع initialisations() را فراخوانی کرده تا تنظیمات و مقدار دهی های اولیه انجام شود. در هر میکروکنترلر از مجموعه پین هایی که استفاده ﻣﯽشود، باید مشخص گردد که پین می خواهد در نقش ورودی قرار بگیرد یا خروجی. بدین صورت که اگر SET_TRIS_Port با عددی به فرمت 0xxx تنظیم شود به این مفهوم خواهد بود که هر یک از دو x پایانی نماینده 4 پین از پورت مشخص شده خواهد بود و اگر صفر باشد یعنی پین مربوطه در نقش خروجی و اگر یک باشد در نقش ورودی خواهد بود. در کد زیر در خط اول پین های صفر، یک، دو، سه وشش پورت C در نقش خروجی و پین های چهار، پنج و هفت در نقش ورودی ظاهر شدﻩاند. در خط دوم تمام پین های پورت D ورودی هستند.
SET_TRIS_C(0xb0);//set pin 1011 0000
SET_TRIS_D(0xff);//set all pin as input for external ADC
زمانی پیش می آید که میکروکنترلر باید برای بیان یک مفهوم و یا دستور به یک ماژول دیگری که بایکی از پین های آن در ارتباط است، منظور خود را منتقل کند، مثلاً گاهی اوقات لازم است ماژول بلوتوث به طور موقت خاموش باشد، برای این کار پین reset بلوتوث که با یکی از پین های میکروکنترلر(به طور مثال در این حالت پین E1 ) در ارتباط است با صفر تنظیم شود. دستور زیر این حالت را نشان مـﯽدهد.
output_low(PIN_E1);//A6 is Bluetooth Reset
دستور عکس مثال بالا به صورت زیر است، زمانی که یک پین باید با یک منطقی مدار، که برای میکروکنترلر ما 5V است، تنظیم شود، از دستور زیر استفاده مـﯽگردد.
output_high(PIN_C1);
یکی از دستورات مهم ساخت یک فایل جدید در حافظه برای ذخیره داده با کمک دستور new ﻣﯽباشد. قبل از اجرای هر دستور دیگری برای عملیات خواندن و نوشتن در حافظه و من جمله new باید چند خط کد دیگر اجرا شود. برای اجرای هر فرمان باید ابتدا پین UB ماژول حافظه را با صفر منطقی تنظیم نماییم. اولین خط پین B1 میکروکنترلررا که با پین UB ماژول حافظه در ارتباط است صفر ﻣﯽکند. در خط دوم باید تا زمانی که پین DB ماژول حافظه صفر شود، نمیﺗﻭان عملیات دیگری را دنبال کرد. یک بودن این پین به معنای مشغول بودن آن با دستور دیگری است. بعد از اطمینان از اینکه ماژول حافظه به کار دیگری مشغول نیست ﻣﯽتوان خط فرمان خود را ارسال کرد. این خواسته با خط فرمان سوم و چهارم برای ساخت یک فایل جدید به نام text.txt محقق ﻣﯽشود. فرمت این دستور را به صورت شکل زیر می بینید.
/////new txt file in memory
output_low(PIN_B1);//UB
while(input(PIN_B2));//DB
printf(“newrn”); // Send Command
printf(“test.txtrn”); // More recipes
]]>