برگزیده های پرشین تولز

میکرو کنترلر

R.Shams

Guest
تاریخ عضویت
7 ژانویه 2006
نوشته‌ها
209
لایک‌ها
9
محل سکونت
Tehran (S/h/i/r/a/z)
به نقل از mgh :
اين proteus نسبت به protel چه برتري هايي داره؟
آخه اينجا همش با پروتل كار ميكنن
اصلا اين دو برنامه كارايياشون در يك زمينه هست يا كاراي جدا از هم ميكنن؟
:)


با سلام.
من خیلی وقت ندارم اما دوستان هم هیچکس در اینجا هیچی نمینویسند. پس مجبورم خودم جوابتون رو بدم.

باید عرض کنم که در زمینه شبیه سازی Real time مدارات الکترونیکی هیچ نرم افزاری به اندازه Proteus قدرتمند نیست.(به عبارتی: "گشتم نبود نگرد نیست":wacko: :wacko: ) لایبرری کامل اونو هیچ شبیه سازی نداره.ضمنا پروتل فقط میتونه شبیه سازی آنالوگ رو انجام بده. در ضمینه شبیه سازی فقط Pspice نرم افزار قدرتمندی است که اون هم تنها شبیه سازی آنالوگ انجام میده. پس به درد کار ما نمیخوره.

در پروتیوس امکان شبیه سازی میکروهای PIC ، AVR و 8051 و 68HC11 و Z-80 فراهم است.
پروتیوس همچنین دستگاههای جانبی را به خوبی پشتیبانی میکند.
پشتیبانی رابط IDE ATA ،بیش از هزار آپ امپ، هزاران دیود ،هزاران ترانزیستور، انواع قطعات نیمه هادی و آی سی ها، آی سی های حافظه ، صفحه کید ماشین حساب و انواع منابع و هزارن کوفت و زهرمار دیگه
استفاده از اسیلوسکوپ و ولت متر و همپنین آمپرمتر در مدار ، استفاده از اسپیکر کامپیوتر به عنوان اسپیکر و بیزر و قابلیت استفاده از میکروفن، و باز هم هزار کوفتو زهر مار دیگه.
در ضمن امکان طراحی PCB نیز در پروتیوس وجود دارد.

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

امیدوارم توضیحاتم به حد کافی مفید بوده باشد.
 

roozen

Registered User
تاریخ عضویت
20 فوریه 2006
نوشته‌ها
147
لایک‌ها
1
سلام
R.shams عزیز لطف میکنی یه کم در مورد ( sram , flashrom , eeprom) در avr ها توضیح بدی و بگی که چه تفاوتی از نظر کاربردی دارن؟ و یه مقدار هم در مورد بیتهای قفل کننده حافظه توضیح بدی که اصلا به چه دردی میخورن؟

ممنون
 

mgh

Registered User
تاریخ عضویت
26 آگوست 2004
نوشته‌ها
224
لایک‌ها
2
به نقل از R.Shams :
با سلام.
من خیلی وقت ندارم اما دوستان هم هیچکس در اینجا هیچی نمینویسند. پس مجبورم خودم جوابتون رو بدم.

باید عرض کنم که در زمینه شبیه سازی Real time مدارات الکترونیکی هیچ نرم افزاری به اندازه Proteus قدرتمند نیست.(به عبارتی: "گشتم نبود نگرد نیست":wacko: :wacko: ) لایبرری کامل اونو هیچ شبیه سازی نداره.ضمنا پروتل فقط میتونه شبیه سازی آنالوگ رو انجام بده. در ضمینه شبیه سازی فقط Pspice نرم افزار قدرتمندی است که اون هم تنها شبیه سازی آنالوگ انجام میده. پس به درد کار ما نمیخوره.

در پروتیوس امکان شبیه سازی میکروهای PIC ، AVR و 8051 و 68HC11 و Z-80 فراهم است.
پروتیوس همچنین دستگاههای جانبی را به خوبی پشتیبانی میکند.
پشتیبانی رابط IDE ATA ،بیش از هزار آپ امپ، هزاران دیود ،هزاران ترانزیستور، انواع قطعات نیمه هادی و آی سی ها، آی سی های حافظه ، صفحه کید ماشین حساب و انواع منابع و هزارن کوفت و زهرمار دیگه
استفاده از اسیلوسکوپ و ولت متر و همپنین آمپرمتر در مدار ، استفاده از اسپیکر کامپیوتر به عنوان اسپیکر و بیزر و قابلیت استفاده از میکروفن، و باز هم هزار کوفتو زهر مار دیگه.
در ضمن امکان طراحی PCB نیز در پروتیوس وجود دارد.

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

امیدوارم توضیحاتم به حد کافی مفید بوده باشد.

مرسي از توضيحات كامل
:happy:
 

R.Shams

Guest
تاریخ عضویت
7 ژانویه 2006
نوشته‌ها
209
لایک‌ها
9
محل سکونت
Tehran (S/h/i/r/a/z)
به نقل از roozen :
سلام
R.shams عزیز لطف میکنی یه کم در مورد ( sram , flashrom , eeprom) در avr ها توضیح بدی و بگی که چه تفاوتی از نظر کاربردی دارن؟ و یه مقدار هم در مورد بیتهای قفل کننده حافظه توضیح بدی که اصلا به چه دردی میخورن؟

ممنون

QUOTE=roozen]سلام
R.shams عزیز لطف میکنی یه کم در مورد ( sram , flashrom , eeprom) در avr ها توضیح بدی و بگی که چه تفاوتی از نظر کاربردی دارن؟ و یه مقدار هم در مورد بیتهای قفل کننده حافظه توضیح بدی که اصلا به چه دردی میخورن؟

ممنون[/QUOTE]

با سلام

از لطف شما متشکرم.

اتمل یک کمپانی بوده که قبلا کارش تولید حافظه های Flash و E2PRom و تخصصش بیشتر در همین زمینه بوده.

با استفاده از تکنولوژی حافظه های Flash اتمل ،AVR توانسته گوی سبقت را از نظر سرعت برباید. انجام تک سیکل دستورات هم به دلیل آن است. اتمل جدیدا یک 8051 تولید کرده که کلاک را تقسیم نمیکند و این هم به خاطر این است که واکشی هر بایت تنها نیاز به یک کلاک دارد. در حالی که 8051 قدیمی به علت معماری داخلی کلاک را به 12 تقسیم میکرد.

البته اگه مطلبی پیدا کردم که بهتر به شما کمک کنه اونو براتون ترجمه میکنم. ولی تا به حال ندیدم یا دنبالش نگشتم.

حافظه Flash برای ذخیره برنامه ها در میکرو به کار میرود. E2PRom برای ذخیره متغیرهایی به کار میرود که مقادیر آنها باید حتی پس از قطع برق حفظ شوند. Ram نیز به منظور حافظه موقت برای متغیرها بکار میرود.

بیتهای قفل کننده حافظه در AVR فکر کنم دو تا هستند. و چند نمونه قفل را بسته به میکرو مورد استفاده مهیا میکنند. در مورد بیتهای قفل کننده باید حتما قبل از قفل کردن دیتا شیتها را مطالعه کرد زیرا برخی از مودهای آن حتی موجب از کار افتادن اینتراپتها نیز میشود. این بیتهای قفل کننده موجب از کار افتادن بعضی از دستورات نیز میشود.(مانند LPM).
در حال حاظر اطلاع زیادی از بیتهای قفل کننده ندارم پس از مطالعه دیتاشیت و ترجمه، آن را برای شما میگذارم.

اشاءا.. اگر فرصت شد درباره حافظه ها و بیتهای قفل کننده بیشتر توضیح میدهم.
 

hooshmand29

کاربر تازه وارد
تاریخ عضویت
2 مارس 2006
نوشته‌ها
100
لایک‌ها
1
با سلام لطفا منو راهنمائی کنین که برای کار با میکروها از کجا باید شروع کنم چه منابعی را بخونم؟من یک مبتدی هستم متشکرم
 

Ahuramazda134

Registered User
تاریخ عضویت
28 اکتبر 2005
نوشته‌ها
283
لایک‌ها
5
سن
37
محل سکونت
Mashhad City
سلام
من هم علاقه مند هستم تا این نرم افزار پروتوس رو یا بگیرم
اگه آقای R.shams لطف کنن خیلی ممنون میشم
اگه لینکی هم در مورد آموزش بزارین که عالی میشه
با تشکر
 

