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

📄 mnj_1335.lst

📁 app_16x4_SED1335_T6963_LCD_demo
💻 LST
📖 第 1 页 / 共 5 页
字号:
(1068) 
(1069) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(1070) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(1071) 0x00,0x00,0x01,0x80,0x60,0x01,0x80,0x70,
(1072) 0x0F,0xF0,0x60,0x0E,0x30,0x60,0x0F,0xFF,
(1073) 0xFE,0x06,0x3C,0x6E,0x07,0xF2,0x60,0x3F,
(1074) 0xF7,0x60,0x3F,0xF1,0xE0,0x01,0xB0,0x60,
(1075) 0x0F,0x30,0x60,0x7E,0x30,0x60,0x71,0xFD,
(1076) 0xE0,0x00,0xE3,0xC0,0x00,0x00,0x00,0x00,
(1077) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"射",14*/
(1078) 
(1079) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(1080) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(1081) 0x00,0x00,0x00,0x0C,0x40,0x03,0x8C,0xC0,
(1082) 0x03,0x0D,0x80,0x06,0x0C,0x60,0x0C,0xBF,
(1083) 0xE0,0x39,0xFC,0x00,0x3F,0x0D,0xF0,0x04,
(1084) 0x3F,0x80,0x09,0xE6,0x60,0x1E,0x07,0xC0,
(1085) 0x00,0x67,0x80,0x07,0x8F,0xC0,0x3E,0x39,
(1086) 0xFE,0x78,0x00,0xFC,0x00,0x00,0x18,0x00,
(1087) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"线",15*/
(1088) 
(1089) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(1090) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(1091) 0x00,0x00,0x00,0x04,0x10,0x3F,0xEF,0xF8,
(1092) 0x33,0x68,0x38,0x1B,0x63,0xC0,0x1F,0xE1,
(1093) 0xC0,0x13,0x6F,0xFE,0x1F,0xEF,0xFE,0x13,
(1094) 0x20,0xCE,0x1F,0xE0,0xCC,0x3F,0xC0,0xC0,
(1095) 0x03,0x30,0xC0,0x07,0xE0,0xC0,0x7F,0x21,
(1096) 0xC0,0x70,0x1F,0xC0,0x00,0x07,0x80,0x00,
(1097) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"野",16*/
(1098) 
(1099) 
(1100) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(1101) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(1102) 0x00,0x00,0x00,0x07,0x00,0x18,0x07,0x00,
(1103) 0x1E,0x0C,0xC0,0x0F,0x18,0x70,0x00,0x70,
(1104) 0x38,0x60,0xFF,0xEC,0x7C,0x47,0x80,0x3E,
(1105) 0x00,0x00,0x00,0x3F,0xF8,0x00,0x30,0x38,
(1106) 0x03,0x30,0x18,0x1E,0x38,0x38,0x1C,0x3F,
(1107) 0xF8,0x08,0x18,0x30,0x00,0x00,0x00,0x00,
(1108) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"治",17*/
(1109) 
(1110) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(1111) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(1112) 0x00,0x00,0x00,0x0E,0x00,0x07,0x0E,0x00,
(1113) 0x07,0xFF,0xF8,0x03,0x06,0x00,0x33,0x7F,
(1114) 0xF0,0x3F,0x40,0x70,0x03,0x07,0x80,0x3F,
(1115) 0x03,0x00,0x13,0x03,0x00,0x06,0x01,0x80,
(1116) 0x0E,0x01,0x80,0x3C,0x03,0x80,0x78,0x63,
(1117) 0x00,0x30,0x3F,0x00,0x00,0x0C,0x00,0x00,
(1118) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"疗",18*/
(1119) 
(1120) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(1121) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(1122) 0x00,0x00,0x00,0x1C,0x00,0x04,0x1E,0x00,
(1123) 0x07,0xFF,0xF8,0x06,0x0C,0x00,0x06,0x0C,
(1124) 0x00,0x06,0xFF,0xE0,0x06,0xFF,0xE0,0x06,
(1125) 0x1F,0x00,0x0C,0x3F,0x80,0x0C,0x7D,0xE0,
(1126) 0x1D,0xEC,0x7E,0x7B,0xCC,0x3E,0x70,0x0C,
(1127) 0x1C,0x00,0x0C,0x00,0x00,0x0C,0x00,0x00,
(1128) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"床",19*/
(1129) 
(1130) };
(1131) 
(1132) /*==============================================================================
(1133)                ;------------ 文本方式下汉字写入子程序 ------------
(1134) ;	该汉字字模是根据清华蓬远公司提供的PICKHZ.EXE软件从计算机中提取的汉字 16x16	
(1135) 	点阵字模, 其排列顺序是:	前16字节为汉字左半部分(自上而下), 后16字节为汉字右
(1136) 	半部分(自上而下). 下面提供的在文本方式下汉字的写入子程序可以在文本显示区任意
(1137) 	地方写入汉字. 程序如下:
(1138) ==============================================================================*/
(1139) void PutWordInAlpha( void ) {
(1140) 						                // 首先建立CGRAM,
(1141) 	sed1335_write_command( Ovlay );		// 显示合成方式设置.代码0x5b
    0DA2 E50B      LDI	R16,0x5B
    0DA3 DF88      RCALL	_sed1335_write_command
(1142) 	sed1335_write_data( 0x01 );			// 设置参数:显示3区为文本属性,二重xor合成
    0DA4 E001      LDI	R16,1
    0DA5 DF8E      RCALL	_sed1335_write_data
(1143) 	BuildCgram( 0,8 );					// 调建立CGRAM子程序设置写入字模量八个汉字模
    0DA6 E028      LDI	R18,0x8
    0DA7 2700      CLR	R16
    0DA8 D04F      RCALL	_BuildCgram
(1144) // 开始调用显示cgram内所建立的汉字模	
(1145) 	PutCdotInAlpha(0,8,0x80);			// 调文本方式下汉字写入子程序,88H= "模"
    0DA9 E880      LDI	R24,0x80
    0DAA 8388      STD	Y+0,R24
    0DAB E028      LDI	R18,0x8
    0DAC 2700      CLR	R16
    0DAD D019      RCALL	_PutCdotInAlpha
(1146) 	PutCdotInAlpha(2,8,0x84);			// 调文本方式下汉字写入子程序,8cH= "拟"
    0DAE E884      LDI	R24,0x84
    0DAF 8388      STD	Y+0,R24
    0DB0 E028      LDI	R18,0x8
    0DB1 E002      LDI	R16,2
    0DB2 D014      RCALL	_PutCdotInAlpha
(1147) 	PutCdotInAlpha(4,8,0x88);			// 调文本方式下汉字写入子程序,90H= "定"
    0DB3 E888      LDI	R24,0x88
    0DB4 8388      STD	Y+0,R24
    0DB5 E028      LDI	R18,0x8
    0DB6 E004      LDI	R16,4
    0DB7 D00F      RCALL	_PutCdotInAlpha
(1148) 	PutCdotInAlpha(6,8,0x8c);			// 调文本方式下汉字写入子程序,94H= "位"
    0DB8 E88C      LDI	R24,0x8C
    0DB9 8388      STD	Y+0,R24
    0DBA E028      LDI	R18,0x8
    0DBB E006      LDI	R16,6
    0DBC D00A      RCALL	_PutCdotInAlpha
(1149) 	PutCdotInAlpha(8,8,0x90);			// 调文本方式下汉字写入子程序,90H= "机"
    0DBD E980      LDI	R24,0x90
    0DBE 8388      STD	Y+0,R24
    0DBF E028      LDI	R18,0x8
    0DC0 E008      LDI	R16,0x8
    0DC1 D005      RCALL	_PutCdotInAlpha
(1150) 	delay_ms(50);
    0DC2 E302      LDI	R16,0x32
    0DC3 E010      LDI	R17,0
    0DC4 DF58      RCALL	_delay_ms
(1151) }
    0DC5 9621      ADIW	R28,1
    0DC6 9508      RET
