gpasm-1.4.0 #1107 (Jan 1 2021) 10f200-Scacci 10-19-2025 22:01:49 PAGE 1 LOC OBJECT CODE LINE SOURCE TEXT VALUE 00001 ; ****************************************************************** 00002 ; Scacciazanzare with a PIC10F200 00003 ; 2016-08-11 (c) Paolo Iocco 00004 ; ****************************************************************** 00005 ; 00006 ; Circuit diagram 00007 ; --------------- 00008 ; +--\/--+ 00009 ; LED <----------|1° 6|<--------|50K|---+5V 00010 ; GND ---------->|2 5|<------- +5V 00011 ; BUZ1 <---------|3 4|-------> BUZ2 00012 ; +------+ 00013 ; 00014 ; ****************************************************************** 00015 00016 INCLUDE "p10f200.inc" ; include le definizioni standard 00001 LIST 00002 00003 ;========================================================================== 00004 ; Build date : Aug 07 2014 00005 ; MPASM PIC10F200 processor include 00006 ; 00007 ; (c) Copyright 1999-2014 Microchip Technology, All rights reserved 00008 ;========================================================================== 00009 00152 LIST 00017 list p=10F200 ; Processoer utilizzato 00018 ;errorlevel -302 ;suppress message "Bank Switch Check" 0FFF 0FEF 00019 __CONFIG _IntRC_OSC & _WDT_ON & _CP_OFF & _MCLRE_OFF 00020 00021 ; - - - - - 00000010 00022 ciclo_l EQU 0x10 ; primo valore RAM (0x10-0x1F) 00000011 00023 ciclo_h EQU 0x11 00000012 00024 periodo EQU 0x12 00000013 00025 dummy EQU 0x13 00000014 00026 dormi EQU 0x14 00027 00028 #define LED GPIO,0 00029 #define BUZ1 GPIO,1 00030 #define BUZ2 GPIO,2 00031 0000 00032 org 0x00 0000 00033 Start: 0000 0CCF 00034 movlw b'11001111' ; PSA + Prescaler 111 (1:128) 0001 0002 00035 option 0002 0C00 00036 movlw b'0000' ; set GPIO full OUT 0003 0006 00037 tris GPIO 00038 0004 0406 00039 bcf LED ; set LED off 0005 0426 00040 bcf BUZ1 ; set BUZ1 off 0006 0446 00041 bcf BUZ2 ; set BUZ2 off 00042 0007 00043 Loop: gpasm-1.4.0 #1107 (Jan 1 2021) 10f200-Scacci 10-19-2025 22:01:49 PAGE 2 LOC OBJECT CODE LINE SOURCE TEXT VALUE 00044 ; ** emette i suoni da ca. 63KHz a 15KHz (ciclo: 1=63,3KHz, 10=15,7KHz) 0007 0C0A 00045 movlw d'10' ; Invia 10 trame di durata diversa 0008 0032 00046 movwf periodo 00047 0009 00048 Trama: 0009 0CA0 00049 movlw d'160' ; 160*256 periodi per frequenza 000A 0031 00050 movwf ciclo_h 00051 000B 00052 Ciclo_High: 000B 0CFF 00053 movlw d'255' ; ciclo interno 000C 0030 00054 movwf ciclo_l 00055 000D 00056 Ciclo_Low: 00057 ; * ************ * 00058 ; * Periodo ON * 00059 ; * ************ * 000D 0526 00060 bsf BUZ1 ; set BUZ1 on 000E 0446 00061 bcf BUZ2 ; set BUZ2 off 000F 0212 00062 movf periodo,w 0010 0033 00063 movwf dummy 0011 00064 OUT_ON: 0011 02F3 00065 decfsz dummy,f 0012 0A11 00066 goto OUT_ON 0013 0004 00067 clrwdt ; clrwdt qui per equilibrare le durate ON ed OFF 00068 ; * ************* * 00069 ; * Periodo OFF * 00070 ; * ************* * 0014 0426 00071 bcf BUZ1 ; set BUZ1 off 0015 0546 00072 bsf BUZ2 ; set BUZ2 on 0016 0212 00073 movf periodo,w 0017 0033 00074 movwf dummy 0018 00075 OUT_OFF: 0018 02F3 00076 decfsz dummy,f 0019 0A18 00077 goto OUT_OFF 00078 ; * NEXT Ciclo Low 001A 02F0 00079 decfsz ciclo_l,f 001B 0A0D 00080 goto Ciclo_Low 00081 ; * NEXT Ciclo High 001C 02F1 00082 decfsz ciclo_h,f 001D 0A0B 00083 goto Ciclo_High 00084 ; * NEXT Trama 001E 02F2 00085 decfsz periodo,f 001F 0A09 00086 goto Trama 00087 00088 ; * ************* * 00089 ; * Lampeggio LED * 00090 ; * ************* * 0020 0506 00091 bsf LED ; set LED on 0021 0CFF 00092 movlw d'255' ; Pausa (ca. xxx ms) 0022 0033 00093 movwf dummy 0023 00094 LED_ON: 0023 02F3 00095 decfsz dummy,f 0024 0A23 00096 goto LED_ON gpasm-1.4.0 #1107 (Jan 1 2021) 10f200-Scacci 10-19-2025 22:01:49 PAGE 3 LOC OBJECT CODE LINE SOURCE TEXT VALUE 00097 00098 ; * ****************** * 00099 ; * Preparazione SLEEP * 00100 ; * ****************** * 0025 0406 00101 bcf LED ; set LED off 0026 0426 00102 bcf BUZ1 ; set BUZ1 off 0027 0446 00103 bcf BUZ2 ; set BUZ2 off 00104 ; * dorme per 20 cicli di watchdog 0028 0C14 00105 movlw d'20' 0029 0034 00106 movwf dormi 002A 00107 Ciclo_Sleep: 002A 0004 00108 clrwdt 002B 0003 00109 sleep 002C 0000 00110 nop 002D 02F4 00111 decfsz dormi,f 002E 0A2A 00112 goto Ciclo_Sleep 00113 00114 ; * Torna al ciclo principale 002F 0A07 00115 goto loop 00116 end gpasm-1.4.0 #1107 (Jan 1 2021) 10f200-Scacci 10-19-2025 22:01:49 PAGE 4 SYMBOL TABLE LABEL VALUE BUZ1 GPIO,1 BUZ2 GPIO,2 C 00000000 CAL0 00000001 CAL1 00000002 CAL2 00000003 CAL3 00000004 CAL4 00000005 CAL5 00000006 CAL6 00000007 Ciclo_High 0000000B Ciclo_Low 0000000D Ciclo_Sleep 0000002A DC 00000001 F 00000001 FOSC4 00000000 FSR 00000004 GP0 00000000 GP1 00000001 GP2 00000002 GP3 00000003 GPIO 00000006 GPWUF 00000007 INDF 00000000 LED GPIO,0 LED_ON 00000023 Loop 00000007 NOT_GPPU 00000006 NOT_GPWU 00000007 NOT_PD 00000003 NOT_TO 00000004 OSCCAL 00000005 OUT_OFF 00000018 OUT_ON 00000011 PCL 00000002 PS0 00000000 PS1 00000001 PS2 00000002 PSA 00000003 STATUS 00000003 Start 00000000 T0CS 00000005 T0SE 00000004 TMR0 00000001 TRISIO0 00000000 TRISIO1 00000001 TRISIO2 00000002 TRISIO3 00000003 Trama 00000009 W 00000000 Z 00000002 _CONFIG 00000FFF _CP_OFF 00000FFF gpasm-1.4.0 #1107 (Jan 1 2021) 10f200-Scacci 10-19-2025 22:01:49 PAGE 5 SYMBOL TABLE LABEL VALUE _CP_ON 00000FF7 _IDLOC0 00000100 _IDLOC1 00000101 _IDLOC2 00000102 _IDLOC3 00000103 _IntRC_OSC 00000FFF _MCLRE_OFF 00000FEF _MCLRE_ON 00000FFF _OSC_IntRC 00000FFF _WDTE_OFF 00000FFB _WDTE_ON 00000FFF _WDT_OFF 00000FFB _WDT_ON 00000FFF __10F200 00000001 __CODE_END 000000FF __CODE_START 00000000 __VECTOR_RESET 00000000 ciclo_h 00000011 ciclo_l 00000010 dormi 00000014 dummy 00000013 periodo 00000012 MEMORY USAGE MAP ('X' = Used, '-' = Unused) 0000 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX ---------------- 0FC0 : ---------------- ---------------- ---------------- ---------------X All other memory blocks unused. Program Memory Words Used: 48 Program Memory Words Free: 208 Errors : 0 Warnings : 0 reported, 0 suppressed Messages : 0 reported, 0 suppressed