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

📄 jrled2.lst

📁 一個使用HOLTEK做的燈光控制專案
💻 LST
字号:
"File: JRLED2.c      Holtek Cross-Assembler  Version 2.86      Page 1



;   7: const unsigned char table[12]={
   7  0000              _table .SECTION INPAGE'CODE'
   7  0000              l_table:
   7  0000  0086        MOV [06h],A
   7  0001              _table:
   7  0001  09AC        RET A,172
   7  0002  09A3        RET A,163
   7  0003  09F0        RET A,240
   7  0004  090F        RET A,15
   7  0005  0953        RET A,83
   7  0006  095C        RET A,92
   7  0007  0903        RET A,3
   7  0008  090C        RET A,12
   7  0009  09A0        RET A,160
   7  000A  0950        RET A,80
   7  000B  0900        RET A,0
   7  000C  097F        RET A,127

;  17: void isr_4(){} // external ISR
  17  000D              __pcc EQU [017H]
  17  000D              __pc EQU [016H]
  17  000D              __pbc EQU [015H]
  17  000D              __pb EQU [014H]
  17  000D              __pac EQU [013H]
  17  000D              __pa EQU [012H]
  17  000D              __tmrc EQU [0eH]
  17  000D              __tmr EQU [0dH]
  17  000D              __intc EQU [0bH]
  17  000D              __status EQU [0aH]
  17  000D              __wdts EQU [09H]
  17  000D              __tblh EQU [08H]
  17  000D              __tblp EQU [07H]
  17  000D              __pcl EQU [06H]
  17  000D              __acc EQU [05H]
  17  000D              __mp EQU [01H]
  17  000D              __iar EQU [00H]
  17  0000              @@isr_4 .SECTION AT 04H 'CODE'
  17  0000  2800     R  JMP _isr_4
  17  0000              @isr_4 .SECTION 'CODE'
  17  0000              _isr_4 PROC
  17  0000  0080     E  MOV VA,A
  17  0001  070A        MOV A,[0AH]
  17  0002  0080     E  MOV VS,A
  17  0003              L1:
  17  0003  0700     E  MOV A,VS
  17  0004  008A        MOV [0AH],A
  17  0005  0700     E  MOV A,VA
  17  0006  0004        RETI
  17  0007              _isr_4 ENDP
  17  0000              @isr_4 .SECTION 'DATA'

;  18: void isr_8(){} // timer/event 0
  18  0000              @@isr_8 .SECTION AT 08H 'CODE'
  18  0000  2800     R  JMP _isr_8
  18  0000              @isr_8 .SECTION 'CODE'
  18  0000              _isr_8 PROC
  18  0000  0080     E  MOV VA,A
"File: JRLED2.c      Holtek Cross-Assembler  Version 2.86      Page 2 

  18  0001  070A        MOV A,[0AH]
  18  0002  0080     E  MOV VS,A
  18  0003              L2:
  18  0003  0700     E  MOV A,VS
  18  0004  008A        MOV [0AH],A
  18  0005  0700     E  MOV A,VA
  18  0006  0004        RETI
  18  0007              _isr_8 ENDP
  18  0000              @isr_8 .SECTION 'DATA'

;  19: void isr_c(){} // timer/event 1
  19  0000              @@isr_c .SECTION AT 0cH 'CODE'
  19  0000  2800     R  JMP _isr_c
  19  0000              @isr_c .SECTION 'CODE'
  19  0000              _isr_c PROC
  19  0000  0080     E  MOV VA,A
  19  0001  070A        MOV A,[0AH]
  19  0002  0080     E  MOV VS,A
  19  0003              L3:
  19  0003  0700     E  MOV A,VS
  19  0004  008A        MOV [0AH],A
  19  0005  0700     E  MOV A,VA
  19  0006  0004        RETI
  19  0007              _isr_c ENDP
  19  0000              @isr_c .SECTION 'DATA'

;  22: void safeguard_init(){
  22  0000              @safeguard_init .SECTION 'CODE'
  22  0000              PUBLIC _safeguard_init
  22  0000              _safeguard_init PROC

;  23: 	_intc = 0;
  23  0000  1F0B        CLR __intc

;  24: 	_tmrc = 0x80;
  24  0001  0F80        MOV A,080h
  24  0002  008E        MOV __tmrc,A

;  25: 	_tmr = 0;
  25  0003  1F0D        CLR __tmr

;  27: 	_pbc = 0xff;
  27  0004  1F95        SET __pbc

;  28: 	_pcc = 0xff;
  28  0005  1F97        SET __pcc
  28  0006              L4:
  28  0006  0003        RET
  28  0007              _safeguard_init ENDP

;  33: {
  33  0000              @delay20ms .SECTION 'CODE'
  33  0000              PUBLIC _delay20ms
  33  0000              _delay20ms PROC

;  34: 	int i = 20000;	
  34  0000  0F20        MOV A,020h
  34  0001  0080     R  MOV CR1,A
  34  0002              L6:
  34  0002              L7:
"File: JRLED2.c      Holtek Cross-Assembler  Version 2.86      Page 3 


;  35: 	while(i--);
  35  0002  0700     R  MOV A,CR1
  35  0003  0080     R  MOV b0_5,A
  35  0004  1580     R  DEC CR1
  35  0005  1080     R  SZ b0_5
  35  0006  2800     R  JMP L6
  35  0007              L5:
  35  0007  0003        RET
  35  0000  00          LOCAL b0_5 DB ?

;  34: 	int i = 20000;	
  34  0001  00          LOCAL CR1 DB ? ; i
  34  0008              _delay20ms ENDP

;  39: {

;  40: unsigned char ScanTable[16]={ 
  40  0000              L10 .SECTION INPAGE'CODE'
  40  0000              l_10:
  40  0000  0086        MOV [06h],A
  40  0001              _10:
  40  0001  097F        RET A,127
  40  0002  09BF        RET A,191
  40  0003  09DF        RET A,223
  40  0004  09EF        RET A,239
  40  0005  09F7        RET A,247
  40  0006  09FB        RET A,251
  40  0007  09FD        RET A,253
  40  0008  09FE        RET A,254
  40  0009  09FE        RET A,254
  40  000A  09FD        RET A,253
  40  000B  09FB        RET A,251
  40  000C  09F7        RET A,247
  40  000D  09EF        RET A,239
  40  000E  09DF        RET A,223
  40  000F  09BF        RET A,191
  40  0010  097F        RET A,127
  40  0000              @MAIN .SECTION 'CODE'
  40  0000              _main PROC
  40  0000              begin:
  40  0000  0F10        MOV A,16
  40  0001  0080     E  MOV RH,A
  40  0002  0F00     R  MOV A,OFFSET CR7
  40  0003  0081        MOV [01H],A
  40  0004  0F01        MOV A,1
  40  0005  0B00     R  ADD A,OFFSET l_10
  40  0006  0080     E  MOV T2,A
  40  0007              ASB43:
  40  0007  0700     E  MOV A,T2
  40  0008  2000     R  CALL l_10
  40  0009  0080        MOV [00H],A
  40  000A  1481        INC [01H]
  40  000B  1480     E  INC T2
  40  000C  1780     E  SDZ RH
  40  000D  2800     R  JMP ASB43

;  45: 	safeguard_init();
  45  000E  2000     R  CALL _safeguard_init

;  46: 	idx =0;
"File: JRLED2.c      Holtek Cross-Assembler  Version 2.86      Page 4 

  46  000F  1F00     R  CLR CR4

;  47: 	_pac = 0; //set port A to output port
  47  0010  1F13        CLR __pac

;  48: 	_pa = 0xff;  //zero port A (all light on)
  48  0011  1F92        SET __pa
  48  0012  2800     R  JMP L12
  48  0013              L11:

;  50: 		   if(!_pb0)
  50  0013  3C14        SZ [014H].0
  50  0014  2800     R  JMP L14

;  52: 		      	 delay20ms();
  52  0015  2000     R  CALL _delay20ms

;  53: 		      	 if(!_pb0)
  53  0016  3C14        SZ [014H].0
  53  0017  2800     R  JMP L16

;  55: 						_pa = table[idx];
  55  0018  0F01        MOV A,1
  55  0019  0300     R  ADD A,CR4
  55  001A  0B00     R  ADD A,OFFSET l_table
  55  001B  2000     R  CALL l_table
  55  001C  0092        MOV __pa,A

;  56: 						idx++;
  56  001D  1480     R  INC CR4

;  57: 						if(idx==12)
  57  001E  0700     R  MOV A,CR4
  57  001F  0C0C        XOR A,0ch
  57  0020  390A        SNZ [0ah].2
  57  0021  2800     R  JMP L18

;  59: 								 ScanCount = 0;
  59  0022  1F00     R  CLR CR5

;  60: 								 ScanDelay = 250;
  60  0023  0FFA        MOV A,0fah
  60  0024  0080     R  MOV CR6,A

;  61: 								_pa = ScanTable[ScanCount];
  61  0025  0700     R  MOV A,CR5
  61  0026  0B00     R  ADD A,OFFSET CR7
  61  0027  0080     R  MOV b0_6,A
  61  0028  0700     R  MOV A,b0_6
  61  0029  0081        MOV [01H],A
  61  002A  0700        MOV A,[00H]
  61  002B  0080     R  MOV b0_6,A
  61  002C  0700     R  MOV A,b0_6
  61  002D  0092        MOV __pa,A

;  62: 			                    _tmr = 0;	//clear tmr
  62  002E  1F0D        CLR __tmr

;  63: 				                _tmrc = 0x97;  //tmr enabeled at timer mode and prescaled = 256
  63  002F  0F97        MOV A,097h
"File: JRLED2.c      Holtek Cross-Assembler  Version 2.86      Page 5 

  63  0030  008E        MOV __tmrc,A
  63  0031              L18:

;  65: 						if(idx==13) 
  65  0031  0700     R  MOV A,CR4
  65  0032  0C0D        XOR A,0dh
  65  0033  390A        SNZ [0ah].2
  65  0034  2800     R  JMP L20

;  67: 								idx =0;  //程

⌨️ 快捷键说明

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