امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
8LED
نویسنده پیام
ajlajlajl آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,192
موضوع‌ها: 70
تاریخ عضویت: مهر ۱۳۸۴

تشکرها : 932
( 2618 تشکر در 1020 ارسال )
ارسال: #1
8LED
با عرض سلام
میخواستم بدونم برای این که هشت تا LED رو توسط پورت سریال به صورت مجزا روشن خاموش کرد چکار باید بکنم؟
اگه میشه ساده ترین راهشو بگید.
ممنون.

میزان رای دشمن است!
[تصویر:  cff100.png]
۱۴-اردیبهشت-۱۳۸۷, ۲۱:۴۱:۳۵
وب سایت ارسال‌ها
پاسخ
t3r!p3000 آفلاین
         
*****

ارسال‌ها: 5,050
موضوع‌ها: 83
تاریخ عضویت: اردیبهشت ۱۳۸۵

تشکرها : 34447
( 17423 تشکر در 5116 ارسال )
ارسال: #2
RE: 8LED
ساده ترین راه اینه که یه شیفت رجیستر سری به موازی مثل 4015 بذاری . در ضمن موقع ارسال باید بیت پریتی و همینطور بیت ابتدا و انتها رو حذف و فقط 8 بیت که شامل اطلاعات هستند رو ارسال کنی . معمولا همه محیط هایی که بخواهند به صورت سریال بفرستند ( RS232) مثل هایپر ترمینال ویندوز چنین امکاناتی دارند .
با یه میکرو هم خیلی راحت میتونی این کار و با امکانات بشتر انجام بدی . برنامه ی سختی هم نمی خواد . مشکلات بالایی رو هم نداره .
۱۴-اردیبهشت-۱۳۸۷, ۲۱:۵۱:۵۰
ارسال‌ها
پاسخ
ajlajlajl آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,192
موضوع‌ها: 70
تاریخ عضویت: مهر ۱۳۸۴

تشکرها : 932
( 2618 تشکر در 1020 ارسال )
ارسال: #3
RE: 8LED
میخواستم ساده باشه. ولی خب جو گیر شدم.
میشه در مورد روش میکروکنترولریش یه خرده توضیح بدید؟ خود میکرو کنترلر ها امکانات اماده ای برای این کار دارند یا نه؟ اگه دارند چه مدلایی مناسب این پروژه است؟

میزان رای دشمن است!
[تصویر:  cff100.png]
۱۵-اردیبهشت-۱۳۸۷, ۱۱:۰۰:۰۳
وب سایت ارسال‌ها
پاسخ
t3r!p3000 آفلاین
         
*****

ارسال‌ها: 5,050
موضوع‌ها: 83
تاریخ عضویت: اردیبهشت ۱۳۸۵

تشکرها : 34447
( 17423 تشکر در 5116 ارسال )
ارسال: #4
RE: 8LED
سلام
من هر میکروکنترلی که دیدم می تونسته با روش سریال ارتباط برقرار کنه . حتی مدل های اولیه 8051
من بهت AVR رو پیشنهاد می کنم کار کنی . چون هم راحته و هم ارزونه . ATmega 8 رو میخری1000 تومان
اگه بخوای با بسکام کار کنی :
baud$ : برای تعیین نرخ سرعت اطلاعات
Print : برای ارسال اطلاعات به خروجی سریال
Inkey : متنظر می ماند تا اطلاعاتی از پایه سریال دریافت کند .
INPUTBIN : خواندن اطلاعات ورودی سریال به صورت باینری
و یه عالمه دستور دیگه
به عنوان مثال :

$regfile = "m8def.dat"
$crystal = 1000000
baud = 19200
config portb = output
dim w as byte
do
w=inkey()
portb = w
loop

میکرو مورد استفاده رو مشخص کردیم
تعیین فرکانس کریستال ( مهمه چون نرخ اطلاعات با این تنظیم می شه )
تعیین نرخ اطالاعات سریال با باوود 19200
تعیین پورت b به عنوان خروجی
تعیین متغیر w به صورت 8 بیتی . 0 - 255
ابتدای حلقه
منتظ بمان تا زمانی اطلاعاتی از پایه سریال دریافت شود و اطلاعات دریافتی رو در متغییر W بریز
پورت B رابرابر متغییر W ( اطلاعات دریافتی ) کن .
انتهای حلقه

و به این صورت اطلاعات دریافتی از پورت سریال بر روی پورت B قرار گرفته و پایه های متناظر با اطلاعات دریافت شده یک و یا صفر می شوند .
نمی دونم چقدر تونستم توضیح بدم . ولی در کل همینه
(آخرین ویرایش در این ارسال: ۱۶-اردیبهشت-۱۳۸۷, ۰۲:۱۱:۵۳، توسط t3r!p3000.)
۱۶-اردیبهشت-۱۳۸۷, ۰۲:۰۸:۰۰
ارسال‌ها
پاسخ
تشکر شده توسط : alaska
ajlajlajl آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,192
موضوع‌ها: 70
تاریخ عضویت: مهر ۱۳۸۴

