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

📄 wnl.lst

📁 此款LED 数码万年历采用Holtek 公司开发的HT45R02 和HT38A5 微控制器设计
💻 LST
📖 第 1 页 / 共 5 页
字号:
 262  0057              upfast          equ     flag5.0
 263  0057              downfast        equ     flag5.1
 264  0057              b_05snum        equ     flag5.2
 265  0057              b_250msnum      equ     flag5.3
 266  0057              b_f250ms1       equ     flag5.4
 267  0057              b_alarmflag  	equ	    flag5.5
 268  0057              b_dupmonth	    equ	    flag5.6          ;;LEAP MONTH FLAG,IF LEAP MONTH THEN SETTING 1
 269  0057              b_debounce	    equ	    flag5.7
 270  0057              
 271  0057              kconfirm        equ     keycode.0
 272  0057              kset            equ     keycode.1
 273  0057              kup             equ     keycode.2
 274  0057              kdown           equ     keycode.3
 275  0057              kconfirmdn      equ     keycode.4
 276  0057              ksetdn          equ     keycode.5
 277  0057              kupdn           equ     keycode.6
 278  0057              kdowndn         equ     keycode.7
 279  0057              
 280  0057              b_almflag1	    equ 	r_almflag.0     ;;IF THE FIRST TIMER ALARM FUNCTION IS SETTED, THE FLAG IS SETTING 1
 281  0057              b_almflag2	    equ	    r_almflag.1     ;;IF THE SECOND TIMER ALARM FUNCTION IS SETTED, THE FLAG IS SETTING 1
 282  0057              b_almflag3	    equ	    r_almflag.2
 283  0057              b_almflag4	    equ	    r_almflag.3
 284  0057              
 285  0057              
 286  0057              D_maxtemp	equ	4
 287  0057              GETDISNUM   macro
 288  0057                      and     a,0fh
 289  0057                      add     a,0d0h
 290  0057                      mov     tblp,a
 291  0057              
 292  0057              
 293  0057                      tabrdl  temp
 294  0057                      mov     a,temp
 295  0057              
 296  0057                      endm
 297  0057              
 298  0057              
 299  0057              ;******************************
"File: WNL.ASM       Holtek Cross-Assembler  Version 2.86      Page 6

 300  0000              code    .section        'code'
 301  0000                      org             00h
 302  0000  0000                nop
 303  0001  0000                nop
 304  0002  0000                nop
 305  0003  2800     R          jmp             start
 306  0004                      org             04h
 307  0004  0004                reti
 308  0005                      org             08h
 309  0008                      ;jmp	tmr_int
 310  0008                      
 311  0008              ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 312  0008              ;;ISR_TIMER
 313  0008              tmr_int:                    
 314  0008  3000     R      set	b_f125ms             ;;TIMER 125MS
 315  0009  3000     R      set	b_f125ms1
 316  000A  3800     R  	SNZ F_DELAY500MS
 317  000B  2800     R  	JMP $+2
 318  000C  1480     R  	INC R_DELAYTIME
 319  000D  3C00     R  	sz	b_250msnum           ;B_250MSNUM EQU FLAG5.3
 320  000E  2800     R  	jmp	tmr_int_1
 321  000F  3000     R  	set	b_250msnum
 322  0010  0004        	reti
 323  0011              tmr_int_1:                   ;;TIMER 250MS
 324  0011  3400     R  	clr	b_250msnum
 325  0012  3000     R  	set	b_f250ms1            ;;B_F250MS1 EQU FLAG5.4
 326  0013  3000     R  	set	b_f250ms2            ;;B_F250MS2 EQU FLAG3.7
 327  0014              	
 328  0014  3C00     R  	sz	b_05snum             ;;B_05SNUM EQU FLAG5.2
 329  0015  2800     R  	jmp	tmr_int_2
 330  0016  3000     R  	set	b_05snum
 331  0017  0004        	reti
 332  0018              tmr_int_2:
 333  0018  3400     R  	clr 	b_05snum             ;;TIMER 0.5S
 334  0019  3000     R      set     b_05s1
 335  001A  3000     R      set	    b_05s2
 336  001B  3800     R  	SNZ     F_ALARMING
 337  001C  0004        	RETI
 338  001D  1480     R  	INC     R_ALARMTIME
 339  001E  0004            reti
 340  001F                      
 341  001F              ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 
 342  001F              ;;MAIN CODE       
 343  001F              start:
 344  001F  1F0B                clr     intc
 345  0020  0F60                mov     a,60h
 346  0021  0080     R          mov     temp,a
 347  0022  0F29                mov     a,29h
 348  0023  0081                mov     mp0,a
 349  0024              ram_clr:                                                                ;清除内存
 350  0024  1F00                clr     r0
 351  0025  1481                inc     mp0
 352  0026  1780     R          sdz     temp
 353  0027  2800     R          jmp     ram_clr
 354  0028              
 355  0028  0F02        	    mov	    a,02h               ;;SET PB1(B\Z\) INPUT,OTHERS OUTPUT
 356  0029  0095        	    mov	    pbc,a               ;;PB2~PB4 TEST TEMPLATE,PB5~PB7 COMMON       
 357  002A  0FF2             	mov	    a,0f2h
 358  002B  0094        	    mov   	pb,a                ;;SET PB0,PB1~PB3 OUTPUT LOW LEVEL,PB4~PB7 OUTPUT HIGH LEVEL
 359  002C  0FE0        	    mov	    a,0e0h              ;;SET PA0~PA4(COMMON) OUTPUT,PA5~PA7 INPUT
