قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

أدوات الموضوع

sherifkmal
:: مهندس ::
تاريخ التسجيل: Feb 2005
المشاركات: 22
نشاط [ sherifkmal ]
قوة السمعة:0
قديم 16-09-2012, 08:05 PM المشاركة 1   
ha الطابعة الكاشير الحرارية Twitter FaceBook Google+



جزيل الشكر للقائمين على هذا المنتدى الرائع والاعضاء المميزين الذين لا يبخلون بالعلم او المعلومة واخص بالذكر المهندس احمد سمير الذى لولاه ما عرفنا عن الميكروكنتروللر اى شئ جعله الله فى ميزان حسناته


لى سؤال هل يعرف احد كيفية التعامل مع هذه الطابعة


اتصلت بالشركة المصنعة وطلبت منهم مثال لكيفية الطباعة اعطونى هذا الكود
كود:
#include <reg52.h>
#include <stdio.h>
#include <string.h>

#define uint         unsigned int
#define uchar         unsigned char
#define ulong         unsigned long



					  
/**************************************************/

	void PrintChar(uchar temp){
	
	
	         SBUF=temp;
	     
	      while(TI==0);
							  
	           TI=0;
	}

/**************************************************/
	void PrintString(unsigned char *String){
	        while(*String){
	                PrintChar(*String++);
	        }
	}
/**************************************************/
	void chushi(void){
	        P1 = 0xff;
	        TMOD=0x20;
	        TH1=0xf9;		   //24M
		
	        TR1=1;
	        PCON=0x00;
	        SCON=0x50;			
	}
	
	
/*****************************************************/
	void main(void){
	      
	 	chushi(); 
                PrintChar(0x1b);
		PrintChar(0x57);
		PrintChar(0x03);     //enlarge 3 times
                PrintChar(0x1b);
		PrintChar(0x31);
		PrintChar(0x00);     //the line between is 0
                PrintChar(0x1b);
		PrintChar(0x70);
		PrintChar(0x00);     //the character between is 0
	    	PrintString("abcdefghijklmnopqrstuvwxyz");
	    	PrintChar(0x0d);
	   	PrintString("abcdefghijklmnopqrstuvwxyz");
	   	PrintChar(0x0d);
	   	PrintString("abcdefghijklmnopqrstuvwxyz");
		PrintChar(0x0d);
		PrintChar(0x0a);
		PrintChar(0x0a);
		while(1);
 }
ولكن للاسف لم استطيع انتاج ملف هيكس للبك
الميكروسى يعطينى اخطاء فى الملفات
stdio.h
reg52.h
فهل من احد يفيدنا
ولكم جزيل الشكر

اعلانات

الصورة الرمزية 5282
5282
:: عضو ذهبي ::
تاريخ التسجيل: Jun 2008
الدولة: مصر- الاسكندرية
المشاركات: 1,630
نشاط [ 5282 ]
قوة السمعة:112
قديم 16-09-2012, 09:06 PM المشاركة 2   
افتراضي


اعتقد بنسبه 99.99% ان هذا الكود ليس لل pic mcu وانما ل 8051 core mcu

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

sherifkmal
:: مهندس ::
تاريخ التسجيل: Feb 2005
المشاركات: 22
نشاط [ sherifkmal ]
قوة السمعة:0
قديم 16-09-2012, 09:50 PM المشاركة 3   
افتراضي


اعتقد بنسبه 99.99% ان هذا الكود ليس لل pic mcu وانما ل 8051 core mcu
اولا اشكرلك اخى سرعة الرد واوفقك الرأى ان الكود غير مخصص لل pic


وهذا مثال اخر للاردوينو
كود:
/*
 Example 38.2 - Sparkfun Thermal Printer Test II (COM-10438)
 http://tronixstuff.wordpress.com/tutorials > chapter 38
 Based on code by Nathan Seidle of Spark Fun Electronics 2011

http://littlebirdelectronics.com/products/thermal-printer

 */

#include
NewSoftSerial Thermal(2, 3); // printer RX to digital 2, printer TX to digital 3

int heatTime = 80;
int heatInterval = 255;
char printDensity = 15;
char printBreakTime = 15;