تشکرها : 932
( 2618 تشکر در 1020 ارسال )
ارسال: #5
RE: 8LED
من قبلا یه خرده با PIC کار کرده بودم ولیک Avr. این بسکام پروگرمرشه ؟
این دستور Inkey چطوری کار میکنه؟ هر وقت یه بایت رسید اونو میگیر میده به ما؟
راستی اینا چی میشه:
terip2008 نوشته است:در ضمن موقع ارسال باید بیت پریتی و همینطور بیت ابتدا و انتها رو حذف و فقط 8 بیت که شامل اطلاعات هستند رو ارسال کنی .
اینا رو باید توی کامپیوتر باید برداشت یا توی میکروکنترولر؟ یا ... ؟

میزان رای دشمن است!
[تصویر:  cff100.png]
۱۶-اردیبهشت-۱۳۸۷, ۱۶:۰۲:۳۱
وب سایت ارسال‌ها
پاسخ
ajlajlajl آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,192
موضوع‌ها: 70
تاریخ عضویت: مهر ۱۳۸۴

تشکرها : 932
( 2618 تشکر در 1020 ارسال )
ارسال: #6
RE: 8LED
حالا میگم خارج از بحث میکروکنترولر.
من توی workbench تونستم با دو تا خط هشت تا led رو با یه شیفت رجیستر روشن خاموش کنم. برای دو تا خط که از خطهای کنترلی پورت سریال میشه استفاده کرد.میخواستم بدونم برای شیفت رجیستر 8 بیتی چه IC پیدا میشه ؟ و کلا من بخوام این مدار رو بسازم غیر از شیفت رجیستر چه چیزای دیگه ای میخواد؟

میزان رای دشمن است!
[تصویر:  cff100.png]
۱۷-اردیبهشت-۱۳۸۷, ۱۴:۵۴:۰۱
وب سایت ارسال‌ها
پاسخ
t3r!p3000 آفلاین
         
*****

ارسال‌ها: 5,050
موضوع‌ها: 83
تاریخ عضویت: اردیبهشت ۱۳۸۵

تشکرها : 34447
( 17423 تشکر در 5116 ارسال )
ارسال: #7
RE: 8LED
اینو واسه اون گفتم که خرو جی سریال دارای پریتی و همچنین بیت ابتدا هستش . ( البته بعضی جا یه چیز هایی دیگه هم اضافه می کنند . ) البته بعلاوه 8 بیت اطلاعات .
چون 4015 یک شیفت رجیستر 8 بیتی هستش پس باید 8 بیت اطلاعات بهش بدیم تا اطلاعاتی خارج نشه . البته می شه از یک شیفت رجیستر 10 بیتی استفاده کرد تا مستقیم به سریال وصلش کنیم و اون بیت ها رو هم داشته باشیم.
هر بیت شیفت رجیستر رو هم می شه با یک فلیپ فلاپ D ساخت .
تو Hyper Terminal ویندوز هم برای ارسال سریال COM اگه دقت کرده باشی می تونی بیت پریتی و بیت استاپ رو تنظیم کنی .
البته در هر جایی که بخواهی با سریال کار کنه این تنظمیات وجود داره .
دستور INKEY منتظر می ماند تا اطلاعاتی از پورت سریال دریافت بشه و بعد اون اطلاعات رو داخل متغییرش قرار می ده . و بعد برنامه به خط بعدی می ره . و تا وقتی که اطلاعاتی دریافت نشه برنامه تو این خط می مونه .
اون رو هم اگه بخوای شیفت رجیستر هشت بیتی ( 4015 ) درست کنی باید از تو کامپیوتر برداری .
البته برای کار بدون میکرو به یک نوسان ساز همزمان با باوود سریالت هم نیاز داری . ( برای کلاک پالس شیفت رجیستر ) همچنین به یه چیزهایی دیگه که دریافت اولین بیت رو تشخیص بده .

در ضمن خروجی پورت سریال دارای منطق دیجیتال 0-5 ولت نیستش و از 12- الی 12 ولت تغییر پیدا می کنه که می تونی با استفاده از MAX 232 این دو رو بهم تبدیل کنی .
زمانی که پورت سریال رو درست کردن ( حدود 1965 ) هنوز آی سی های TTL و منطق 5 ولت نیومده بود و از اون زمان هم هیچ فرقی نکرده , فقط باوودش رو بردن بالا تا اطلاعات با سرعت یشتری انتقال داده بشه .

در کل من بهت توصیه می کنم با میکرو کار کنی , ( البته اگه می خوای اصول دیجیتال و میکرو کامپیوتر یاد بگیری که قضیه فرق می کنه . ) چون تو میکروکنترلر دستت بازه و هر کاری دلت بخواد می تونی انجام بدی . مثلا صفحه نمایش بذاری . و ...

اینو رو هم یه نگاه کن .
http://www.iranled.com/article94.html&mo...ad&order=1
۱۷-اردیبهشت-۱۳۸۷, ۲۳:۳۲:۰۸
ارسال‌ها
پاسخ
t3r!p3000 آفلاین
         
*****

