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

📄 voltest.lst

📁 用holtek单片机编写的A/D变换程序。
💻 LST
📖 第 1 页 / 共 3 页
字号:

; 210:          }
 210  0012  2800     R  JMP L36
 210  0013              L37:

; 212:          {key_flag=0;
 212  0013  1F00     R  CLR _key_flag

; 213:             _pa7=1;
 213  0014  3392        SET [012H].7

; 215:       }
 215  0015  2800     R  JMP L36
 215  0016              L35:

; 217:       {key_counter++;}
 217  0016  1480     R  INC _key_counter
 217  0017              L36:
 217  0017              L33:
 217  0017              L31:
 217  0017              L30:
 217  0017  0003        RET
 217  0018              _key_scan ENDP

; 223: {
 223  0000              @usb_flash .SECTION 'CODE'
 223  0000              PUBLIC _usb_flash
 223  0000              _usb_flash PROC
文件:VOLTEST.C    盛群编译器版本 2.86 页次14


; 225:  _bp=0x01;
 225  0000  0F01        MOV A,01h
 225  0001  0084        MOV __bp,A

; 226:   _mp1=0x051;
 226  0002  0F51        MOV A,051h
 226  0003  0083        MOV __mp1,A

; 227:   _iar1=0x08;
 227  0004  0F08        MOV A,08h
 227  0005  0082        MOV __iar1,A

; 228:   _mp1=0x4c;
 228  0006  0F4C        MOV A,04ch
 228  0007  0083        MOV __mp1,A

; 229:   _iar1=(_iar1|0x08);
 229  0008  3182        SET __iar1.3

; 231:  for(i=0;i<100;i++)
文件:VOLTEST.c    盛群编译器版本 2.86 页次16 

 231  0009  1F00     R  CLR CR14
 231  000A  2800     R  JMP L43
 231  000B              L40:

; 233:   _delay(5000);
 233  000B  0F04        MOV A,04H
 233  000C  0080     E  MOV RH,A
 233  000D  0FDE        MOV A,0deH
 233  000E  2000     E  CALL __DELAYY3
 233  000F              L41:

; 231:  for(i=0;i<100;i++)
 231  000F  1480     R  INC CR14
 231  0010              L43:
 231  0010  0700     R  MOV A,CR14
 231  0011  0A64        SUB A,064h
 231  0012  380A        SNZ [0ah].0
 231  0013  2800     R  JMP L40

; 236:   _mp1=0x051;
 236  0014  0F51        MOV A,051h
 236  0015  0083        MOV __mp1,A

; 237:   _iar1=0x00;
 237  0016  1F02        CLR __iar1

; 238:   _mp1=0x4c;
 238  0017  0F4C        MOV A,04ch
 238  0018  0083        MOV __mp1,A

; 239:   _iar1=(_iar1&0x0f7);
 239  0019  3582        CLR __iar1.3

; 241:  for(i=0;i<100;i++)
 241  001A  1F00     R  CLR CR14
 241  001B  2800     R  JMP L47
 241  001C              L44:

; 243:   _delay(5000);
 243  001C  0F04        MOV A,04H
 243  001D  0080     E  MOV RH,A
 243  001E  0FDE        MOV A,0deH
 243  001F  2000     E  CALL __DELAYY3
 243  0020              L45:

; 241:  for(i=0;i<100;i++)
文件:VOLTEST.C    盛群编译器版本 2.86 页次15

 241  0020  1480     R  INC CR14
 241  0021              L47:
 241  0021  0700     R  MOV A,CR14
 241  0022  0A64        SUB A,064h
 241  0023  380A        SNZ [0ah].0
 241  0024  2800     R  JMP L44
 241  0025              L39:
 241  0025  0003        RET

; 224:  unsigned int i;
 224  0000  00          LOCAL CR14 DB ? ; i
 224  0026              _usb_flash ENDP
文件:VOLTEST.c    盛群编译器版本 2.86 页次17 


; 249:  { unsigned int i;
 249  0000              @bat_flash .SECTION 'CODE'
 249  0000              PUBLIC _bat_flash
 249  0000              _bat_flash PROC

; 250:   _bp=0x01;
 250  0000  0F01        MOV A,01h
 250  0001  0084        MOV __bp,A

; 251:   _mp1=0x4c;
 251  0002  0F4C        MOV A,04ch
 251  0003  0083        MOV __mp1,A

; 252:   _iar1=(_iar1|0x08);
 252  0004  3182        SET __iar1.3

; 254:   for(i=0;i<50;i++)
 254  0005  1F00     R  CLR CR15
 254  0006  2800     R  JMP L52
 254  0007              L49:

; 256:   _delay(5000);
 256  0007  0F04        MOV A,04H
 256  0008  0080     E  MOV RH,A
 256  0009  0FDE        MOV A,0deH
 256  000A  2000     E  CALL __DELAYY3
 256  000B              L50:

; 254:   for(i=0;i<50;i++)
 254  000B  1480     R  INC CR15
 254  000C              L52:
 254  000C  0700     R  MOV A,CR15
 254  000D  0A32        SUB A,032h
 254  000E  380A        SNZ [0ah].0
 254  000F  2800     R  JMP L49

; 258:   _iar1=(_iar1&0x0f7);
 258  0010  3582        CLR __iar1.3

; 259:   for(i=0;i<50;i++)
 259  0011  1F00     R  CLR CR15
 259  0012  2800     R  JMP L56
 259  0013              L53:

; 261:   _delay(5000);
 261  0013  0F04        MOV A,04H
 261  0014  0080     E  MOV RH,A
 261  0015  0FDE        MOV A,0deH
 261  0016  2000     E  CALL __DELAYY3
文件:VOLTEST.C    盛群编译器版本 2.86 页次16

 261  0017              L54:

; 259:   for(i=0;i<50;i++)
 259  0017  1480     R  INC CR15
 259  0018              L56:
 259  0018  0700     R  MOV A,CR15
 259  0019  0A32        SUB A,032h
 259  001A  380A        SNZ [0ah].0
文件:VOLTEST.c    盛群编译器版本 2.86 页次18 

 259  001B  2800     R  JMP L53
 259  001C              L48:
 259  001C  0003        RET

; 249:  { unsigned int i;
 249  0000  00          LOCAL CR15 DB ? ; i
 249  001D              _bat_flash ENDP

; 267:  {
 267  0000              @bat_stay .SECTION 'CODE'
 267  0000              PUBLIC _bat_stay
 267  0000              _bat_stay PROC

; 268:   _bp=0x01;
 268  0000  0F01        MOV A,01h
 268  0001  0084        MOV __bp,A

; 269:   _mp1=0x4c;
 269  0002  0F4C        MOV A,04ch
 269  0003  0083        MOV __mp1,A

; 270:   _iar1=(_iar1|0x08);
 270  0004  3182        SET __iar1.3
 270  0005              L57:
 270  0005  0003        RET
 270  0006              _bat_stay ENDP

; 274:  {unsigned int i;
 274  0000              @clr_screen .SECTION 'CODE'
 274  0000              PUBLIC _clr_screen
 274  0000              _clr_screen PROC

; 275:    _bp=0x01;
 275  0000  0F01        MOV A,01h
 275  0001  0084        MOV __bp,A

; 276:    _mp1=0x49;
 276  0002  0F49        MOV A,049h
 276  0003  0083        MOV __mp1,A

; 277:   for(i=0;i<10;i++)
 277  0004  1F00     R  CLR CR16
 277  0005  2800     R  JMP L62
 277  0006              L59:

; 281:    mov a,0h
 281  0006  0F00        mov a,0h

; 282:    mov [02],a
 282  0007  0082        mov [02],a

; 286:    _mp1=_mp1+0x1;
 286  0008  1483        INC __mp1
 286  0009              L60:

; 277:   for(i=0;i<10;i++)
 277  0009  1480     R  INC CR16
 277  000A              L62:
文件:VOLTEST.C    盛群编译器版本 2.86 页次17

文件:VOLTEST.c    盛群编译器版本 2.86 页次19 

 277  000A  0700     R  MOV A,CR16
 277  000B  0A0A        SUB A,0ah
 277  000C  380A        SNZ [0ah].0
 277  000D  2800     R  JMP L59
 277  000E              L58:
 277  000E  0003        RET

; 274:  {unsigned int i;
 274  0000  00          LOCAL CR16 DB ? ; i
 274  000F              _clr_screen ENDP

; 291:  {
 291  0000              @key_scan_deal .SECTION 'CODE'
 291  0000              PUBLIC _key_scan_deal
 291  0000              _key_scan_deal PROC

; 290: void key_scan_deal(int key)
 290  0000              PUBLIC key_scan_deal0
 290  0000  00          LOCAL key_scan_deal0 DB ? ; key

; 292:   if(key==1)
 292  0000  0F01        MOV A,01h
 292  0001  0400     R  XOR A,key_scan_deal0
 292  0002  390A        SNZ [0ah].2
 292  0003  2800     R  JMP L64

; 293:    {_pa7=1;}
 293  0004  3392        SET [012H].7
 293  0005  2800     R  JMP L65
 293  0006              L64:

; 295:     if(key==0)
 295  0006  1080     R  SZ key_scan_deal0
 295  0007  2800     R  JMP L66

; 296:      {_pa7=0;}
 296  0008  3792        CLR [012H].7
 296  0009              L66:
 296  0009              L65:
 296  0009              L63:
 296  0009  0003        RET
 296  000A              _key_scan_deal ENDP

; 301: {
 301  0000              @MAIN .SECTION 'CODE'
 301  0000              _main PROC
 301  0000              begin:

; 306:  io_init();
 306  0000  2000     R  CALL _io_init

; 307:  int_init();
 307  0001  2000     R  CALL _int_init

; 309:  key_flag=0;
 309  0002  1F00     R  CLR _key_flag

; 310:  pressdown=0;
 310  0003  1F00     R  CLR _pressdown

; 311:  key_counter=0;
文件:VOLTEST.c    盛群编译器版本 2.86 页次20 

 311  0004  1F00     R  CLR _key_counter

; 312:  clr_screen();
文件:VOLTEST.C    盛群编译器版本 2.86 页次18

 312  0005  2000     R  CALL _clr_screen

; 313:  _pa7=1;
 313  0006  3392        SET [012H].7

; 314:  _pa7=0;
 314  0007  3792        CLR [012H].7
 314  0008  2800     R  JMP L70
 314  0009              L69:

; 317:   _halt();
 317  0009  0002        HALT

; 318:   advoltage_value=vol_ad_converter();
 318  000A  2000     R  CALL _vol_ad_converter
 318  000B  0080     R  MOV CR17,A

; 319:   _acc=advoltage_value;
 319  000C  0700     R  MOV A,CR17
 319  000D  0085        MOV __acc,A

; 320:   get_show_number=look_up_vol_table(advoltage_value);
 320  000E  0700     R  MOV A,CR17
 320  000F  0080     R  MOV look_up_vol_table0,A
 320  0010  2000     R  CALL _look_up_vol_table
 320  0011  0080     R  MOV CR18,A

; 321:   _acc=get_show_number;
 321  0012  0700     R  MOV A,CR18
 321  0013  0085        MOV __acc,A

; 322:   show_vol_lcd(get_show_number);
 322  0014  0700     R  MOV A,CR18
 322  0015  0080     R  MOV show_vol_lcd0,A
 322  0016  2000     R  CALL _show_vol_lcd

; 323:   key_scan();
 323  0017  2000     R  CALL _key_scan

; 325:   if(pressdown==1)
 325  0018  0700     R  MOV A,_pressdown
 325  0019  0C01        XOR A,01h
 325  001A  390A        SNZ [0ah].2
 325  001B  2800     R  JMP L72

; 326:      {bat_flash();
 326  001C  2000     R  CALL _bat_flash

; 328:      }
 328  001D  2800     R  JMP L73
 328  001E              L72:

; 330:      {bat_stay();
 330  001E  2000     R  CALL _bat_stay
 330  001F              L73:
文件:VOLTEST.c    盛群编译器版本 2.86 页次21 

 330  001F              L70:

; 315:  while(1)
 315  001F  2800     R  JMP L69
 315  0020              L68:

; 334: }
 334  0020  2800     R  JMP $

; 303:  unsigned char advoltage_value;
 303  0000  00          LOCAL CR17 DB ? ; advoltage_value

; 304:  unsigned char get_show_number;
 304  0001  00          LOCAL CR18 DB ? ; get_show_number
文件:VOLTEST.C    盛群编译器版本 2.86 页次19

 304  0021              _main ENDP
 304  0021              PUBLIC _key_counter
 304  0021              RAMBANK 0 @key_counter
 304  0000              @key_counter .SECTION 'DATA'

;   6: unsigned int key_counter;
   6  0000  00          _key_counter DB ? ; key_counter
   6  0001              PUBLIC _pressdown
   6  0001              RAMBANK 0 @pressdown
   6  0000              @pressdown .SECTION 'DATA'

;   5: unsigned int pressdown;
   5  0000  00          _pressdown DB ? ; pressdown
   5  0001              PUBLIC _key_flag
   5  0001              RAMBANK 0 @key_flag
   5  0000              @key_flag .SECTION 'DATA'

;   4: unsigned int key_flag;
   4  0000  00          _key_flag DB ? ; key_flag
   4  0001              PUBLIC _voladvalue
   4  0001              RAMBANK 0 @voladvalue
   4  0000              @voladvalue .SECTION 'DATA'

;   3: unsigned char voladvalue;
   3  0000  00          _voladvalue DB ? ; voladvalue

; 300: void main()
 300  0000              STARTSEC .SECTION 'CODE'
 300  0000              STARTUP:
 300  0000  0003        RET
 300  0001              EXTERN RH:BYTE
 300  0001              EXTERN VA:BYTE
 300  0001              EXTERN VS:BYTE
 300  0001              EXTERN __DELAYX0:NEAR
 300  0001              EXTERN __DELAYX1:NEAR
 300  0001              EXTERN __DELAYX2:NEAR
 300  0001              EXTERN __DELAYX3:NEAR
 300  0001              EXTERN __DELAYX4:NEAR
 300  0001              EXTERN __DELAYX5:NEAR
 300  0001              EXTERN __DELAYX6:NEAR
 300  0001              EXTERN __DELAYY0:NEAR
 300  0001              EXTERN __DELAYY1:NEAR
 300  0001              EXTERN __DELAYY2:NEAR
 300  0001              EXTERN __DELAYY3:NEAR
文件:VOLTEST.c    盛群编译器版本 2.86 页次22 

 300  0001              EXTERN __DELAYY4:NEAR
 300  0001              EXTERN __DELAYY5:NEAR
 300  0000              @CODE .SECTION AT 0 'CODE'
 300  0000  2800     R  JMP begin
 300  0001              @DUMMY PROC
 300  0001  2000     R  CALL _main
 300  0002              @DUMMY ENDP


        0 Errors

⌨️ 快捷键说明

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