Visits: 790
به نام خدا
دوستان گفته بودند که در سایت برنامه ماشین حساب به زبان بیسیک نیست من هم امروز کمی بیکار شدم (درسها) این پروژه رو برنامه نویسی کردم و الان در سایت موجود هست و شما می توانید آن را با تمام فایل های مربوطه اش دانلود کنید.
عملکرد کلی:
در این پروژه از یک کیبورد 4×4 و یک ال سی دی 2×16 و یک میکرو کنترلر ATMEGA16 استفاده شده است. فرکانس کاری مدار 1 مگاهرتز هست و اصول کار آن به این صورت می باشد که چهار عمل اصلی (/ × + -) را انجام می دهد و همچنین شما می توانید عدد ورودی اول را هم منفی وارد کنید. اگر شما یکی از این چهار عملیات را انجام دهید نتیجه نهایی عملیات در متغیر ANS قرار می گیرد و حالا اگر شما در یک عملیات جدید بخواهید از حاصل عملیات قبلی به عنوان عدد ورودی اول استفاده کنید کافیست که وقت یکی از کلید های چهار عمل اصلی را فشار دهید. به عنوان مثال:
8=5+3 و حالا می خواهید 8 را بر 4 تقسیم کنید به این صورت عمل می کنید:
5+3=8 عملیات اول
/4 عملیات دوم
در این پروژه بیشترین عدد ورودی تا 8 رقم می باشد یعنی شما می توانید دو تا عدد 8 رقمی را در هم ضرب و و جمع … کنید ولی برای ضرب یک سری محدودیت های دارد مثلا 99999 را در 99999 ضرب کنید پیغام NAN را می دهد که این عدد خارج از محدوده می باشد. همچنین تعداد 8 رقم عدد 9 یعنی 99999999 به عنوان عدد ورودی اول برای متغیر بزرگ است و آخرین رقم آن را به صورت صحیح وارد نمی شود.
متغیر ها و کاربر آنها:
key عدد تک رقمی خوانده شده از کیبورد در آن قرار می گیرد.
A,B به عنوان شمارنده بکار رفته اند.
بیت S برای چک کردن فشرده شده کلید No/c برای صفر کردن ماشین حساب و بیت N برای چک کردن اینکه آیا عدد ورودی منفی می باشد یا نه.
متغیر های رشته ای op2 برای ذخیره کردن عملیات (چهار عمل اصلی) و op هم برای ذخیره کردن کل عملیات ها می باشد که در این برنامه با کمک این متغیر میکرو تشخیص می دهد که کلید فشرده شده عدد بوده یا یک عمل.
In1 , In2 اعداد ورودی اول و دوم ما می باشند.
I1,I2 هم به عنوان شمارنده به کار رفته اند تا تعداد ارقام ورودی را بشمارنده نقش این شمارنده در برنامه خیلی مهم می باشد. تنها به کمک آن ما می توانیم ارقام وارد شده را به هم بچسبانیم و یک عدد حقیقی به صورت رشته در آوریم.
stn(8) هم یک آرایه می باشد که از اعداد ذخیره شده در درایه های آن برای به هم چسبانده اعداد استفاده می شود.
بقیه هم که دستورات بیسک هست و اگر یه بار بخونید متوجه میشید که من چیکار کردم ولی اگر کسی هم متوجه نشد در همین جا اون قسمتی که متوجه نشدید رو بگید تا توضیح بدم.
این کار رو هم انشاء الله به زودی به زبان C انجام می دهم و روی سایت قرار می دهم.
با تشکر فراوان …
این مقاله توسط سایت برنامه نویسی میکروکنترولرها ارائه شده کپی برداری تنها با ذکر منبع مجاز می باشد.
کد پروژه: MCP-34 | پروژه ماشین حساب ساده با السیدی گرافیکی و avr |
کد پروژه: MCP-28 | ماشین حساب مهندسی ساده |
کد پروژه: MCP-11 | پروژه ماشین حساب مهندسی با السیدی گرافیکی و avr |