搜索
bottom↓
回复: 56

共享我写的微型热敏打印机驱动

  [复制链接]

出0入0汤圆

发表于 2008-4-24 07:10:26 | 显示全部楼层 |阅读模式
因为项目中用到了微型打印机,所以调试了一下,驱动挺简单的,发上来大家分享一下,o(∩_∩)o...

//----------------------------main.c--------------------------------------------------------------

/*******************************************************************************
* * 微型打印机驱动
* *功 能:驱动北京荣达创新公司的RD-D32_SN-24型热敏微型打印机
* *芯 片:mega16
* *作 者:莫锦攀
* *时 间:2008.4.23
* *备 注:底层驱动由串口驱动提供
******************************************************************************/

#include <iom16v.h>
#include "printf.h"

void main(void)
{
unsigned char i;
Printf_Init();

Printf_String("同期电压: 28V");

Printf_String("同期相位: 2度");

Printf_String("同期频率:48.22HZ");

Printf_String("同期误差:-156ms");

Printf_String("导前时间:156ms");


Printf_String(" 实 验 记 录 01");

while(1)
{
}



}

/-------------------------------------------printf.c-------------------------------------------

/*******************************************************************************
* * 微型打印机驱动
* *功 能:驱动北京荣达创新公司的RD-D32_SN-24型热敏微型打印机
* *芯 片:mega16
* *作 者:莫锦攀
* *时 间:2008.4.23
* *备 注:底层驱动由串口驱动提供
******************************************************************************/
#include "printf.h"

/*******************************************************************************
**函数名称:Printf_Init()
**函数功能:初始化打印机
**函数入口:无
**函数出口:无
*******************************************************************************/
void Printf_Init(void)
{
init_USART();//初始串口
put_c(0x1b);
put_c(0x40);//初始化打印机
}
/*******************************************************************************
**函数名称:Printf_Cn()
**函数功能:打印一个汉字
**函数入口:*cn
**函数出口:无
*******************************************************************************/
void Printf_Cn( unsigned char *cn)
{
unsigned int len;
unsigned int k;
len = Length_Printf_GB();
for(k=0;k<len;k++)
{
if(cn[0] == Printf_GB[k].Index[0] && cn[1] == Printf_GB[k].Index[1])
break;
}
put_c(0x1b);//选择16*16点阵汉字打印
put_c(0x38);
put_c(0x00);

put_c(0x1b);//横向放大两倍
put_c(0x57);
put_c(0x02);

put_c(Printf_GB[k].Msk[0]);
put_c(Printf_GB[k].Msk[1]);
}

/***********************************************************************************************
**函数名称:Printf_En()
**函数功能:打印一个字符
**函数入口:en
**函数出口:无
***********************************************************************************************/
void Printf_En(unsigned char en)
{
put_c(0x1b);//选择字符集1
put_c(0x36);

put_c(0x1b);//放大4倍
put_c(0x57);
put_c(0x04);

put_c(en); //输出字符


}

/***********************************************************************************************
**函数名称:Printf_String()
**函数功能:
**函数入口:
**函数出口:无
***********************************************************************************************/
void Printf_String( unsigned char*p)
{
unsigned char i=0;
while(p>0)
{
if(p < 128)// ASCII
{
Printf_En(p);
}
else // 中文
{
Printf_Cn(&p);
i++;
}
i++;
}
}

//---------------------------font.c---------------------------------------------------------

/*******************************************************************************
* * 字库文件
* *功 能:为打印机提供字模转换
* *芯 片:mega16
* *作 者:莫锦攀
* *时 间:2008.4.23
* *备 注:
******************************************************************************/
#include "font.h"
typFNT_Printf_GB const Printf_GB[]=
{
"实",0xCA,0xB5,
"验",0xD1,0xE9,
"记",0xBC,0xC7,
"录",0xC2,0xBC,
"导",0xB5,0xBC,
"前",0xC7,0xB0,
"时",0xCA,0xB1,
"间",0xBC,0xE4,
"同",0xCD,0xAC,
"期",0xC6,0xDA,
"误",0xCE,0xF3,
"差",0xB2,0xEE,
"频",0xC6,0xB5,
"率",0xC2,0xCA,
"相",0xCF,0xE0,
"位",0xCE,0xBB,
"电",0xB5,0xE7,
"压",0xD1,0xB9,
"度",0xB6,0xC8,
};

/*******************************************************************************
**函数名称:Length_GB()
**函数功能:计算字库大小
**函数入口:无
**函数出口:len
*******************************************************************************/
unsigned int Length_Printf_GB(void)
{
unsigned int len;
len = sizeof(Printf_GB)/sizeof(Printf_GB[0]);
return len;
}
点击此处下载 ourdev_259586.rar(文件大小:32K) (原文件名:printf.rar)

点击此处下载 ourdev_259582.PDF(文件大小:716K) (原文件名:RD-D型微打使用说明.PDF)
点击此处下载 ourdev_259583.rar(文件大小:3K) (原文件名:区位码取模软件.rar)

(原文件名:DSC00902.JPG)


(原文件名:DSC00903.JPG)

出0入0汤圆

发表于 2008-4-24 08:27:40 | 显示全部楼层
帅呆了.

出0入0汤圆

发表于 2008-4-24 09:01:33 | 显示全部楼层
我以为是打印机的解码程序呢,原来是发数据给打印机的.

出0入0汤圆

发表于 2008-4-24 09:17:45 | 显示全部楼层
记号

出0入228汤圆

发表于 2008-4-24 09:55:12 | 显示全部楼层
GZ

出0入0汤圆

发表于 2008-4-24 11:30:06 | 显示全部楼层
哇噻!07:10:26

这么早啊!早起的鸟儿有虫吃,呵呵....

出0入0汤圆

发表于 2008-4-24 11:39:23 | 显示全部楼层
mark

出0入46汤圆

发表于 2008-4-24 12:15:00 | 显示全部楼层
好!

出0入0汤圆

发表于 2008-4-24 13:20:26 | 显示全部楼层
mark

出0入0汤圆

发表于 2008-4-24 13:32:48 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-8-29 00:34:12 | 显示全部楼层
楼主不会是我的校友吧?

出0入0汤圆

发表于 2009-8-29 10:52:41 | 显示全部楼层
早起的鸟儿有虫吃,早起的虫子被鸟吃

出0入0汤圆

发表于 2009-10-6 17:06:55 | 显示全部楼层

出0入0汤圆

发表于 2010-2-2 19:41:12 | 显示全部楼层
MARK 在写 参考下LZ的

出0入0汤圆

发表于 2010-5-31 22:06:29 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-5-31 22:38:55 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-6-1 17:18:07 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-6-14 12:05:52 | 显示全部楼层
共享我写的微型热敏打印机驱动  
记号。

出0入0汤圆

发表于 2010-8-19 21:24:43 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-8-19 21:54:30 | 显示全部楼层
偶也以为是打印机精工之类的热敏头以及切刀的驱动控制程序,原来是通过串口直接发数据给打印机打印而已啊。标题误导。

出0入0汤圆

发表于 2011-1-14 21:12:50 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-5-8 09:44:57 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-6-18 23:21:05 | 显示全部楼层
这也值得吹嘘一番。。。。

出0入0汤圆

发表于 2011-6-19 01:35:05 | 显示全部楼层
非常不错

出0入0汤圆

发表于 2011-6-25 14:24:14 | 显示全部楼层
记号

出0入0汤圆

发表于 2011-7-26 12:41:19 | 显示全部楼层
共享我写的微型热敏打印机驱动

mark

出0入0汤圆

发表于 2011-8-1 21:40:44 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-9-19 20:43:34 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-9-19 21:04:20 | 显示全部楼层
mark

出0入0汤圆

发表于 2012-4-22 20:28:41 | 显示全部楼层
  不错,现在基本上都是ESC/POS命令集。

出0入0汤圆

发表于 2012-5-17 06:46:18 | 显示全部楼层
谢谢,正在学习。

出0入0汤圆

发表于 2012-5-17 07:46:39 | 显示全部楼层
不会就是永单片机控制打印机吧,这么神奇啊!是不是吧打印机的USB线接到单片机上,加上驱动程序就可以实现通信,并且打印东西了?

出0入0汤圆

发表于 2012-5-17 07:48:22 | 显示全部楼层
LZ是不是其他打印机也差不多是这样控制?

出0入0汤圆

发表于 2012-5-23 10:11:28 | 显示全部楼层
还需要为打印机提供字模转换 ,没有字库么?

出0入0汤圆

发表于 2012-5-27 13:32:07 | 显示全部楼层
好资料

出0入0汤圆

发表于 2012-5-27 14:07:35 | 显示全部楼层
mark         

出0入0汤圆

发表于 2012-5-27 14:51:26 | 显示全部楼层
谢谢分享

出0入0汤圆

发表于 2012-8-12 23:43:18 | 显示全部楼层
Mark!!!

出0入0汤圆

发表于 2012-8-13 01:47:45 | 显示全部楼层
谢谢分享

出350入8汤圆

发表于 2012-8-13 08:22:52 | 显示全部楼层
强力留名!

出0入0汤圆

发表于 2012-8-25 16:10:08 | 显示全部楼层
mark!北京荣达

出0入0汤圆

发表于 2012-9-13 13:02:06 | 显示全部楼层
这个不是热敏打印机驱动,只是一个用串口发命令的程序

出0入0汤圆

发表于 2012-12-20 22:48:54 | 显示全部楼层
热敏打印机开发技术交流群282313357,欢迎加入交流,只限技术

出0入0汤圆

发表于 2013-3-26 22:54:29 | 显示全部楼层
不错。支持

出0入0汤圆

发表于 2013-4-23 17:15:08 | 显示全部楼层
不错不错,收藏下,看看

出0入0汤圆

发表于 2014-2-23 12:38:12 | 显示全部楼层
不错,顶

出0入0汤圆

发表于 2014-10-23 09:55:15 | 显示全部楼层
mark顶一下

出0入0汤圆

发表于 2014-11-15 11:45:26 | 显示全部楼层
mark,thanks

出0入0汤圆

发表于 2014-12-16 15:44:01 | 显示全部楼层
学习,谢谢

出0入0汤圆

发表于 2014-12-17 17:47:51 | 显示全部楼层
mark                     

出0入0汤圆

发表于 2014-12-29 22:49:54 | 显示全部楼层
LZ真厉害啊,非常佩服啦,正好近期要用这个东西,借鉴了,呵呵

出0入0汤圆

发表于 2015-2-6 11:03:52 | 显示全部楼层
好东西,正好用到,感谢

出0入0汤圆

发表于 2015-2-28 13:35:19 | 显示全部楼层
晕,以为是打印机内部控制程序啊,这个只是串口发字符命令的啊

出0入0汤圆

发表于 2016-1-19 11:05:06 | 显示全部楼层
哎呦,最近也要做一个,不懂怎么入手,EPSON TM-T82II

出0入0汤圆

发表于 2016-1-19 12:28:22 | 显示全部楼层
chenjia8412 发表于 2012-12-20 22:48
**** 作者被禁止或删除 内容自动屏蔽 ****

哥们,TM-T82II咋搞

出0入0汤圆

发表于 2016-1-19 15:40:45 | 显示全部楼层
chenjia8412 发表于 2012-12-20 22:48
**** 作者被禁止或删除 内容自动屏蔽 ****

群已经满了,你们还有其他交流渠道吗?

出0入0汤圆

发表于 2021-8-16 11:08:38 | 显示全部楼层
正好用到,记号。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子论坛 -- 东莞阿莫电子网站 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2023-1-31 19:20

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表