_PutCdotInAlpha:
  tempCount            --> R20
  tempPtr              --> R22
  Cnumber              --> R10
  Oy                   --> R22
  Ox                   --> R20
    0DC7 940E11EB  CALL	push_gset3
    0DC9 2F62      MOV	R22,R18
    0DCA 2F40      MOV	R20,R16
    0DCB 80AE      LDD	R10,Y+6
(1152) /*============================================================================
(1153)  汉字写入子程序(文本方式)
(1154)  在文本方式下显示汉字,	首先要建立汉字Cgram, 要定义汉字代码.
(1155)  在文本方式下写汉字需要写入4 个代码以组成一个汉字 
(1156)  每8字节组成一个点阵Ascii小区,4个小区组合成一个汉字所以需要4个代码
(1157)  ============================================================================*/
(1158) void PutCdotInAlpha( Uchar Ox, Uchar Oy, Uchar Cnumber ) {
(1159) Uint tempPtr;
(1160) Uchar tempCount;
(1161) 	tempPtr = (Uint)Oy * paraP9 + Ox;
    0DCC E288      LDI	R24,0x28
    0DCD 9F86      MUL	R24,R22
    0DCE 01B0      MOVW	R22,R0
    0DCF 2E24      MOV	R2,R20
    0DD0 2433      CLR	R3
    0DD1 0D62      ADD	R22,R2
    0DD2 1D73      ADC	R23,R3
(1162) 	sed1335_write_command( CsrDirD );					    // CSRDIR 代码(下移)
    0DD3 E40F      LDI	R16,0x4F
    0DD4 DF57      RCALL	_sed1335_write_command
(1163) 	for(tempCount=0;tempCount<2;tempCount++) {
    0DD5 2744      CLR	R20
    0DD6 C01C      RJMP	0x0DF3
(1164) 		sed1335_write_command( CsrW );					    // CSRW 代码,光标指针设置
    0DD7 E406      LDI	R16,0x46
    0DD8 DF53      RCALL	_sed1335_write_command
(1165) 		sed1335_write_data( (Uchar)(tempPtr &0xff) );	    // 设置光标地址CSR
    0DD9 2F06      MOV	R16,R22
    0DDA 7010      ANDI	R17,0
    0DDB DF58      RCALL	_sed1335_write_data
(1166) 		sed1335_write_data( tempPtr /256 + BasePart3 );
    0DDC 018B      MOVW	R16,R22
    0DDD 2F01      MOV	R16,R17
    0DDE 2711      CLR	R17
    0DDF 5800      SUBI	R16,0x80
    0DE0 4F1F      SBCI	R17,0xFF
    0DE1 DF52      RCALL	_sed1335_write_data
(1167) 		sed1335_write_command( mWrite );					// 代码0x42,数据写入指令
    0DE2 E402      LDI	R16,0x42
    0DE3 DF48      RCALL	_sed1335_write_command
(1168) 		sed1335_write_data( Cnumber++ );					// 写入汉字代码
    0DE4 2C2A      MOV	R2,R10
    0DE5 2D82      MOV	R24,R2
    0DE6 5F8F      SUBI	R24,0xFF
    0DE7 2EA8      MOV	R10,R24
    0DE8 2D02      MOV	R16,R2
    0DE9 DF4A      RCALL	_sed1335_write_data
(1169) 		sed1335_write_data( Cnumber++ );					// 写入汉字代码
    0DEA 2C2A      MOV	R2,R10
    0DEB 2D82      MOV	R24,R2
    0DEC 5F8F      SUBI	R24,0xFF
    0DED 2EA8      MOV	R10,R24
    0DEE 2D02      MOV	R16,R2
    0DEF DF44      RCALL	_sed1335_write_data
(1170) 		tempPtr++;								            // 修正光标地址
    0DF0 5F6F      SUBI	R22,0xFF
    0DF1 4F7F      SBCI	R23,0xFF
    0DF2 9543      INC	R20
    0DF3 3042      CPI	R20,2
    0DF4 F310      BCS	0x0DD7
(1171) 	}
(1172) }
    0DF5 940E11CA  CALL	pop_gset3
    0DF7 9508      RET
_BuildCgram:
  ii                   --> R20
  ij                   --> R12
  iCgram               --> R14
  EndlCode             --> R10
  Base                 --> R22
    0DF8 940E11F3  CALL	push_gset5
    0DFA 2EA2      MOV	R10,R18
    0DFB 2F60      MOV	R22,R16
(1173) /*============================================
(1174)  建立 cgram,将显示字符送入cgram中
(1175) 
(1176)   入口参数约定:Base.... 起始
(1177) =============================================*/
(1178) void BuildCgram( Uchar Base, Uchar EndlCode ) {
(1179) 
(1180) Uchar iCgram,ii,ij;
(1181) 	sed1335_write_command( CgramAdr );		// CGRAMADR 代码
    0DFC E50C      LDI	R16,0x5C
    0DFD DF2E      RCALL	_sed1335_write_command
(1182) 	sed1335_write_data( 0 );				// 设置SAG=0C000H
    0DFE 2700      CLR	R16
    0DFF DF34      RCALL	_sed1335_write_data
(1183) 	sed1335_write_data( 0x70 );				// 汉字模在cgram中的编码0x70~0x73
    0E00 E700      LDI	R16,0x70
    0E01 DF32      RCALL	_sed1335_write_data
(1184) 	sed1335_write_command( CsrW );			// CSRW 代码,光标指针设置
    0E02 E406      LDI	R16,0x46
    0E03 DF28      RCALL	_sed1335_write_command
(1185) 	sed1335_write_data( 0 );				// 设置CSR=0C400H(字符代码=80H)
    0E04 2700      CLR	R16
    0E05 DF2E      RCALL	_sed1335_write_data
(1186) 	sed1335_write_data( 0x74 );				// 汉字模在cgram中的编码0x70~0x73
    0E06 E704      LDI	R16,0x74
    0E07 DF2C      RCALL	_sed1335_write_data
(1187) 	sed1335_write_command( CsrDirR );		// CSRDIR 代码
    0E08 E40C      LDI	R16,0x4C
    0E09 DF22      RCALL	_sed1335_write_command
(1188) 	sed1335_write_command( mWrite );		// 代码0x42,数据写入指令
    0E0A E402      LDI	R16,0x42
    0E0B DF20      RCALL	_sed1335_write_command
(1189) 	for (ii=0;ii<EndlCode;ii++){
    0E0C 2744      CLR	R20
    0E0D C022      RJMP	0x0E30
(1190) 		for (ij=0;ij<2;ij++){
    0E0E 24CC      CLR	R12
    0E0F C01C      RJMP	0x0E2C
(1191) 			for (iCgram=0;iCgram<32;iCgram+=2) 
    0E10 24EE      CLR	R14
    0E11 C016      RJMP	0x0E28
(1192) 				sed1335_write_data( Cdotlib[Base+ii].Msk[ij+iCgram] );	// 将制定的数据块写入 cgram
    0E12 2E26      MOV	R2,R22
    0E13 0E24      ADD	R2,R20
    0E14 E282      LDI	R24,0x22
    0E15 9D82      MUL	R24,R2
    0E16 0110      MOVW	R2,R0
    0E17 E789      LDI	R24,0x79
    0E18 E090      LDI	R25,0
    0E19 0E28      ADD	R2,R24
    0E1A 1E39      ADC	R3,R25
    0E1B 2C4E      MOV	R4,R14
    0E1C 2455      CLR	R5
    0E1D 2DEC      MOV	R30,R12
    0E1E 27FF      CLR	R31
    0E1F 0DE4      ADD	R30,R4
    0E20 1DF5      ADC	R31,R5
    0E21 0DE2      ADD	R30,R2
    0E22 1DF3      ADC	R31,R3
    0E23 8100      LDD	R16,Z+0
    0E24 DF0F      RCALL	_sed1335_write_data
    0E25 2D8E      MOV	R24,R14
    0E26 5F8E      SUBI	R24,0xFE
    0E27 2EE8      MOV	R14,R24
    0E28 2D8E      MOV	R24,R14
    0E29 3280      CPI	R24,0x20
    0E2A F338      BCS	0x0E12
    0E2B 94C3      INC	R12
    0E2C 2D8C      MOV	R24,R12
    0E2D 3082      CPI	R24,2
    0E2E F308      BCS	0x0E10
    0E2F 9543      INC	R20
    0E30 154A      CP	R20,R10
    0E31 F2E0      BCS	0x0E0E
(1193) 		}
(1194) 	}
(1195) }
    0E32 940E11CD  CALL	pop_gset5
    0E34 9508      RET