"File: WNL.ASM       Holtek Cross-Assembler  Version 2.86      Page 7

 360  002D  0093        	    mov	    pac,a               
 361  002E  0FFF        	    mov	    a,0ffh
 362  002F  0092                mov     pa,a                ;;SET COMMON OUTPUT HIGH LEVEL
 363  0030  0FFF            	mov  	a,0ffh              ;;PC,PD AND PE PORT ARE SEGMENT
 364  0031  0096                mov	    pc,a            
 365  0032  0098                mov	    pd,a
 366  0033  009A                mov	    pe,a
 367  0034              
 368  0034  3414                clr    pbuzzer              ;;CLR PB0,TURN OFF PBUZZER
 369  0035              
 370  0035              ;       set     buzzernum.0
 371  0035  0F80                mov	    a,128
 372  0036  008D                mov	    tmr,a
 373  0037  0F90                mov     a,90h              ;;SET TMRC.4
 374  0038  008E                mov     tmrc,a
 375  0039              
 376  0039  300B                set     intc.0
 377  003A  310B                set     intc.2             ;;SET ETI
 378  003B                      
 379  003B  3000     R  	    set  	autolednum.2
 380  003C  3000     R  	    set	    b_setampm          ;;12 hour
 381  003D              ;;------------------------------------------------
 382  003D              
 383  003D  2000     R          call	sub_checkwork
 384  003E  3C00     R          sz     	nowork
 385  003F  2800     R          jmp	    start_reset
 386  0040              ledtest:
 387  0040  0F01            	mov	    a,01h
 388  0041  0080     R  	    mov  	temp,a
 389  0042              ledtest_0:	
 390  0042  0700     R  	    mov  	a,temp
 391  0043  0CFF        	    xor	    a,0ffh
 392  0044  0096            	mov	    pc,a
 393  0045  0098            	mov	    pd,a
 394  0046  009A        	    mov	    pe,a
 395  0047  1F12        	    clr  	pa
 396  0048  3694             	clr  	pcom5
 397  0049  3714            	clr 	pcom6
 398  004A  3794            	clr	    pcom7
 399  004B              ledtest_1:	
 400  004B  3800     R  	    snz  	b_05s1
 401  004C  2800     R  	    jmp	    $-1
 402  004D  3400     R  	    clr	    b_05s1
 403  004E  3C00     R      	sz	    flash
 404  004F  2800     R  	    jmp	    ledtest_2
 405  0050  3000     R  	    set	    flash
 406  0051  2800     R  	    jmp  	ledtest_1
 407  0052              ledtest_2:
 408  0052  3400     R      	clr  	flash
 409  0053                 
 410  0053  3C00     R  	    sz	    temp.7
 411  0054  2800     R  	    jmp	    ledtest_end
 412  0055              	
 413  0055  1880     R  	    rl	    temp
 414  0056  2800     R  	    jmp	    ledtest_0	
 415  0057              ledtest_end:
 416  0057  1F92        	     set	pa
 417  0058  3294        	     set	pcom5
 418  0059  3314                 set	pcom6
 419  005A  3394        	     set	pcom7
