mojinpan 发表于 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 == Printf_GB.Index && cn == Printf_GB.Index)
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.Msk);
put_c(Printf_GB.Msk);
}

/***********************************************************************************************
**函数名称: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);
return len;
}
点击此处下载 ourdev_259586.rar(文件大小:32K) (原文件名:printf.rar)

点击此处下载 ourdev_259582.PDF(文件大小:716K) (原文件名:RD-D型微打使用说明.PDF)
点击此处下载 ourdev_259583.rar(文件大小:3K) (原文件名:区位码取模软件.rar)
http://cache.amobbs.com/bbs_upload782111/files_9/ourdev_259584.JPG
(原文件名:DSC00902.JPG)

http://cache.amobbs.com/bbs_upload782111/files_9/ourdev_259585.JPG
(原文件名:DSC00903.JPG)

shait 发表于 2008-4-24 08:27:40

帅呆了.

figoxwm 发表于 2008-4-24 09:01:33

我以为是打印机的解码程序呢,原来是发数据给打印机的.

zhuzi1441 发表于 2008-4-24 09:17:45

记号

wxws 发表于 2008-4-24 09:55:12

GZ

hn_ny_dxs 发表于 2008-4-24 11:30:06

哇噻!07:10:26

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

R28FA 发表于 2008-4-24 11:39:23

mark

bjj9217 发表于 2008-4-24 12:15:00

好!

weiwgml 发表于 2008-4-24 13:20:26

mark

spy2008 发表于 2008-4-24 13:32:48

mark

liudeee 发表于 2009-8-29 00:34:12

楼主不会是我的校友吧?

giantwjt88 发表于 2009-8-29 10:52:41

早起的鸟儿有虫吃,早起的虫子被鸟吃

lin28 发表于 2009-10-6 17:06:55

huchengxtu 发表于 2010-2-2 19:41:12

MARK 在写 参考下LZ的

paublo 发表于 2010-5-31 22:06:29

mark

ggyyll8683 发表于 2010-5-31 22:38:55

mark

swustlx86 发表于 2010-6-1 17:18:07

mark

zheshiwo 发表于 2010-6-14 12:05:52

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

CHENXIAOTIAN 发表于 2010-8-19 21:24:43

mark

maleon 发表于 2010-8-19 21:54:30

偶也以为是打印机精工之类的热敏头以及切刀的驱动控制程序,原来是通过串口直接发数据给打印机打印而已啊。标题误导。

dugutianma 发表于 2011-1-14 21:12:50

mark

lcmdw 发表于 2011-5-8 09:44:57

mark

sxzbg 发表于 2011-6-18 23:21:05

这也值得吹嘘一番。。。。

gusigusi 发表于 2011-6-19 01:35:05

非常不错

scbing 发表于 2011-6-25 14:24:14

记号

ggg12345 发表于 2011-7-26 12:41:19

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

mark

huguang0218 发表于 2011-8-1 21:40:44

MARK

wuguoyan 发表于 2011-9-19 20:43:34

mark

wangxb330226 发表于 2011-9-19 21:04:20

mark

yu4514 发表于 2012-4-22 20:28:41

不错,现在基本上都是ESC/POS命令集。

shouqiang_zhang 发表于 2012-5-17 06:46:18

谢谢,正在学习。

tacbo2012 发表于 2012-5-17 07:46:39

不会就是永单片机控制打印机吧,这么神奇啊!是不是吧打印机的USB线接到单片机上,加上驱动程序就可以实现通信,并且打印东西了?

tacbo2012 发表于 2012-5-17 07:48:22

LZ是不是其他打印机也差不多是这样控制?

anxiaoxiao 发表于 2012-5-23 10:11:28

还需要为打印机提供字模转换 ,没有字库么?

coolfish006 发表于 2012-5-27 13:32:07

{:smile:}好资料

liycobl 发表于 2012-5-27 14:07:35

mark         

2006lc 发表于 2012-5-27 14:51:26

谢谢分享

lucaschou 发表于 2012-8-12 23:43:18

Mark!!!

lqs123 发表于 2012-8-13 01:47:45

谢谢分享{:smile:}

bmagui 发表于 2012-8-13 08:22:52

强力留名!

3090251 发表于 2012-8-25 16:10:08

mark!北京荣达

qiguidong 发表于 2012-9-13 13:02:06

这个不是热敏打印机驱动,只是一个用串口发命令的程序

chenjia8412 发表于 2012-12-20 22:48:54

热敏打印机开发技术交流群282313357,欢迎加入交流,只限技术

daliqi 发表于 2013-3-26 22:54:29

不错。支持

freethink168@ 发表于 2013-4-23 17:15:08

不错不错,收藏下,看看

hejiang177 发表于 2014-2-23 12:38:12

不错,顶

xwx 发表于 2014-10-23 09:55:15

mark顶一下

foow 发表于 2014-11-15 11:45:26

mark,thanks

zhou_1989 发表于 2014-12-16 15:44:01

学习,谢谢

jiangshaoyatui 发表于 2014-12-17 17:47:51

mark                     

打酱油要专业 发表于 2014-12-29 22:49:54

LZ真厉害啊,非常佩服啦,正好近期要用这个东西,借鉴了,呵呵

zkf0100007 发表于 2015-2-6 11:03:52

好东西,正好用到,感谢

xiatao1800 发表于 2015-2-28 13:35:19

晕,以为是打印机内部控制程序啊,这个只是串口发字符命令的啊

zywh 发表于 2016-1-19 11:05:06

哎呦,最近也要做一个,不懂怎么入手,EPSON TM-T82II

zywh 发表于 2016-1-19 12:28:22

chenjia8412 发表于 2012-12-20 22:48
**** 作者被禁止或删除 内容自动屏蔽 ****

哥们,TM-T82II咋搞

伍师傅32 发表于 2016-1-19 15:40:45

chenjia8412 发表于 2012-12-20 22:48
**** 作者被禁止或删除 内容自动屏蔽 ****

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

pitolan 发表于 2021-8-16 11:08:38

正好用到,记号。
页: [1]
查看完整版本: 共享我写的微型热敏打印机驱动