سلام.
راستش من هرکاری کردم نتونستم با این 8880 کارکنم.
میخواستم بدونم برای استفاده اون با میکرو باید چیکار کنم؟
البته توی دیتا شیتش خروجی پایه هاشو کشیده ولی طریقه استفاده از این پایه ها و کار گرفتن از آی سی رو بلد نیستم.
لطفا راهنمایی (مفصل) بفرمائید.
متشکرم
سلام
البته من با این آی سی کار نکردم ولی چیزی که تو دیتا شیت نوشته بود
برای نوشتن و خواندن داخل آی سی دو مدل رجیستر داریم یکی کنترلی که برای کنترل آی سی استفاده می شه و یکی داده ها که برای ارسال و در یافت داده هاست این دوتا کاملا با هم فرق دارن و پایه RS0 اگه صفر باشه تعیین کننده رجیستر داده ها و اگه یک باشه تعیین کننده رجیستر کنترل و پایه R/W هم برای تعین خواندن و یا نوشتن داخل آی سی هست
پایه IRQ هم هر وقت داده ای آماده خواندن باشه فعال می شه از اون برای فعال کردن اینتراپت میکرو استفاده می کنن
در کل 5 تا رجیسترداره که تو سه دسته می شه دسته بندیشون کرد
1 - رجیستر دریافتی حاوی آخرین شماره در یافت شده است که فقط هم قابل خوندن هست
2 - رجیستر ارسال که داده های که باید ارسال بشند رو توی اون می ریزیم و فقط نوشتنی است
3 و 4 - دو عدد رجیستر کنترلی CRB و CRA که توی یه آدرس قرار گرفتن و برای نوشتن توی CRB ابتدا توی CRA بیت RSEL رو یک می کنیم تا در نوشتن بعدی در CRB نوشته بشه
5 - آخری هم رجیستر حالت که فقط خواندنی است و اطلاعاتی در باره خالی بودن یا پر بودن بافر ها و ... رو می ده
فکر کنم سخت ترین قسمتش فهمیدن دسترسی به همین 5 رجیستر بود که به صورت جدولی برای دسترسی به این رجیستر ها باید
1 - رجیستر در یافت دیتا RS0=0 و RW=1 وباید خوانده شود
2 - رجیستر ارسال دیتا RS0=0 و RW=0 وباید نوشته شود
3 و 4 - رجیستر کنترل RS0=1 و RW=0 وباید نوشته شود
5- رجیستر حالت RS0=1 و RW=1 وباید خوانده شود
سلام.
ممنون.
تازه داره یه چیزایی حالیم میشه.
1 ماهه منو گذاشته سر کار این آی سی.
ولی بازم چند تا سوال مونده.
اول اینکه خواندن از آی سی یعنی فقط خواندن از رجیستر هاش؟
بعد اینکه این 5 رجیستر باید با استفاده از 4 تا خط دیتا انتخاب بشند دیگه درسته؟ (حالا چطور میشه هر کدوم رو انتخاب کرد یعنی به خطوط دیتا عدد 2 رو بدیم وقتی RS0 یک هست؟))
و اگر کلا اشتباه میکنم من اینجوری تست کردم اما نشده.
من RS0 رو 0 کردم
RW رو هم صفر کردم
با خطوط داده یه عددی هم ساختم.
ولی آی سی شماره گیری نکرد.
نمیدونم مشکل کارم کجاست.
لطفا راهنمایی کنید.
در واقع میدونید برای شماره گیری با این آی سی چه مراحلی رو باید پشت سر گذاشت؟
سلام
خوندن از آی سی یعنی خوندن از رجیستر هاش
ولی با 4 تا خط دیتا انتخاب نمی شن با همون RS0 و RW انتخاب می شن البته درسته که با این 4 تا بیشتر نمی شه انتخاب کرد ولی دو تا از رجیستر ها کنار هم هستند و در واقع تو یه آدرس شما دفه اول تو یکیش می نویسی و اگه یه بیت خاص رو توش یک کنی دفه بعد توی دومی می نویسی
نقل قول: من RS0 رو 0 کردم
RW رو هم صفر کردم
با خطوط داده یه عددی هم ساختم.
CS رو هم 0 کردی؟ آیا fi2 (یونانی نمی شه نوشته پایه 12 یا 14 یا 17) رو صفر بعد یک بعد صفر کردی ؟ یعنی همیشه صفر برای نوشتن یک لحظه یک
ha_60 نوشته است:سلام
CS رو هم 0 کردی؟ آیا fi2 (یونانی نمی شه نوشته پایه 12 یا 14 یا 17) رو صفر بعد یک بعد صفر کردی ؟ یعنی همیشه صفر برای نوشتن یک لحظه یک
سلام .
بله cs زو هم صفر کرده بودم اما این یونانیه رو نه .
راستشیکی گفته بود این پایه کلاک میکرو کنترلر رو تامین میکنه.
احتمالا من بد فهمیده بودم.
تست میکنم.
انشاء الله که کار میکنه.
متشکر. (جوابشو میگم که شد یا نه)
:)
سلام.
نمیدونم چرا جواب نداد.
برنامه رو میگذارم ببینید ایرادی داره؟ (البته برای 8051)
این مثلا باید شماره 7 رو شماره گیری میکرد.
کد:
#include <reg51.h>
#include <stdio.h>
sbit EN = P3^2;
sbit RW = P3^1;
sbit RS = P3^0;
void delay_10ms()
{
int i;
for (i = 0;i<=50000;i++) { };
}
//----------------
void main()
{
EN = 0;
P1 = 13;
RW = 0;
RS = 1;
EN = 1;
delay_10ms();
EN = 0;
Delay_10ms();
P1 = 0;
EN = 1;
delay_10ms();
EN = 0;
Delay_10ms();
RS = 0;
P1 = 7;
EN = 1;
delay_10ms();
EN = 0;
Delay_10ms();
for ( ; ; ){}
}
فکر کنم درست انجام داده باشم.
البته CS رو به زمین وصل کردم و منظورم از EN در برنامه همون حرف یونانیه است (پایه 12).
4 پین اول پورت 1 رو به 4 خط دیتا آی سی وصل کردم.
آی سی رو طبق نقشه دیتا شیتش به باطری و خط تلفن وصل کردم.
- میکرو و آی سی و خط تلفن رو به هم وصل کردم.
گوشی رو برداشتم و برق آی سی و میکرو رو وصل کردم.
اما انگار نه انگار.
:(
به نظر درست می یاد سیگنال ها ر هم با اسیلوسکپ چک می کردی ببینی همش هست یا سیم ها رو اشتباه نبستی
من با این آی سی کار نکردم ولی یکم سیخ بهش بزنی راه می یفته :wink:
سلام
راستش هر کاری میکنم نمیشه.
آی سی رو هم کاری که بسوزونتش باهاش نکردم.
اسیلوسکپ هم ندارم.
ارتباط و مقادیرش رو هم از دیتا شیتش گرفتم.
اتصالات رو هم چند بار چک کردم.
میگم میخوای آدرس بده یکی از این آی سی هارو برات بفرستم ببین میتونی راهش بندازی.
جهان کیت هم داره اگر نزدیکی یا مسیرت میخوره.
کلافه شدم از دست این آی سی. :cry:
سلام
راستش وقت ندارم وگرنه بدم نمی اومد یکی از این آی سی ها رو بگیرم با هاش کار کنم همین جا هم که می یام جواب می دم به زور می یام شرمنده
ولی احتمالا اگه بگردی باید کد آمادش هم پیدا بشه تو نت
اینم لینک اصلی این دوستمون که زحمت کشیدن
http://www.boondog.com///tutorials//dtmf/dtmf.htm
ولی مال این آی سی نیست انگار اما مثل اینکه ساده تر باید باشه شاید از این روش استفاده کنی دردسر کمتری داشته باشه