if you use a chip with clc module you can blink a led with no code at all
its all in hardware once configured
Code:'**************************************************************** '* Name : hw-blinky.BAS * '* Author : richard * '* Notice : Copyright (c) 2023 caveat emptor * '* : All Rights Reserved * '* Date : 18/05/2023 * '* Version : 1.0 * '* Notes : pic16f18875@4mhz * '* : led portb.0 blink @1hz * '**************************************************************** #CONFIG __config _CONFIG1, _FEXTOSC_OFF & _RSTOSC_HFINT1 & _CLKOUTEN_OFF & _CSWEN_ON & _FCMEN_ON __config _CONFIG2, _MCLRE_ON & _PWRTE_OFF & _LPBOREN_OFF & _BOREN_ON & _BORV_LO & _ZCD_OFF & _PPS1WAY_OFF & _STVREN_ON & _DEBUG_OFF __config _CONFIG3, _WDTCPS_WDTCPS_11 & _WDTE_ON & _WDTCWS_WDTCWS_7 & _WDTCCS_LFINTOSC __config _CONFIG4, _WRT_OFF & _LVP_OFF __config _CONFIG5, _CP_OFF & _CPD_OFF #ENDCONFIG ANSELB = 0 trisb=$fe 'led var portb.0 OSCCON1 = $60 OSCCON3 = 0 OSCEN = 0 OSCFRQ = 2 OSCTUNE = 0 'led var portb.0 gosub set_blinky loopy: ; look no hands goto loopy end set_blinky: ;// Set the CLC1 to the options selected in the User Interface ;// LC1G1POL not_inverted; LC1G2POL inverted; LC1G3POL not_inverted; LC1G4POL not_inverted; LC1POL not_inverted; CLC1POL = $02; ;// LC1D1S T1_overflow; CLC1SEL0 = $0B; ;// LC1D2S CLC1_OUT; CLC1SEL1 = $20; ;// LC1D3S CLC1_OUT; CLC1SEL2 = $20; ;// LC1D4S CLC1_OUT; CLC1SEL3 = $20; ;// LC1G1D3N disabled; LC1G1D2N disabled; LC1G1D4N disabled; LC1G1D1T enabled; LC1G1D3T disabled; LC1G1D2T disabled; LC1G1D4T disabled; LC1G1D1N disabled; CLC1GLS0 = $02; ;// LC1G2D2N disabled; LC1G2D1N disabled; LC1G2D4N disabled; LC1G2D3N disabled; LC1G2D2T enabled; LC1G2D1T disabled; LC1G2D4T disabled; LC1G2D3T disabled; CLC1GLS1 = $08; ;// LC1G3D1N disabled; LC1G3D2N disabled; LC1G3D3N disabled; LC1G3D4N disabled; LC1G3D1T disabled; LC1G3D2T disabled; LC1G3D3T disabled; LC1G3D4T disabled; CLC1GLS2 = $00; ;// LC1G4D1N disabled; LC1G4D2N disabled; LC1G4D3N disabled; LC1G4D4N disabled; LC1G4D1T disabled; LC1G4D2T disabled; LC1G4D3T disabled; LC1G4D4T disabled; CLC1GLS3 = $00; ;// LC1EN enabled; INTN disabled; INTP disabled; MODE 1-input D flip-flop with S and R; CLC1CON = $84; ;// Set the CLC3 to the options selected in the User Interface ;// LC3G1POL not_inverted; LC3G2POL inverted; LC3G3POL not_inverted; LC3G4POL not_inverted; LC3POL not_inverted; CLC3POL = $02; ;// LC3D1S CLC1_OUT; CLC3SEL0 = $20; ;// LC3D2S CLC3_OUT; CLC3SEL1 = $22; ;// LC3D3S CLC3_OUT; CLC3SEL2 = $22; ;// LC3D4S CLC3_OUT; CLC3SEL3 = $22; ;// LC3G1D3N disabled; LC3G1D2N disabled; LC3G1D4N disabled; LC3G1D1T enabled; LC3G1D3T disabled; LC3G1D2T disabled; LC3G1D4T disabled; LC3G1D1N disabled; CLC3GLS0 = $02; ;// LC3G2D2N disabled; LC3G2D1N disabled; LC3G2D4N disabled; LC3G2D3N disabled; LC3G2D2T enabled; LC3G2D1T disabled; LC3G2D4T disabled; LC3G2D3T disabled; CLC3GLS1 = $08; ;// LC3G3D1N disabled; LC3G3D2N disabled; LC3G3D3N disabled; LC3G3D4N disabled; LC3G3D1T disabled; LC3G3D2T disabled; LC3G3D3T disabled; LC3G3D4T disabled; CLC3GLS2 = $00; ;// LC3G4D1N disabled; LC3G4D2N disabled; LC3G4D3N disabled; LC3G4D4N disabled; LC3G4D1T disabled; LC3G4D2T disabled; LC3G4D3T disabled; LC3G4D4T disabled; CLC3GLS3 = $00; ;// LC3EN enabled; INTN disabled; INTP disabled; MODE 1-input D flip-flop with S and R; CLC3CON = $84; RB0PPS = $03; //RB0->CLC3:CLC3OUT; T1CLK = 1 T1CON = $31; return




Bookmarks