تارا فایل

تحقیق در مورد برنامه نویسی سخت افزار به کمک ویژوال سی




به نام خدا

موضوع تحقیق :

ویژوال سی

رشته :
کامپیوتر
فهرست مطالب

برنانه نویسی سخت افزار به کمک ویژال سی …………………………… 4 و5 و 6

تاریخچه ……………………………………………………………… 6 و 7

ویژگی ………………………………………………………………… 7 و 8 و 9

زبان برنامه نویسی …………………………………………………… 9

ویژوال سی درون کار ……………………………………………….. 10

نمونه یک برنامه ………………………………………………….. 10و 11

پارادایم ها …………………………………………………………… 11

نمونه هایی از برنامه ویسی ……………………………………… 12 و13و14و15

برنامه نویسی سخت افزار به کمک ویژوال سی

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

فقط باید ویژوال سی هم داشته باشید تا بتونید DLL مربوطه رو کامپایل کنید !

شاید تابحال خواسته باشید از طریق پورت پرینتر و یا پورت سریال یا باس ISA با سخت افزاری که خودتان ساخته اید ارتباط برقرار کنید . برای این کار شما نیاز به برنامه ای دارید که بوسیله دستورات I/O با سخت افزار شما ارتباط برقرار کند . چون ویژوال بیسیک دارای دستورات کار با پورتهای I/O نیست بایستی توسط ویژوال سی یک Dll برای کار با این پورتها بسازیم و تو وی بی فایل کامپایل شده رو به طور مشابه توابع آی پی آی به کار بگیرید.

DLL و کاربردهای آن

اگر شما در DOS برنامه نویسی کرده باشید با دستورات INPUT و OUPUT در زبان QuickBasic و با دستورات inp و outp در C آشنا هستید . این توابع در VB پیاده سازی نشده اند . این توابع برای سازندگان سخت افزار برای PC و نیز برنامه نویسان سیستم حیاتی هستند زیرا به شما اجازه خواندن از پورت و نوشتن به پورت را می دهند . برای ایجاد امکان استفاده ار پورت در VB باید از Dll یا کتابخانه های دینامیک استفاده کنیم . Dll ها به VB اجازه می دهند تا یک کد نوشته شده به یک زبان دیگر را در زمان اجرا ( بطور دینامیک ) به برنامه لینک شود . چون ویژوال سی دارای توابع خواندن و نوشتن پورت است بنابراین ما از این زبان برای ساخت Dll موردنظر استفاده می کنیم .
نوشتن DLL در VC
برای ساخت Dll ما بایستی دو فایل را ایجاد کنیم . اولین فایل یک فایل define یا DEF است و دومین فایل ، یک فایل C++ source یا CPP می باشد . هر دو فایل را می توانید توسط Notepad ایجاد کنید . لیست کد این دو فایل بصورت زیر است :
پس از نوشتن این دو فایل آنها را در یک دایرکتوری قرار دهید ( مثلاً C:port ) و سپس وارد محیط ویژوال سی شوید . از منوی File مورد New را انتخاب کنید و در کادری که ظاهر می شود در قسمت Projects مورد Win32 Dynamic-Link Library را انتخاب کنید . همچنین در سمت راست همان صفحه در کادر Project name عبارت port را وارد کنید و در کادر Location عبارت C:portport را وارد کنید و آنگاه OK را کلیک کنید .

Port.def file :

LIBRARY Port
DESCRIPTION DLL FOR I/O PORT
EXPORTS
Outp @1
Inp @2

Port.cpp file :

include "conio.h"x#
short _stdcall Outp(int PortAddress,int PortData){
short Dummy;
Dummy=(short)(_outp(PortAddress,PortData));
return(Dummy);
;}
short _stdcall Inp(int PortAddress)
{
short PortData;
PortData=(short)(_inp(PortAddress));
return(PortData);
;}

در مرحله بعدی بایستی فایل های def و cpp را به workspace ایجاد شده اضافه کنیم . برای اینکار در برگه FileView روی عبارت Port files کلیک راست کرده و مورد Add Files to Project را انتخاب کنید .

در کادری که ظاهر می شود فایل port.cpp را انتخاب کنید . با همین روش فایل port.def را نیز به پروژه اضافه نمائید .
حال وارد منوی Build شده مورد Build port.dll را انتخاب کنید تا dll مورد نظر ساخته شود .

dll ساخته شده را در دایرکتوری system ویندوزتان کپی کنید .
استفاده از Dll در ویژوال بیسیک
برای استفاده از توابع dll ساخته شده باید ابتدا توابع Out و In را declare کنید :

Private Declare Function Outp Lib "port.dll" (Byval PortAddress as Integer,Byval PortData as Integer) as Integer
Private Declare Function Inp Lib "port.dll" (Byval PortAddress as Integer) as Integer

حال در برنامه تان برای نوشتن به یک پورت از دستور زیر استفاده کنید :
Dummy=Outp(port_number,data)
و برای خواندن از پورت از دستور زیر استفاده کنید :

Portvalue=Inp(port_number)

آنچه ویژوال سی خوانده می شود، در واقع یک محیط توسعه مجتمع (یا IDE) است که در مایکروسافت برای تسهیل کار برنامه نویسی به زبان سی یا سی++ طراحی و نوشته شده است. محیط ویژوال سی بخشی از مجموعه ای بزرگ تر به نام Microsoft Visual Studio است که اختصاصا به سی می پردازد. ویژوال سی مجموعه به هم پیوسته ای است که تمامی زنجیرهٔ ابزار توسعهٔ برنامه را یکجا گرد آورده. زنجیرهٔ ابزار فوق الذکر شامل ویرایشگر، کامپایلر، لینکر، ابزار میک، دیباگر و اسمبلر مخصوص ویژوال سی می باشد که هریک علاوه بر داشتن خواص برنامه های قدیمی تر، دارای قابلیت های منحصر به فردی هم می باشند. محیط ویژوال سی همانند بسیاری از محیط های برنامه سازی جدید مجهز به ویژگی ارزشمند خودتکمیلی است.
تاریخچه
C یک زبان سطح بالای همه منظوره است.این زبان به صورت بسیار نزدیکی در ارتباط با سیستم عامل یونیکس(Unix) قرار داشته و در این محیط توسعه و تکامل یافته است ،زیرا سیستم عامل یونیکس و بیشتر برنامه هایی که روی این سیستم اجرا می شود به زبان C نوشته شده اند.
با این وجود، این زبان به هیچ سیستم عامل یا ماشین خاصی وابستگی ندارد،و اگرچه این زبان،'زبان برنامه نویسی سیستم' نامیده شده است چرا که برای نوشتن برنامه های مترجم (کامپایلرها) و سیستم های عامل بسیار مفید است، با این وجود این زبان ، برای نوشتن برنامه های اصلی در بسیاری از زمینه ها ،زبانی کاملاً مناسب و مطلوب است.
بسیاری از ایده های مهم و ریشه ای زبان C از زبان BCPL گرفته شده است که توسط مارتین ریچاردز (Martin Richards) طراحی و توسعه یافت. از طریق زبان B، زبان BCPL به صورت غیر مستقیم بر روی زبان C اثر گذاشت که به نوبهٔ خود در سال ۱۹۷۰ توسط کن تامپسون (Ken Tampson) روی کامپیوتر DEC PDP-7 برای اولین سیستم عامل UNIX نوشته شد.

ویژگی ها
* این زبان یک زبان برنامه نویسی سطح بالا است.
* زبان C یک زبان ساخت یافته است.
* زبان C قابل انعطاف و بسیار قدرتمند است. در این زبان هیچ محدودیتی برای برنامه نویس وحود ندارد.
* C زبان برنامه نویسی سیستم است.
* C یک زبان قابل حمل است.
* C زبان کوچکی است. تعداد کلمات کلیدی آن انگشت شمار است.
* C نسبت به حروف حساس است. و تمام کلمات کلیدی این زبان با حروف کوچک نوشته میشوند.

BCPL و B ،زبان های بدون نوع داده ای هستند. اما در مقابل آن، در زبان C انواع مختلفی از نوع های داده ای تدارک دیده شده است. نوع های اصلی و پایه ای انواع کارکتری و اعشاری اعداد با اندازه های مختلف هستند. علاوه بر این، سلسله مراتبی از انواع داده ای فرعی در زبان C وجود دارد که می توان آن ها را به همراه اشاره گرها (Pointers)، آرایه (Strings) ، ساختار (Structuers)و Union ها ایجاد کرد.
عبارت ها، از عملگرها و عملوندها ساخته می شوند. هر عبارت از جمله ،یک جایگزینی یا احضار یک تابع میتواند یک دستور باشد. اشاره گرها برای محاسبات روی آدرس ها ، که مستقل از ماشین هستند در نظر گرفته شده اند.
C، یک زبان نسبتاً سطح پایین محسوب می شود، این یک توصیف تحقیرآمیز نبوده، و صرفاً به این معنی است که C با همین نوع از اشیائی سروکار دارد که بیشتر کامپیوترها با آن سروکار دارند، نظیر کارکترها ،اعداد و آدرس ها. این اشیا را می توان با هم ترکیب کرد و می توان روی آنها همان عملیات محاسباتی و منطقی را انجام داد که توسط یک کامپیوتر حقیقی پیاده سازی کرد.
سیستم عامل symbian با زبان c نوشته شده و بهمین دلیل این زبان بعنوان زبان اولیه برای برنامه نویسی در آن انتخاب شده است .C بیشترین امکان دسترسی به API های سیستم عامل سیمبیان را فراهم میکند و بهترین کارکرد در حافظه و سرعت اجرا را داراست. اما در گزینه های زیر باید ازین زبان استفاده شود :
برنامه هایی که مانند سرور عمل میکنند مانند برنامه هایی که در پشت صحتنه کار میکنند و یکی از بخش های سیستم را مدیریت میکنند. مانند پورت های COM
PLUG in ها که محیطی را بر پایه سیستم عامل ایجاد میکنند . بطور مثال برنامه ای که فایل های html را به فایل های word سیمبیان تبدیل میکند از کتابخانه مبدل سیستم عامل استفاده میکند .
درایورهای دستگاه که با Kernel کار متعامل میکنند.
استفاده از زبان C در سیستم عامل سیمبیان بر روی مناسب بودن کارکرد گوشی ها متمرکز شده است ، که بدین معناست که چند تا از عملگرهای استاندارد زبان C مانند exception handling قابل استفاده در برنامه نویسی سیمبیان نیستند

برنامه نویسی رایانه در فرهنگ واژه غیر متخصصین ممکن است به تمام پروژه ساخت نرم افزار یا برنامهٔ رایانه ای گفته شود. با این همه برنامه نویسی تنها بخشی از فرآیند توسعه نرم افزار یا برنامه رایانه ای است. اهمیت، توجه و منابع اختصاص داده شده به برنامه نویسی، بسته به ویژگی های مشخص شده محصول و خواست افراد درگیر در پروژه و کاربران و در نهایت شیوهٔ انتخاب شده مهندسی نرم افزار متغیر است. برنامه نویسی در دیدی ساده آخرین مرحله بزرگ ساخت یک برنامه رایانه ای پس از مراحل تحلیل و طراحی برنامه است. در بسیاری از موارد، برنامه نویسی بخشی از تلاش ما برای پیاده سازی نسخه ای از دنیای پیرامون ما، با بازسازی قوانین ریاضی و طبیعی در محیط خنثی رایانه است. به این سبب برنامه نویسی بارقه هایی بزرگ از ریاضیات و مهندسی با خود دارد. برای مطالعه بیشتر به توسعه نرم افزار نگاه کنید.
زبان برنامه نویسی
اجرا و عملی ساختن الگوریتم های انتزاعی وابسته به هم به وسیله برای تولید یک برنامه رایانه ای مشخص با ابزار زبان برنامه نویسی ممکن است. گرچه نزدیک ترین راه برای بازسازی این قوانین در رایانه کار روی مدارهای الکترونیکی سخت افزار آن است. اما این کاری طاقت فرسا و زمان بر و درنتیجه کمابیش ناممکن است. واسط هایی ساخته شدند تا میان سخت افزار و انسان قرار گیرد. طبیعی است یک واسط به ساده کردن و انتزاعی کردن رویدادهای ممکن درون سخت افزار می پردازد. این انتزاعی کردن، سازنده سطوح گوناگون یا لایه بندی در معماری زیرساخت برنامه ها است. به همین ترتیب زبان های برنامه نویسی گوناگون هم هرکدام برای ساخت برنامه های یک یا شماری اندک از این لایه ها قابل استفاده هستند.
با متفاوت بودن آنچه برنامه نویس برای آسانی استفاده خود آفریده با ورودی واقعی سخت افزار برای اجرای فرامین (که به زبان ماشین معروف است) برنامه واسط باید شیوهٔ خط برنامه نویس را به زبان ماشین برگرداند .

ویژوال سی درون کار

ویژوال سی++ درون کار، یا ++eMbedded Visual C یکی از محیط های طراحی نرم افزار محصول شرکت مایکروسافت است که بر مبنای محیط مشابه برای رایانه شخصی، یعنی ویژوال سی، طراحی شده است. این محیط جهت سهولت نوشتن و کامپایل برنامه برای ویندوز سی ایی (Windows CE، سیستم عامل شرکت مایکروسافت برای سیستم های نهفته) در محیط ویندوز NT یا XP است. این نرم افزار قابلیت کراس کامپایل (Cross-Compile) از کامپیوتر شخصی بر روی بسیاری از سیستم های درون کار شناخته شده یا سفارشی را داراست.

نمونه یک برنامه
یک برنامهٔ ساده در زبان برنامه نویسیBasic که از ساده ترین زبان های برنامه نویسی است می تواند به شکل زیر باشد:
REM MY FIRST TRY TO COMMAND THIS MACHINE TO DO WHAT I LIKE
PRINT "HELLO NEW WORLD!"
END
سطر نخست که با واژه کلیدی "REM" آغاز شده و از سوی برنامهٔ واسط درنظر گرفته نمی شود و تنها برای نگاه داشتن یک توضیح یا مانند آن برای خود برنامه نویس است. سطر دوم با واژه کلیدی "PRINT" به دستگاه فرمان می دهد تا نوشته "HELLO NEW WORLD!" ("سلام دنیای نو!") را روی نمایشگر بنویسد (چاپ کند). سطر آخر پایان فرامین و برنامه را به ماشین اطلاع می دهد.
پس از نوشتن یک برنامه مانند بالا، برنامهٔ مترجم (در اینجا Basic) دستورات را تبدیل به فرامینی می کند که لایه زیرین، که ممکن است همان سخت افزار باشد، می تواند آنها را اجرا کند.
پارادایم ها
زبان های برنامه نویسی گوناگون براساس قابلیت های درنظر گرفته شده از شیوهٔ خط های مختلف استفاده می کنند. موارد ریزتری مانند چگونگی برخورد با نیازهای پشت پردهٔ ماشین مانند مدیریت حافظه و مدیریت زباله نیز در زبان های مختلف متفاوت است. علاوه بر این ها، مفاهیمی متفاوت از (اجرای) یک برنامه تصور شده اند که پارادایم یا الگو نام دارند. مثلاً پارادایم برنامه نویسی رویه ای با برنامه ها به صورت مجموعه ای از پیمانهها برخورد می کند و در برنامه نویسی منطقی برنامه ها گروه هایی از قضایا و قوانین منطقی هستند که ما را به نتایج راهنمایی می کنند. زبان های برنامه نویسی گوناگون بر اساس این پارادایم ها ساخته می شوند. مثلاً زبان برنامه نویسی Pascal و ++C بر مبنای برنامه نویسی شی گرا و Prolog برای برنامه نویسی منطقی طراحی شده اند. پارادایم ها در مواردی به هم مشابه اند و ممکن است تنها در شمار اندک اما تاثیرگذاری از ویژگی ها، متفاوت باشند. همچنین زبان های گوناگون ممکن است از ویژگی های چند پارادایم هم زمان استفاده کنند. مثلاً ++C ویژگی هایی از برنامه نویسی شی گرا، برنامه نویسی رویه ای و برنامه نویسی نوعی دارد.

نمونه هایی از برنامه :

15


تعداد صفحات : 15 | فرمت فایل : WORD

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