ارسال‌ها: 5,050
موضوع‌ها: 83
تاریخ عضویت: اردیبهشت ۱۳۸۵

تشکرها : 34447
( 17423 تشکر در 5116 ارسال )
ارسال: #8
RE: 8LED
یه چیزی حواسم نبود اینه که 4015 دو تا شیفت رجیستر 4 بیتی هستش که بهم وصلش می کنی و یه 8 بیتی می شه .
۱۷-اردیبهشت-۱۳۸۷, ۲۳:۴۷:۵۰
ارسال‌ها
پاسخ
ajlajlajl آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,192
موضوع‌ها: 70
تاریخ عضویت: مهر ۱۳۸۴

تشکرها : 932
( 2618 تشکر در 1020 ارسال )
ارسال: #9
RE: 8LED
نه خیلی ساده تر از اینا منظورمه.
این عکسی که ضمیمه کردم رو ببینید.
اینجور چیزی منظورمه که یکیش خط RTS و اونیکی هم خط DTR پورت سریاله. یعنی عملا اصلا از سریال استفاده نکنم. کارم خیلی ساده میشه. اینجور چیزی رو با چی میشه ساخت؟
راستی یه پروگرمر avr یا pic چنده؟


فایل‌(های) پیوست شده بندانگشتی (ها)
   

میزان رای دشمن است!
[تصویر:  cff100.png]
۱۹-اردیبهشت-۱۳۸۷, ۱۸:۱۲:۵۹
وب سایت ارسال‌ها
پاسخ
t3r!p3000 آفلاین
         
*****

ارسال‌ها: 5,050
موضوع‌ها: 83
تاریخ عضویت: اردیبهشت ۱۳۸۵

تشکرها : 34447
( 17423 تشکر در 5116 ارسال )
ارسال: #10
A.N.T
ما تو پورت سریال فقط یه خروجی بعلاوه زمین داریم ( ورودی رو در نظر نگرفتم ). اما تو شیفت رجیستر باید کلاک پالش (CLK) رو هم بدیم . فرکانس اون هم باید با باوود سریال یکی و سنکرون باشه . هینطور شیفت رجیستر باید موقعی عمل کنه که اطلاعات در حال ارسال باشه و در مواقع دیگه غیر فعال باشه . چون اگه فعال باشه و اطلاعاتی نیاد انگار ورودی صفر رو به شیفت رجیستر دادیم و تمام خروجی ها صفر می شه .
یعنی مدار باید با اول بیت یک سریال شروع به کار کنه , بیت اول بیت نشان دهنده شروع بوده و یک هستش و فاقد اطلاعات هستش پس بیت اول نباید در نظر گرفته بشه .
بعد شیفت رجیستر باید به مدت 8 تا پالس دیتای ورودی رو دریافت کنه ( در این حالت بیت پریتی رو غیر فعال کردیم ) .و بعد از این هشت بیت پورت سریال صفر می شه تا زمان ارسال بعدی .

البته مثل اینکه آیسی های واسه همین کار هستش که دیتای ورودی پورت سریال رو مستقیم به موازی تبدیل می کنه و مدارات جانبی رو هم خودش داره . در مورد اینها و شماره هاشون اطلاعاتی ندارم .
Question
پروگرامر PIC حدود 10 تومان قیمتشه و AVR مدل STK200/300 حدود 3 تومان , البته پروگرامر AVR رو میتونی با کمتر از هزار تومان و خیلی راحت خودت درست کنی . فقط یه کانکتر برای پورت پارالل ( پرینتر ) می خواد و یه آی سی بافر . البته بعضی ها آیسی بافر رو هم نمی ذارن که ارزش نداره به خاطر یه آیسی 250 تومانی احیاناً باعث سوختم پورت پارالل ( و شاید هم MAIN ) بشی . چون خروجی پورت پارالل دارای بافر نیست . آی سی بافر مثل 74HC244 و 74HC245 البته از سری LS هم می شه استفاده کرد ولی توصیه نمی شه . سری HCT و AC هم خوبه ولی گیر نمیاد .
Wink
این هم یه دو سه مدل پروگرامر AVR :


فایل‌(های) پیوست شده
.rar   Programmer AVR.rar (اندازه: 61.32 KB / تعداد دفعات دریافت: 576)
۱۹-اردیبهشت-۱۳۸۷, ۲۰:۴۳:۱۳
ارسال‌ها
پاسخ
تشکر شده توسط : alaska, ajlajlajl
1nafar غایب
مدیر بازنشسته
*****

ارسال‌ها: 1,195
موضوع‌ها: 91
تاریخ عضویت: فروردین ۱۳۸۷

تشکرها : 1577
( 4273 تشکر در 953 ارسال )
ارسال: #11
RE: 8LED
سلام
اینم یه پروگرامر توپ


فایل‌(های) پیوست شده
.zip   1NAFAR.zip (اندازه: 340.78 KB / تعداد دفعات دریافت: 232)
۲۶-اردیبهشت-۱۳۸۷, ۱۲:۱۵:۱۹
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : lord_viper, t3r!p3000, ajlajlajl, haeydis


پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 2 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS