急急急!!单片机驱动动热敏微打

[复制链接]
2670|3
 楼主| YEXIANG02 发表于 2009-3-12 20:41 | 显示全部楼层 |阅读模式
 我用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); //换行
}
}
wjy1107 发表于 2009-3-12 22:57 | 显示全部楼层

你先用串口调试助手试试打印机好用不?

先忽略READY信号,用串口调试助手将你所要发送的命令,一行一行的输入,调试正确了再用程序实现,省不少力气哦。
冷漠 发表于 2009-3-13 08:55 | 显示全部楼层

书上有现成的程序。

懒得专门为此跑图书馆,你只要查一查早期出版的51单片机应用汇集的书上基本都有。
找厚的。作者:何力民。黎庆生,之类
winds 发表于 2009-3-13 09:51 | 显示全部楼层

输出用P0口?有没有上拉电阻?

打印口,是标准的TTL接口,输入需要一定的高电平信号电流
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部