Behnam-AVR

Guest
تاریخ عضویت
11 مارس 2006
نوشته‌ها
40
لایک‌ها
0
سلام
من بهنام دانشجوي كارشناسي برق-الكترونيك
دارم روي يه پرو‍ژه براي ساخت پروگرامر بدون نياز به كامپيوتر براي AVR كار ميكنم
ولي تو قسمت كار با mmc يه كمي گير دارم
اگه ميشه در مورد interfacing و نحوه نوشتن و خوندن يه كمي به من كمك كنيد
اگه امكان داشته باشه libraryهايي كه استفاده كردين و توضيحا تشو برام E-mail بزنيد
واقعا نياز دارم
جبران مي كنم
با يه مدار كامل همراه با sours stk500
thanks
 

Ahuramazda134

Registered User
تاریخ عضویت
28 اکتبر 2005
نوشته‌ها
283
لایک‌ها
5
سن
37
محل سکونت
Mashhad City
سلام
من چند تا سوال در رابطه با نرم افزار پروتوس داشتم::rolleyes:
1-چطوری میشه بهترین خروجی رو از PCB داشت
2-بعضی مواقع که داری PCB میزنی وقتی میخای بین نقاط اتصال بدی خطها ناپدید میشن:blink:
با تشکر
 

R.Shams

Guest
تاریخ عضویت
7 ژانویه 2006
نوشته‌ها
209
لایک‌ها
9
محل سکونت
Tehran (S/h/i/r/a/z)
به نقل از vahid_134134134 :
سلام
من چند تا سوال در رابطه با نرم افزار پروتوس داشتم::rolleyes:
1-چطوری میشه بهترین خروجی رو از PCB داشت
2-بعضی مواقع که داری PCB میزنی وقتی میخای بین نقاط اتصال بدی خطها ناپدید میشن:blink:
با تشکر

با سلام vahid_134134134

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

اگه دوستان دیگه کار کرده باشند و کمی همت کنند.
 

R.Shams

Guest
تاریخ عضویت
7 ژانویه 2006
نوشته‌ها
209
لایک‌ها
9
محل سکونت
Tehran (S/h/i/r/a/z)
به نقل از Behnam-AVR :
سلام
من بهنام دانشجوي كارشناسي برق-الكترونيك
دارم روي يه پرو‍ژه براي ساخت پروگرامر بدون نياز به كامپيوتر براي AVR كار ميكنم
ولي تو قسمت كار با mmc يه كمي گير دارم
اگه ميشه در مورد interfacing و نحوه نوشتن و خوندن يه كمي به من كمك كنيد
اگه امكان داشته باشه libraryهايي كه استفاده كردين و توضيحا تشو برام E-mail بزنيد
واقعا نياز دارم
جبران مي كنم
با يه مدار كامل همراه با sours stk500
thanks

با سلام
و با خوش آمد گویی به شما دوست عزیز.

در مورد mmc که خودم کار نکردم. ولی برای STK500 یه نقشه تو اینترنت هست که لینک سایتشو براتون میزارم. من هنوز خودم نساختمش ولی مطمونا جواب میده. هر چند وقت یه باری هم آپدیت میشه. با AVR Studio هم جواب میده و برای ساپورت میکروهای جدید هم میتونه با AVR Studio آپدیت بشه.

بهتره خودتون اونو ببینین.
اینم لینکش:
http://gandalf.arubi.uni-kl.de/avr_projects/evertool/index.html
 

roozen

Registered User
تاریخ عضویت
20 فوریه 2006
نوشته‌ها
147
لایک‌ها
1
R.Shams عزیز ،ممنون از توضیحات خوبتون.

کسی Bascom full بدون مشکل داره بذاره استفاده کنیم.؟

ممنون
 

roozen

