資源簡介
這個(gè)是一個(gè)項(xiàng)目上得測試代碼,用51單片機(jī) 發(fā)票打印機(jī) 51 串口接收pc數(shù)據(jù)
51的io連接并口 ,中間接一個(gè)74hc05
絕對原創(chuàng)資料 請勿外傳
僅供學(xué)習(xí)用
內(nèi)含 vb6.0 上位源碼 51 源碼 keil編譯器

代碼片段和文件信息
//--------------------串行轉(zhuǎn)并行打印程序-------------------------------//
/////////////////////////////////////////////////////////////////////////
// ??通信方式:rs232 ??輸出8位并行
/////////////////////////////////////////////////////////////////////////
#include ??//定義頭文件
#define?uchar?unsigned?char
#define?uint?unsigned?int?
#define?ESC??0x1B
uchar?STXNUM; ?//開始換行數(shù)
uchar?ETXNUM; ?//結(jié)束換行數(shù)
uchar?NOR1;??
uchar?NOR2;
uchar?NOR3;
uchar?NOR4; ?//空格數(shù)量
uchar?LEN1;
uchar?LEN2;
uchar?LEN3;
uchar?LEN4; ?//數(shù)據(jù)長度
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); ?//函數(shù)聲明
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) ?//延時(shí)函數(shù)
{
??uint?i;
for(i?=?n?;?i?>?0?;?i--);
}
//-------------------------------------------------------------------?
//?函數(shù)名稱:cpu初始化
//?函數(shù)功能:初始化端口,
//-------------------------------------------------------------------
void?init()
{
??
TMOD?=?0x20; //0X20
PCON?=?0X00;
TH1?=?0xfd; ? //波特率?9600bps
TL1?=?0xfd;? //
??? TR1?=?1; //定時(shí)器1中斷
SCON?=?0X50;
EA?=?1; //開總中斷
ES?=?1; //串口中斷允許位
}?
//-------------------------------------------------------------------?
//?函數(shù)名稱:中斷
//?函數(shù)功能:led掃描?interrupt?3:定時(shí)器3中斷
//-------------------------------------------------------------------
void?ser()?interrupt?4? //串口中斷4
{
???uchar?k;
???if(RI)
???{
RI?=?0; //接收后進(jìn)入中斷清除中斷申請
k?=?SBUF; //接收數(shù)據(jù)
if(k==0x2) ?{?flag=1;?data_num=0;?} //開始
if(k==0x3) ?{?flag=2;?data_num=0;?} //結(jié)束
if(flag==1)
?{
??print_data[data_num++]=k; //1開始
?}
????}
}
//--------------------------------------------------------
//主函數(shù)
//--------------------------------------------------------
void?main(void)
{
???init();
???init_print();
???while(1)
???{
if(flag==2)
?????{
????con_data(); ?//接收數(shù)據(jù)處理
star_num(); ?//開始換行
print_hang1(); ?//打印第一行
print_enter(); ?//換行
print_hang2_1(); ?//打印第二行一空
print_hang2_2(); ?//打印第二行二空
print_enter(); ?//換行
print_hang3(); ?//第三行
print_enter(); ?//換行
shop_num(); ?//結(jié)束換行
flag=0; ?????//打印結(jié)束
?}
?delay(100);
???}
}
//--------------------------------------------------------
//打印機(jī)初始化子程序
//--------------------------------------------------------
void?init_print()
{
print_ascii(0x07); ??//蜂鳴器叫
print_ascii(ESC); ??//?0X1B
print_ascii(‘@‘); ??//初始化打印機(jī)
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;
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2012-11-06?12:49??51控制打印機(jī)\
?????目錄???????????0??2012-11-06?12:49??51控制打印機(jī)\VB串口發(fā)送數(shù)據(jù)\
?????目錄???????????0??2012-11-06?12:49??51控制打印機(jī)\VB串口發(fā)送數(shù)據(jù)\串口數(shù)據(jù)發(fā)送vb程序\
?????文件???????13844??2011-09-14?10:12??51控制打印機(jī)\VB串口發(fā)送數(shù)據(jù)\串口數(shù)據(jù)發(fā)送vb程序\Form1.frm
?????文件???????????8??2011-09-14?10:12??51控制打印機(jī)\VB串口發(fā)送數(shù)據(jù)\串口數(shù)據(jù)發(fā)送vb程序\Form1.frx
?????文件????????3919??2011-04-16?19:31??51控制打印機(jī)\VB串口發(fā)送數(shù)據(jù)\串口數(shù)據(jù)發(fā)送vb程序\Form2.frm
?????文件???????????8??2011-04-16?19:31??51控制打印機(jī)\VB串口發(fā)送數(shù)據(jù)\串口數(shù)據(jù)發(fā)送vb程序\Form2.frx
?????文件?????????171??2011-04-16?22:01??51控制打印機(jī)\VB串口發(fā)送數(shù)據(jù)\串口數(shù)據(jù)發(fā)送vb程序\Module1.bas
?????文件?????????190??2011-04-17?13:40??51控制打印機(jī)\VB串口發(fā)送數(shù)據(jù)\串口數(shù)據(jù)發(fā)送vb程序\MSSCCPRJ.SCC
?????文件???????28672??2011-09-14?10:12??51控制打印機(jī)\VB串口發(fā)送數(shù)據(jù)\串口數(shù)據(jù)發(fā)送vb程序\工程1.exe
?????文件?????????760??2011-09-14?10:12??51控制打印機(jī)\VB串口發(fā)送數(shù)據(jù)\串口數(shù)據(jù)發(fā)送vb程序\工程1.vbp
?????文件??????????84??2012-06-07?10:44??51控制打印機(jī)\VB串口發(fā)送數(shù)據(jù)\串口數(shù)據(jù)發(fā)送vb程序\工程1.vbw
?????文件????12482353??2005-07-04?14:44??51控制打印機(jī)\打印機(jī)命令.pdf
?????目錄???????????0??2012-11-06?12:49??51控制打印機(jī)\打印機(jī)控制\
?????文件????????6376??2005-03-22?15:22??51控制打印機(jī)\打印機(jī)控制\STARTUP.A51
?????文件???????14048??2011-09-17?16:20??51控制打印機(jī)\打印機(jī)控制\STARTUP.LST
?????文件?????????749??2011-09-17?16:20??51控制打印機(jī)\打印機(jī)控制\STARTUP.OBJ
?????文件???????11108??2011-09-17?16:20??51控制打印機(jī)\打印機(jī)控制\打印機(jī)控制
?????文件????????6317??2011-09-17?16:20??51控制打印機(jī)\打印機(jī)控制\打印機(jī)控制.c
?????文件????????2214??2011-09-17?16:20??51控制打印機(jī)\打印機(jī)控制\打印機(jī)控制.hex
?????文件??????????53??2011-09-17?16:20??51控制打印機(jī)\打印機(jī)控制\打印機(jī)控制.lnp
?????文件???????13969??2011-09-17?16:20??51控制打印機(jī)\打印機(jī)控制\打印機(jī)控制.LST
?????文件???????17078??2011-09-17?16:20??51控制打印機(jī)\打印機(jī)控制\打印機(jī)控制.M51
?????文件???????12632??2011-09-17?16:20??51控制打印機(jī)\打印機(jī)控制\打印機(jī)控制.OBJ
?????文件????????1037??2011-11-12?10:14??51控制打印機(jī)\打印機(jī)控制\打印機(jī)控制.Opt
?????文件?????????166??2011-11-12?10:14??51控制打印機(jī)\打印機(jī)控制\打印機(jī)控制.plg
?????文件????????2164??2011-09-01?11:58??51控制打印機(jī)\打印機(jī)控制\打印機(jī)控制.Uv2
?????文件????????1035??2011-11-11?18:24??51控制打印機(jī)\打印機(jī)控制\打印機(jī)控制_Opt.Bak
?????文件???????????0??2011-09-01?10:31??51控制打印機(jī)\打印機(jī)控制\打印機(jī)控制_Uv2.Bak
?????文件??????????60??2011-09-17?17:31??51控制打印機(jī)\新建?文本文檔.txt
評論
共有 條評論