عضویت     ورود  همانا ، نماز بهترين عبادت برای خداست . امام رضا (ع) شنبه، 5 خرداد ماه ، 1397

کانال تلگرام


تبلیغات متنی


منوی سایت


جست و جو در بانك مقالات




مقالات جدید
تعداد شاخه ها: 30 عدد
تعداد مقالات: 758 عدد 1: آزمايشگاه الكترونيك - استاد محرري 
[دفعات مشاهده : 4440 بار]
 2: جزوه درس مخابرات 1 - دانشگاه فردوسي مشهد 
[دفعات مشاهده : 4366 بار]
 3: كتاب مهندسي تاسيسات / دكتر كلهر 
[دفعات مشاهده : 4393 بار]
 4: مجموع اعوجاج هارمونیک T.H.D 
[دفعات مشاهده : 4356 بار]
 5: كتاب "روش طراحي و تحليل مدارهاي الكترونيك" 
[دفعات مشاهده : 10750 بار]
 6: ادوات نوري 
[دفعات مشاهده : 4492 بار]
 7: كتاب اصول تلويزيون رنگي 
[دفعات مشاهده : 5978 بار]
 8: پروژه دزد گیر با سنسور تشخیص حرکت pir با قفل رمز الکترونیکی 
[دفعات مشاهده : 5646 بار]
 9: جزوه اندازه گیری الکتریکی 
[دفعات مشاهده : 4774 بار]
 10: سوالات کنکور کارشناسی ارشد 90 / گروه مهندسی برق 
[دفعات مشاهده : 6737 بار]
 11: آرشيو پروژه هاي 8051 
[دفعات مشاهده : 5428 بار]
 12: آرشيو پروژه هاي AVR‌ (ـ‌ 126 پروژه ) 
[دفعات مشاهده : 13187 بار]
 13: آموزش برنامه نويسي و كار با ماژول Sim300CZ با ميكروكنترلر AVR 
[دفعات مشاهده : 9491 بار]
 14: سوالات كنكور كارشناسي ناپيوسته 89 - گروه برق 
[دفعات مشاهده : 6871 بار]
 15: ارتباط میکروهای PIC با کمک پروتکل سریال I2C و نکات تکمیلی ماژول MSSP 
[دفعات مشاهده : 5045 بار]
 16: ساعت تقویم با کمک میکروکنترلر PIC و DS1307 
[دفعات مشاهده : 5607 بار]
 17: تایمرهای چند زمانه ( ساعت مرکزی ) با میکرو PIC 
[دفعات مشاهده : 5085 بار]
 18: ساعت تقویم شمسی مجهز به آلارم روزانه و هفتگی 
[دفعات مشاهده : 6028 بار]
 19: صفحه کلید وقفه ای با میکروکنترلر PIC 
[دفعات مشاهده : 4721 بار]
 20: کرنومتر دیجیتال با میکروکنترلر PIC با قابلیت ثبت 3 زمان 
[دفعات مشاهده : 4863 بار]
 21: طراحی و ساخت مدارات انتقال دیتا به وسیله ماژول های HMTR + پروژه چت متنی بیسیم 
[دفعات مشاهده : 7647 بار]
 22: سنسورهای حرارت 
[دفعات مشاهده : 7028 بار]
 23: کنترل وسایل برقی از طریق خط تلفن با میکروکنترلر PIC 
[دفعات مشاهده : 6963 بار]
 24: ارتباط سریال UART بین دو میکروکنترلر PIC 
[دفعات مشاهده : 5269 بار]
 25: گزارش کار آموزی : ماشین های ابزار کنترل عددی CNC 
[دفعات مشاهده : 5501 بار]
 26: کنترل وسایل به کمک ماژول HM-TR و میکرو AVR 
[دفعات مشاهده : 7952 بار]
 27: طراحی و ساخت کنترل از راه دور 1 کانال با کمک ماژول های ASK و آی سی های سری PT 
[دفعات مشاهده : 6570 بار]
 28: مجموعه رفرنس های آموزشی میکروکنترلرهای سری dsPIC 
[دفعات مشاهده : 6027 بار]
 29: مجموعه پروژه های میکروکنترلر AVR با کامپایلر بسکام 
[دفعات مشاهده : 11146 بار]
 30: طراحی و ساخت مدارات انتقال دیتا به وسیله ماژول های HM-T و HM-R با میکرو AVR 
[دفعات مشاهده : 9087 بار]


آخرين مطالب ارسال شده
· روش طراحي و تحليل مدارهاي الكترونيك[ 1 نظر شما چيه؟ - 38389 مشاهده ]
· اصول تلويزيون رنگي[ 0 نظر شما چيه؟ - 17127 مشاهده ]
· نرم افزار DigSilent[ 2 نظر شما چيه؟ - 20563 مشاهده ]
· AVR Tech Lib 2011[ 1 نظر شما چيه؟ - 24064 مشاهده ]
· مجموعه كنفرانس هاي سالينه ميكروچيپ / سال 2009 /[ 2 نظر شما چيه؟ - 21722 مشاهده ]
· آموزش كار با ماژول SIM300CZ با ميكرو AVR[ 4 نظر شما چيه؟ - 24109 مشاهده ]
· مجموعه فيلم هاي آموزشي نرم افزار Altium Designer[ 0 نظر شما چيه؟ - 37023 مشاهده ]
·  سوالات كنكور كارشناسي ناپيوسته 89 - گروه برق[ 0 نظر شما چيه؟ - 19008 مشاهده ]
· لينك دانلود مجله October 2010 / SERVO[ 0 نظر شما چيه؟ - 16269 مشاهده ]
· Catalog CA 01 (10/2009) / International version[ 0 نظر شما چيه؟ - 20079 مشاهده ]

[ موارد بیشتر در بخش اخبار و تازه ها ]


زبان
انتخاب زبان نمایش :



مطالب جديد
· 1: security-in-wireless-mesh-networks
· 2: پیاده سازی یک كنترلر هوشمند فازي سخت افزاري توسط مدارات مجتمع آنالوگ
· 3: Reduced Cluster Search ML Decoding for QO-STBC Systems
· 4: Antennas And Propagation Group
· 5: مجله June 2007 ، ELEKTOR
· 6: تاثير نرخ نمونه برداري در الگوريتم هاي محاسبه امپدانس در رله هاي ديستانس ديجيتال
· 7: نقش اتوماسيون در مديريت خاموشي با توجه به آستانه تحمل مشترکين شرکت‌هاي توزيع برق
· 8: یک روش جدید برای تخمین مشخصات لایه های پوست با استفاده از فراصوت
· 9: The Verilog Hardware Description Language, Fifth Edition
· 10: دانلود کتاب تئوری ارتعاشات و کاربردهای آن در مهندسی
· 11: Knowledge Modeling of Innovation Design for Complex Product based on Ontology
· 12: LabVIEW Robotics Programming Guide for the FIRST Robotics Competition
· 13: THEORY OF CODE DIVISION MULTIPLE ACCESS COMMUNICATION
· 14: Micro-modules:Component Parts And Materials Requirements
· 15: An Efficient and Adaptive Decentralized File Replication Algorithm in P2P File Sharing Systems
· 16: بازيافت انرژي با ترمز احيايي
· 17: Grounded capacitor first order all-pass filters using single active element
· 18: استفاده از برقگيرها بجاي سيم زمين در خطوط انتقال هوايي كمپكت در مناطق با سطح ايزوكرونيك پايين
· 19: بررسی و برآورد توان قابل استحصال از انرژی جزرومدی خور موسی با احداث سد آبی
· 20: Application of Wavelet and PSO to Price Forecasting in a Deregulated Market

[ آخرين مقالات ]


ارسال مقاله به سايت

 



...::: Ir-Micro.Com :::... :: View topic - حاضر و آماده -> پرینتر خط تولید کیک و کلوچه


حاضر و آماده -> پرینتر خط تولید کیک و کلوچه
Goto page Previous  1, 2, 3, 4 ... 11, 12, 13  Next
 
Post new topic   Reply to topic    ...::: Ir-Micro.Com :::... Forum Index -> برنامه نویسی و مباحث مربوط به AVR Printable Version
View previous topic :: View next topic  
Author Message
ELEC_TECH
کاربر فعال
کاربر فعال

Joined: Mar 09, 2007
Posts: 271




Location: TEHRAN-TABRIZ
9098.70 امتیاز

Items

Status: Offline

PostPosted: جمعه، 2 فروردين ماه ، 1387 00:01:28 Reply with quote Scroll Down to Next postGo to last Post of Page

Sad Confused Crying or Very sad
Back to top
View user's profile Send private message AIM Address Yahoo Messenger
Hamed
مدیر سایت - Site Admin
مدیر سایت - Site Admin

Joined: Mar 10, 2006
Posts: 1351




Location: تهران
702870.36 امتیاز

Items

Status: Offline

PostPosted: جمعه، 2 فروردين ماه ، 1387 00:09:50 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

مجددا سلام

اول از همه عذرخواهی می کنم که اطلاعات خیلی محدودی دارم و فرصت نکردم این تاپیک رو به صورت کامل مطالعه کنم . و به خاطر اصرار بهزاد جان مطالب رو اینجا هم میگم .
من این دیتاشیت هد رو دیدم . اما به دلیل اینکه انگلیسی قوی ندارم چیز خاصی ازش نفهمیدم . ارتباط رو به صورت spi زده که با حداکثر کلاک 2 مگ قابل اجرا هست . اما spi یک پروتکل هست که فقط چگونگی انتقال اطلاعات رو مشخص می کنه . نه فرمت داده و ...
spi با ماژول mssp که برخی از avr ها دارن قابل پیاده سازی هست . اما قبل از اون باید فرمت اطلاعات ارسالی به هد مشخص بشه که مثلا برای نوشتن حرف چه اطلاعاتی به هد ارسال میشه .
پس به نظرم اولین کار این هست که این پروژه تقسیم بندی بشه و به صورت پله پله و ترتیبی جلو برده بشه . اولین مرحله چاپ یک نمونه متن با یک فونت و به صورت تکسایز . بعد از اون کار با سایز های مختلف اون فونت و بعد کار با فونت های مختلف و سایز های مختلف .
بعد از این مراحل اون موقع نوبت به صفحه کلید و ... برسه .
در مورد فونت ها هم نمیشه چند فونت با سایز های استاندارد تعریف کرد که اطلاعات رو به صورت کد های معادل روی حافظه یا ... ذخیره کرد . بعد موقع چاپ با توجه به نوع فونت و سایز قلم ، اطلاعات مربوط به اون از حافظه واکشی بشه و برای هد ارسال بشه ؟


__________________

Back to top
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger
saleh_chz
مدیر انجمن
مدیر انجمن

Joined: Jan 10, 2008
Posts: 2582




Location: مشهد
3049681.20 امتیاز

Items

Status: Offline

PostPosted: جمعه، 2 فروردين ماه ، 1387 00:22:33 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

سلام
ممنون حامد جان ؛ پيشنهادت خيلي عاليه . ( حركت گام به گام )

در مورد فرمت داده :
توي مداري كه طراحي شده اگر ملاحظه بفرماييد هد پرينتر دو پايه به نام هاي nss1 و nss2 وجود داره كه ميكرو به واسطه ي اون ها يكي از دو چيپ داخلي هد رو انتخواب مي كنه . هر چيپ وظيفه ي كنترل 64 نازل رو به عهده داره .
دستور آتش ( پرينت ستون فعلي ) هم توسط پايه ي nfire داده مي شه .
نحوه ي انتقال داده هم به اين صورته كه دو بسته ي داده ي 64 بيتي به چيپ هاي هد منتقل مي شه به طوري كه بيت با ارزش تر ابتدا منتقل مي شود .
براي نازل هاي 1 تا 64 پايه ي nss1 بايست تحريك شود و براي نازل هاي 65 تا 128 هم پايه ي nss2
داده ها توي رجيستر داخلي ذخيره مي شه .
تايمينگ نوشته شده توي ديتا شيت هد هم كامله .

پر كلرو دو بوس

Back to top
View user's profile Send private message Send e-mail Visit poster's website
Hamed
مدیر سایت - Site Admin
مدیر سایت - Site Admin

Joined: Mar 10, 2006
Posts: 1351




Location: تهران
702870.36 امتیاز

Items

Status: Offline

PostPosted: جمعه، 2 فروردين ماه ، 1387 02:15:48 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

خواهش می کنم .
فکر کنم تو بخش Data structure این مطالب رو زده بود . اما راستش چون این تازل رو نمی دونم چی چی هست کلا نگرفتم چی میگه (هر چند اینم می دونستم باز همین بود :D ) .
بیشتر شبیه lcd گرافیکی میشه دیگه ؟ که دو تا چیپ داره و حالا اطلاعات 8 بیتی ارسال میشه . اینجا رشتهء 64 بیتی .


__________________

Back to top
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger
saleh_chz
مدیر انجمن
مدیر انجمن

Joined: Jan 10, 2008
Posts: 2582




Location: مشهد
3049681.20 امتیاز

Items

Status: Offline

PostPosted: جمعه، 2 فروردين ماه ، 1387 12:50:45 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

سلام
اخيار داريد شما شكست نفسي مي فرماييد .
آره مثل ال سي دي است البته تقريبا .
ببينيد هر نازل مثل پيستوله ي كوچكي عمل مي كنه كه بوسيله ي جوهر يك نقطه روي محصول ايجاد مي كنه و جنس اون از سراميك پيزو است . تعداد 128 نازل به صورت حدودا عمودي قرار مي گيره و سطر هاي تصوير رو تشكيل مي ده و حركت افقي كاغذ يا محصول هم موقعيت ستوني رو ايجاد مي كنه .
حالا اين 128 نازل يا پيكسل به دو كانال 64 تايي تقسيم مي شه .64 پيكسل بالايي و 64 پيكسل پاييني .

روشن كردن هد مرحله بندي شده كه عكسشو طبق ديتا شيت مي ذارم :
Click to view this image at its original size
Click on the image to view it at its original size
Click to view this image at its original size
Click on the image to view it at its original size