"File: WNL.ASM       Holtek Cross-Assembler  Version 2.86      Page 8

 420  005B  1F16        	     clr	pc
 421  005C  1F18        	     clr	pd
 422  005D  1F1A        	     clr	pe
 423  005E              	
 424  005E  2800     R  	     jmp	start_reset
 425  005F              ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 426  005F              start_000:
 427  005F  2800     R  	    jmp	    start_3_2
 428  0060                    
 429  0060              start_1:
 430  0060              start_3:
 431  0060  3800     R          snz     nowork
 432  0061  2800     R          jmp     start_nohold
 433  0062  3095                set     pworkc
 434  0063  2000     R          call    sub_checkwork
 435  0064  0000                nop
 436  0065  0002                halt
 437  0066  0000                nop
 438  0067              start_nohold:
 439  0067                    
 440  0067              start_notinit:
 441  0067  2000     R          call    sub_clock
 442  0068  2000     R          call	sub_checkwork
 443  0069              
 444  0069  3C00     R          sz      nowork
 445  006A  2800     R          jmp     start_3_1
 446  006B              
 447  006B  2000     R          call    sub_led
 448  006C  2000     R          call    sub_main1
 449  006D              
 450  006D  2000     R          call    sub_dealkey
 451  006E  2000     R          call    sub_checkzhengdian
 452  006F  3800     R  	    snz	    b_f250ms1
 453  0070  2800     R  	    jmp	    start_notinit_1
 454  0071  3400     R  	    clr	    b_f250ms1
 455  0072  2000     R          call    sub_checkalm
 456  0073  2000     R  		CALL    SBR_CHECKALARMING
 457  0074  2000     R  		CALL    SBR_TRANSMITCOMMAND
 458  0075  2000     R          call    sub_main
 459  0076  2000     R          call	sub_stopset
 460  0077  3800     R  	    snz	    b_workbuzzer
 461  0078  2800     R  	    jmp	    start_notinit_1
 462  0079  3400     R  	    clr	    b_workbuzzer
 463  007A  3414        	    clr	    pbuzzer
 464  007B              start_notinit_1:      
 465  007B  2000     R          call    sub_dealtemper
 466  007C                      
 467  007C  0F01                mov	    a,1
 468  007D  0080     R          mov	    temp1,a
 469  007E  2000     R          call	sub_delay
 470  007F              start_3_1:
 471  007F  3800     R          snz     datechange
 472  0080  2800     R          jmp     start_1
 473  0081  3400     R          clr     datechange
 474  0082              start_3_2:
 475  0082  2000     R          call    sub_getnongli
 476  0083  2000     R          call    sub_getweek
 477  0084  2000     R          call    sub_get24jie
 478  0085              
 479  0085  2000     R          call    main_xxx
"File: WNL.ASM       Holtek Cross-Assembler  Version 2.86      Page 9

 480  0086  2800     R          jmp     start_1
 481  0087              
 482  0087              ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 483  0087              start_reset:
 484  0087              
 485  0087  0F01                 mov     a,1
 486  0088  0080     R           mov     year,a
 487  0089  0080     R           mov	 r_almnum,a
 488  008A              
 489  008A  0080     R           mov     month,a
 490  008B  0080     R           mov     date,a
 491  008C  1F00     R           clr     hour
 492  008D  1F00     R           clr     min
 493  008E              ;        set     b_initflag
 494  008E              
 495  008E  0F00                 mov     a,00h
 496  008F  2000     R           call    sub_num
 497  0090  2800     R           jmp     start_000
 498  0091              ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 499  0091              ;;STOP   ALARMING
 500  0091              SBR_CHECKALARMING:
 501  0091  0F79        		MOV     A,79H
 502  0092  0400     R  		XOR     A,R_ALARMTIME
 503  0093  390A        		SNZ     Z
 504  0094  0003        		RET
 505  0095  1F00     R  		CLR     R_ALARMTIME
 506  0096  3000     R  		SET     F_TCOMMANDFLAG
 507  0097  3400     R  		CLR     F_ALARMING
 508  0098  0F50        		MOV     A,50H
 509  0099  0080     R  		MOV     R_COMMANDBAK,A         
 510  009A  2800     R  		JMP     SBR_TRANSMITCOMMAND
 511  009B              ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 512  009B              
 513  009B              sub_stopset:
 514  009B  1080     R  	sz	set_flag
 515  009C  2800     R  	jmp	stopset_1
 516  009D  1080     R  	sz	r_setalm
 517  009E  2800     R  	jmp	stopset_1
 518  009F  0003        	ret
 519  00A0              stopset_1:
 520  00A0  1480     R  	inc	r_settime
 521  00A1  0700     R  	mov	a,r_settime
 522  00A2  0A78        	sub	a,120
 523  00A3  380A        	snz	c
 524  00A4  0003        	ret
 525  00A5  1F00     R  	clr	r_settime

⌨️ 快捷键说明

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