Registered User
تاریخ عضویت
20 فوریه 2006
نوشته‌ها
147
لایک‌ها
1
من دارم یه کنتور طراحی میکنم که یکسری پالس بشمره و روی lcd تعداد اونها رو نمایش بده و این مقادیر در دو متغییر ذخیره بشه که یکی مقادیر لحظه ای هستش و ددیگری مقدار کل و کاربر بتونه با فشار دادن یه کلید متغیری که مقادیر لحظه ای درونش قرار داره صفر کنه (یعنی شمارنده دوباره از اول بشمره) و با فشار دادن یه کلید دیگه مقدار کل روی lcd برای مدت مثلا 10 ثانیه نمایش داده بشه و بعد از اون دوباره مقدار لحظه ای نمایش داده بشه .
حالا مشکل اینجاست که وقتی مقدار کل نمایش داده میشه ، دیگه کانتر پالس ورودی رو نمی خونه چون خط فرمان برنامه تو یه روتین دیگه هستش.
من باید چی کار کنم.؟
$crystal = 8000000
'$sim
Dim A As Single , B As Single , Z As String * 10 , X As String * 10
Config Lcd = 16 * 1
Config Lcdpin = Pin , Db7 = Pina.7 , Db6 = Pina.6 , Db5 = Pina.5 , Db4 = Pina.4_
, Rs = Pina.2 , E = Pina.3

Config Debounce = 3000
Config Timer0 = Counter , Edge = Falling
On Ovf0 Tt
Enable Counter0
Enable Interrupts
Cls
A = 0.1
B = 0.1
Main:
Do
Debounce Pind.0 , 1 , Zro
Debounce Pind.1 , 1 , Total
Set Portb.0
Load Timer0 , 1
Locate 1 , 1
Lcd Z
Reset Portb.0
Loop
End

Tt:
A = A + 0.1
B = B + 0.1
Z = Fusing(a , "#.&")
X = Fusing(b , "#.&")
Return

Zro:
A = 0.1
Cls
Goto Main

Total:
Cls
Lcd X
Waitms 5000
Cls
Goto Main​
 

Amirreza_VHDL

کاربر تازه وارد
تاریخ عضویت
12 فوریه 2006
نوشته‌ها
13
لایک‌ها
0
سن
43
محل سکونت
Tehran
:) سلام به همگی
این هم یک پروژه کامل از MMC

قبل از هر چیزی اول بگم که MMC با 3.3 ولت کار میکنه . پس اگر با میکروهای سری L از AVR کار میکنین میتونین با ولتاژ تغزیه 3.3 ولت هم میکروتون رو و هم MMC رو Bios کنین. در این صورت میتونین مستقیما پینهای MMC رو به میکروتون وصل کنین.

اگر میکروتون با 5 ولت کار میکنه باید سطح ولتاژ بین میکرو و MMC رو عوض کنین. یعنی از Level Converter استفاده کنین.
بین میکرو و MMC چهار پین وجود داره که 3 تاش از میکرو به MMC و یکیش از MMC به میکروه. پس 3 تا Level Converter پنج ولت به 3 ولت و یک 3 ولت به 5 ولت نیاز هست.
من مدار 3 به 5 و 5 به 3 رو واستون گذاشتم.

MMC کلا 7 تا پین داره :
1-CS
2-DataIN
3-GND
4-3.3V
5-Clock
6-Gnd
7-DataOut

پینهای 1و2و5 برای MMC ورودی و 7 هم خروجیه.
این از سخت افزارش.

حالا نرم افزارش :
من یه فایل میذارم که توش همه توابع MMC رو گذاشتم. سعی کردم که به اندازه کافی تو برنامه توضیحات بذارم اما اینجا هم یه کم توضیح میدم.
این فایل رو با Bascom-AVR 1.11.7.4 کامپایل کردم.

این برنامه از محیط Terminal Emulator برای مشاهده عملکرد MMC استفاده میکنه. پس حتما به پورت سریال احتیاج دارین.

تو قسمت MMC Pin Configuration موقعیت پینهای MMC و اینکه هر کدوم به چه پینی از میکرو وصل میشه مشخص میشه . اگر خواستین میتونین با توجه به سخت افزارتون اینارو تغییر بدین.

به قسمت MMC Var. Define دست نزنید. اینجا متغیر ها و توابع مربوط به MMC رو تعریف کردم.

در قسمت Main میتونین کد اصلی برنامتون رو بنویسین. من یه برنامه نمونه براتون گذاشتم که در آخر توضیح میدم.

در قسمت Functions توابع برنامه هست که شامل توابع MMCهم میشه . در ابتدای اینجا میتونین توابعی که خودتون مینویسین رو بذارین. یادتون باشه که توابعی رو که خودتون مینویسین رو در قسمت Your Functions Declarations تعریف کنین.
توصیه میکنم به روتینهایMMC دست نزنید. چون هیچ ایرادی ندارن.

یه توضیح راجب به برنامه نمونه :
اول این رو بگم که نوشتن وخوندن از MMC به صورت Sector Sector هست.
هر Sector شامل 512 بایت میشه. پس هر بار که میخواین رو MMC بنویسین یا بخونین 512 باین رو مینویسین یا میخونین.
یه متغیر تعریف کردم به نام MMC_Buffer که شامل 512 بایت میشه . هر بار که از یه Sector خاص میخونین اطلاعات تو MMC_Buffer ذخیره میشه. هر بار هم که میخواین تو یه Sector خاص بنویسین اول باید MMC_Buffer رو پر کنین بعد دستور مربوط به نوشتن روی Sector رو بنویسین.
یه متغیر دیگه هم هست یه نام Sector_Number که شماره Sector مورد نظر رو مشخص میکنه. مثلا :

Sector_number = 10 : Mmc_singleread

در این دستور اطلاعات مربوط یه Sector شماره 10 خوانده میشه و در MMC_Buffer قرار داده میشه

من در اول برنامه ابتدا MMC_Buffer رو در یک حلقه از 0 تا 255 و دوباره از 0 تا 255 (کلا 512 تا عدد) پر کردم بعد اون رو در Sector شماره 10 نوشتم. بعد Sector شماره 10 رو خوندم و بعد با دستور Mmc_printbuffer مقدار MMC_Buffer رو یه پورت سریال فرستادم.

تابع Mmc_printbuffer مقدار MMC_Buffer رو به پورت سریال میفرسته.
:happy:
 

فایل های ضمیمه

  • MMC.zip
    31.3 KB · نمایش ها: 313

Behnam-AVR

Guest
تاریخ عضویت
11 مارس 2006
نوشته‌ها
40
لایک‌ها
0
با سلام به تمام دوستان عزيز
من واقعا نمي دونم چه جوري بايد از تون تشكر كنم به خصوص از Amirreza_VHDL
و R-Shams عزيز در رابطه با راهنمايي هاشون و كمكي كه كردن
ضمنا bascom avr 1.11.7.4 full رو هم تا يكي دو روز ديگه upload ميكنم تا يتونين استفاده كنيد
:) :blink:
 

Amirreza_VHDL

کاربر تازه وارد
تاریخ عضویت
12 فوریه 2006
نوشته‌ها
13
لایک‌ها
0
سن
43
محل سکونت
Tehran
در مورد برنامه Roozen
من فکر کنم که برنامه شما از 3 جا مشکل داره
یکی اینکه برای روتین های Zero و Total به جای Goto main ار Return استفاده کنین.
دوم اینکه شما در حلقه اصلی برنامه مدام Timer0 رو با مقدار 1 Load میکنین و این مدام تکرار میشه.
بهتره که یک بار اول برنامه این کار رو بکنی و در روتین اینتراپت Timer0 هم یه شرط بذاری که اگر مثلا مقدار Timer به عدد خاصی رسید اون رو با مقدار اولیه اش Load کنی.
یه چیز دیگه : من نمیدونم که میکرو برای دستور Waitms از Timer های داخلیش استفاده میکنه یا نه. شاید دستور Waitms 5000 رو که تو روتین Total گذاشتی از Timer0 استفاده میکنه و اون رو به مد Timer بودن میبره. پس برای امتحان از یه Timer دیگه استفاده کن.:blink:
در ضمن اگر راجب فرکانس پالسهات هم بگی خوبه.
 

roozen

Registered User
تاریخ عضویت
20 فوریه 2006
نوشته‌ها
147
لایک‌ها
1
Amirreza_vhdl ممنون از لطفت
در مورد فرکانس ورودی باید بگم که شاید به زور برسه به 1 کیلو هرتز.
راستش من هم از این دستور wait دارم عذاب میکشم . ولی فکر میکنم برای اینکه بتونم کاری که میخوام انجام بدم.باید از چندین حلقه تو در تو و اینتراپتهای مناسب استفاده کنم و لی نمیدونم الگوریتمشو چه جوری در بیارم.
در مورد load کردن تامر هم باید بگم که اگر این کارو نمیکردم نمیتونستم online ورودی رو روی lcd نمایش بدم.مطمئنا روشی که استفاده کردم ایراد داره. در ضمن دستور Debounce هم که مربوط میشه به وصل کردن کلید به میکرو باید یه مدت زمانی رو براش تعریف کرد که مثلا اگر 5 ثانیه کلید نگه داشته شد اونوقت یه کاری انجام بده که وقتی ما این کلید رو نگه میداریم پروسس سیستم در همین خط متوقف میشه تا تست کنه که 5 ثانیه تاخیر اتفاق افتاده یا نه ، و میکرو دیگه نمیتونه پالسهای ورودی رو بشمره. ولی من یه نمونه المانی دارم که این مشکلا رو نداره. یعنی نباید هم داشته باشه!

راستش فکر میکنم باید یه جورایی برنامه نویسی خیلی پیشرفته ای انجام داد .
 

Iran-PC

کاربر تازه وارد
تاریخ عضویت
22 فوریه 2006
نوشته‌ها
69
لایک‌ها
1
سلام
میشه ببینید چرا این ارور ها رو میده؟ به نظر خودم که خیلی بی دلیله
کد:
MCS-51 MACRO ASSEMBLER    TABLO                                                                     03/13/:6   PAGE    1


DOS 5.0 (033-P) MCS-51 MACRO ASSEMBLER, V2.2
OBJECT MODULE PLACED IN TABLO.OBJ
ASSEMBLER INVOKED BY:  F:\ASM51.EXE TABLO.ASM
                       

LOC  OBJ            LINE     SOURCE
000B                   5     ORG 000BH
000B 020000            6     JMP TINTER
*** ERROR #18, LINE #6 (0), (PASS 2) UNDEFINED SYMBOL
0044 D28C             24     SETB TR0
                      25     ;
                      26     END
                      27     ;
*** ERROR #10, LINE #27 (6), TEXT FOUND BEYOND END STATEMENT - IGNORED
                      28     ORG 0100H
                      29     TINTER:
ASSEMBLY COMPLETE, 2 ERRORS FOUND (27)
 

tkavosh

Registered User
تاریخ عضویت
24 مارس 2005
نوشته‌ها
736
لایک‌ها
71
محل سکونت
مشهد
roozen جان در مورد تاخیر برای نمایش کل میشه بجای اون دستور تاخیر5000 میلی ثانیه ای از یه متعیر استفاده کنی و وابسته به زمان مورد نیازت یه مقدار بهش بدی و برنامه رو به تایع اصلیت بازگشت بدی و قبل از Lcd Z یه چک
بکنی که ایا اون متغیر 0 هست یا نه ؟ اگه نه ینی هنوز مقدار کل روی lcd در حال نمایشه و اجرا رو به تابع کاهش دهنده اون متغیر پاس بده و از اونجاهم دوباره برگردون به تابع اصلی اینطوری هم مقدار کل , به مقدار دلخواه روی lcd هست و هم کانتر کارش رو ادامه میده
در مورد کلید ها هم یه راه ساده استفاده از وقفه های خارجیه هم اون دستور Debounce Pind.0 , 1 , Zro رو حذف میکنه هم سرعت کلی اجرای برنامه بالاتر میره و هم اون مشکلی که گفتین
 

tkavosh

Registered User
تاریخ عضویت
24 مارس 2005
نوشته‌ها
736
لایک‌ها
71
محل سکونت
مشهد
Iran-PC این چیه اونوخ؟ شما برای PIC برنامه نوشتی ؟ تو میکروهای PIC دستور JMP نداریم GOTO داریم جریان چیه؟
 

Iran-PC

کاربر تازه وارد
تاریخ عضویت
22 فوریه 2006
نوشته‌ها
69
لایک‌ها
1
سلام<br>
میکروش از سری 8051<br>
این اسمبلی اینه.<br>
نباید ارور میداد.<br>
نمیدونم قضیش چیه.<br>
 
بالا