starrysky0228 发表于 2010-8-19 17:28:02

用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;//&iquest;&ordf;&AElig;&ocirc;timer
        PWM=0;
        }                                                         
}

dengxiaofeng 发表于 2010-10-25 14:57:54

不错!
我现在手里有一个 9针打印机针头驱动线是 10条不知道驱动电压时多大楼主知道么?

starrysky0228 发表于 2011-3-25 17:58:51

回复【1楼】dengxiaofeng 天下的人
-----------------------------------------------------------------------

什么型号的打印机??
页: [1]
查看完整版本: 用STC11F08XE单片机控制9针票据打印机问题探讨