اطلاعیه

Collapse
No announcement yet.

روش کار با پرینتر

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    #16
    پاسخ : روش کار با پرینتر

    من هنوز سر کار هستم. عصر یک نگاهی میکنم.

    دیدگاه


      #17
      پاسخ : روش کار با پرینتر

      سلام، با سپاس فراوان از آقای رضا آقازاده و راهنمایی های بسیار مفید ایشان مشکلم برطرف شد،
      نکته کلیدی چک کردن دیتا ارسالی بود که متوجه شدم کاملا" خطا دار است چون مشکل نه از کدهای ارسالیم بود و نه از روش ارسال- اشتباه از من بود که در برنامه نویسی MicroCode Studio دستور ارسال String را با یک دستور دیگه به اشتباه جایگزین کرده بودم.
      به هر حال جواب درست را گرفتم...
      باز هم از راهنمایی های دوست عزیزمان آقای رضا آقازاده قدر دانی میکنم.

      کد نهایی برنامه هم این شد:
      کد:
      ' Strobe : PORTD.1	
      	o_char var byte
          
      	i var byte
      	TRISB = 0
      	TRISD = 0
      
      top:
      		PORTB = $ff
      		PORTD = $ff
      	
      					
      	 
      	o_char="N"
      		gosub out_char
      		gosub ret
      							
      	for i=0 to 16
      		LOOKUP i,["A99,15,0,1,1,1,N,"],o_char
      		gosub out_char 
      	next i
      	
      		o_char=34
      		gosub out_char
      	for i=0 to 14
      		LOOKUP i,["==is is font ++"],o_char
      		gosub out_char 
      	next i
      		o_char=34
      		gosub out_char
      		gosub ret
      						
      		o_char="P"
      			gosub out_char
      		o_char="1"
      			gosub out_char
      			gosub ret
      	pause 2000
      goto top
      
      
      ret:				' print a return and line feed
      	o_char=13
      	gosub out_char
      	o_char=10
      	gosub out_char
      return
      
      
      out_char:			' print charcter in o_char
      
      	PORTD=$3		'strobe high
      	PORTB = o_char
      	pauseus 10
      	PORTD=$01
      	pauseus 10
      	
      	PORTD=$03	
      	
      return

      دیدگاه


        #18
        پاسخ : روش کار با پرینتر

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

        دیدگاه


          #19
          پاسخ : روش کار با پرینتر

          در مورد فیدبک ACK حتما" این کار انجام میشه، این برنامه فقط برای خروجی گرفتن و تست هست.
          و همچنین Busy, PE, Fault هم حتما" در برنامه فینال مورد استفاده قرار خواهند گرفت وگرنه ضعفی برای دستگاه بشمار می آید.
          پینهای Init, Auto line feed, Select printer هم در این نوع پرینتر وجود ندارد.
          با تشکر فراوان

          دیدگاه

          لطفا صبر کنید...
          X