پين هاي كنترلي هد :
Click to view this image at its original size
Click on the image to view it at its original size

و فرمت داده انتقالي :
Click to view this image at its original size
Click on the image to view it at its original size

تايمينگ مربوط به سيگنال هاي كنترلي هد :
Click to view this image at its original size
Click on the image to view it at its original size

تايمينگ مربوط به انتقال داده هد :
Click to view this image at its original size
Click on the image to view it at its original size

جدول زماني تايمينگ ها :
Click to view this image at its original size
Click on the image to view it at its original size

ضمنا مدار طراحي شده هم بايست تقييراتي كند كه انشالله تغييرات مدار رو هم ميذارم تا برنامه نويسي بخش مربوط به ال سي دي هم راحت بشه .

واسه ي مدار آزمايشي چه پيشنهادي داريد ؟ ( از مگا 32 استفاده كنيم چطوره ؟ )

ممنون ناك

Back to top
View user's profile Send private message Send e-mail Visit poster's website
ELEC_TECH
کاربر فعال
کاربر فعال

Joined: Mar 09, 2007
Posts: 271




Location: TEHRAN-TABRIZ
9098.70 امتیاز

Items

Status: Offline

PostPosted: جمعه، 2 فروردين ماه ، 1387 16:13:21 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

صالح جان يه بار ديگه عيدت رو تو تاپيك خودمونت تبريك ميگم انشا الله كه دلت آفتابي باشه.


ممنون از زحمات شما و نظرات حامد اقاي گل.
صالح جان چرا نظرتون در مورد مگا 64 عوض شده بيشتر مي شه توضيح بدين؟
با تشكر

Back to top
View user's profile Send private message AIM Address Yahoo Messenger
saleh_chz
مدیر انجمن
مدیر انجمن

Joined: Jan 10, 2008
Posts: 2582




Location: مشهد
3049681.20 امتیاز

Items

Status: Offline

PostPosted: جمعه، 2 فروردين ماه ، 1387 22:47:41 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

سلام خدمت دوستان عزیز
ممنون
نه نه اشتباه نشه فرزاد جان . گزینه ی نهایی ما همون مگا 64 هست . حالا بقیه ی صحبتم رو بگوشی متوجه می شی .
اصل مطلب :
مدار دوباره طراحی شده و نیازی به برنامه نویسی باس نیست . چون روی کاغذ طراحی می کنم باید دوربینی ، اسکنری چیزی پیدا کنم تا واستون بذارمش . واسه این مورد سولفات شرم بر پیشانی دارم .
بنابراین فکر نکنم نیازی باشه که مداری واسه ی آزمایش طراحی بشه .

واسه ی یه قالب چاپ 256*128 پیکسلی نیاز به 4 کیلو بایت ram داریم و در مگا 64 دقیقا 4 کیلو رم داریم که فکر کنم واسه ی اینکه نیاز به رم خارجی رو حذف کنیم و همینطور واسه ی قسمت های دیگه ی برنامه رم کم نیاریم یه خورده تعداد ستون ها رو کاهش بدیم بهتره . مثلا بشه 190*128 اون وقت 3040 بایت رم نیاز داریم و تعداد 1056 بایت واسه ی بقیه ی برنامه خالی می شه . دعا کنید نیازی به بافر دیگری نداشته باشیم ! وگرنه بایست رم خارجی توی مدار بذاریم و اون وقت واااااااااای دوباره طراحی مدار !
حالا حضرت فرزاد علیه السلام مرحمت کنند و فونت هایی که فرمودند رو همراه با توضیحاتش بذارند تا مقدمات برنامه آزمایشی رو بچینیم .

تترا کلرید قربون

Back to top
View user's profile Send private message Send e-mail Visit poster's website
saleh_chz
مدیر انجمن
مدیر انجمن

Joined: Jan 10, 2008
Posts: 2582




Location: مشهد
3049681.20 امتیاز

Items

Status: Offline

PostPosted: جمعه، 2 فروردين ماه ، 1387 22:58:12 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

سلام مجدد
ایدوات : ( عجب جمع مکسری !! )
واسه ی صفحه کلید نیاز به یه آرایه ی دو بعدی 11*8 داریم ( ماتریس ) که سطر های اونو عدد refresh تشکیل می ده و ستون های اونو عدد اسکن .
واسه ی راحتی refresh کردن به یه یونیون با دو عضو نیاز داریم که یه عضو اون یه ساختار بیتی به طول 8 است و عضو بعدی که توسط برنامه مقدار دهی می شه 1 بایتی از نوع unsigned char است .
و البته با یه ساختار بیتی ( 8 بیتی ) هم می شه این کار رو کرد با این تفاوت که واسه ی مقدار دهی بایست یه اشاره گر رو به ساختار نشانه گرفت و متغییر refresh برنامه رو به محل اشاره گر ریخت .
( من خودم گزینه ی دوم رو که همیشه کار می کنم پیشنهاد می کنم )
در نهایت ( چه در یونیون و چه در ساختار ) در یه تابع اعضای بیتی ساختار رو به صورت بیت به بیت به پین های میکرو انتقال می دیم .
یه شمارنده داریم که توی وقفه ی تایمر ( مثلا 1 میلی ثانیه ای ) شمرده می شه و وقتی به زمان 50 میلی ثانیه رسیدیم ضمن ریست شمارنده عملیات اسکن انجام می شه . این کار واسه ی اینکه پردازش اضافی صورت نگیره لازمه ضمن اینکه هیچ انگشتی نمی تونه توی فاصله ی 1 میلی ثانیه دو کلید رو فشار بده ( بیان مساله ی نیاز )

عملیات نویز گیری صفحه کلید هم زمانی انجام میشه که عددی غیر از 0xff دریافت کنیم ( یعنی دکمه ای فشرده شده ) . اون وقت برنامه با تاخیر 10 میلی ثانیه ای همون سطر رو دوباره اسکن می کنه و اگه صحت بر دریافت باشه مقدار رو از آرایه ی دوبعدی برمی گردونه .
( توی پرانتز : اگه خواسته باشیم تاخیر 10 میلی ثانیه ای هم مانع دیگر پردازش های میکرو نشه باید از وقفه تایمر دیگری استفاده کنیم به این صورت که موقع نیاز تاخیر بواسطه ی یه متغییر سویچ فراخوانی تابع فعلی از کار بیفته و تایمر فعال بشه و از تابع خارج بشیم و به main برگردیم . اون وقت توی روتین وقفه کاری که انجام میشه اینه که تایمر از کار می افته و یه متغییر سویچ دیگه اجازه ی اجرای ادامه ی تابع رو می ده . توي فاصله اي كه اجرا به مين برمي گرده بقيه ي پردازش صورت مي گيره .
اینم به قول جناب اتابکی یه شبه کد :
Code:
Unsigned char switch = enable ;
Unsigned char switch_2 = disable;

void example void () {
----------------
----------------
----------------
if switch_2 = disable {
switch_2=enable
switch = disable
timer = start
return
} else {
switch_2=disable
----------------
----------------
--------- -------
return
}

timer isr {
timer = stop
switch= enable
}

main (){
-------------
-------------
-------------
if switch = enable {
     example ();
}
-------------
-------------
-------------
other func ();
------------
------------
------------
}
اگ این تاکتیک رو نمی گفتم توی گلوم گیر می کرد !!!
توی زبان اسمبلی با همین تاکتیک به راحتی میشه از جهش ها استفاده کرد . )
ببخشید که ربطی نداشت اما وقتی که یه چیزی به ذهنم می رسه یعنی موقعشه که روش فکر کنم و بعد از اون دیگه یادم می ره .

من برم پایه های میکرو رو توی مدار مشخص کنم .

دی کرومات قربونیوم ( آتش زا می باشد !! )



Last edited by saleh_chz on شنبه، 3 فروردين ماه ، 1387 01:51:29; edited 1 time in total
Back to top
View user's profile Send private message Send e-mail Visit poster's website
ELEC_TECH
کاربر فعال
کاربر فعال

Joined: Mar 09, 2007
Posts: 271




Location: TEHRAN-TABRIZ
9098.70 امتیاز

Items

Status: Offline

PostPosted: شنبه، 3 فروردين ماه ، 1387 01:48:41 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

پرینتر کارتن نگار با هد DOD========>Drop On Demand
Click to view this image at its original size
Click on the image to view it at its original size
Click to view this image at its original size
Click on the image to view it at its original size

Back to top
View user's profile Send private message AIM Address Yahoo Messenger
saleh_chz
مدیر انجمن
مدیر انجمن

Joined: Jan 10, 2008
Posts: 2582




Location: مشهد
3049681.20 امتیاز

Items

Status: Offline

PostPosted: شنبه، 3 فروردين ماه ، 1387 12:24:21 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

سلام به رفقای گل و بلبل
من پین های میکرو رو روی مدار مشخص کردم و پین ها طوری اختصاص داده شده که طراحی بورد اون راحت باشه البته توی قسمت هد ممکنه جهت بهینه شدن بورد دو سه تا جابجایی جزئی داشته باشیم که زیاد مهم نیست .

بدنه ی برنامه رو هم با استفاده از کد ویزارد کد ویژیون تنظیم کردم به شرح زیر :
1- (تنظیم) چیپ مگا 64 با فرکانس کاری 16 مگاهرتز
2- (تنظیم) پایه های ورودی خروجی طبق مدار
3- (تنظیم) تایمر صفر برای ایجاد فرکانس 1 مگاهرتزی هد روی پایه ی oc0 بدون ایجاد وقفه و دخالت نرم افزار
4- (تنظیم) تایمر 2 برای ایجاد وقفه های 1 میلی ثانیه ای جهت مصارف اسکن ، ساعت ، تاریخ ، پاور آلارم چک
5- (تنظیم) وقفه ی خارجی 4 برای شفت انکودر
6- (تنظیم) وقفه ی خارجی 5 برای سنسور اپتیکال
7- (تنظیم) واسط سریال و فعال کردن وقفه ی دریافت جهت ارتباط با سیستم با بافر 8 بایتی دریافت
8- (تنظیم) spi سخت افزاری جهت ارتباط با هد 125کیلوهرتز
9- (تنظیم) i2c سخت افزاری جهت ارتباط با e2prom خارجی 400 کیلو هرتز

خوب مواردی که برای برنامه آزمایشی نیاز داریم تا استفاده بشوند شماره های 3 ، 4 ، 8 و واضحا 1 و 2 است که من برای شروع در مورد spi سخت افزاری خیلی شک دارم که هد بتونه باهاش مچ بشه یا نه . یا اصلا بایست از وقفه ی spi استفاده کرد یا نه و اگر نشه باید این کارو نرم افزاری کرد .
البته در قدم های بعدی شک های زیاد تری هست : نحوه ی ارتباط با سیستم و ارتباط با e2prom خارجی ( چیزه زیادی نیست !!! خوب من همیشه سخت افزار رو طراحی می کردم و برنامه نویسی به دوش سعید دوستم بود . )

و برنامه ی تولید شده توسط کد ویزارد :
Code:

[align=left]/*********************************************
This program was produced by the
CodeWizardAVR V1.23.8c Professional
Automatic Program Generator
© Copyright 1998-2003 HP InfoTech s.r.l.
http://www.hpinfotech.ro
e-mail:[email protected]

Project : jet printer
Version : starter 1.1
Date    : 2008/03/25
Author  : saleh c zarrin                 
Company :ir-micro                                 
Comments: nothing !


Chip type           : ATmega64
Program type        : Application
Clock frequency     : 16.000000 MHz
Memory model        : Small
External SRAM size  : 0
Data Stack size     : 1024
*********************************************/

#include <mega64.h>

// External Interrupt 4 service routine
interrupt [EXT_INT4] void ext_int4_isr(void)
{
// Place your code here

}

// External Interrupt 5 service routine
interrupt [EXT_INT5] void ext_int5_isr(void)
{
// Place your code here

}

#define RXB8 1
#define TXB8 0
#define UPE 2
#define OVR 3
#define FE 4
#define UDRE 5
#define RXC 7

#define FRAMING_ERROR (1<<FE)
#define PARITY_ERROR (1<<UPE)
#define DATA_OVERRUN (1<<OVR)
#define DATA_REGISTER_EMPTY (1<<UDRE)
#define RX_COMPLETE (1<<RXC)

// USART0 Receiver buffer
#define RX_BUFFER_SIZE0 8
char rx_buffer0[RX_BUFFER_SIZE0];
unsigned char rx_wr_index0,rx_rd_index0,rx_counter0;
// This flag is set on USART0 Receiver buffer overflow
bit rx_buffer_overflow0;

// USART0 Receiver interrupt service routine
#pragma savereg-
interrupt [USART0_RXC] void uart0_rx_isr(void)
{
char status,data;
#asm
    push r26
    push r27
    push r30
    push r31
    in   r26,sreg
    push r26
#endasm
status=UCSR0A;
data=UDR0;
if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0)
   {
   rx_buffer0[rx_wr_index0]=data;
   if (++rx_wr_index0 == RX_BUFFER_SIZE0) rx_wr_index0=0;
   if (++rx_counter0 == RX_BUFFER_SIZE0)
      {
      rx_counter0=0;
      rx_buffer_overflow0=1;
      };
   };
#asm
    pop  r26
    out  sreg,r26
    pop  r31
    pop  r30
    pop  r27
    pop  r26
#endasm
}
#pragma savereg+

#ifndef _DEBUG_TERMINAL_IO_
// Get a character from the USART0 Receiver buffer
#define _ALTERNATE_GETCHAR_
#pragma used+
char getchar(void)
{
char data;
while (rx_counter0==0);
data=rx_buffer0[rx_rd_index0];
if (++rx_rd_index0 == RX_BUFFER_SIZE0) rx_rd_index0=0;
#asm("cli")
--rx_counter0;
#asm("sei")
return data;
}
#pragma used-
#endif

// Standard Input/Output functions
#include <stdio.h>

// Timer 2 overflow interrupt service routine
interrupt [TIM2_OVF] void timer2_ovf_isr(void)
{
// Reinitialize Timer 2 value
TCNT2=0x05;
// Place your code here

}