void setup()
{
  Serial.begin(57600); // for debug info to serial monitor
  Thermal.begin(19200); // to write to our new printer
  initPrinter();
}

void initPrinter()
{
  //Modify the print speed and heat
  Thermal.print(27, BYTE);
  Thermal.print(55, BYTE);
  Thermal.print(7, BYTE); //Default 64 dots = 8*('7'+1)
  Thermal.print(heatTime, BYTE); //Default 80 or 800us
  Thermal.print(heatInterval, BYTE); //Default 2 or 20us
  //Modify the print density and timeout
  Thermal.print(18, BYTE);
  Thermal.print(35, BYTE);
  int printSetting = (printDensity<<4) | printBreakTime;
  Thermal.print(printSetting, BYTE); //Combination of printDensity and printBreakTime
  Serial.println();
  Serial.println("Printer ready");
}

void loop()
{
  // underline - one pixel
  Thermal.print(27,BYTE);
  Thermal.print(45,BYTE);
  Thermal.print(1,BYTE);
  Thermal.println("Underline - thin");
  Thermal.println("01234567890123456789012345678901");
  Thermal.print(10,BYTE);

  // underline - two pixels
  Thermal.print(27,BYTE);
  Thermal.print(45,BYTE);
  Thermal.print(2,BYTE);
  Thermal.println("Underline - thick");
  Thermal.println("01234567890123456789012345678901");
  Thermal.print(10,BYTE);  

  // turn off underline
  Thermal.print(27,BYTE);
  Thermal.print(45,BYTE);
  Thermal.print(0,BYTE);
  delay(3000);
  Thermal.print(10,BYTE);  

  // bold text on
  Thermal.print(27,BYTE);
  Thermal.print(32,BYTE);
  Thermal.print(1,BYTE);
  Thermal.println(" #### Bold text #### ");
  Thermal.println("01234567890123456789012345678901");
  delay(3000);  

  // bold text off
  Thermal.print(27,BYTE);
  Thermal.print(32,BYTE);
  Thermal.print(0,BYTE);
  Thermal.print(10, BYTE); //Sends the LF to the printer, advances the paper
  delay(3000);  

  // height/width enlarge
  Thermal.print(29,BYTE);
  Thermal.print(33,BYTE);
  Thermal.print(255,BYTE);
  Thermal.println("ABCDEF");
  Thermal.println("012345");
  delay(3000);  

  // back to normal
  Thermal.print(29,BYTE);
  Thermal.print(33,BYTE);
  Thermal.print(0,BYTE);
  delay(3000);

  Thermal.print(10, BYTE);
  Thermal.println("Back to normal...");
  Thermal.print(10, BYTE);
  Thermal.print(10, BYTE);
  do { } while (1>0); // do nothing
}
وهذا الفيديو الخاص بالطابعة وهى تعمل




السؤال هنا كيف اعدل هذا الكود ليعمل مع البك


الصورة الرمزية 5282
5282
:: عضو ذهبي ::
تاريخ التسجيل: Jun 2008
الدولة: مصر- الاسكندرية
المشاركات: 1,630
نشاط [ 5282 ]
قوة السمعة:112
قديم 16-09-2012, 10:15 PM المشاركة 4   
افتراضي


الكودين واحد (8051 & aurdino) وهو استخدام الارسال عن طريق السيريال uart.

للتحويل للميكروسى. كما فى الكود يوجد شيئين. اوامر للطباعه والنصوص التى سوف تعرض.
فقط استخدام اومر ارسال السيريال فى الميكرو سى وارسل نفس البيانات التى فى الكود السابق. لجعل الطباعه جاهزه للعمل . ثم ارسل بيانات النص. استخدم نفس تتابع الاكواد السابق وهو شارح الغرض من كل امر .


sherifkmal
:: مهندس ::
تاريخ التسجيل: Feb 2005
المشاركات: 22
نشاط [ sherifkmal ]
قوة السمعة:0
قديم 16-09-2012, 10:24 PM المشاركة 5   
افتراضي


انا اشتريت الطابعة وهى على وصول ان شاء الله وهى ستعمل على عداد تاكسى اجرة
بعد التشغيل ارفعها فيديو
و جزيل الشكر لك استاذى

إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 02:23 PM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025