資源簡介
這個是一個項目上得測試代碼,用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
評論
共有 條評論