gpasm-0.11.8 alpha display.asm 5-16-2004 04:25:40 PAGE 1 LOC OBJECT CODE LINE SOURCE TEXT VALUE 00001 processor 16f84 00002 include 00001 LIST 00002 ; P16F84.INC Standard Header File, Version 2.00 Microchip Technology, Inc. 00136 LIST 002007 3FFB 00003 __config _WDT_OFF 00004 00000010 00005 temp EQU H'10' 00000011 00006 count EQU H'11' 00000012 00007 current EQU H'12' 00008 00009 ; clock at 4MHz = 1MHz cycles 00010 ; prescaler at 256 = 256us per rtcc 00011 00012 ;-------------------------- 0000 00013 main: 0000 3087 00014 movlw B'10000111' ; timer prescaler /256 Warning [224] : Use of this instruction is not recommended. 0001 0062 00015 option 0002 3000 00016 movlw B'00000000' ; output Warning [224] : Use of this instruction is not recommended. 0003 0065 00017 tris PORTA 00018 00019 ;-------------------------- 0004 00020 begin: 0004 303E 00021 movlw D'62' ; about a sec? 0005 200F 00022 call wait 00023 0006 0A92 00024 incf current,f 00025 00026 ; wrap at 9 0007 0812 00027 movf current,w ; load current 0008 3C09 00028 sublw D'9' ; subtract 9 from current 0009 1C03 00029 btfss STATUS,C ; if carry is set, skip 000A 0192 00030 clrf current ; set current to 0 00031 000B 0812 00032 movf current,w 000C 2017 00033 call sevenseg 000D 0085 00034 movwf PORTA 000E 2804 00035 goto begin 00036 00037 ;--------------------------- 00038 ; waits by value set in w * 16ms 000F 00039 wait: 000F 0181 00040 clrf TMR0 0010 0091 00041 movwf count 0011 00042 waitloop: 0011 1F01 00043 btfss TMR0,6 ; rtcc bits 64*256us = 16ms 0012 2811 00044 goto $-1 0013 0181 00045 clrf TMR0 0014 0B91 00046 decfsz count,f 0015 2811 00047 goto waitloop 0016 3400 00048 retlw 0 00049 gpasm-0.11.8 alpha display.asm 5-16-2004 04:25:40 PAGE 2 LOC OBJECT CODE LINE SOURCE TEXT VALUE 00050 ;--------------------------- 00051 ; 7 seg display lookup 0017 00052 sevenseg: 0017 0782 00053 addwf 02,f 0018 343F 00054 retlw B'0111111' ; 0 0019 3409 00055 retlw B'0001001' ; 1 001A 345E 00056 retlw B'1011110' ; 2 001B 345B 00057 retlw B'1011011' ; 3 001C 3469 00058 retlw B'1101001' ; 4 001D 3473 00059 retlw B'1110011' ; 5 001E 3477 00060 retlw B'1110111' ; 6 001F 3419 00061 retlw B'0011001' ; 7 0020 347F 00062 retlw B'1111111' ; 8 0021 3479 00063 retlw B'1111001' ; 9 00064 gpasm-0.11.8 alpha display.asm 5-16-2004 04:25:40 PAGE 3 SYMBOL TABLE LABEL VALUE C 00000000 DC 00000001 EEADR 00000009 EECON1 00000088 EECON2 00000089 EEDATA 00000008 EEIE 00000006 EEIF 00000004 F 00000001 FSR 00000004 GIE 00000007 INDF 00000000 INTCON 0000000B INTE 00000004 INTEDG 00000006 INTF 00000001 IRP 00000007 NOT_PD 00000003 NOT_RBPU 00000007 NOT_TO 00000004 OPTION_REG 00000081 PCL 00000002 PCLATH 0000000A PORTA 00000005 PORTB 00000006 PS0 00000000 PS1 00000001 PS2 00000002 PSA 00000003 RBIE 00000003 RBIF 00000000 RD 00000000 RP0 00000005 RP1 00000006 STATUS 00000003 T0CS 00000005 T0IE 00000005 T0IF 00000002 T0SE 00000004 TMR0 00000001 TRISA 00000085 TRISB 00000086 W 00000000 WR 00000001 WREN 00000002 WRERR 00000003 Z 00000002 _CP_OFF 00003FFF _CP_ON 0000000F _HS_OSC 00003FFE _LP_OSC 00003FFC _PWRTE_OFF 00003FFF _PWRTE_ON 00003FF7 gpasm-0.11.8 alpha display.asm 5-16-2004 04:25:40 PAGE 4 LOC OBJECT CODE LINE SOURCE TEXT VALUE _RC_OSC 00003FFF _WDT_OFF 00003FFB _WDT_ON 00003FFF _XT_OSC 00003FFD __16F84 00000001 begin 00000004 count 00000011 current 00000012 main 00000000 sevenseg 00000017 temp 00000010 wait 0000000F waitloop 00000011 MEMORY USAGE MAP ('X' = Used, '-' = Unused) 0000 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XX-------------- ---------------- 2000 : -------X-------- ---------------- ---------------- ---------------- All other memory blocks unused. Program Memory Words Used: 35 Errors : 0 Warnings : 2 reported, 0 suppressed Messages : 0 reported, 0 suppressed