用STC11F08XE单片机控制9针票据打印机问题探讨
工作流程设定:1打印头托架驱动电机运动--2驱动电机尾部光栅解码信号检测(用T0中断并初始化T1定时器)--3打印头出针并开定时--4定时340US收针(定时量为打印针头力度控制)--5收针后定时490US(控制动作频率,防止打印头过热)--6判断单位打印是否完毕(N--跳转到程序1,Y--继续6)--6检测托架是否运动到零点(N--继续1,Y--步进电机驱动喂纸,完毕,再继续到1)http://cache.amobbs.com/bbs_upload782111/files_32/ourdev_576171.jpg
打印时间表 (原文件名:未命名.jpg)
现在调试的情况是:打印偶尔有偶尔没,而且容易发热。。。(本程序是本人的处女作~~)
/************************************************************/
/*
void Int0_Routine(void) interrupt 0
{
T0_count++;
TL1 = 0xEE;
TH1 = 0xFF;
Printhead_coil_driver();
}
voidInt1_time(void) interrupt 3 //using 3 //´òÓ¡»úÕëͷʹÄÜʱ¼ä
{
TL1=0xA0; //ÖØ×°³õÖµ
TH1=0xE2;
U15_573_PIN_OUTPUT=1;
TR1=0;//¹Ø±Õtimer
} */
void Timer1Init(void) interrupt 3
{
TL1 = 0xEE;
TH1 = 0xFF;
T1_count++;
if(T1_count>=35)
{
T1_count=0;
T1_count1++;
U15_573_PIN_OUTPUT=1;
U15_573_PIN_LATCH =0;
if(T1_count1>=2)
{
T1_count1=0;
TR1=0;
PWM=0;
}
// ENABLE_TIMER1_INTR();
}
}
void main (void)
{
system_Ini();
////////////////T0ÖжÏģʽ/T1¶¨Ê±Ä£Ê½³õʼ»¯//////////////////////
// IP=0x05;
IT0=0;
EX0=1;
TMOD=0x10;
TL1=0xA0;
TH1=0xE2;
TR1=0;
ET1=1;
EA=1;
while(1)
{
PWM=0;
if(HOME_ENCODE==1)
{
PWM=1;
motor_ffw();
}
}
}
void Printhead_coil_driver()
{
unsigned char i;
for(i=0;i<=8;i++)
{
PWM=1;
U15_573_PIN_OUTPUT=1;
U15_573_PIN_LATCH =0;
P2=PIN_Hn;
U15_573_PIN_OUTPUT=0;
U15_573_PIN_LATCH =1;
TR1=1;//¿ªÆôtimer
PWM=0;
}
} 不错!
我现在手里有一个 9针打印机针头驱动线是 10条不知道驱动电压时多大楼主知道么? 回复【1楼】dengxiaofeng 天下的人
-----------------------------------------------------------------------
什么型号的打印机??
页:
[1]