📄 asmpro.lst
字号:
00B2 0200CF =1 193 LJMP LBL_DIM_11
00B5 =1 194 LBL_DIM_3:
00B5 B40405 =1 195 CJNE A,#04H,LBL_DIM_4
00B8 748C =1 196 MOV A,#8CH
00BA 0200CF =1 197 LJMP LBL_DIM_11
00BD =1 198 LBL_DIM_4:
00BD B40505 =1 199 CJNE A,#05H,LBL_DIM_5
00C0 748D =1 200 MOV A,#8DH
00C2 0200CF =1 201 LJMP LBL_DIM_11
00C5 =1 202 LBL_DIM_5:
00C5 B40605 =1 203 CJNE A,#06H,LBL_DIM_6
00C8 748E =1 204 MOV A,#8EH
00CA 0200CF =1 205 LJMP LBL_DIM_11
00CD =1 206 LBL_DIM_6:
00CD 748F =1 207 MOV A,#8FH
00CF =1 208 LBL_DIM_11:
00CF A200 F =1 209 MOV C,B_CLOSE_MACH
00D1 92E3 =1 210 MOV ACC.3,C
=1 211
00D3 1200DA =1 212 LCALL DISP ;send data to pt6311,here is control disp dimming
00D6 00 =1 213 NOP
00D7 D2B7 =1 214 SETB BC_STB_6311 ;STD=1
00D9 22 =1 215 RET
=1 216 ;********** 清除11段数据显示(清荧光屏) ********
=1 217
=1 218 ;********** 送数据到6311的LED口 *********
=1 219 ;================================= 文件内部子程序 ================================
=1 220 ;************** 写一字节到6311 ************
=1 221 ;******************************************
=1 222 ;参数: ACC 要写入的数据(从bit0位开始送出)
=1 223 ;返回:
=1 224 ;占用: ACC, R0
=1 225
00DA 7808 =1 226 DISP: MOV R0,#008H ;send command to pt6311
00DC C3 =1 227 CLR C
00DD C2B6 =1 228 LBL206: CLR BC_CLK_6311 ;PT6311 CLK
00DF 13 =1 229 RRC A
A51 MACRO ASSEMBLER ASMPRO DATE 21/06/03 PAGE 5
LOC OBJ LINE SOURCE
00E0 92A6 =1 230 MOV BC_DIN_6311,C ;send data to pt6311
00E2 00 =1 231 NOP
00E3 00 =1 232 NOP
00E4 00 =1 233 NOP
00E5 00 =1 234 NOP
00E6 00 =1 235 NOP
00E7 D2B6 =1 236 SETB BC_CLK_6311 ;CLK
00E9 00 =1 237 NOP
00EA 00 =1 238 NOP
00EB 00 =1 239 NOP
00EC 00 =1 240 NOP
00ED D8EE =1 241 DJNZ R0, LBL206
00EF D2A6 =1 242 SETB BC_DIN_6311
00F1 D2B6 =1 243 SETB BC_CLK_6311 ;BC_CLK_6311 normal high
00F3 22 =1 244 RET
=1 245 ;******************************************
246
247 $INCLUDE (PT6311_2.ASM)
=1 248 ;*******************************第二个PT6311 器件子程序集 ****************************
=1 249 ;VFD控制驱动器
=1 250 ;占用: ACC, R0, R1
=1 251
=1 252 ;************ 公共变量定义 ****************
=1 253 PUBLIC TWVFD_6311
=1 254 PUBLIC TSETUP_6311
=1 255 PUBLIC TDIM_VFD
=1 256 PUBLIC TWLED_6311
=1 257
=1 258 ;************* 变量说明 *******************
00A6 =1 259 TBC_DIN_6311 BIT P2.6 ;数据输入脚
00A6 =1 260 TBC_DOUT_6311 BIT P2.6 ;数据输出脚
00B6 =1 261 TBC_CLK_6311 BIT P3.6 ;时钟
00B4 =1 262 TBC_STB_6311 BIT P3.4 ;使能脚
=1 263
=1 264 ;************** 常数定义 ******************
0018 =1 265 TPT6311KEY_NUM EQU 24 ;现在用的6311键总数(48个)
0042 =1 266 TREAD_6311KEY EQU 42H ;PT6311读键值命令符
=1 267 ;=============================== 公共子程序 (可被C调用) ===============================
=1 268
=1 269 ;************* 写6311显示内存 **************
=1 270 ;********************************************
=1 271 ;参数1: PAR 要写的显存地址(MSB: 1 1 B5,B4,B3,B2,B1,B0 :LSB)(B5-B0 MEM START ADDRESS)
=1 272 ;参数2: PAR+03H 写的高1位数据
=1 273 ;参数3: PAR+02H 写的中8位数据
=1 274 ;参数4: PAR+01H 写的低8位数据(先送出, 且从bit0位开始)
=1 275 ;返回:
=1 276 ;占用: ACC
=1 277
00F4 =1 278 TWVFD_6311: ;发送数据到PT6311进行显示
00F4 C2B4 =1 279 CLR TBC_STB_6311 ;pt6311 stb=0 (ENABLE)
00F6 7440 =1 280 MOV A,#40H ;data set command--write data to disp mem by increment add
ress mod
00F8 120182 =1 281 LCALL TDISP ;sendn data to pt6311 here is data set command
00FB D2B4 =1 282 SETB TBC_STB_6311 ;STD=1 (DISABLE)
00FD 00 =1 283 NOP
00FE C2B4 =1 284 CLR TBC_STB_6311 ;PT6311 ENABLE
0100 E500 F =1 285 MOV A, PAR ;pt6311 disp mem start mem in 1DH
0102 120182 =1 286 LCALL TDISP ;send data to pt6311 here is address set command
=1 287
A51 MACRO ASSEMBLER ASMPRO DATE 21/06/03 PAGE 6
LOC OBJ LINE SOURCE
0105 C3 =1 288 CLR C
0106 E500 F =1 289 MOV A,PAR+02H
0108 33 =1 290 RLC A
0109 D2E0 =1 291 SETB ACC.0 ;P31段固定点亮
010B F500 F =1 292 MOV PAR+02H,A
010D E500 F =1 293 MOV A,PAR+01H
010F 33 =1 294 RLC A
0110 F500 F =1 295 MOV PAR+01,A
=1 296
0112 E500 F =1 297 MOV A, PAR+02H
0114 120182 =1 298 LCALL TDISP ;send data to pt6311 here is transmission data
0117 E500 F =1 299 MOV A, PAR+01H
0119 120182 =1 300 LCALL TDISP ;send data to pt6311 here is transmission data
011C D2B4 =1 301 SETB TBC_STB_6311 ;PT6311 DISABLE
011E 22 =1 302 RET
=1 303
=1 304
=1 305 ;******** 读键盘按键子程序 ************
=1 306 ;***************************************
=1 307 ;参数:
=1 308 ;返回: PAR 返回键值, 0=无按键
=1 309 ;占用: ACC
=1 310
=1 311 ;*********************************************
=1 312 ;参数:
=1 313 ;返回:
=1 314 ;占用: ACC
=1 315
011F =1 316 TSETUP_6311:
011F C2B4 =1 317 CLR TBC_STB_6311 ;ready to send data to pt6311 STB
0121 740B =1 318 MOV A,#0BH ;0000,1011=0BH 12D,16P
0123 120182 =1 319 LCALL TDISP ;send command to pt6311,here is set displayer mod,11dig/17seg
0126 D2B4 =1 320 SETB TBC_STB_6311 ;STD
0128 22 =1 321 RET
=1 322
=1 323 ;********** 打开荧光显示 **************
=1 324 ;参数:
=1 325 ;返回:
=1 326 ;占用: ACC
=1 327
0129 C2B4 =1 328 TDIM_VFD: CLR TBC_STB_6311 ;STD=0 点亮显示字符
012B 00 =1 329 NOP
012C E500 F =1 330 MOV A,DIM_NUM
012E B40005 =1 331 CJNE A,#00H,TLBL_DIM_00
0131 7488 =1 332 MOV A,#88H
0133 020168 =1 333 LJMP TLBL_DIM_11
0136 =1 334 TLBL_DIM_00:
0136 B40105 =1 335 CJNE A,#01H,TLBL_DIM_1
0139 7489 =1 336 MOV A,#89H
013B 020168 =1 337 LJMP TLBL_DIM_11
013E =1 338 TLBL_DIM_1:
013E B40205 =1 339 CJNE A,#02H,TLBL_DIM_2
0141 748A =1 340 MOV A,#8AH
0143 020168 =1 341 LJMP TLBL_DIM_11
0146 =1 342 TLBL_DIM_2:
0146 B40305 =1 343 CJNE A,#03H,TLBL_DIM_3
0149 748B =1 344 MOV A,#8BH
014B 020168 =1 345 LJMP TLBL_DIM_11
A51 MACRO ASSEMBLER ASMPRO DATE 21/06/03 PAGE 7
LOC OBJ LINE SOURCE
014E =1 346 TLBL_DIM_3:
014E B40405 =1 347 CJNE A,#04H,TLBL_DIM_4
0151 748C =1 348 MOV A,#8CH
0153 020168 =1 349 LJMP TLBL_DIM_11
0156 =1 350 TLBL_DIM_4:
0156 B40505 =1 351 CJNE A,#05H,TLBL_DIM_5
0159 748D =1 352 MOV A,#8DH
015B 020168 =1 353 LJMP TLBL_DIM_11
015E =1 354 TLBL_DIM_5:
015E B40605 =1 355 CJNE A,#06H,TLBL_DIM_6
0161 748E =1 356 MOV A,#8EH
0163 020168 =1 357 LJMP TLBL_DIM_11
0166 =1 358 TLBL_DIM_6:
0166 748F =1 359 MOV A,#8FH
0168 =1 360 TLBL_DIM_11:
=1 361
0168 A200 F =1 362 MOV C,B_CLOSE_MACH
016A 92E3 =1 363 MOV ACC.3,C
=1 364
016C 120182 =1 365 LCALL TDISP ;send data to pt6311,here is control disp dimming
016F 00 =1 366 NOP
0170 D2B4 =1 367 SETB TBC_STB_6311 ;STD=1
0172 22 =1 368 RET
=1 369 ;********** 清除11段数据显示(清荧光屏) ********
=1 370
=1 371 ;********** 送数据到6311的LED口 *********
=1 372 ;****************************************
=1 373 ;参数: PAR 要送入的数据
=1 374 ;返回:
=1 375 ;占用: ACC
=1 376
0173 =1 377 TWLED_6311:
0173 C2B4 =1 378 CLR TBC_STB_6311 ;pt6311 stb=0 (ENABLE)
0175 7441 =1 379 MOV A,#41H ;data set command--write data to LED PORT
0177 120182 =1 380 LCALL TDISP ;sendn data to pt6311 here is data set command
017A E500 F =1 381 MOV A, PAR ;pt6311 LED DATA
017C 120182 =1 382 LCALL TDISP ;send data to pt6311 here is address set command
017F D2B4 =1 383 SETB TBC_STB_6311 ;PT6311 DISABLE
0181 22 =1 384 RET
=1 385
=1 386 ;================================= 文件内部子程序 ================================
=1 387 ;************** 写一字节到6311 ************
=1 388 ;******************************************
=1 389 ;参数: ACC 要写入的数据(从bit0位开始送出)
=1 390 ;返回:
=1 391 ;占用: ACC, R0
=1 392
0182 7808 =1 393 TDISP: MOV R0,#008H ;send command to pt6311
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -