مشاهده نسخه کامل
: کمک برای برنامه نویسی c++
hamidrezavictor
05-10-2012, 14:49
با عرض سلام
چطوری میشه با فرستادن یک عدد صحیح 2 بایتی برای یک سخت افزار مثل ساعت دیجیتال باعث بشه عدد مثل 37 نمایش داده بشه ( با در نظر گرفتن شماره برای مربع صفحه از 1 تا 14 و اینکه اگه ورودی 1 بدیم بیت مورد نظر برای نمایش شماره روشن و اگه صفر بدیم خاموش بشه )
samasara
08-10-2012, 18:37
منظورتون از سخت افزار ساعت دیجیتال چیه؟ یعنی میکروکنترولری رو به رایان وصل کردی حالا می خواهی مقادیری رو نشون بده؟ ساختمان هر ال سی دی ای فرق می کنه البته اگه ال سی دی باشه ممکنه نمایش گر یک سیگمت نمایشی باشه ! من متوجه سوالتون نشدم!
hamidrezavictor
08-10-2012, 20:57
نه سخت افزار شمارنده :) سطح بالا نیست :) مثل اون . .. تابلوی تعویض فوتبال دیدین قسمت قسمته ؟ برای نمایش هر عدد یک مستطیل بزرگه که با 7 تا خط درست شده خوب مثلا عدد 37 بخواد نشون بده باید یک برنامه ای بهش بدن دیگه ... خط های روشن 1 بیت بشه خط های خاموش مستطیل مقدار 0 بگیره ....
hamidrezavictor
08-10-2012, 20:59
تا عدد 37 نمایش داده بشه ...
samasara
08-10-2012, 21:49
فکر کنم منظور شما سیگمت 7 تایی باشه که مثلا چیزی مانند ساعت های کامپیوتری که دو قسمت هفت تایی دارند ...
خوب اون یک کاتد مشترک داره و هر یکی از اونا جدا از هم و به ترتیب فکانس های(150 هرتز) که از تایمر ایجاد میشه انتخاب میشه کار می کنه !! البته اگه بخواهید بصورت مستقیم کار بکنید این جوریه و بیتی کار نمی کنند با فرکنس عمل می کنند !! اگر یک تراشه ی عمومی برای این کار مثل 7447 بزای میشه یه کارایی کرد!! اما باید دستورات به یک میکرو فرستاده بشه!!! چون من تا حالا در برنامه نویسی تحت سیستم عامل دستوری برای ایجاد فر کانس ندیدم و تمام دستوراتی که مربوط به ایجاد ارتباط با پورت کام یا پرینتر می شه تنها متغیر یا تکس رو انتقال می ده اما در کودویژن یا بسکام که برای برنامه های میکرو استفاده می شه از این چیزا زیاد داره !!!!!
شما سخت افزارت رو معرفی کن و برنامه ی با اون کد می زدنی رو هم بگو !! یک وقت شما داری از یک ماژول آماده استفاده می کنی اون وقت خیلی راحت می شه در سی یک متغیر بیتی برای این کار درست کنی!!!
hamidrezavictor
09-10-2012, 10:10
این عکس و ببینین : [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
samasara
09-10-2012, 11:58
عزیزم این اصلا به هیچ سخت افزار نیاز نداره!!!!!!!!!!!!!!!!!!!
سوال گفته -----> فرض کنید
شما باید اول عدد باینری رو که برای نمایش عدد می خواهی رو به دسیمال تبدیل کنی و به خروجی بدی به این گفته هایی که می گم توجه کن:
1- هر بایت 8 بیته و دوبایت 16 بیت داره
2- شماره گذاری بیت ها از صفر شروع میشه و کم ترین ارزش درون صفر قرار می گیره پس داریم:
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 --------------> بیت های یک متغیر
-- 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ---------------> بیت های نمایشگر
-- 0 1 0 0 1 0 1 1 1 0 1 1 1 0 0 -------------------> خونه هایی که برای نمایش عدد 37 نیاز داریم اگر این اعداد به صورت باینری در نظر بگیریم عدد مورد نظر با اون می شود 9692 !!
نمایش عدد 9692 در متغیر 2 بایتی :
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 --------------> بیت های یک متغیر
0 0 1 0 0 1 0 1 1 1 0 1 1 1 0 0 ---------------> عدد 9692 درون متغیر
-------------------------------------------------------------------------------------------------------------------------------
فکر می کنم منظور سوال شما هم همین هست و کاری به مسائل سخت افزاری نداره....
hamidrezavictor
09-10-2012, 12:42
یعنی من یک ارایه از 0 تا 16 در نظر بگیرم بعد برای هر بیت که بخواد روشن بشه عدد 1 در نظر بگیرم ؟ مثلا a[3]=1 :) خوب من چطوری برنامه اشو بنویسم :( منظورم کد c++ فهمیدم چی میخواد اما تبدیل اون چیزی که میخوام به کد سخته
samasara
09-10-2012, 12:53
خییییییییر نیازی نیسسسسسسسست!!!!!!!! چون باید یک عدد صحیح 2 باتی به خروجی ارسال شود.....اون جوری که تعداد بایت ها خیلی زیاد میشه!!!!!! فقط باید عدد 9692 رو بفرستی و تمام!!!!!!!!!!!!!!!!!
hamidrezavictor
09-10-2012, 13:00
منظورم بیت بود نه بایت :)
hamidrezavictor
09-10-2012, 13:16
cin>>a; f
Mask=1; f
temp=0; f
for(i=0;i<16;i++) f
temp=mask&a; f
if(temp==1) f
cout<<"1"; f
else
cout<<"0"; f
{
برنامه ای که با دریافت یک عدد تک تک بیت های ان را چک کرده و بر روی صفحه نمایش چاپ کند . کلمه f برای اینه که چیدمانش خراب نشه :))
samasara
09-10-2012, 14:27
آره ونجوری با ماسک گرفتن درسته !! اما یک سوال که پیش میاد اینه که در هر مرحله که با دستور cout به خروجی می دیم یکی از چراغ ها روشن می شه هموشون با هم کار نمی کنند؟؟نظرت در باره ی استفاده از رشته چیه ؟؟ میشه یا نه ؟؟
samasara
09-10-2012, 14:54
اولش گفتی سخت افزار گفتم که حالا میخواد یک تایمر راه بندازه !!! باید به اول پورت های رو باز کنه و ... برای همین دنبال سخت افزارت می گشتم نگو که این یه برنامه ی آموزش بود...(آلان دارم می خندم (شکلک ها بی خودن تر جیه میم خودم بنویسم!!!!)); ...
hamidrezavictor
09-10-2012, 15:14
نه اونجوری نمیشه ... این یک قسمت از برنامه اصلی بود وقتی cout تمام شد فکر کنم باید ازش تو ادامه برنامه استفاده کنیم مثلا یک cout کلی هم باشه که وقتی دونه دونه cout کرد اونم چاپ کنه .... من گفتم مثل اون :D میتونیینن بنویسینش؟ البته تایم تحویلش گذشت میخوام یاد بگیرم :)
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.