📄 impactr2.c
字号:
#include "LPC23xx.h"
#include "type.h"
#include "irq.h"
#include "impact.h"
#include <stdio.h>
#include "uart.h"
#include "rtc.h"
#include "adc.h"
#include "KeyBoard.h"
//#include <intrins.h>
void prn_pow(unsigned char);
void st_prt(void);
void st_prt_dh(void);
void dot_ln(void);
void dot_1(void);
void chk(void);
void hi_pul(void);
void lo_pul(void);
void adg_bits(void);
void beh_bits(void);
void cf_bits(void);
void adg_dots(void);
void beh_dots(void);
void cf_dots(void);
void p_feed(unsigned char);
void sm_prt(unsigned char);
unsigned char const line_10[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
//SPECIAL CHARACTERS
0x00,0x08,0x14,0x14,0x08,0x30,0x18,0x18,0x04,0x10,0x00,0x00,0x00,0x00,0x00,
0x00,
//NUMERIC DIGITS WITH SPECIAL CHARACTERS
0x1c,0x08,0x1c,0x3e,0x04,0x3e,0x0c,0x3e,0x1c,0x1c,0x00,0x00,0x04,0x00,0x10,
0x1c,0x00,
//CAPITAL ALPHABETS WITH SPECIAL CHARACTERS
0x1C,0x3C,0x1C,0x38,0x3E,0x3E,0x1C,0x22,0x1C,0x0E,0x22,0x20,0x22,0x22,0x1C,
0x3C,0x1C,0x3C,0x1E,0x3E,0x22,0x22,0x22,0x22,0x22,0x3E,0x1C,0x00,0x1C,0x08,
0x00,0x00,
//SMALL ALPHABETS WITH SPECIAL CHARACTERS
0x00,0x20,0x00,0x02,0x00,0x0C,0x00,0x20,0x08,0x04,0x20,0x18,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x08,0x10};
unsigned char const line_20[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x14,0x14,0x1E,0x32,0x24,
0x08,0x08,0x08,0x08,0x08,0x00,0x00,0x00,0x02,0x22,0x18,0x22,0x04,0x0c,0x20,
0x10,0x02,0x22,0x22,0x18,0x18,0x08,0x00,0x08,0x22,0x00,0x22,0x22,0x22,0x24,
0x20,0x20,0x22,0x22,0x08,0x04,0x24,0x20,0x36,0x22,0x22,0x22,0x22,0x22,0x20,
0x08,0x22,0x22,0x22,0x22,0x22,0x02,0x10,0x00,0x04,0x14,0x00,0x00,0x00,0x20,
0x00,0x02,0x00,0x12,0x1E,0x20,0x00,0x00,0x20,0x08,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x08,0x08};
unsigned char const line_30[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x14,0x3E,0x28,0x04,0x28,
0x10,0x10,0x04,0x2A,0x08,0x00,0x00,0x00,0x04,0x26,0x08,0x02,0x08,0x14,0x3c,
0x20,0x04,0x22,0x22,0x18,0x18,0x10,0x3e,0x04,0x02,0x00,0x22,0x22,0x20,0x22,
0x20,0x20,0x20,0x22,0x08,0x04,0x28,0x20,0x2A,0x32,0x22,0x22,0x22,0x22,0x20,
0x08,0x22,0x22,0x22,0x14,0x22,0x04,0x10,0x00,0x04,0x22,0x00,0x00,0x1C,0x2C,
0x1C,0x1A,0x1C,0x10,0x22,0x2C,0x18,0x0C,0x24,0x08,0x34,0x2C,0x1C,0x3C,0x1A,
0x2C,0x1C,0x38,0x22,0x22,0x22,0x22,0x22,0x3E,0x08,0x08,0x08};
unsigned char const line_40[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x14,0x1C,0x08,0x10,
0x00,0x10,0x04,0x1C,0x3E,0x00,0x3E,0x00,0x08,0x2a,0x08,0x04,0x04,0x24,0x02,
0x3c,0x08,0x1c,0x1e,0x00,0x00,0x20,0x00,0x02,0x04,0x00,0x22,0x3C,0x20,0x22,
0x3C,0x3C,0x2E,0x3E,0x08,0x04,0x30,0x20,0x2A,0x2A,0x22,0x3C,0x22,0x3C,0x1C,
0x08,0x22,0x22,0x2A,0x08,0x14,0x10,0x00,0x04,0x00,0x00,0x00,0x00,0x02,0x32,
0x20,0x26,0x22,0x38,0x22,0x32,0x08,0x04,0x28,0x08,0x2A,0x32,0x22,0x22,0x26,
0x32,0x20,0x10,0x22,0x22,0x22,0x14,0x22,0x04,0x10,0x08,0x04};
unsigned char const line_50[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x0A,0x10,0x2A,
0x00,0x10,0x04,0x2A,0x08,0x18,0x00,0x00,0x10,0x32,0x08,0x08,0x02,0x3e,0x02,
0x22,0x10,0x22,0x02,0x18,0x18,0x10,0x3e,0x04,0x08,0x00,0x3E,0x22,0x20,0x22,
0x20,0x20,0x22,0x22,0x08,0x04,0x28,0x20,0x22,0x26,0x22,0x20,0x2A,0x28,0x02,
0x08,0x22,0x22,0x2A,0x14,0x08,0x10,0x10,0x00,0x04,0x00,0x00,0x00,0x1E,0x22,
0x20,0x22,0x3E,0x10,0x1E,0x22,0x08,0x04,0x30,0x08,0x2A,0x22,0x22,0x3C,0x1E,
0x20,0x1C,0x10,0x22,0x22,0x2A,0x08,0x1E,0x08,0x08,0x08,0x08};
unsigned char const line_60[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x14,0x3C,0x26,0x24,
0x00,0x08,0x08,0x08,0x08,0x08,0x00,0x18,0x20,0x22,0x08,0x10,0x22,0x04,0x22,
0x22,0x10,0x22,0x04,0x18,0x08,0x08,0x00,0x08,0x00,0x00,0x22,0x22,0x22,0x24,
0x20,0x20,0x22,0x22,0x08,0x24,0x24,0x20,0x22,0x22,0x22,0x20,0x24,0x24,0x02,
0x08,0x22,0x14,0x2A,0x22,0x08,0x20,0x10,0x00,0x04,0x00,0x00,0x00,0x22,0x22,
0x22,0x22,0x20,0x10,0x02,0x22,0x08,0x24,0x28,0x08,0x22,0x22,0x22,0x20,0x02,
0x20,0x02,0x12,0x26,0x14,0x2A,0x14,0x02,0x10,0x08,0x08,0x08};
unsigned char const line_70[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x14,0x08,0x06,0x1A,
0x00,0x04,0x10,0x00,0x00,0x10,0x00,0x18,0x00,0x1c,0x1c,0x3e,0x1c,0x04,0x1c,
0x1c,0x10,0x1c,0x18,0x00,0x10,0x04,0x00,0x10,0x08,0x00,0x22,0x3C,0x1C,0x38,
0x3E,0x20,0x1E,0x22,0x1C,0x18,0x22,0x3E,0x22,0x22,0x1C,0x20,0x1A,0x22,0x3C,
0x08,0x1C,0x08,0x14,0x22,0x08,0x3E,0x1C,0x00,0x1C,0x00,0x3E,0x02,0x1E,0x3C,
0x1c,0x1e,0x1c,0x10,0x1c,0x22,0x1c,0x18,0x24,0x1c,0x22,0x22,0x1c,0x20,0x02,
0x20,0x3c,0x0c,0x1a,0x08,0x14,0x22,0x1c,0x3e,0x04,0x08,0x10};
unsigned char const *line_no;
unsigned char bit_11;
unsigned char bit_1;
unsigned char bit_2;
unsigned char bit_3;
unsigned char bit_4;
unsigned char bit_5;
unsigned char bit_6;
unsigned char bit_7;
unsigned char bit_8;
unsigned char a_char ;
unsigned char b_char ;
unsigned char c_char ;
unsigned char d_char ;
unsigned char e_char ;
unsigned char f_char ;
unsigned char g_char ;
unsigned char h_char ;
unsigned char a_dot ;
unsigned char b_dot ;
unsigned char c_dot ;
unsigned char d_dot ;
unsigned char e_dot ;
unsigned char f_dot ;
unsigned char g_dot ;
unsigned char h_dot ;
unsigned char test_msg[24],smprn_i=0;
unsigned int prt_dh_flag,prt_dw_flag;
//unsigned char smprn_i=0;
void delay_600us(void)
{
unsigned char d1;
for(d1=0;d1<200;d1++);
}
void delay_10ms(void)
{
unsigned char d2;
for(d2=0;d2<12;d2++)
{
delay_600us();
}
}
void delay_15ms(void)
{
unsigned char d3;
for(d3=0;d3<20;d3++)
{
delay_600us();
}
}
void prn_pow(unsigned char ppwr)
{
//DATAOUT_A = 0x00;
//prt_enable();
FIO1PIN3 = 0xFF;
//if(ppwr == 1)
if(!ppwr)
{
//p_pwr = 0;
FIO1SET = 0x1;
///m_pwr = 0;
FIO2SET = (0x1 << 4);
}
else
{
//p_pwr = 1;
FIO1CLR = 0x1;
//m_pwr = 1;
FIO2CLR = (0X1 << 4);
}
}
/*
void prn_pow_init(void)
{
p_pwr = 1;
m_pwr = 1;
DATAOUT_A = 0x00;
prt_enable();
//DATAOUT_B = DATAOUT_B | 0X40;
}
*/
/*
void paper_feed()
{
unsigned char idata chk_cnt,chk_cnt1;
prn_pow(ON);
delay_600us();
for(chk_cnt1=0;chk_cnt1<8;chk_cnt1++)
{
while(res_det == 0);
for(chk_cnt=0;chk_cnt<6;chk_cnt++)
{
hi_pul();
lo_pul();
}
p_feed(0); //...enable
for(chk_cnt=0;chk_cnt<6;chk_cnt++)
{
hi_pul();
lo_pul();
}
p_feed(1); //...disable
}
delay_10ms();
delay_10ms();
delay_10ms();
prn_pow(OFF);
}
*/
void st_prt(void)
{
unsigned char chk_cnt;
prn_pow(ON);
delay_10ms();
chk();
line_no = line_10;
dot_ln();
delay_15ms();
serial_send(0,'1');
chk();
line_no = line_20;
dot_ln();
delay_15ms();
chk();
line_no = line_30;
dot_ln();
delay_15ms();
chk();
line_no = line_40;
dot_ln();
delay_15ms();
chk();
line_no = line_50;
dot_ln();
delay_15ms();
chk();
line_no = line_60;
dot_ln();
delay_15ms();
chk();
line_no = line_70;
dot_ln();
delay_15ms();
serial_send(0,'2');
//while(res_det == 0);
FIO0MASK = ~(1 << 26);
while(!FIO0PIN3);
FIO0MASK = 0;
serial_send(0,'3');
for(chk_cnt=0;chk_cnt<6;chk_cnt++)
{
hi_pul();
lo_pul();
}
serial_send(0,'4');
p_feed(OFF); //enable
for(chk_cnt=0;chk_cnt<6;chk_cnt++)
{
hi_pul();
lo_pul();
}
p_feed(ON); //disable
delay_10ms();
delay_10ms();
delay_10ms();
prn_pow(OFF);
}
void st_prt_dh(void)
{
unsigned char chk_cnt;
prn_pow(ON);
delay_10ms();
chk();
line_no = line_10;
dot_ln();
delay_15ms();
chk();
line_no = line_10;
dot_ln();
delay_15ms();
chk();
line_no = line_20;
dot_ln();
delay_15ms();
chk();
line_no = line_20;
dot_ln();
delay_15ms();
chk();
line_no = line_30;
dot_ln();
delay_15ms();
chk();
line_no = line_30;
dot_ln();
delay_15ms();
chk();
line_no = line_40;
dot_ln();
delay_15ms();
chk();
line_no = line_40;
dot_ln();
delay_15ms();
chk();
line_no = line_50;
dot_ln();
delay_15ms();
chk();
line_no = line_50;
dot_ln();
delay_15ms();
chk();
line_no = line_60;
dot_ln();
delay_15ms();
chk();
line_no = line_60;
dot_ln();
delay_15ms();
chk();
line_no = line_70;
dot_ln();
delay_15ms();
chk();
line_no = line_70;
dot_ln();
delay_15ms();
//while(res_det == 0);
FIO0MASK = ~(1 << 26);
while(!FIO0PIN3);
FIO0MASK = 0;
for(chk_cnt=0;chk_cnt<6;chk_cnt++)
{
hi_pul();
lo_pul();
}
p_feed(OFF); //enable
for(chk_cnt=0;chk_cnt<6;chk_cnt++)
{
hi_pul();
lo_pul();
}
p_feed(ON); //disable
delay_10ms();
delay_10ms();
delay_10ms();
prn_pow(OFF);
}
void p_feed(unsigned char ppwr)
{
//DATAOUT_A = 0x00;
//prt_enable();
FIO1PIN3 = 0xFF;
//p_pf = ppwr;
if(ppwr)
FIO2CLR = (1 << 3);
else
FIO2SET = (1 << 3);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -