资源简介
这个是一个项目上得测试代码,用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
相关资源
- 红蜘蛛6.21160512用户完美破解版
- 研创物联UWB mini3 单片机源代码
- 带上位机基于51单片机点阵显示汉字
- STM32F103VBT6 STM8S207 STM8S103三款单片机最
- VB6调用webservice231551
- VB和单片机串口通信程序
- 51单片机实现用ADS1115采集0~5V电压
- 基于VB6.0的温度采集控制监控系统
- 佳博打印机二次开发SDK
- 热敏打印机VB开发样例
- 用VB做的单片机上位机
- VB调用打印机的
- vb 与单片机串口通信程序
- VB串口通信:PC机与51单片机串口通信
- 基于单片机和VB的多点温度监控系统设
- Proteus下PC机和51单片机间的RS485双向数
- 利用vb编写的上位机软件使电脑和单片
- POSDLL 1.4(POS打印机直接操作接口文件
- PC与单片机双向通讯智能温控程序,基
- 单片机通过DS18b20采集温度,发送给
- 串口通讯 vb.net上位机+51下位机
- vb 设置默认打印机 两台打印机来回切
- 基于VB的串口通信界面设计单片机与
- 更改 打印机 自定义 纸张类型 强大
- 用ZPL在条码打印机上打印输出任意电
- TSC条码打印机-VBA-Excel调用范例
- TSC条码打印机-VB.NET调用范例
- 单片机程序18b20温度检测 + VB上位机
- C8051F340_USB驱动程序
- PID电机调速上位机VB和单片机分别可用
评论
共有 条评论