_PutCdotInGraph:
  Optr                 --> Y+0
  tempPtr              --> R10
  nByte                --> R12
  tempCount1           --> R14
  tempCount2           --> R22
  DotWidth             --> Y+14
  Cnumber              --> Y+12
  Oy                   --> R22
  Ox                   --> R20
    0E35 940E11F3  CALL	push_gset5
    0E37 2F62      MOV	R22,R18
    0E38 01A8      MOVW	R20,R16
    0E39 9722      SBIW	R28,2
(1196) /*==============================================================================
(1197) ; 汉字写入子程序(图形方式)。每次调用输出一个汉字
(1198) ; 支持图形方式使用,完成汉字点阵码的输出。
(1199) ; 携入参数: Ox,Oy....写入显示的左上角坐标,Ox是以字节单位,Oy以行扫描线单位
(1200) 			Ptr......汉字码,库内的排列编码,大型程序时请改用unsigned int类型
(1201) ; 无返回数据。
(1202)  ==============================================================================*/
(1203) void PutCdotInGraph( Uint Ox, Uchar Oy, Uint Cnumber, Uchar DotWidth ) {
(1204) 
(1205) Uint tempPtr,Optr;
(1206) Uchar tempCount1,tempCount2,nByte;
(1207) 	Optr = (Uint)Oy * paraP9 + Ox;
    0E3A E288      LDI	R24,0x28
    0E3B 9F86      MUL	R24,R22

⌨️ 快捷键说明

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