// SPI functions
#include <spi.h>

// Declare your global variables here

void main(void)
{
// Declare your local variables here

// Input/Output Ports initialization
// Port A initialization
// Func0=Out Func1=Out Func2=Out Func3=Out Func4=Out Func5=Out Func6=Out Func7=Out
// State0=0 State1=0 State2=0 State3=0 State4=1 State5=1 State6=1 State7=0
PORTA=0x70;
DDRA=0xFF;

// Port B initialization
// Func0=Out Func1=Out Func2=Out Func3=In Func4=Out Func5=In Func6=In Func7=Out
// State0=0 State1=0 State2=0 State3=T State4=0 State5=T State6=T State7=0
PORTB=0x00;
DDRB=0x97;

// Port C initialization
// Func0=Out Func1=Out Func2=Out Func3=Out Func4=Out Func5=Out Func6=Out Func7=Out
// State0=0 State1=0 State2=0 State3=0 State4=0 State5=0 State6=0 State7=0
PORTC=0x00;
DDRC=0xFF;

// Port D initialization
// Func0=In Func1=In Func2=Out Func3=Out Func4=In Func5=Out Func6=Out Func7=In
// State0=T State1=T State2=0 State3=0 State4=T State5=0 State6=0 State7=P
PORTD=0x80;
DDRD=0x6C;

// Port E initialization
// Func0=In Func1=In Func2=Out Func3=Out Func4=In Func5=In Func6=Out Func7=Out
// State0=T State1=T State2=0 State3=0 State4=T State5=T State6=1 State7=1
PORTE=0xC0;
DDRE=0xCC;

// Port F initialization
// Func0=In Func1=In Func2=In Func3=In Func4=In Func5=In Func6=In Func7=In
// State0=P State1=P State2=P State3=P State4=P State5=P State6=P State7=P
PORTF=0xFF;
DDRF=0x00;

// Port G initialization
// Func0=In Func1=Out Func2=Out Func3=Out Func4=Out
// State0=P State1=0 State2=0 State3=1 State4=1
PORTG=0x19;
DDRG=0x1E;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: 16000.000 kHz
// Mode: CTC top=OCR0
// OC0 output: Toggle on compare match
ASSR=0x00;
TCCR0=0x19;
TCNT0=0x00;
OCR0=0x16;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer 1 Stopped
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// OC1C output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
OCR 1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
OCR1CH=0x00;
OCR1CL=0x00;

// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: 250.000 kHz
// Mode: Normal top=FFh
// OC2 output: Disconnected
TCCR2=0x03;
TCNT2=0x05;
OCR2=0x00;

// Timer/Counter 3 initialization
// Clock source: System Clock
// Clock value: Timer 3 Stopped
// Mode: Normal top=FFFFh
// OC3A output: Discon.
// OC3B output: Discon.
// OC3C output: Discon.
TCCR3A=0x00;
TCCR3B=0x00;
TCNT3H=0x00;
TCNT3L=0x00;
OCR3AH =0x00;
OCR3AL=0x00;
OCR3BH=0x00;
OCR3BL=0x00;
OCR3CH=0x00;
O CR3CL=0x00;

// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// INT2: Off
// INT3: Off
// INT4: On
// INT4 Mode: Rising Edge
// INT5: On
// INT5 Mode: Rising Edge
// INT6: Off
// INT7: Off
EICRA=0x00;
EICRB=0x0F;
EIMSK=0x30;
EIFR=0x30;

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x40;
ETIMSK=0x00;

// USART0 initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART0 Receiver: On
// USART0 Transmitter: On
// USART0 Mode: Asynchronous
// USART0 Baud rate: 1200
UCSR0A=0x00;
UCSR0B=0x98;
UCSR0C=0x06;
UBRR0H=0x03;
UBR R0L=0x40;

// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
// Analog Comparator Output: Off
ACSR=0x80;
SFIOR=0x00;

// SPI initialization
// SPI Type: Master
// SPI Clock Rate: 125.000 kHz
// SPI Clock Phase: Cycle Half
// SPI Clock Polarity: High
// SPI Data Order: MSB First
SPCR=0x5B;
SPSR=0x00;

// 2 Wire Bus initialization
// Generate Acknowledge Pulse: On
// 2 Wire Bus Slave Address: 0h
// General Call Recognition: Off
// Bit Rate: 400.000 kHz
TWBR=0x0C;
TWAR=0x00;
TWCR=0x44;

// Global enable interrupts
#asm("sei")

while (1)
      {
      // Place your code here

      };
}[/align]



خوب من چند دقه دیگه می رم پارک والیبال بزنم .

اتانوکرول ( با نوشابه قاطی کنین !! )

Back to top
View user's profile Send private message Send e-mail Visit poster's website
ELEC_TECH
کاربر فعال
کاربر فعال

Joined: Mar 09, 2007
Posts: 271




Location: TEHRAN-TABRIZ
9098.70 امتیاز

Items

Status: Offline

PostPosted: شنبه، 3 فروردين ماه ، 1387 18:12:04 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

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

من تصاویر توضیحات مربوطش رو در صفحات قبلی قرار دادم.
مباحث مربوط به پرت هم فعلا می مونه برای فاز بعدی؟
با تشکر.
دی اکسید ماچ و بوسه

Back to top
View user's profile Send private message AIM Address Yahoo Messenger
saleh_chz
مدیر انجمن
مدیر انجمن

Joined: Jan 10, 2008
Posts: 2582




Location: مشهد
3049681.20 امتیاز

Items

Status: Offline

PostPosted: شنبه، 3 فروردين ماه ، 1387 20:55:50 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

سامو عليك حاج فرزاد گل گلاب
ممنونات ازت ( azot = نيتروژن )

من نتونستم مدار دوباره طراحي شده رو بذارم توي سايت ولي واسه ي مصارف خاص تعداد 4 عدد led در نظر گرفته شده كه مي توان بواسطه ي بافر يا ترانزيستور چراغ طبقاتي رو راه اندازي كرد .
واسه ي فونت ها هم به فرموده ي حامد عزيز ابتدا يه برنامه ي آزمايشي مي نويسيم بعد گام به گام تكميلش مي كنيم .

كلرو فلرو قربون

Back to top
View user's profile Send private message Send e-mail Visit poster's website
ELEC_TECH
کاربر فعال
کاربر فعال

Joined: Mar 09, 2007
Posts: 271




Location: TEHRAN-TABRIZ
9098.70 امتیاز

Items

Status: Offline

PostPosted: شنبه، 3 فروردين ماه ، 1387 21:22:06 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

ممنون عزیز جان


منظورم ار فونت روشی بود که مد نظر شما بود یه توضیح جزئی در مورد روشتون بدین, پله پله بودن روش اجرایی هم جای خود داره.

Back to top
View user's profile Send private message AIM Address Yahoo Messenger
saleh_chz
مدیر انجمن
مدیر انجمن

Joined: Jan 10, 2008
Posts: 2582




Location: مشهد
3049681.20 امتیاز

Items

Status: Offline

PostPosted: شنبه، 3 فروردين ماه ، 1387 21:37:10 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

سلام
خوب من تصورم اينه كه نمونه هاي مشابه فونت هاي از پيش تعريف شده اي مخصوص اين كار دارند و اين فونت ها با قالب كاملا مشخصي كه دارن براي كار با ميكرو خيلي راحته و يا نرم افزاري دارند كه مي توان فونت مورد نظر در ويندوز رو به اون داد و فونت با رزوليشن مورد نياز و قابل استفاده توسط ميكرو رو از اون گرفت .
خوب اين هم تصور من بود .
كه حضرت عالي فرموديد كه اكثر مواردي كه شما ملاحظه كرديد از glcd tools واسه ي ايجاد تصوير متن استفاده مي كنند .
( من يه تاپيك هم توي سايت واسه ي فارسي نويسي در glcd ديدم . ) البته نميدونم چقدر ميشه با استفاده از اين روش اديت متن كرد . ( يعني ميشه با تصاويري كه glcd tools ايجاد مي كنه برنامه ي اديت نوشت ؟ )

فعلا هم فقط يك تصوير ايجاد مي كنيم تا برنامه آزمايشي رو بنويسيم .

مرسيانيد هيدروژن

Back to top
View user's profile Send private message Send e-mail Visit poster's website
saleh_chz
مدیر انجمن
مدیر انجمن

Joined: Jan 10, 2008
Posts: 2582




Location: مشهد
3049681.20 امتیاز

Items

Status: Offline

PostPosted: يكشنبه، 4 فروردين ماه ، 1387 16:26:02 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

سلام دوستان عزيز
تاپيك جناب جهاندار رو يه نگاهي كردم (فارسي نويسي در ال سي دي گرافيكي ) اما مخ كدوي من هنگ كرد !! Embarassed
كاش ايشون بتونن كمكمون كنند .

من يه خورده روي برنامه آزمايشي كار كردم .
نحوه ي دسترسي به بيت مپي كه توسط glcd tools ايجاد شده و كنترل هد پرينتر . البته تابع ارسال داده به هد مونده .

اين يه عكس از بيت مپي كه روش كار مي كنيم و كمي اطلاعات جهت دسترسي به داده هاش :
Click to view this image at its original size
Click on the image to view it at its original size

و برنامه اي كه هر چند جزيي روش كار كردم :

Code:
[align=left]#include <mega64.h>
#include <spi.h>
#include <delay.h>

#define sw1 PING.0 // program micro sw -> use for other work at this time
#define power_sw PIND.7 // power sw
##define led_1 PORTE.2   // led 1

//------------------------head printer control pins
#define nss1 PORTE.6
#define nss2 PORTE.7
#define pho PORTB.0
#define nreset PORTB.7
#define nfire PORTG.3
#define test_10 PORTG.4
#define nfloat PINB.5   // in
#define ready PINB.6   // in

//------------------------power control pins
#define alarm PIND.4
#define lv_active PORTD.5
#define hv_active PORTD.6


unsigned char buffer_1 [128] [8] ;
unsigned char x=0;
unsigned char y=0;

unsigned char column[8];

flash char example[] ;

void power_on(void){
   lv_active=1;
   delay_ms(150);
   hv_active=1;
   delay_ms(150);
   nreset=1;
}
void power_off(void){
   nreset=0;
   delay_ms(1);
   hv_active=0;
   delay_ms(1);
   lv_active=0;
}
void data_out (void){

// ----------nothing yet !!!

}

void jet_print_2(void){
   unsigned char n=15 , i=0 ;
   while ( ready == 0 );
   if ( ready == 1 ){
      delay_us(250);
      if ( nfloat == 0 ){
         led=1;   // head temp alarm
         while(1);
      }else {
         for (i=0;i<512;i++){
            for (n=15;n<=0;n--){
               if (n<=8){
                  nss1=0;
                  delay_us(1);
                  nss2=1;
               }else{
                  nss1=1;
                  delay_us(1);
                  nss2=0;
               }
               delay_us(1);
               data_out( example[i+(n*512)] ) ;
            }
            delay_ms(1);
            nfire=0;
            delay_us(50);
            nfire=1;
         }
      }
   }
   nss1=1;
   nss2=1;
}

void main(void)
{

// Global enable interrupts
// #asm("sei") // disable all int just for this time

nreset=0;
hv_active=0;
lv_active=0;

while (1)
      {
      // Place your code here
      power_on();   // turn on head
      if (sw1==0){
         delay_ms(10);   // \/\/\____
         if(sw1==0){
            jet_print();
         }
      }
      if (power_sw == 0){
         delay_ms(10);   // \/\/\____
         if (power_sw == 0){
            power_off();   // turn off head
         }
      }
      };
}[/align]


يه عكس هم خودم با ابعاد 512*128 كشيدم واسه ي چاپ نمونه : Laughing Laughing Laughing
Click to view this image at its original size
Click on the image to view it at its original size


ممنون ناكيم
لطفا دوستان هم كمكي بفرمايند .
مرسيانيد هيدروژن (سمي ! )



Last edited by saleh_chz on دوشنبه، 5 فروردين ماه ، 1387 12:03:51; edited 1 time in total
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Arash_em
مدیر سایت - Site Admin
مدیر سایت - Site Admin

Joined: Mar 12, 2006
Posts: 2230




Location: ايران
282074.08 امتیاز

Items

Status: Offline

PostPosted: يكشنبه، 4 فروردين ماه ، 1387 16:33:27 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

سلام بر همگي عزيزان , بويژه صالح عزيز.
صالح جان ممنون از زحماتي كه داري براي اين تاپيك مي كشي... Wink
ماشاالا انقدر داري خوب جلو مي ري كه كسي جرات نمي كنه بياد و نظري بده... aa)
گفتم بيام و خسته نباشيدي خدمت شما عزيز بگم و برم...
با تقديم و احترام - آرش. Wink


__________________
زهر است عطاي خلق هر چند كه دوا باشد*

حاجت ز كه مي خواهي جايي كه خدا باشد *
Back to top
View user's profile Send private message Send e-mail Visit poster's website
saleh_chz
مدیر انجمن
مدیر انجمن

Joined: Jan 10, 2008
Posts: 2582




Location: مشهد
3049681.20 امتیاز

Items

Status: Offline

PostPosted: يكشنبه، 4 فروردين ماه ، 1387 16:52:01 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

سلام
آرش جان منو شرمنده نكن . Embarassed
ضمن اينكه ياوه گويي اي بيش نيست .
جرات هم نمي خواد . مگه من كيم ؟ شاگرد شما .
واسه ي تاپيك هم واقعا به كمك نياز داريم . ضمن اينكه من باز از فردا 90 درصد مي رم سر ساختمون .

ويژه ي فرزاد خان : ( آماده باش ! هول نكني ها ! )
لطف بفرما قطعاتي كه واسه ي آزمايش مدار نياز دارين رو تهيه بفرمايين .

خوبي ؟ طوريت نشد ؟ ( شوخي )

ممنون ناك

Back to top
View user's profile Send private message Send e-mail Visit poster's website
saleh_chz
مدیر انجمن
مدیر انجمن

Joined: Jan 10, 2008
Posts: 2582




Location: مشهد
3049681.20 امتیاز

Items

Status: Offline

PostPosted: يكشنبه، 4 فروردين ماه ، 1387 17:19:00 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

به خدا من كاري نكردم !
به خدا من تقصيري ندارم !!
نميدونم چا اينطوري شده !!!
صفحه خودش كش اومده . من كاري نكردم جون خودم !!

Back to top
View user's profile Send private message Send e-mail Visit poster's website
Arash_em
مدیر سایت - Site Admin
مدیر سایت - Site Admin

Joined: Mar 12, 2006
Posts: 2230




Location: ايران
282074.08 امتیاز

Items

Status: Offline

PostPosted: يكشنبه، 4 فروردين ماه ، 1387 17:33:09 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

saleh_chz wrote:
سلام
آرش جان منو شرمنده نكن . Embarassed
ضمن اينكه ياوه گويي اي بيش نيست .
جرات هم نمي خواد . مگه من كيم ؟ شاگرد شما .
واسه ي تاپيك هم واقعا به كمك نياز داريم . ضمن اينكه من باز از فردا 90 درصد مي رم سر ساختمون .

ويژه ي فرزاد خان : ( آماده باش ! هول نكني ها ! )
لطف بفرما قطعاتي كه واسه ي آزمايش مدار نياز دارين رو تهيه بفرمايين .

خوبي ؟ طوريت نشد ؟ ( شوخي )

ممنون ناك


سلام.
صالح جان شما سرور ما هستي...
حالا كه موقع تست شده , فرزاد جان من و صالح را بايد با هم دعوت كني... Rolling Eyes (جنبه طنز داشت...)
به هر حال انشاالا جواب خوب و كاملي از مدار بگيريد...
صالح جان كش اومدن صفحه هم مشكل خاصي نيست...
موفق و پيروز باشيد.


__________________
زهر است عطاي خلق هر چند كه دوا باشد*

حاجت ز كه مي خواهي جايي كه خدا باشد *
Back to top
View user's profile Send private message Send e-mail Visit poster's website
amir_port
کاربر تازه وارد
کاربر تازه وارد

Joined: Jul 28, 2006
Posts: 3





125.94 امتیاز

Items

Status: Offline

PostPosted: يكشنبه، 4 فروردين ماه ، 1387 17:54:15 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

سلام به همه دوستان عزيز

دوستان قبل از شروع به كار آيا كسي تحقيق كرده كه اين هد پرينتر آيا توي ايران هست يا نه ؟

Back to top
View user's profile Send private message
amir_port
کاربر تازه وارد
کاربر تازه وارد

Joined: Jul 28, 2006
Posts: 3





125.94 امتیاز

Items

Status: Offline

PostPosted: يكشنبه، 4 فروردين ماه ، 1387 17:59:12 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

سلام دوستان

من يك سوال ديگر هم داشتم - آيا ميشه با گذاشتن 4 هد كنار هم و ريختن رنگهاي مشكي و قرمز و سبز و آبي در هركدام از هدها يك عكس رنگي پرينت گرفت ؟

Back to top
View user's profile Send private message
ELEC_TECH
کاربر فعال
کاربر فعال

Joined: Mar 09, 2007
Posts: 271




Location: TEHRAN-TABRIZ
9098.70 امتیاز

Items

Status: Offline

PostPosted: يكشنبه، 4 فروردين ماه ، 1387 20:19:46 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

با سلام
از زحمات آقا صالح گل تشکر و سپاسگذاری ویژه دارم.

از سایر دوستان هم ممنونم.


و در جواب دوست عزیزمون باید بگم که این هد توی ایران موجوده ولی خریدش نیاز به تمهیدات خاصی داره که ما از ایران تهیه نمی کنیم و به احتمال قوی از این هد استفاده نکنیم.

این هد ها قابلیت چاپ CMYK رو دارند ولی ما به منظور کدینگ ازش استفاده میکنیم و برای چاپ چهار یا شش یا هشت و حتی 12 رنگ هم میشه از این هد استفاده کرد(این هد در وهله اول برای همین منظور طراحی شده) که شما نیاز به درایور و مادربرد چاپ CMYK خواهید داشت.

ولی شرکت تولید کننده هد رو به غیر از شرکت های خاص در اختیار هیچ شخص حقیقی و حقوقی نمی زاره
با تشکر فرزاد نجاتی

Back to top
View user's profile Send private message AIM Address Yahoo Messenger
saleh_chz
مدیر انجمن
مدیر انجمن

Joined: Jan 10, 2008
Posts: 2582




Location: مشهد
3049681.20 امتیاز

Items

Status: Offline

PostPosted: يكشنبه، 4 فروردين ماه ، 1387 22:50:58 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

سلام مجدد خدمت رفقاي گل
ما چاكرتيم آرش جان . خوب خدا رو شكر كه مورد خاصي نيست اين كشه . فكر كردم خراب كاري كردم ( لابد الان با خودتون مي گين : اين همه خراب كاري توي سايت كردي تازه فكر مي كني ؟!)

خوب البته ! چرا كه نه ! اگه فرزاد جان دعوتمون نكنه پس چطوري برنامه و مدار رو ديباگ كنيم و شكمي از عذا در بياريم ؟ ! ( شوخي )

خوب اين هم حاصل خودكشي امروز عصرم ! : ( حتما روش كليك كنين تا توي سايز حقيقي بهتر ديده بشه . )

Click to view this image at its original size
Click on the image to view it at its original size

خوب يه رم استاتيك خارجي و يه ريل تايم به مدار اضافه شده .
بايست بشينم و دقيقا پين هاي ميكرو رو هم مشخص كنم .

فرزاد جان شما فعلا چيزايي كه بايست تهيه كني اينان :
1- ميكرو و قطعات جانبيش مثل كريستال ؛ پروگرامر ؛ بورد تبديل به dip و ....
2- هد پرينتر
3- ميكرو سويچ
4- قطعات منبع تغذيه كه بايد بعد از طراحيش تهيه كنين
5-برد بورد يا يه بورد موقتي
6- ديگه چيزي يادم نمياد !!

بچه ها قبلا گفتم كه روشن كردن هد ترتيب و روش داره . واسه ي وصل كردن تغذيه ها به نظرتون از رله استفاده كنيم خوبه ؟
راستي واسه ي رگوله كردن برق 35 ولت از چي استفاده كنيم ؟
كسي هست كه بتونه منبع تغذيه سويچينگ واسمون طراحي كنه ؟
شديدا منتظر جواب دوستانيم .

تترا كلريد قربون ( استنشاق نشود !‌)



Last edited by saleh_chz on دوشنبه، 5 فروردين ماه ، 1387 04:08:08; edited 3 times in total
Back to top
View user's profile Send private message Send e-mail Visit poster's website
saleh_chz
مدیر انجمن
مدیر انجمن

Joined: Jan 10, 2008
Posts: 2582




Location: مشهد
3049681.20 امتیاز

Items

Status: Offline

PostPosted: دوشنبه، 5 فروردين ماه ، 1387 00:57:13 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

نيمه شب همه بخير
يه ايراد توي بلوك دياگرامي كه كشيدم ديدم كه بايست بگم :
جايي كه باس توسط ale لچ مي شه و بعد از لچ به ميكرو مي ره ؛ جايي كه نوشتم upper byte اشتباه مي باشد و صحيحش lower 8 bits address مي باشد .

من ميگم حالا بسوزم يا كه با غصه بسازم / تو ميگي فرقي نداره من كه چيزي نمي بازم !!! سياوش



ويرايش شد . دنبالش نگردين ! به دنبال كدامين قصه و افسانه مي گردي ؟ !‌ به دنبال ايرادات ديگر باشيد . منت گذاشتين .

(ساعت5:20 صبح !!!‌ مهدي خان جوابم رو گوش نداد !!! crybaby )

Back to top
View user's profile Send private message Send e-mail Visit poster's website
saleh_chz
مدیر انجمن
مدیر انجمن

Joined: Jan 10, 2008
Posts: 2582




Location: مشهد
3049681.20 امتیاز

Items

Status: Offline

PostPosted: دوشنبه، 5 فروردين ماه ، 1387 12:18:44 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

سلام

واسه ي اينكه صفحه از كش نجات پيدا كنه آرايه ي مربوط به بيت مپ رو برداشتم و توي اين لينك گذاشتم :


به هر حال عكسشو كه زدم پس مهم نيست كه حتما اينجا توي برنامه باشه .
البته موقع كامپايل بايست اضافه بشه .

خوب دوستان گلم اين هم كد مربوط به ارسال داده به هد :
نمي دونم اصلا عمليه ي يا نه ! بايست آزمايش بشه .

Code:
[align=left]
#include <mega64.h>
#include <spi.h>
#include <delay.h>

#define sw1 PING.0 // program micro sw -> use for power off at this time
#define power_sw PIND.7 // power sw
#define led_1 PORTE.2   // led 1

//------------------------power control pins
#define alarm PIND.4
#define lv_active PORTD.5
#define hv_active PORTD.6

unsigned char sent_sw = 1 ; // swich variable to spi be continue
unsigned char temp = 0 ; // not used ! jaut for no geting error
unsigned char column[16];
flash char example[]; // bit map

void power_on(void);
void power_off(void);

interrupt [SPI_STC] void spi_isr(void)
{
sent_sw = 1 ;
}
void jet_print_2(void){
   unsigned char n=15 , i=0 ;
   while ( ready == 0 );
   if ( ready == 1 ){
      delay_us(250);
      if ( nfloat == 0 ){
         led=1;   // head temp alarm
         while(1);
      }else {
         for (i=0;i<512;i++){ // x move
            for (n=15;n<=0;n--){ // y move
               if (n<=8){   // for byte 15...8 chip #1 and for 7...0 chip #2
                  nss1=0;
                  delay_us(1);
                  nss2=1;
               }else{
                  nss1=1;
                  delay_us(1);
                  nss2=0;
               }
               delay_us(1);
               while ( sent_sw = 0 );      // wait to sender ready
               sent_sw = 0;

               temp = spi ( example[i+(n*512)] ) ;// computing elements # & communicat
               
               //data_out( example[i+(n*512)] ) ;// computing elements # & communicat
               // column[n]=example[i+(n*512)];// computing elements # & communicat
               
            }
            // temp = spi (column[15]);   // send 1st byte too head
            delay_ms(1);
            nfire=0;
            delay_us(50);
            nfire=1;
         }
      }
   }
   nss1=1;
   nss2=1;
}
void main(void)
{

// SPI initialization
// SPI Type: Master
// SPI Clock Rate: 125.000 kHz
// SPI Clock Phase: Cycle Half
// SPI Clock Polarity: High
// SPI Data Order: MSB First
SPCR=0xDB;
SPSR=0x00;

// Clear the SPI interrupt flag
#asm
    in   r30,spsr
    in   r30,spdr
#endasm

// Global enable interrupts
#asm("sei")

nreset=0;
hv_active=0;
lv_active=0;

while (1)
      {
      // Place your code here
      power_on();   // turn on head
      if (sw1==0){
         delay_ms(10);   // \/\/\____
         if(sw1==0){
            jet_print();
         }
      }
      if (power_sw == 0){
         delay_ms(10);   // \/\/\____
         if (power_sw == 0){
            power_off();   // turn off head
         }
      }
      };
}[/align]

راستش من با پروتئوس كار نكردم و ياد ندارم شبيه سازي كنم . كسي ميتونه اين كارو واسمون انجام بده ؟
من هميشه روي مدار برنامه هامو چك مي كنم ( توي دوره هاي پيشين زمين شناسي اين چيزا كه نبود ! )

لازمه برنامه رو تشريح كنم ؟
راستي داشت يادم مي رفت : برنامه اولي كه گذاشتم يه تغيير كرده اون هم اينه كه اينجا از وقفه ي spi استفاده كرديم .
شرمنده كه خيلي ساده است .
اين كار واسه ي اين صورت گرفته كه بين بايت هاي انتقال داده شده به هد فاصله ي زيادي نيفته .
نمي دونم هد مي تونه اينطوري كار كنه . اميدواريم

چاكر جات



Last edited by saleh_chz on سه شنبه، 6 فروردين ماه ، 1387 00:36:33; edited 2 times in total
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    ...::: Ir-Micro.Com :::... Forum Index -> برنامه نویسی و مباحث مربوط به AVR All times are GMT + 3.5 Hours
Goto page Previous  1, 2, 3, 4 ... 11, 12, 13  Next
Page 3 of 13
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum

 
 Jump to:   

Related topics
 Topics   Replies   Author   Views   Last Post 
No new posts ساخت مدار حساس به فرکانس صوتی در محدوده 300 تا 500 هرتز 1 pedram032 1927 يكشنبه، 11 بهمن ماه ، 1394 13:45:49
pedram032 View latest post
No new posts راه اندازی 500 ال ای دی با هم 2 hosseinjoon 3651 جمعه، 29 ارديبهشت ماه ، 1391 20:36:43
hosseinjoon View latest post
No new posts سوال در مورد سیستم دزدگیر با برد 500 متر 1 akbar4742 3916 شنبه، 1 مرداد ماه ، 1390 18:35:29
akbar4742 View latest post
No new posts دیسک 500 گیگابایتی، اطلاعات را به صورت سه بعدی ذخیره می کند 2 Arash_em 4237 پنجشنبه، 10 ارديبهشت ماه ، 1388 10:01:10
brainbaran View latest post
No new posts درخواست دانلود step7 v5.4 1 bichare 7305 جمعه، 19 مرداد ماه ، 1386 08:06:35
azizkhani View latest post
 


Powered by phpBB © 2001, 2008 phpBB Group

Ported to Platinum 7.6.b.4 V2 by sadeghkhafan

فروشگاه تخصصی برق و الکترونیک ایران میکرو
www.iran-micro.com
PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL.
Powered by Platinum 7.6.b.4 v2
Powered by Platinum 7.6.b.4 v2 Persian

مدت زمان ایجاد صفحه : 4.57 ثانیه