/Designs/STOPWATCH02A/SW/main.c
139,7 → 139,7
section[3] = (time << 16) + get_timer0();
 
// odesli namerene hodnoty
printf(usb_cdc_putc, "\n\r %7lu %7.1f %7.1f %7.1f %7.1f", run, section[0]/15.625, section[1]/15.625, section[2]/15.625, section[3]/15.625); //konstanta je kvuli prevodu do rozzumnych jednotek [ms]
printf(usb_cdc_putc, "\n\r %7lu %7.0f %7.0f %7.0f %7.0f", run, section[0]/15.625, section[1]/15.625, section[2]/15.625, section[3]/15.625);
}
}
}
/Designs/STOPWATCH02A/SW/main.hex
453,7 → 453,7
:101C2000982B006EA26F0FDC130E985DF6E194A165
:101C3000FED7986B98515EEC01F0982B006EA26F66
:101C400002DC110E985DF6E1996B0A0E986F2CD4A8
:101C5000306A2F6A2E6A2D6A94A151D2010E2D2668
:101C5000306A2F6A2E6A2D6A94A14DD2010E2D266C
:101C6000D8B02E2AD8B42F2AD8B4302A1C6A1B6ABE
:101C70001A6A196A206A1F6A1E6A1D6A246A236A20
:101C8000226A216A286A276A266A256A986B98510F
521,16 → 521,15
:1020600030C0ABF02FC0AAF02EC0A9F02DC0A8F050
:10207000F8EF0BF0200EB56FA0EC0BF0060EE96E3A
:102080009BC0ABF09AC0AAF099C0A9F098C0A8F084
:10209000010EAC6F9DDC200EB56FA0EC0BF0060EB0
:1020A000E96E9FC0ABF09EC0AAF09DC0A9F09CC095
:1020B000A8F0010EAC6F8CDC200EB56FA0EC0BF01D
:1020C000060EE96EA3C0ABF0A2C0AAF0A1C0A9F0B1
:1020D000A0C0A8F0010EAC6F7BDC200EB56FA0ECA9
:1020E0000BF0060EE96EA7C0ABF0A6C0AAF0A5C023
:1020F000A9F0A4C0A8F0010EAC6F6ADCADD58CD5F8
:022100000300DA
:10209000AC6B9EDC200EB56FA0EC0BF0060EE96E6B
:1020A0009FC0ABF09EC0AAF09DC0A9F09CC0A8F054
:1020B000AC6B8EDC200EB56FA0EC0BF0060EE96E5B
:1020C000A3C0ABF0A2C0AAF0A1C0A9F0A0C0A8F024
:1020D000AC6B7EDC200EB56FA0EC0BF0060EE96E4B
:1020E000A7C0ABF0A6C0AAF0A5C0A9F0A4C0A8F0F4
:0A20F000AC6B6EDCB1D590D5030097
:020000040030CA
:0E0000003CCE390E0005A1000FC00FE00F40EE
:00000001FF
;PIC18F4550
;CRC=E4F5 CREATED="26-IV-10 18:39"
;CRC=EE36 CREATED="21-II-10 16:08"
/Designs/STOPWATCH02A/SW/test/main.c
0,0 → 1,49
#include "D:\MLAB\Designs\STOPWATCH02A\SW\test\main.h"
 
#define LED1 PIN_A1
#define LED2 PIN_A2
 
#int_TIMER0
void TIMER0_isr(void)
{
Output_low(LED2);
}
 
/*#int_RB
void RB_isr(void)
{
output_high(LED2);
}*/
 
 
void main()
{
unsigned int8 last;
 
setup_adc_ports(NO_ANALOGS|VSS_VDD);
setup_adc(ADC_OFF);
setup_psp(PSP_DISABLED);
setup_spi(SPI_SS_DISABLED);
setup_wdt(WDT_OFF);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_4);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_timer_3(T3_EXTERNAL|T3_DIV_BY_8);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
port_b_pullups(TRUE);
 
// enable_interrupts(INT_RB);
enable_interrupts(GLOBAL);
 
last=input_b();
while(true)
{
Output_toggle(LED1);
Delay_ms(100);
if(last!=Input_b()) output_high(LED2);
last=input_b();
}
}
/Designs/STOPWATCH02A/SW/test/main.hex
0,0 → 1,31
:020000040000FA
:0400000068EF00F0B5
:08000800056ED8CF06F0E0CF31
:1000100007F00001E9CF0DF0EACF08F0E1CF09F0D9
:10002000E2CF0AF0D9CF0BF0DACF0CF0F3CF14F017
:10003000F4CF15F0FACF16F000C00FF001C010F0A9
:1000400002C011F003C012F004C013F0F2AA2CEFAA
:1000500000F0F2B44FEF00F00FC000F010C001F05C
:1000600011C002F012C003F013C004F00DC0E9FF8C
:1000700008C0EAFF088E09C0E1FF0AC0E2FF0BC01A
:10008000D9FF0CC0DAFF14C0F3FF15C0F4FF16C08F
:10009000FAFF055007C0E0FF06C0D8FF1000929499
:1000A0008994F2942CEF00F0EA6A190EE96EEF5091
:1000B0000DE0020E016E006A002EFED7012EFBD766
:1000C000970E006E002EFED7EF2EF3D7AEEF00F0A6
:1000D000F86AD09E088EEA6AE96A700ED36ED35031
:1000E000B8960C0EAF6EA20EAC6E900EAB6EC150F9
:1000F000C00B0F09C16E070EB46EC150C00B0F09C3
:10010000C16EC290B098C69A949E93809392010E4D
:10011000C66E000EC76ED190810ED56ECD6A000EF0
:10012000CA6E000ECB6EB70EB16E070EB46E925053
:10013000926E060E006E002EFED70000B450A19CF9
:10014000B56AF19EF28AC00EF212FF0E936E81CF55
:1001500018F092928972640E196EA6D7FF0E936EF4
:100160008150185C02E092948984FF0E936E81CFD7
:0601700018F0EFD70300B8
:020000040030CA
:0E0000003FC8190E008781000FC00FE00F40AF
:00000001FF
;PIC18F4550
;CRC=9481 CREATED="23-I-10 18:55"
/Designs/STOPWATCH02A/SW/test/main.lst
0,0 → 1,261
CCS PCH C Compiler, Version 4.090, 47914 23-I-10 18:55
 
Filename: D:\MLAB\Designs\STOPWATCH02A\SW\test\main.lst
 
ROM used: 370 bytes (1%)
Largest free fragment is 32394
RAM used: 25 (1%) at main() level
26 (1%) worst case
Stack: 2 worst case (1 in main + 1 for interrupts)
 
*
0000: GOTO 00D0
*
0008: MOVWF 05
000A: MOVFF FD8,06
000E: MOVFF FE0,07
0012: MOVLB 0
0014: MOVFF FE9,0D
0018: MOVFF FEA,08
001C: MOVFF FE1,09
0020: MOVFF FE2,0A
0024: MOVFF FD9,0B
0028: MOVFF FDA,0C
002C: MOVFF FF3,14
0030: MOVFF FF4,15
0034: MOVFF FFA,16
0038: MOVFF 00,0F
003C: MOVFF 01,10
0040: MOVFF 02,11
0044: MOVFF 03,12
0048: MOVFF 04,13
004C: BTFSS FF2.5
004E: GOTO 0058
0052: BTFSC FF2.2
0054: GOTO 009E
0058: MOVFF 0F,00
005C: MOVFF 10,01
0060: MOVFF 11,02
0064: MOVFF 12,03
0068: MOVFF 13,04
006C: MOVFF 0D,FE9
0070: MOVFF 08,FEA
0074: BSF 08.7
0076: MOVFF 09,FE1
007A: MOVFF 0A,FE2
007E: MOVFF 0B,FD9
0082: MOVFF 0C,FDA
0086: MOVFF 14,FF3
008A: MOVFF 15,FF4
008E: MOVFF 16,FFA
0092: MOVF 05,W
0094: MOVFF 07,FE0
0098: MOVFF 06,FD8
009C: RETFIE 0
.................... #include "D:\MLAB\Designs\STOPWATCH02A\SW\test\main.h"
.................... #include <18F4550.h>
.................... //////// Standard Header file for the PIC18F4550 device ////////////////
.................... #device PIC18F4550
.................... #list
....................
.................... #device adc=8
....................
.................... #FUSES NOWDT //No Watch Dog Timer
.................... #FUSES WDT128 //Watch Dog Timer uses 1:128 Postscale
.................... #FUSES INTRC_IO
.................... #FUSES NOPROTECT //Code not protected from reading
.................... #FUSES NOBROWNOUT //No brownout reset
.................... #FUSES BORV20 //Brownout reset at 2.0V
.................... #FUSES NOPUT //No Power Up Timer
.................... #FUSES NOCPD //No EE protection
.................... #FUSES STVREN //Stack full/underflow will cause reset
.................... #FUSES NODEBUG //No Debug mode for ICD
.................... #FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
.................... #FUSES NOWRT //Program memory not write protected
.................... #FUSES NOWRTD //Data EEPROM not write protected
.................... #FUSES IESO //Internal External Switch Over mode enabled
.................... #FUSES FCMEN //Fail-safe clock monitor enabled
.................... #FUSES PBADEN //PORTB pins are configured as analog input channels on RESET
.................... #FUSES NOWRTC //configuration not registers write protected
.................... #FUSES NOWRTB //Boot block not write protected
.................... #FUSES NOEBTR //Memory not protected from table reads
.................... #FUSES NOEBTRB //Boot block not protected from table reads
.................... #FUSES NOCPB //No Boot Block code protection
.................... #FUSES MCLR //Master Clear pin enabled
.................... #FUSES LPT1OSC //Timer1 configured for low-power operation
.................... #FUSES NOXINST //Extended set extension and Indexed Addressing mode disabled (Legacy mode)
.................... #FUSES PLL12 //Divide By 12(48MHz oscillator input)
.................... #FUSES CPUDIV4 //System Clock by 4
.................... #FUSES USBDIV //USB clock source comes from PLL divide by 2
.................... #FUSES NOVREGEN //USB voltage regulator enabled
.................... #FUSES NOICPRT //ICPRT enabled
....................
.................... #use delay(clock=8000000)
*
00A8: CLRF FEA
00AA: MOVLW 19
00AC: MOVWF FE9
00AE: MOVF FEF,W
00B0: BZ 00CC
00B2: MOVLW 02
00B4: MOVWF 01
00B6: CLRF 00
00B8: DECFSZ 00,F
00BA: BRA 00B8
00BC: DECFSZ 01,F
00BE: BRA 00B6
00C0: MOVLW 97
00C2: MOVWF 00
00C4: DECFSZ 00,F
00C6: BRA 00C4
00C8: DECFSZ FEF,F
00CA: BRA 00B2
00CC: GOTO 015C (RETURN)
.................... #use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)
....................
....................
....................
.................... #define LED1 PIN_A1
.................... #define LED2 PIN_A2
....................
.................... #int_TIMER0
.................... void TIMER0_isr(void)
.................... {
.................... Output_low(LED2);
*
009E: BCF F92.2
00A0: BCF F89.2
.................... }
....................
.................... /*#int_RB
.................... void RB_isr(void)
.................... {
.................... output_high(LED2);
.................... }*/
....................
....................
00A2: BCF FF2.2
00A4: GOTO 0058
.................... void main()
.................... {
*
00D0: CLRF FF8
00D2: BCF FD0.7
00D4: BSF 08.7
00D6: CLRF FEA
00D8: CLRF FE9
00DA: MOVLW 70
00DC: MOVWF FD3
00DE: MOVF FD3,W
00E0: BCF FB8.3
00E2: MOVLW 0C
00E4: MOVWF FAF
00E6: MOVLW A2
00E8: MOVWF FAC
00EA: MOVLW 90
00EC: MOVWF FAB
00EE: MOVF FC1,W
00F0: ANDLW C0
00F2: IORLW 0F
00F4: MOVWF FC1
00F6: MOVLW 07
00F8: MOVWF FB4
.................... unsigned int8 last;
....................
.................... setup_adc_ports(NO_ANALOGS|VSS_VDD);
00FA: MOVF FC1,W
00FC: ANDLW C0
00FE: IORLW 0F
0100: MOVWF FC1
.................... setup_adc(ADC_OFF);
0102: BCF FC2.0
.................... setup_psp(PSP_DISABLED);
0104: BCF FB0.4
.................... setup_spi(SPI_SS_DISABLED);
0106: BCF FC6.5
0108: BCF F94.7
010A: BSF F93.0
010C: BCF F93.1
010E: MOVLW 01
0110: MOVWF FC6
0112: MOVLW 00
0114: MOVWF FC7
.................... setup_wdt(WDT_OFF);
0116: BCF FD1.0
.................... setup_timer_0(RTCC_INTERNAL|RTCC_DIV_4);
0118: MOVLW 81
011A: MOVWF FD5
.................... setup_timer_1(T1_DISABLED);
011C: CLRF FCD
.................... setup_timer_2(T2_DISABLED,0,1);
011E: MOVLW 00
0120: MOVWF FCA
0122: MOVLW 00
0124: MOVWF FCB
.................... setup_timer_3(T3_EXTERNAL|T3_DIV_BY_8);
0126: MOVLW B7
0128: MOVWF FB1
.................... setup_comparator(NC_NC_NC_NC);
012A: MOVLW 07
012C: MOVWF FB4
012E: MOVF F92,W
0130: MOVWF F92
0132: MOVLW 06
0134: MOVWF 00
0136: DECFSZ 00,F
0138: BRA 0136
013A: NOP
013C: MOVF FB4,W
013E: BCF FA1.6
.................... setup_vref(FALSE);
0140: CLRF FB5
....................
.................... port_b_pullups(TRUE);
0142: BCF FF1.7
....................
.................... enable_interrupts(INT_TIMER0);
0144: BSF FF2.5
.................... // enable_interrupts(INT_RB);
.................... enable_interrupts(GLOBAL);
0146: MOVLW C0
0148: IORWF FF2,F
....................
.................... last=input_b();
014A: MOVLW FF
014C: MOVWF F93
014E: MOVFF F81,18
....................
.................... while(true)
.................... {
.................... Output_toggle(LED1);
0152: BCF F92.1
0154: BTG F89.1
.................... Delay_ms(100);
0156: MOVLW 64
0158: MOVWF 19
015A: BRA 00A8
.................... if(last!=Input_b()) output_high(LED2);
015C: MOVLW FF
015E: MOVWF F93
0160: MOVF F81,W
0162: SUBWF 18,W
0164: BZ 016A
0166: BCF F92.2
0168: BSF F89.2
.................... last=input_b();
016A: MOVLW FF
016C: MOVWF F93
016E: MOVFF F81,18
.................... }
0172: BRA 0152
.................... }
0174: SLEEP
 
Configuration Fuses:
Word 1: C83F INTRC_IO IESO FCMEN PLL12 CPUDIV4 USBDIV
Word 2: 0E19 NOBROWNOUT WDT128 NOWDT BORV20 NOPUT NOVREGEN
Word 3: 8700 PBADEN CCP2C1 MCLR LPT1OSC
Word 4: 0081 STVREN NODEBUG NOLVP NOXINST NOICPRT
Word 5: C00F NOPROTECT NOCPD NOCPB
Word 6: E00F NOWRT NOWRTD NOWRTC NOWRTB
Word 7: 400F NOEBTR NOEBTRB
/Designs/STOPWATCH02A/SW/test/main.h
0,0 → 1,36
#include <18F4550.h>
#device adc=8
 
#FUSES NOWDT //No Watch Dog Timer
#FUSES WDT128 //Watch Dog Timer uses 1:128 Postscale
#FUSES INTRC_IO
#FUSES NOPROTECT //Code not protected from reading
#FUSES NOBROWNOUT //No brownout reset
#FUSES BORV20 //Brownout reset at 2.0V
#FUSES NOPUT //No Power Up Timer
#FUSES NOCPD //No EE protection
#FUSES STVREN //Stack full/underflow will cause reset
#FUSES NODEBUG //No Debug mode for ICD
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOWRT //Program memory not write protected
#FUSES NOWRTD //Data EEPROM not write protected
#FUSES IESO //Internal External Switch Over mode enabled
#FUSES FCMEN //Fail-safe clock monitor enabled
#FUSES PBADEN //PORTB pins are configured as analog input channels on RESET
#FUSES NOWRTC //configuration not registers write protected
#FUSES NOWRTB //Boot block not write protected
#FUSES NOEBTR //Memory not protected from table reads
#FUSES NOEBTRB //Boot block not protected from table reads
#FUSES NOCPB //No Boot Block code protection
#FUSES MCLR //Master Clear pin enabled
#FUSES LPT1OSC //Timer1 configured for low-power operation
#FUSES NOXINST //Extended set extension and Indexed Addressing mode disabled (Legacy mode)
#FUSES PLL12 //Divide By 12(48MHz oscillator input)
#FUSES CPUDIV4 //System Clock by 4
#FUSES USBDIV //USB clock source comes from PLL divide by 2
#FUSES NOVREGEN //USB voltage regulator enabled
#FUSES NOICPRT //ICPRT enabled
 
#use delay(clock=8000000)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)
 
/Designs/STOPWATCH02A/SW/test/main.pjt
0,0 → 1,28
[PROJECT]
Target=D:\MLAB\Designs\STOPWATCH02A\SW\test\main.hex
Development_Mode=
Processor_Text=PIC18F4550
ToolSuite=CCS
Processor=0x4550
[D:\MLAB\Designs\STOPWATCH02A\SW\test\main]
Type=4
Path=
FileList=
BuildTool=
OptionString=
AdditionalOptionString=
[mru-list]
1=D:\MLAB\Designs\STOPWATCH02A\SW\test\main.c
[Windows]
0=0000 %S 0 0 796 451 3 0
[Opened Files]
1=main.c
2=
3=C:\Program Files\PICC\devices\18F4550.h
4=
[Target Data]
OptionString=-p +FH
FileList=D:\MLAB\Designs\STOPWATCH02A\SW\test\main.c
[Units]
Count=1
1=main.c (main)