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

📄 printer.med

📁 calculator code ,use toshibaor nec LSI
💻 MED
📖 第 1 页 / 共 5 页
字号:
      999 +1    	set	(F_FDREQ>>4).a
     1001 +1    	ld	wa,F_FEED
     1002 +1    	test	(F_FEED>>4).a		;bit -reverse-> jump status
     1003 +1    	j	f,key_f100		;if jump status is 0 -> branch
     1004       		ld	(STEP_CT),0
     1006 +1    	ld	wa,F_FEED
     1007 +1    	set	(F_FEED>>4).a
     1009 +1    	ld	wa,F_RVREQ
     1010 +1    	clr	(F_RVREQ>>4).a
     1012 +1    	ld	wa,F_RUSH
     1013 +1    	test	(F_RUSH>>4).a		;bit -reverse-> jump status
     1014 +1    	j	t,key_f011		;if jump status is 1 -> branch
     1016 +1    	ld	wa,F_RUSH
     1017 +1    	clr	(F_RUSH>>4).a
     1018       		j	key_f100
     1019       key_f011:
     1020       		call	start_up			;MT driver enable, motor start, dbr clear BL off
     1021       key_f100:
     1023 +1    	ld	wa,F_FDREQ
     1024 +1    	test	(F_FDREQ>>4).a		;bit -reverse-> jump status
     1025 +1    	j	f,key_f100		;if jump status is 0 -> branch
     1026       		ret
     1027       start_up:
     1029 +1    	and	(P4DR),0y11111100			;AIN1,AIN0 must set '0' for AD convert
     1030 +1    	or	(P4DR),0y00000100			;P42 set'1'(VPR)
     1031 +1    	set	(F_PCONT+2).6		;IO_MT		equ	(F_PCONT+2<<4)+6
     1032 +1    
     1034 +1    	and	(P4DR),0y11111100			;AIN1,AIN0 must set '0' for AD convert
     1035 +1    	or	(P4DR),0y00011000			;P44P43 set '1'(ENA1,ENA2)
     1037 +1    	ld	wa,P_MOVE
     1038 +1    	set	(P_MOVE>>4).a
     1039       		di		
     1041 +1    	ld	(TC2CR),0y00001110		;TC2CK(011)=fc/2^3 TC2S(0):stop TC2M(0):timer mode
     1042 +1    	clr	(EIRH).EF13			;clear TC2 enable (EIRH:bit4)
     1043       		ei		
     1045 +1    	ld	wa,SW_LTP
     1046 +1    	test	(SW_LTP>>4).a		;bit -reverse-> jump status
     1047 +1    	j	f,start_up1		;if jump status is 0 -> branch
     1049 +1    	ldw	(TC2DRL),STP_RUSH			;set TC2DR
     1050       		j	start_up2
     1051       start_up1:
     1053 +1    	ldw	(TC2DRL),STP_WKUP_LTP			;set TC2DR
     1055 +1    	ld	wa,F_ACC
     1056 +1    	set	(F_ACC>>4).a
     1057       start_up2:
     1058       		di			
     1060 +1    	ld	(TC2CR),0y00001110		;TC2CK(011)=fc/2^3 TC2S(0):stop TC2M(0):timer mode
     1061 +1    	clr	(ILH).IL13		;clear TC6 request (ILH:bit4)
     1062 +1    	set	(EIRH).EF13			;set TC6 enable (EIRH:bit4)
     1063 +1    	ld	(TC2CR),0y00101110		;TC2CK(011)=fc/2^3 0.5us TC2S(1):start TC2M(0):timer mode
     1064       		ei			
     1065       ;		call	dbr_disp_clear		;DBR clear(real display data)
     1066       ;		call	bl_off
     1067       		call	vft_disable
     1068       		ret
     1069       ;V4.14============================================================
     1070       print_int_check:
     1072 +1    	ld	wa,F_INIREQ
     1073 +1    	test	(F_INIREQ>>4).a		;bit -reverse-> jump status
     1074 +1    	j	t,print_need_int		;if jump status is 1 -> branch
     1076 +1    	ld	wa,F_INIREQ
     1077 +1    	clr	(F_INIREQ>>4).a
     1078       		call	prn_init			;V4.14
     1079       print_need_int:						;V4.14
     1080       		ret					;V4.14
     1081       ;---------------------------------------------------------------------------------
     1082       ;	      Space Print  /  1-Line Print
     1083       print:
     1084       		call	print_int_check		;V4.14
     1085       ;V4.14		@BBC	(F_INIREQ,print_need_int)	;V4.08
     1086       ;V4.14		@CLB	(F_INIREQ)			;V4.10
     1087       ;V4.14		call	prn_init			;V4.08
     1088       ;V4.14print_need_int:						;V4.08
     1090 +1    	ld	wa,F_REDBAK
     1091 +1    	clr	(F_REDBAK>>4).a
     1092       
     1094 +1    	ld	wa,P_RED
     1095 +1    	test	(P_RED>>4).a		;bit -reverse-> jump status
     1096 +1    	j	t,prnl_top0		;if jump status is 1 -> branch
     1098 +1    	ld	wa,F_REDBAK
     1099 +1    	set	(F_REDBAK>>4).a
     1101 +1    	ld	wa,P_RED
     1102 +1    	clr	(P_RED>>4).a
     1103       prnl_top0:
     1105 +1    	ld	wa,F_FEED
     1106 +1    	test	(F_FEED>>4).a		;bit -reverse-> jump status
     1107 +1    	j	f,prnl_top0		;if jump status is 0 -> branch
     1109 +1    	ld	wa,SW_LTP
     1110 +1    	test	(SW_LTP>>4).a		;bit -reverse-> jump status
     1111 +1    	j	f,prnl_top1		;if jump status is 0 -> branch
     1112       
     1113       		di
     1115 +1    	ld	wa,F_EXFED
     1116 +1    	test	(F_EXFED>>4).a		;bit -reverse-> jump status
     1117 +1    	j	t,prnl_top1		;if jump status is 1 -> branch
     1118       		ei
     1119       prnl_top01:
     1121 +1    	ld	wa,F_EXFED
     1122 +1    	test	(F_EXFED>>4).a		;bit -reverse-> jump status
     1123 +1    	j	f,prnl_top01		;if jump status is 0 -> branch
     1124       prnl_top02:
     1126 +1    	ld	wa,F_RUSH
     1127 +1    	test	(F_RUSH>>4).a		;bit -reverse-> jump status
     1128 +1    	j	t,prnl_top02		;if jump status is 1 -> branch
     1130 +1    	ld	wa,F_PRINT
     1131 +1    	set	(F_PRINT>>4).a
     1133 +1    	ld	wa,F_PRREQ
     1134 +1    	set	(F_PRREQ>>4).a
     1135       		j	prnl_top10
     1136       prnl_top1:
     1137       		di
     1139 +1    	ld	wa,F_PRREQ
     1140 +1    	set	(F_PRREQ>>4).a
     1142 +1    	ld	wa,F_PRINT
     1143 +1    	test	(F_PRINT>>4).a		;bit -reverse-> jump status
     1144 +1    	j	f,prnl_x1		;if jump status is 0 -> branch
     1145       		ld	(STEP_CT),0		;MT step count clear (0~52)
     1147 +1    	ld	wa,F_PRINT
     1148 +1    	set	(F_PRINT>>4).a
     1150 +1    	ld	wa,F_RUSH
     1151 +1    	test	(F_RUSH>>4).a		;bit -reverse-> jump status
     1152 +1    	j	t,prnl_x0		;if jump status is 1 -> branch
     1153       prnl_top10:
     1155 +1    	ld	wa,F_RUSH
     1156 +1    	clr	(F_RUSH>>4).a
     1157       		di				;
     1159 +1    	ld	(TC2CR),0y00001110		;TC2CK(011)=fc/2^3 TC2S(0):stop TC2M(0):timer mode
     1160 +1    	clr	(EIRH).EF13			;clear TC2 enable (EIRH:bit4)
     1162 +1    	ldw	(TC2DRL),STP_NORM			;set TC2DR
     1164 +1    	ld	(TC2CR),0y00001110		;TC2CK(011)=fc/2^3 TC2S(0):stop TC2M(0):timer mode
     1165 +1    	clr	(ILH).IL13		;clear TC6 request (ILH:bit4)
     1166 +1    	set	(EIRH).EF13			;set TC6 enable (EIRH:bit4)
     1167 +1    	ld	(TC2CR),0y00101110		;TC2CK(011)=fc/2^3 0.5us TC2S(1):start TC2M(0):timer mode
     1168       		ei				;
     1169       		j	prnl_x1
     1170       
     1171       prnl_x0:
     1172       		ei
     1173       		call	start_up		;MT driver enable, motor start, dbr clear BL off
     1174       prnl_x1:
     1175       		di				;V4.07
     1177 +1    	ld	wa,F_LARGP
     1178 +1    	clr	(F_LARGP>>4).a
     1180 +1    	ld	wa,F_ENLARG
     1181 +1    	test	(F_ENLARG>>4).a		;bit -reverse-> jump status
     1182 +1    	j	t,prnl_x1x		;if jump status is 1 -> branch
     1184 +1    	ld	wa,F_LARGP
     1185 +1    	set	(F_LARGP>>4).a
     1187 +1    	ld	wa,F_ENLARG
     1188 +1    	clr	(F_ENLARG>>4).a
     1189       prnl_x1x:					;V4.07
     1190       		ei
     1192 +1    	and	(P4DR),0y11111100			;AIN1,AIN0 must set '0' for AD convert
     1193 +1    	ld	(ADCCR1),0y00100000		;AD conv. stop  s/w start  AIN enable  select AIN0(P40)
     1194 +1    	ld	(ADCCR2),0y00011000		;Rudder connect when AD convert only, ACK=312/fc (19.5us convert time 16MHz)
     1195 +1    	set	(ADCCR1).7			;AD convert start
     1197 +1    	ld	wa,SW_LTP
     1198 +1    	test	(SW_LTP>>4).a		;bit -reverse-> jump status
     1199 +1    	j	f,prnl_x2		;if jump status is 0 -> branch
     1201 +1    	ld	wa,F_RVREQ
     1202 +1    	test	(F_RVREQ>>4).a		;bit -reverse-> jump status
     1203 +1    	j	t,prnl_x2		;if jump status is 1 -> branch
     1205 +1    	ld	wa,F_RVREQ
     1206 +1    	clr	(F_RVREQ>>4).a
     1208 +1    	ld	wa,F_RVSE
     1209 +1    	set	(F_RVSE>>4).a
     1210       		dec	(PHASE_CT)
     1211       prnl_x2:		
     1212       		ld	(LINE_PTR),0		;the line location of font(0~19)
     1213       		ld	(LINE_PTR_BK),0		;V4.03
     1215 +1    loop02d:
     1216 +1    	ld	cf,(ADCDR2).5			;EOCF=1?
     1217 +1    	j	cc,loop02d
     1218 +1    	ld	a,(ADCDR1)			;get AD convert value
     1219       		cmp	a,224
     1220       		j	lt,prnl_01
     1221       		ld	a,223
     1222       prnl_01:
     1223       		sub	a,77
     1224       		j	cc,prnl_02
     1225       		ld	a,0
     1226       prnl_02:
     1227       		ld	w,0		;V4.05
     1228       		shrc	a
     1230 +1    	test	(FLG_MODE).0
     1231 +1    	j	t,prnl_02x
     1232       		ld	c,a
     1233       		ld	hl,temp_table
     1234       		ld	a,(hl+c)
     1235       		ld	(HD_TEMP),a		;keep head temparature
     1236       		jp	prnl_02y		;V4.16
     1237       prnl_02x:
     1238       		shlc	a			;V4.04
     1239       		add	wa,lg_temp_table	;V4.05
     1240       		ld	de,wa			;V4.05
     1241       		ld	wa,(de)			;V4.05
     1242       		ld	(HD_TEMP),wa
     1243       prnl_02y:
     1245 +1    	ld	wa,F_BHLD
     1246 +1    	clr	(F_BHLD>>4).a
     1247       		;--------------------------------------------------------------
     1248       prnl_00:
     1249       		call	prnbuf_to_dot		;PRN_BUF(1line data)--> DOT_LINE
     1250       prnl_11:
     1252 +1    	ld	wa,F_BHLD
     1253 +1    	test	(F_BHLD>>4).a		;bit -reverse-> jump status
     1254 +1    	j	f,prnl_11		;if jump status is 0 -> branch
     1256 +1    	ld	wa,F_BHLD
     1257 +1    	set	(F_BHLD>>4).a
     1258       		call	font_tx			; 1 dotline(288dots)---> shift registor of printer
     1259       		inc	(LINE_PTR_BK)		;V4.03
     1261 +1    	ld	wa,F_LARGP
     1262 +1    	test	(F_LARGP>>4).a		;bit -reverse-> jump status
     1263 +1    	j	t,prn1_11_y		;if jump status is 1 -> branch
     1264       		cmp	(LINE_PTR_BK),3		;V4.03
     1265       		j	eq,prn1_11_x		;V4.03
     1266       		cmp	(LINE_PTR_BK),7		;V4.03
     1267       		j	eq,prn1_11_x		;V4.03
     1268       		cmp	(LINE_PTR_BK),11	;V4.03
     1269       		j	eq,prn1_11_x		;V4.03
     1270       		cmp	(LINE_PTR_BK),15	;V4.03
     1271       		j	eq,prn1_11_x		;V4.03
     1272       		cmp	(LINE_PTR_BK),19	;V4.03
     1273       		j	eq,prn1_11_x		;V4.03
     1274       		cmp	(LINE_PTR_BK),23	;V4.03
     1275       		j	eq,prn1_11_x		;V4.03
     1276       prn1_11_y:					;V4.03
     1277       		inc	(LINE_PTR)		;
     1278       prn1_11_x:					;V4.03
     1279       		cmp	(LINE_PTR),20		; last line?
     1280       		j	lt,prnl_00		;no
     1281       		;--------------------------------------------------------------
     1282       prnl_90:
     1284 +1    	ld	wa,F_PRREQ
     1285 +1    	test	(F_PRREQ>>4).a		;bit -reverse-> jump status
     1286 +1    	j	f,prnl_90		;if jump status is 0 -> branch
     1287       		ret
     1288       
     1289       ;
     1290       ;1line dot(288dots) transmit.....................................................
     1291       font_tx:
     1292       		
     1294 +1    	and	(P1DR),0y10111111
     1295 +1    	nop
     1296 +1    	or 	(P1DR),0y11000000	;P17(CK: Hi-z), P16(EEIN: Hi-z)
     1297 +1    	ld	(SIOCR1),0y01001100	;SIOS=0, SIOINH=1 to abort and initial "SIOSR", SIOM=00(8bit Tx),SIODIR=1 LSB, SCK=fc/2^4
     1298 +1    	ld	(SIOCR2),0y00000000
     1299 +1    
     1300       		ld	(DOT_CT),0		;total dot q'ty of 1line
     1301       		ld	hl,DOT_LINE		;
     1302       		ld	c,0
     1303       		ld	e,(hl+c)		;5
     1304       		ld	(SIOBUF),e		;5
     1306 +1    	ld	(SIOCR1),0y10001100	;SIOS=1 SIOINH=0 SIOM=00(8bit Tx) SIODIR=1 SCK=fc/2^4
     1307 +1    
     1308       		j	font_tx_12
     1309       font_tx_1:
     1310       		ld	cf,(SIOSR).6		;check shift end flag
     1311       		j	cs,font_tx_1
     1312       ;		or 	(P1DR),0y11000000	;P17(CK: Hi-z), P16(EEIN: Hi-z)

⌨️ 快捷键说明

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