我用89c52 驱动热敏微打(荣达电子公司的) 然后为什么打印机总是不工作啊 ! 请问下 程序如下:
#include <reg52.h> #define uchar unsigned char #define uint unsigned int #define data_8 P0 sbit BUSY = P1^2; //打印机 BUSY 接P1.2 sbit STB = P1^0; //打印机 STB 接P1.0 void print(uchar j) //打印子程序 { uchar i; while(BUSY){}; //BUSY=1,打印机忙,等待BUSY 为0 再发数 data_8=j; STB=0; i++; i--; STB=1; //给出数据锁存时钟 BUSY=1; } void main(void) {BUSY = 1; //忙信号置高 STB = 1; //选通信号置高 print(0x1b); //打印机初始化命令 print(0x38); print(0x04); for(;;) { print(0xd0); //发送汉字内码“新荣达” print(0xc2); print(0xc8); print(0xd9); print(0xb4); print(0xef); print(0x0d); //换行 } }
|