哪位大侠会用51单片机控制串口打印机的接线图,简单打印程序(C语言)

单片机的RXD、TXD通过电平转换芯片MAX232,接到热敏打印机串口的TXD、RXD,GND--GND再接上5v电源程序是串口例程:/*****************... 单片机的RXD、TXD通过电平转换芯片MAX232,
接到热敏打印机串口的TXD、RXD,
GND--GND
再接上5v电源
程序是串口例程:
/*********************************************************
// 新荣达电子打印机测试程序
// 51单片机,晶振11.0592
// 时间:2009-7-10
// 用与测试串行接口打印机
// 常用打印机指令以函数行式体现
// 可根据需要自行调用单一函数
**********************************************************/
#include<reg52.h> //51头文件
#include<string.h> //字串处理函数头文件
#include<math.h>
#include< intrins.h>

#define uchar unsigned char
sbit BUSY=P1^0; //并口打印机的BUSY,串口打印机的CTS
/**************************单字节打印函数************************************/
void print(unsigned char ch)
{

// while (BUSY==1) /sy为1时,等待,如数据量小,可不判BUSY
// {;}
SBUF= ch; /sy=0,将数据送到P1口
while(TI==0) //当TI为0时,表示数据未发送完成,一直等待,直到为1
{;}
TI=0; //将TI清0
}

/*********************串口初始化**********************************************/
void com_init(void)
{
TH1=0XF4; //波特率值装入计数器,2400BPS
// TH1=0XF4; //波特率值装入计数器,9600BPS
TMOD=0X20; //串口设置,定时器1,设为方式2,8位自动重载,用于产生波特率
SCON=0X50; //串口发送方式1,8位数据位,1位停止位
TR1=1; //开启定时器1
}
/**********************字符打印函数********************************************/
void print_chs(uchar ch[])
{
uchar i;
for(i=0;i<strlen(ch);i++)
print(ch[i]);
}

Main()
{

uchar chs[]="新荣达电子测试\n";
com_init();
print_chs(chs);
while(1)
{;}
}
可是下载到单片机后,打印机不打印呢?
请成功用过单片机控制热敏打印机的大侠帮助我
展开
 我来答
牛XX的小99
2015-03-02 · TA获得超过6374个赞
知道小有建树答主
回答量:3661
采纳率:37%
帮助的人:1131万
展开全部
你要先用标准PC串口软件来模拟,成功了再移植到单片中工作。
追问
您用过单片机控制微型热敏打印机吗?
追答
只需要关心指令、BPS、校验等串口特征数据。
你可以做个监控设备来监视你的数据是否正确即可,不用关心具体外设是打印机或是别的什么,他们在出厂前已有调试和检测。
赏攸司空晓凡
2019-08-06 · TA获得超过1144个赞
知道小有建树答主
回答量:488
采纳率:94%
帮助的人:8.3万
展开全部
具体是什么情况呢?请明示!我这里有一些资料,需要可以来找我,随时都在线,等待回复。如果不在线,可以给我留言,看到到马上回复。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式