📄 dyonoff.c
字号:
#include <REGX52.H>
#include "config.h"
#include"intrins.h"
#include"key.h"
#include"tupian.h"
#define uchar unsigned char
#define uint unsigned int
bit fXonXoff;
uchar code print_hzinit[4]={0x1b,0x56,0x01,0x00};
uchar code print_tui[4]={0x1b,0x6a,0xf0};
uchar code print_jin[3]={0x1b,0x4a,0xf0};
//永泰和电子
/*
code unsigned char print_da[24][3]={0x00,0x00,0x00,0x01,0x80,0x00,0x01,0xc0,0x00,0x01,0xc0,0x00,
0x01,0xc0,0x00,0x01,0x80,0xfc,0x01,0x9f,0xfe,0x01,0xfe,0xc0,
0x1f,0xc0,0xc0,0x0d,0x80,0xc0,0x01,0xe0,0xc0,0x01,0xc0,0xc0,
0x01,0x80,0xc0,0x07,0x80,0xc0,0x1f,0x80,0xc0,0x79,0x80,0xc0,
0x71,0x80,0xc0,0x01,0x86,0xc0,0x07,0x83,0xc0,0x03,0x81,0xc0,
0x03,0x81,0xc0,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00}; //打
code unsigned char print_yin[24][3]={0x00,0x00,0x00,0x00,0xc0,0x00,0x01,0xe0,0x00,0x01,0xe0,0x00,
0x03,0x80,0xf8,0x3e,0x0f,0xf8,0x38,0x0c,0x38,0x18,0xcc,0x30,
0x1b,0xcc,0x30,0x1f,0x0c,0x30,0x18,0x0c,0x30,0x08,0x6d,0xf0,
0x09,0xcc,0xf0,0x1f,0x0c,0x60,0x1e,0x0c,0x00,0x1c,0x0c,0x00,
0x18,0x0c,0x00,0x00,0x0c,0x00,0x00,0x0c,0x00,0x00,0x0c,0x00,
0x00,0x0c,0x00,0x00,0x0c,0x00,0x00,0x04,0x00,0x00,0x00,0x00}; //印
code unsigned char print_shi1[24][3]={0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x03,0x80,0x00,0x01,0x80,
0x00,0x01,0x80,0x03,0x81,0x80,0x7f,0x81,0x80,0x31,0x81,0xbc,
0x31,0xbf,0xfc,0x31,0xff,0x80,0x3f,0x81,0x80,0x3d,0xb1,0x80,
0x31,0x99,0x80,0x31,0x9d,0x80,0x71,0x89,0x80,0x71,0x81,0x80,
0x7f,0x81,0x80,0x63,0x81,0x80,0x01,0x01,0xc0,0x00,0x07,0xc0,
0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x00,0x00,0x00,0x00,0x00}; //时
code unsigned char print_jian[24][3]={0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x01,0xe0,0x03,0x9f,0xf0,
0x01,0x98,0x30,0x18,0x00,0x30,0x18,0x00,0x30,0x18,0x9e,0x30,
0x18,0xff,0x30,0x18,0xc6,0x30,0x18,0xd6,0x30,0x18,0xfe,0x30,
0x18,0xc6,0x30,0x18,0xc6,0x30,0x18,0xfe,0x30,0x18,0xce,0x30,
0x38,0x84,0x30,0x38,0x00,0x30,0x38,0x01,0xf0,0x10,0x00,0xf0,
0x00,0x00,0x60,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00}; //间
*/
void service_uart() interrupt 4
{
if(RI==1)
{ //process recevice
if(SBUF == 0x13)
{ fXonXoff = 0;
//process over
}
else
{
fXonXoff=1;
}
RI=0;
}
}
//打印初始化
void print_init()
{
SCON=0X50;
T2CON=0X34; //波特率为115200
RCAP2H=0XFF;
RCAP2L=0XFD;
REN=1;
}
//向串口发送一个字符
void psend_char_com(unsigned char ch)
{
while(1)
{
if(fXonXoff==1)
{ SBUF=ch;
while(TI==0);
TI=0;
break;
}
}
}
//向串口发送一个字符串,strlen为该字符串长度
void psend_string_com(unsigned char *str,unsigned int strlen)
{
unsigned int k=0;
do
{
psend_char_com(*(str + k));
k++;
} while(k < strlen);
}
void print_pic(unsigned char *picture,unsigned char height)
{
unsigned char *pic_addr;
unsigned char pic_temp;
pic_addr=picture;
for(pic_temp=0;pic_temp<height;pic_temp++)
{
psend_string_com(print_hzinit,4);
psend_string_com(pic_addr,48);
pic_addr+=48;
}
}
void main()
{
// unsigned char h,k,a;
unsigned char key_num;
fXonXoff = 1;
delay1();
print_init();
IE=0x90;
while(1)
{
delay1();
key_num=wait_key();
{
switch(key_num)
{
case KEY1:
/* for(a=0;a<20;a++)
{
for(h=0;h<24;h++) //打印时间:
{
psend_string_com(print_hzinit,4);
psend_string_com(print_da[h],3);
psend_string_com(print_yin[h],3);
psend_string_com(print_shi1[h],3);
psend_string_com(print_jian[h],3);
for(k=0;k<45;k++)
{
psend_char_com(0x00);
}
}
}*/
psend_string_com(print_jin,3);delay1();
break;
case KEY2:
psend_string_com(print_tui,3);delay1();
break;
case KEY3:
print_pic(pic,162);
break;
default:
break;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -