导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→老主题,修改了重新发一下,高手一定赐教哦,谢谢[savage213]

 *第23729篇: 老主题,修改了重新发一下,高手一定赐教哦,谢谢

  
楼 主:savage213 2004年7月14日17:04
 老主题,修改了重新发一下,高手一定赐教哦,谢谢
大家好,小弟做的单片机控制打印机的程序,请高手指点!如何修改?
电路图没贴,可是在程序注释里面已经说了硬件如何连接的了!
下面的程序只是我做的课题里的控制打印机的这部分,当然,单片机还完成其他功能。
我的这个程序并没有使打印机动作起来,就是想让大家给我确定一下,这个程序如果没有错误,也可能是
电路的其他部分影响了打印机的正常工作!那么我就再从其他部分找错误!
请大家在百忙之中给我答复一下,谢谢!
祝大家身体健康,工作顺利!
#include   <reg51.h>  
#include  <W78E58.H>  
#include  <absacc.h>  
#define  uchar  unsigned  char
#define  uint   unsigned  int

sbit STROBE=P3^4;//单片机发出的选通信号
sbit CS=P2^5;//打印机在联机时为高电平
sbit ACK=P3^5;//数据以接收,返回主机低电平信号
sbit BUSY=P2^4;//打印机返回主机的忙信号
sbit ERROR=P2^6; //需在打印前判断该位
uchar code init[]={0x1c,0x78,0x00,0x1c,0x26,0x1b,0x45,0x1c,0x53,0x1e,0x1e,0x1b,0x6c,
                   0x10,0x1b,0x51,0x05 };//打印机初始化控制代码

uchar code tbhead[]={ 0x0a,0x0a, 0xcc,0xce,0xcc,0xce,
                     0xcd,0xf2,0xcb,0xea,0x21 };//要打印的几个汉字的国标码


void delay(uchar ms)//延时函数
{
    uchar  i;
    while (ms--)
    {
    for (i=0;i  < 10  ;i++)
    {;}
   }

}


void prt(uchar d)//打印单个字符的函数
  {
   while(BUSY);
   STROBE=0x01;

   P0=d;//P0口直接通过4.7K上拉排阻接到打印机上对应的8根数据线上
  
   STROBE=0x00;
   delay(1);//延时
   STROBE=0x01;
   }
void main()
{
  uchar i;
  for(i=0;i  <17;i++)
  prt(init[i]);//打印机初始化
  
 while(1)
  {  
  for(i=0;i  <11;i++)
  delay(500);//延时
  prt(tbhead[i]);//打印一串字符

   }
}

  
2楼:savage213 2004年7月14日19:14
 自己顶
高手回复一下啊!帮帮忙,小弟谢谢大家了!

>>>>>>对该主题发表你的看法

本主题贴数2,分页: [第1页]


[上一篇主题]:请问哪位大虾有VP40575的资料??

[下一篇主题]:pcf8563的一个小问题,希望能得到答案,谢谢