📄 led1h.lst
字号:
MPASM 03.70.01 Released LED1H.ASM 3-28-2006 22:18:58 PAGE 1
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00001 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
00002 ;
00003 ; Source File: LED1H.ASM
00004 ; Author: MPB
00005 ; Date: 2-12-05
00006 ;
00007 ; Output binary count incremented
00008 ; and reset with push buttons.
00009 ; Uses hardware timer to debounce input switch
00010 ;
00011 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
00012
00013 PROCESSOR 16F877 ; Define MCU type
2007 3733 00014 __CONFIG 0x3733 ; Set config fuses
00015
00016 ; Register Label Equates....................................
00017
00000006 00018 PORTB EQU 06 ; Port B Data Register
00000008 00019 PORTD EQU 08 ; Port D Data Register
00000088 00020 TRISD EQU 88 ; Port D Direction Register
00021
00000001 00022 TMR0 EQU 01 ; Hardware Timer Register
0000000B 00023 INTCON EQU 0B ; Interrupt Control Register
00000081 00024 OPTREG EQU 81 ; Option Register
00025
00026 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
00027
0000 00028 ORG 000 ; Start of program memory
0000 0000 00029 NOP ; For ICD mode
0001 2806 00030 GOTO init ; Jump to main program
00031
00032 ; Interrupt Service Routine ................................
00033
0004 00034 ORG 004
0004 110B 00035 BCF INTCON,2 ; Reset TMR0 interrupt flag
0005 0009 00036 RETFIE ; Return from interrupt
00037
00038 ; Initialise Port D (Port B defaults to inputs).............
00039
0006 0000 00040 init NOP ; BANKSEL cannot be labelled
0007 1683 1303 00041 BANKSEL TRISD ; Select bank 1
0009 3000 00042 MOVLW b'00000000' ; Port B Direction Code
Message[302]: Register in operand not in bank 0. Ensure that bank bits are correct.
000A 0088 00043 MOVWF TRISD ; Load the DDR code into F86
00044
00045 ; Initialise Timer0 ........................................
00046
000B 30D8 00047 MOVLW b'11011000' ; TMR0 initialisation code
Message[302]: Register in operand not in bank 0. Ensure that bank bits are correct.
000C 0081 00048 MOVWF OPTREG ; Int clock, no prescale
000D 1283 1303 00049 BANKSEL PORTD ; Select bank 0
000F 30A0 00050 MOVLW b'10100000' ; INTCON init. code
0010 008B 00051 MOVWF INTCON ; Enable TMR0 interrupt
MPASM 03.70.01 Released LED1H.ASM 3-28-2006 22:18:58 PAGE 2
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00052
00053 ; Start main loop ...........................................
00054
0011 0188 00055 reset CLRF PORTD ; Clear Port B Data
00056
0012 1C86 00057 start BTFSS PORTB,1 ; Test reset button
0013 2811 00058 GOTO reset ; and reset Port B if pressed
0014 1906 00059 BTFSC PORTB,2 ; Test step button
0015 2812 00060 GOTO start ; and repeat if not pressed
00061
0016 0181 00062 CLRF TMR0 ; Reset timer
0017 1D0B 00063 wait BTFSS INTCON,2 ; Check for time out
0018 2817 00064 GOTO wait ; Wait if not
0019 1D06 00065 stepin BTFSS PORTB,2 ; Check step button
001A 2819 00066 GOTO stepin ; and wait until released
Message[305]: Using default destination of 1 (file).
001B 0A88 00067 INCF PORTD ; Increment output at Port B
001C 2812 00068 GOTO start ; Repeat main loop always
00069
00070 END ; Terminate source code......
MPASM 03.70.01 Released LED1H.ASM 3-28-2006 22:18:58 PAGE 3
SYMBOL TABLE
LABEL VALUE
INTCON 0000000B
OPTREG 00000081
PORTB 00000006
PORTD 00000008
TMR0 00000001
TRISD 00000088
__16F877 00000001
init 00000006
reset 00000011
start 00000012
stepin 00000019
wait 00000017
MEMORY USAGE MAP ('X' = Used, '-' = Unused)
0000 : XX--XXXXXXXXXXXX XXXXXXXXXXXXX--- ---------------- ----------------
2000 : -------X-------- ---------------- ---------------- ----------------
All other memory blocks unused.
Program Memory Words Used: 27
Program Memory Words Free: 8165
Errors : 0
Warnings : 0 reported, 0 suppressed
Messages : 3 reported, 0 suppressed
Error[173] : source file path exceeds 62 characters (C:\A PIC INTERFACING BOOK PROJECT\PIC INTERFACING BOOK APPLICATIONS MARCH 06\A
PPLICATIONS\CHAP04\LED1H\LED1H.ASM)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -