• 大小: 10.51MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-10-10
  • 语言: VB
  • 标签: 51  单片机  打印机  

资源简介

这个是一个项目上得测试代码,用51单片机 发票打印机 51 串口接收pc数据 51的io连接并口 ,中间接一个74hc05 绝对原创资料 请勿外传 仅供学习用 内含 vb6.0 上位源码 51 源码 keil编译器

资源截图

代码片段和文件信息

//--------------------串行转并行打印程序-------------------------------//
/////////////////////////////////////////////////////////////////////////
//   通信方式:rs232   输出8位并行
/////////////////////////////////////////////////////////////////////////
#include   //定义头文件
#define uchar unsigned char
#define uint unsigned int 

#define ESC  0x1B

uchar STXNUM;  //开始换行数
uchar ETXNUM;  //结束换行数

uchar NOR1;  
uchar NOR2;
uchar NOR3;
uchar NOR4;  //空格数量

uchar LEN1;
uchar LEN2;
uchar LEN3;
uchar LEN4;  //数据长度

sbit STB=P1^7;
sbit BUSY=P2^2;  //连接定义

uchar print_data[70];

uchar flag=0;
uchar data_num;
uchar num[21];

void SendCom(uint t);  //函数声明
void print_ascii(uchar ddat);
void print_enter();
void init_print();
void print_hang1();
void print_hang2_1();
void print_hang2_2();
void print_hang3();
void con_data();
void star_num();
void shop_num();


void delay(uint n)  //延时函数
{
  uint i;
for(i = n ; i > 0 ; i--);

}
//------------------------------------------------------------------- 
// 函数名称:cpu初始化
// 函数功能:初始化端口,
//-------------------------------------------------------------------

void init()
{
  
TMOD = 0x20; //0X20
PCON = 0X00;

TH1 = 0xfd;   //波特率 9600bps
TL1 = 0xfd;  //

    TR1 = 1; //定时器1中断

SCON = 0X50;
EA = 1; //开总中断
ES = 1; //串口中断允许位



//------------------------------------------------------------------- 
// 函数名称:中断
// 函数功能:led扫描 interrupt 3:定时器3中断
//-------------------------------------------------------------------
void ser() interrupt 4  //串口中断4
{
   uchar k;
   if(RI)
   {
RI = 0; //接收后进入中断清除中断申请
k = SBUF; //接收数据

if(k==0x2)  { flag=1; data_num=0; } //开始

if(k==0x3)  { flag=2; data_num=0; } //结束

if(flag==1)
 {
  print_data[data_num++]=k; //1开始
 }
    }
}

//--------------------------------------------------------
//主函数
//--------------------------------------------------------
void main(void)
{

   init();
   init_print();

   while(1)
   {
if(flag==2)
     {
    con_data();  //接收数据处理

star_num();  //开始换行

print_hang1();  //打印第一行
print_enter();  //换行

print_hang2_1();  //打印第二行一空
print_hang2_2();  //打印第二行二空
print_enter();  //换行

print_hang3();  //第三行
print_enter();  //换行

shop_num();  //结束换行
flag=0;      //打印结束
 }
 delay(100);
   }

}
//--------------------------------------------------------
//打印机初始化子程序
//--------------------------------------------------------
void init_print()
{
print_ascii(0x07);   //蜂鸣器叫

print_ascii(ESC);   // 0X1B
print_ascii(‘@‘);   //初始化打印机

print_ascii(0x1C);   // FS接触汉字模式
print_ascii(0x2E);   // .

print_ascii(ESC);   // 放大一倍
print_ascii(‘W‘);   // 
print_ascii(1);      // 

print_enter();

}

//--------------------------------------------------
//void SendCom(uint t)
//{
// ES = 0;
// SBUF = t;            
// while(!TI);
// TI=0;

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2012-11-06 12:49  51控制打印机\
     目录           0  2012-11-06 12:49  51控制打印机\VB串口发送数据\
     目录           0  2012-11-06 12:49  51控制打印机\VB串口发送数据\串口数据发送vb程序\
     文件       13844  2011-09-14 10:12  51控制打印机\VB串口发送数据\串口数据发送vb程序\Form1.frm
     文件           8  2011-09-14 10:12  51控制打印机\VB串口发送数据\串口数据发送vb程序\Form1.frx
     文件        3919  2011-04-16 19:31  51控制打印机\VB串口发送数据\串口数据发送vb程序\Form2.frm
     文件           8  2011-04-16 19:31  51控制打印机\VB串口发送数据\串口数据发送vb程序\Form2.frx
     文件         171  2011-04-16 22:01  51控制打印机\VB串口发送数据\串口数据发送vb程序\Module1.bas
     文件         190  2011-04-17 13:40  51控制打印机\VB串口发送数据\串口数据发送vb程序\MSSCCPRJ.SCC
     文件       28672  2011-09-14 10:12  51控制打印机\VB串口发送数据\串口数据发送vb程序\工程1.exe
     文件         760  2011-09-14 10:12  51控制打印机\VB串口发送数据\串口数据发送vb程序\工程1.vbp
     文件          84  2012-06-07 10:44  51控制打印机\VB串口发送数据\串口数据发送vb程序\工程1.vbw
     文件    12482353  2005-07-04 14:44  51控制打印机\打印机命令.pdf
     目录           0  2012-11-06 12:49  51控制打印机\打印机控制\
     文件        6376  2005-03-22 15:22  51控制打印机\打印机控制\STARTUP.A51
     文件       14048  2011-09-17 16:20  51控制打印机\打印机控制\STARTUP.LST
     文件         749  2011-09-17 16:20  51控制打印机\打印机控制\STARTUP.OBJ
     文件       11108  2011-09-17 16:20  51控制打印机\打印机控制\打印机控制
     文件        6317  2011-09-17 16:20  51控制打印机\打印机控制\打印机控制.c
     文件        2214  2011-09-17 16:20  51控制打印机\打印机控制\打印机控制.hex
     文件          53  2011-09-17 16:20  51控制打印机\打印机控制\打印机控制.lnp
     文件       13969  2011-09-17 16:20  51控制打印机\打印机控制\打印机控制.LST
     文件       17078  2011-09-17 16:20  51控制打印机\打印机控制\打印机控制.M51
     文件       12632  2011-09-17 16:20  51控制打印机\打印机控制\打印机控制.OBJ
     文件        1037  2011-11-12 10:14  51控制打印机\打印机控制\打印机控制.Opt
     文件         166  2011-11-12 10:14  51控制打印机\打印机控制\打印机控制.plg
     文件        2164  2011-09-01 11:58  51控制打印机\打印机控制\打印机控制.Uv2
     文件        1035  2011-11-11 18:24  51控制打印机\打印机控制\打印机控制_Opt.Bak
     文件           0  2011-09-01 10:31  51控制打印机\打印机控制\打印机控制_Uv2.Bak
     文件          60  2011-09-17 17:31  51控制打印机\新建 文本文档.txt

评论

共有 条评论