⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 用c语言通过mcs-51的串口控制打印.txt

📁 用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 + -