?? 用c語言通過mcs-51的串口控制打印.txt
字號:
7.1.3 用C語言通過MCS-51 的并口控制打印
/* 沈陽新榮達電子 */
/* 2004-12-7 */
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
#define data_8 P0
sbit BUSY = P1^2; //打印機 BUSY 接P1.2
sbit STB = P1^0; //打印機 STB 接P1.0
void print(uchar j) //打印子程序
{ uchar i;
while(BUSY){}; //BUSY=1,打印機忙,等待BUSY 為0 再發數
data_8=j;
STB=0; //
i++;
i--;
STB=1; //給出數據鎖存時鐘
BUSY=1;
}
void main(void)
{BUSY = 1; //忙信號置高
STB = 1; //選通信號置高
print(0x1b); //打印機初始化命令
print(0x38);
print(0x04);
for(;;)
{print(0xd0); //發送漢字內碼“新榮達”
print(0xc2);
print(0xc8);
print(0xd9);
print(0xb4);
print(0xef);
print(0x0d); //換行
}
}
用C語言通過MCS-51 的串口控制打印 拷貝自說明書
沈陽新榮達電子
2004-12-7
#include reg52.h
#define uchar unsigned char
#define uint unsigned int
sbit BUSY = P1^0;
uchar data A[10]={0x1b,0x38,0x04, 初始化命令
0xd0,0xc2,0xc8,0xd9,0xb4,0xef,漢字內碼“新榮達”
0x0d}; 打印命令
void main()
{ int i;
SCON = 0xd0; 串口初始化 1位起始位,9 位數據位,1位停止位
TMOD = 0x20;
PCON = 0x00;
TH1=0xf4; 波特率2400
TL1=0xf4;
TR1=1;
ES=1;
TI=0;
for (i=0;i<10;i++)
{ACC=A[i];
TB8=P; //計算奇偶校驗位
while(BUSY){BUSY = 1;}
SBUF = A[i]; //發送數據
while (!TI)
{ }
TI=0;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -