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

📄 printer.src

📁 单片机
💻 SRC
📖 第 1 页 / 共 3 页
字号:
	DB	00FH
	DB	000H
	DB	001H
	DB	00FH
	DB	00EH
	DB	000H
	DB	000H
	DB	030H
	DB	078H
	DB	0C8H
	DB	088H
	DB	018H
	DB	010H
	DB	000H
	DB	000H
	DB	004H
	DB	00CH
	DB	008H
	DB	009H
	DB	00FH
	DB	006H
	DB	000H
	DB	000H
	DB	008H
	DB	008H
	DB	0F8H
	DB	0F8H
	DB	008H
	DB	008H
	DB	000H
	DB	000H
	DB	000H
	DB	000H
	DB	00FH
	DB	00FH
	DB	000H
	DB	000H
	DB	000H
	DB	000H
	DB	0F8H
	DB	0F8H
	DB	000H
	DB	000H
	DB	0F8H
	DB	0F8H
	DB	000H
	DB	000H
	DB	007H
	DB	00FH
	DB	008H
	DB	008H
	DB	00FH
	DB	007H
	DB	000H
	DB	000H
	DB	0F8H
	DB	0F8H
	DB	000H
	DB	000H
	DB	0F8H
	DB	0F8H
	DB	000H
	DB	000H
	DB	003H
	DB	007H
	DB	00CH
	DB	00CH
	DB	007H
	DB	003H
	DB	000H
	DB	000H
	DB	0F8H
	DB	0F8H
	DB	000H
	DB	0C0H
	DB	000H
	DB	0F8H
	DB	0F8H
	DB	000H
	DB	001H
	DB	00FH
	DB	00EH
	DB	001H
	DB	00EH
	DB	00FH
	DB	001H
	DB	000H
	DB	018H
	DB	038H
	DB	0E0H
	DB	0C0H
	DB	038H
	DB	018H
	DB	000H
	DB	000H
	DB	00EH
	DB	00FH
	DB	000H
	DB	001H
	DB	00FH
	DB	00EH
	DB	000H
	DB	000H
	DB	078H
	DB	0F8H
	DB	080H
	DB	080H
	DB	0F8H
	DB	078H
	DB	000H
	DB	000H
	DB	000H
	DB	000H
	DB	00FH
	DB	00FH
	DB	000H
	DB	000H
	DB	000H
	DB	000H
	DB	008H
	DB	008H
	DB	088H
	DB	0C8H
	DB	078H
	DB	038H
	DB	000H
	DB	000H
	DB	00EH
	DB	00FH
	DB	009H
	DB	008H
	DB	008H
	DB	008H
	DB	000H
	DB	000H
	DB	030H
	DB	078H
	DB	0CEH
	DB	08EH
	DB	018H
	DB	010H
	DB	000H
	DB	000H
	DB	004H
	DB	00CH
	DB	038H
	DB	039H
	DB	00FH
	DB	006H
	DB	000H
	DB	000H
	DB	000H
	DB	000H
	DB	000H
	DB	000H
	DB	000H
	DB	000H
	DB	000H
	DB	000H
	DB	000H
	DB	000H
	DB	00CH
	DB	00CH
	DB	00CH
	DB	000H
	DB	000H
	DB	000H
	DB	000H
	DB	000H
	DB	080H
	DB	0E0H
	DB	078H
	DB	018H
	DB	000H
	DB	000H
	DB	018H
	DB	01EH
	DB	007H
	DB	001H
	DB	000H
	DB	000H
	DB	000H
	DB	000H
	DB	000H
	DB	000H
	DB	000H
	DB	000H
	DB	000H
	DB	000H
	DB	000H
	DB	040H
	DB	040H
	DB	040H
	DB	040H
	DB	040H
	DB	040H
	DB	040H
	DB	040H
	DB	000H
	DB	000H
	DB	000H
	DB	000H
	DB	000H
	DB	000H
	DB	000H
	DB	000H
	DB	000H
	DB	000H
	DB	000H
	DB	000H
	DB	000H
	DB	000H
	DB	000H
	DB	000H


	RSEG  ?C_INITSEG
	DB	002H
	DB	total
	DW	00004H

; /*------------------------------------------------------------------------------
; CSAMPLE1.C
; Copyright 1995-1999 Keil Software, Inc.
; ------------------------------------------------------------------------------*/
; //#include <reg51.h>                             /* define 8051 registers */
; #include <stdio.h>                             /* define I/O functions */
; #include <math.h>
; // 打印机厂家需要的头文件
; #include<reg52.h>
; #include<string.h>
; //  加入自己定义的头文件。
; #include "lyj.h"
; //加入液晶厂家的显示公用头文件
; #include "led.h"
; #include "I2C.h"
; extern unsigned int getnumber (void);
; //unsigned int  i=0;
; extern void output (unsigned int);
; //处理完毕所有的键盘输入;
; unsigned int  total = 4 ; // 合计需要存储4组
; input   sinput;
; canshu  scanshu; 
;   //   建立所有公用的使用参数:
; //unsigned  char   store[12][4];
; //input store_sinput[4]; 
; unsigned  char screen ;     // 屏幕状态,0是主屏,1是打印屏,2是设置屏1,3是设置屏2.
; unsigned char bkey  ;   // 获得的键值
; unsigned char  Revbuffer[10];
; void main (void)  

	RSEG  ?PR?main?PRINTER
main:
	USING	0
			; SOURCE LINE # 29
; {    
			; SOURCE LINE # 30
;                         
; // 初始化液晶
;   LcmInit();
			; SOURCE LINE # 33
	LCALL	LcmInit
; //初始化打印机
;   intiPri();
			; SOURCE LINE # 35
	LCALL	intiPri
; //初始化单片机
;   intiCpu();
			; SOURCE LINE # 37
	LCALL	intiCpu
;   restoreConfig();
			; SOURCE LINE # 38
	LCALL	restoreConfig
; //  	intiLed();
; // 开机显示画面;
;   showLcd(0);
			; SOURCE LINE # 41
	CLR  	A
	MOV  	R7,A
	MOV  	R6,A
	LCALL	_showLcd
?C0001:
; while (1)
			; SOURCE LINE # 42
; {
			; SOURCE LINE # 43
; 	bkey = inputkey();	
			; SOURCE LINE # 44
	LCALL	inputkey
	MOV  	bkey,R7
; 		switch (bkey)          //如果有键盘按下
			; SOURCE LINE # 45
	MOV  	A,bkey
	DEC  	A
	CJNE 	A,#018H,?C0296
?C0296:
	JNC  	?C0001
	MOV  	DPTR,#?C0297
	MOV  	B,#03H
	MUL  	AB
	XCH  	A,DPH
	ADD  	A,B
	XCH  	A,DPH
	JMP  	@A+DPTR
?C0297:
	LJMP 	?C0004
	LJMP 	?C0005
	LJMP 	?C0006
	LJMP 	?C0007
	LJMP 	?C0008
	LJMP 	?C0009
	LJMP 	?C0010
	LJMP 	?C0011
	LJMP 	?C0012
	LJMP 	?C0013
	LJMP 	?C0014
	LJMP 	?C0015
	LJMP 	?C0016
	LJMP 	?C0017
	LJMP 	?C0018
	LJMP 	?C0019
	LJMP 	?C0020
	LJMP 	?C0021
	LJMP 	?C0022
	LJMP 	?C0023
	LJMP 	?C0024
	LJMP 	?C0025
	LJMP 	?C0026
	LJMP 	?C0027
; 			{
			; SOURCE LINE # 46
; 			case 1:  inputnum(0);
			; SOURCE LINE # 47
?C0004:
	CLR  	A
	MOV  	R7,A
; 			break ;
			; SOURCE LINE # 48
	SJMP 	?C0309
; 			case 2:  inputnum(1);
			; SOURCE LINE # 49
?C0005:
	MOV  	R7,#01H
?C0301:
; 			break ;
			; SOURCE LINE # 50
	SJMP 	?C0309
; 			case 3:  inputnum(2);
			; SOURCE LINE # 51
?C0006:
	MOV  	R7,#02H
?C0302:
; 			break ;
			; SOURCE LINE # 52
	SJMP 	?C0309
; 			case 4:  inputnum(3);
			; SOURCE LINE # 53
?C0007:
	MOV  	R7,#03H
?C0303:
; 			break ;
			; SOURCE LINE # 54
	SJMP 	?C0309
; 			case 5:  inputnum(4);
			; SOURCE LINE # 55
?C0008:
	MOV  	R7,#04H
?C0304:
; 			break ;
			; SOURCE LINE # 56
	SJMP 	?C0309
; 			case 6:  inputnum(5);
			; SOURCE LINE # 57
?C0009:
	MOV  	R7,#05H
?C0305:
; 			break ;
			; SOURCE LINE # 58
	SJMP 	?C0309
; 			case 7:  inputnum(6);
			; SOURCE LINE # 59
?C0010:
	MOV  	R7,#06H
?C0306:
; 			break ;
			; SOURCE LINE # 60
	SJMP 	?C0309
; 			case 8:  inputnum(7);
			; SOURCE LINE # 61
?C0011:
	MOV  	R7,#07H
?C0307:
; 			break ;
			; SOURCE LINE # 62
	SJMP 	?C0309
; 			case 9:  inputnum(8);
			; SOURCE LINE # 63
?C0012:
	MOV  	R7,#08H
?C0308:
; 			break ;
			; SOURCE LINE # 64
	SJMP 	?C0309
; 			case 10:  inputnum(9);
			; SOURCE LINE # 65
?C0013:
	MOV  	R7,#09H
?C0309:
	LCALL	_inputnum
; 			break ;
			; SOURCE LINE # 66
	LJMP 	?C0001
; 			case 11:  inputnod();  //输入小数点
			; SOURCE LINE # 67
?C0014:
	LCALL	inputnod
; 			break ;
			; SOURCE LINE # 68
	LJMP 	?C0001
; 			case 12:  inputf1();   //输入F1键  存储
			; SOURCE LINE # 69
?C0015:
	LCALL	inputf1
; 			break ;
			; SOURCE LINE # 70
	LJMP 	?C0001
; 			case 13:  inputf2();        // 打印。
			; SOURCE LINE # 71
?C0016:
	LCALL	inputf2
; 			break ;
			; SOURCE LINE # 72
	LJMP 	?C0001
; 			case 14:  inputf3();
			; SOURCE LINE # 73
?C0017:
	LCALL	inputf3
; 			break ;
			; SOURCE LINE # 74
	LJMP 	?C0001
; 			case 15:  inputf4();
			; SOURCE LINE # 75
?C0018:
	LCALL	inputf4
; 			break ;
			; SOURCE LINE # 76
	LJMP 	?C0001
; 			case 16:  inputok();   //输入确定键
			; SOURCE LINE # 77
?C0019:
	LCALL	inputok
; 			break ;
			; SOURCE LINE # 78
	LJMP 	?C0001
; 			case 17:  inputesc();   //输入取消键
			; SOURCE LINE # 79
?C0020:
	LCALL	inputesc
; 			break ;
			; SOURCE LINE # 80
	LJMP 	?C0001
; 			case 18:  inputback();   //输入backspace 键
			; SOURCE LINE # 81
?C0021:
	LCALL	inputback
; 			break ;
			; SOURCE LINE # 82
	LJMP 	?C0001
; 			case 19:  inputqie();    //切换键
			; SOURCE LINE # 83
?C0022:
	LCALL	inputqie
; 			break ;
			; SOURCE LINE # 84
	LJMP 	?C0001
; 			case 20:  inputup();    //向上键
			; SOURCE LINE # 85
?C0023:
	LCALL	inputup
; 			break ;
			; SOURCE LINE # 86
	LJMP 	?C0001
; 			case 21:  inputdown();      //向下键
			; SOURCE LINE # 87
?C0024:
	LCALL	inputdown
; 			break ;
			; SOURCE LINE # 88
	LJMP 	?C0001
; 			case 22:  inputlink();       //连接键 无用
			; SOURCE LINE # 89
?C0025:
	LCALL	inputlink
; 			break ;
			; SOURCE LINE # 90
	LJMP 	?C0001
; 			case 23:  inputlyj1();       //备用键1
			; SOURCE LINE # 91
?C0026:
	LCALL	inputlyj1
; 			break ;
			; SOURCE LINE # 92
	LJMP 	?C0001
; 			case 24:  inputlyj2();       //备用键2
			; SOURCE LINE # 93
?C0027:
	LCALL	inputlyj2
; 			break ;
			; SOURCE LINE # 94
	LJMP 	?C0001
; END OF main

; 			default : break ;} //end of switch  */
; 			}// end of while
; // 所有键盘的处理程序完成。
; 	}// end of main 
; // 以下是所有的子函数。
; //液晶初始化子函数、
; 
;  /*void  intiLed()
; {
; 
; }*/
; 
; //打印机初始化函数
; void intiPri()

	RSEG  ?PR?intiPri?PRINTER
intiPri:
			; SOURCE LINE # 108
; {
			; SOURCE LINE # 109
; //	SP = 0xA0;
; //	IE = 0x1B;
; 	TH1=0xe8; //波特率2400
			; SOURCE LINE # 112
	MOV  	TH1,#0E8H
; 	TL1=0xe8; //波特率2400
			; SOURCE LINE # 113
	MOV  	TL1,#0E8H
; 	//TH1=253; //波特率9600
; 	TMOD=32; //串口设置,定时器1,方式2
			; SOURCE LINE # 115
	MOV  	TMOD,#020H
; 	SCON=0xd0; //串口发送方式3
			; SOURCE LINE # 116
	MOV  	SCON,#0D0H
; 	TR1 = 1;
			; SOURCE LINE # 117
	SETB 	TR1
; }
			; SOURCE LINE # 118
	RET  	
; END OF intiPri

; // 单片机初始化函数
; void  intiCpu()

	RSEG  ?PR?intiCpu?PRINTER
intiCpu:
			; SOURCE LINE # 120
; {
			; SOURCE LINE # 121
;                
;  screen =0 ;  // 屏幕状态,0是主屏,1是设置屏 ,2是打印屏
			; SOURCE LINE # 123
	CLR  	A
	MOV  	screen,A
;  Page =0;
			; SOURCE LINE # 124
	MOV  	Page?,A
;  Col=0;    //光标默认位置是0.0
			; SOURCE LINE # 125
	MOV  	Col,A
; //  输入屏幕5个参数;
; 	  sinput.bianma =0;   
			; SOURCE LINE # 127
	MOV  	sinput,A
	MOV  	sinput+01H,A
; 	  sinput.num =0;
			; SOURCE LINE # 128
	MOV  	sinput+04H,A
	MOV  	sinput+05H,A
; 	  sinput.price =0;
			; SOURCE LINE # 129
	MOV  	sinput+02H,A
	MOV  	sinput+03H,A
; 	  sinput.nownum =0;
			; SOURCE LINE # 130
	MOV  	sinput+06H,A
	MOV  	sinput+07H,A
; //	  sinput.total=4; // 合计需要存储4组
;   //    设置屏幕的6个参数
; 	scanshu.hanghead =0;    //起始横坐标 
			; SOURCE LINE # 133
	MOV  	scanshu,A
; 	scanshu.liehead =0;     //起始纵坐标
			; SOURCE LINE # 134
	MOV  	scanshu+01H,A
; 	scanshu.wide =0;        //标签宽度       
			; SOURCE LINE # 135
	MOV  	scanshu+02H,A
; 	scanshu.painum=0;       //打印排数
			; SOURCE LINE # 136
	MOV  	scanshu+03H,A
; 	scanshu.type =0;        //条码类型
			; SOURCE LINE # 137
	MOV  	scanshu+04H,A
; 	scanshu.comm =0;        //输出串口
			; SOURCE LINE # 138
	MOV  	scanshu+05H,A
; //记住光标的位置,用于响应键盘。
; bkey =0;
			; SOURCE LINE # 140
	MOV  	bkey,A
; }
			; SOURCE LINE # 141
	RET  	
; END OF intiCpu

; //键盘扫描子程序
; unsigned char  inputkey ()

	RSEG  ?PR?inputkey?PRINTER
inputkey:
	USING	0
			; SOURCE LINE # 143
; {
			; SOURCE LINE # 144
;   delay10ms();  //健消除抖动的延时函数  
			; SOURCE LINE # 145
	LCALL	delay10ms
;   bkey=kbscan();   //键盘扫描函数
			; SOURCE LINE # 146
	LCALL	kbscan
	MOV  	bkey,R7
;   delay10ms(); 
			; SOURCE LINE # 147
	LCALL	delay10ms
;   return bkey;
			; SOURCE LINE # 148
	MOV  	R7,bkey
; }
			; SOURCE LINE # 149
?C0032:
	RET  	
; END OF inputkey

; 
; //  键盘扫描子程序
; unsigned char kbscan()

	RSEG  ?PR?kbscan?PRINTER
kbscan:
	USING	0
			; SOURCE LINE # 152
;---- Variable 'sccode?440' assigned to Register 'R6' ----
; {
			; SOURCE LINE # 153
;   unsigned char sccode,recode;
;   unsigned char i;
;   for (i=0;i<4;i++)
			; SOURCE LINE # 156
	CLR  	A
	MOV  	i?442,A
?C0033:
;   {
			; SOURCE LINE # 157
;   if(i==0)
			; SOURCE LINE # 158
	MOV  	A,i?442
	JNZ  	?C0036
;   {	/*扫描第1行*/
			; SOURCE LINE # 159
; 	P1 = 0xFF;
			; SOURCE LINE # 160
	MOV  	P1,#0FFH
; 	line1 = 0;// 发0行扫描。
			; SOURCE LINE # 161
	CLR  	line1
; 	line2 = 1;
			; SOURCE LINE # 162
	SETB 	line2
; 	line3 = 1;
			; SOURCE LINE # 163
	SETB 	line3
; 	line4 = 1;
			; SOURCE LINE # 164
	SETB 	line4
; 	sccode= P1;
			; SOURCE LINE # 165
	MOV  	R6,P1
; 	sccode&= 0xFC;
			; SOURCE LINE # 166
	ANL  	AR6,#0FCH
; 
; 	//本行有键按下
; 	if(sccode != 0xFC)
			; SOURCE LINE # 169
	MOV  	A,R6
	XRL  	A,#0FCH
	JNZ  	$ + 5H
	LJMP 	?C0035
; 	{
			; SOURCE LINE # 170
; 		delay10ms();
			; SOURCE LINE # 171
	LCALL	delay10ms
; 
; 		sccode = P1;
			; SOURCE LINE # 173
	MOV  	R6,P1
; 		sccode&=0xFC;
			; SOURCE LINE # 174
	ANL  	AR6,#0FCH
; 
; 		if(sccode !=0xFC)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -