The correct syntax is :
INTOSC_OSC and not INTRC_IO ! I read in M16F62xA.INC.
Thanks !
The correct syntax is :
INTOSC_OSC and not INTRC_IO ! I read in M16F62xA.INC.
Thanks !
Hi
I tried PBP with MPLAB. But there is a problem. HEX file is not becoming. Why?
This is error
OUTPUT
Executing: "C:\PBP246\PBPW.exe" -ampasmwin -oq -z -p12F675 "rew.bas"
PicBasic Pro Compiler 2.46, (c) 1998, 2005 microEngineering Labs, Inc.
All Rights Reserved.
Warning[207] C:\DOCUMENTS AND SETTINGS\ROJHAT\DESKTOP\REW.ASM 78 : Found label after column 1. (device)
Error[122] C:\DOCUMENTS AND SETTINGS\ROJHAT\DESKTOP\REW.ASM 78 : Illegal opcode (pic12F675)
Loaded C:\Documents and Settings\ROJHAT\Desktop\rew.COD.
BUILD SUCCEEDED: Sun Apr 26 09:30:02 2009
Hello
I am new to this forum, I am a RF Engineer trying to use a 18F1220 with its internal oscillator. So far I have been unsucessfull in doing this. When using MPLAB and a IDC2 in debugger mode the Blink program works fine. When I program the device and run it on its own power it does not work. I think I traced it to the 18f1220.inc file, CONFIG1H fuse.
;************************************************* ***************
;* 18F1220.INC *
;* *
;* By : Leonard Zerman, Jeff Schmoyer *
;* Notice : Copyright (c) 2004 microEngineering Labs, Inc. *
;* All Rights Reserved *
;* Date : 01/27/04 *
;* Version : 2.45 *
;* Notes : *
;************************************************* ***************
NOLIST
ifdef PM_USED
LIST
"Error: PM does not support this device. Use MPASM."
NOLIST
else
LIST
LIST p = 18F1220, r = dec, w = -311, f = inhx32
INCLUDE "P18F1220.INC" ; MPASM Header
__CONFIG _CONFIG1H, _XT_OSC_1H
__CONFIG _CONFIG2H, _WDT_ON_2H & _WDTPS_128_2H
__CONFIG _CONFIG3H, _MCLRE_ON_3H
__CONFIG _CONFIG4L, _LVP_OFF_4L
NOLIST
endif
LIST
EEPROM_START EQU 0F00000h
BLOCK_SIZE EQU 8
It sets the oscillator to External. I am not sure what the fuse should be set to. I also beleve the INTRC needs to be reconfigured for 8 MHz. Can anyone assist me? Thank You.
Hello wbubel, Welcome !
In the MPASM Suite each supported PIC has a file, named for it I. E. P18F1220.inc, in it is listed every valid config and register address. To switch to using MPASM, in MCS click view, compile and program options,click on the tab named assembler, and insert a check in the box "use MPASM", click OK and you are set. Here is what is available for config 1 . . .
You can change it in the file you posted or comment them out there and just add the ones you want at the top of your code (my preferred method). Most PICs you use DEFINE OSC 8 , but I won't say all . . .Code:;Configuration Byte 1H Options _IESO_ON_1H EQU H'FF' ; Internal External Oscillator Switch Over mode enabled _IESO_OFF_1H EQU H'7F' ; Internal External Oscillator Switch Over mode disabled _FSCM_ON_1H EQU H'FF' ; Fail-Safe Clock Monitor enabled _FSCM_OFF_1H EQU H'BF' ; Fail-Safe Clock Monitor disabled _RC_OSC_1H EQU H'FF' ; External RC on OSC1, OSC2 as FOSC/4 _RCIO_OSC_1H EQU H'F7' ; External RC on OSC1, OSC2 as RA6 _LP_OSC_1H EQU H'F0' ; LP Oscillator _XT_OSC_1H EQU H'F1' ; XT Oscillator _HS_OSC_1H EQU H'F2' ; HS Oscillator _HSPLL_OSC_1H EQU H'F6' ; HS + PLL _EC_OSC_1H EQU H'F4' ; External Clock on OSC1, OSC2 as FOSC/4 _ECIO_OSC_1H EQU H'F5' ; External Clock on OSC1, OSC2 as RA6 _INTIO1_OSC_1H EQU H'F9' ; Internal RC, OSC1 as RA7, OSC2 as FOSC/4 _INTIO2_OSC_1H EQU H'F8' ; Internal RC, OSC1 as RA7, OSC2 as RA6
Last edited by Archangel; - 17th July 2009 at 17:41.
If you do not believe in MAGIC, Consider how currency has value simply by printing it, and is then traded for real assets.
.
Gold is the money of kings, silver is the money of gentlemen, barter is the money of peasants - but debt is the money of slaves
.
There simply is no "Happy Spam" If you do it you will disappear from this forum.
_INTIO2_OSC_1H would set it for internal osc with OSC1 & OSC2 pins free to use for I/O.
Look in the P18F1220.INC file in your MPLAB directory for a list of config options.
To select 8MHz internal, look in the 18F1220 data sheet in the Oscillator Configurations
section. It shows the value to write to OSCCON to select various frequencies.
When programming the PIC with the ICD, in inserts a debug kernel, so you may need to
configure the ICD as the programmer before burning the PIC for stand-alone operation.
With the ICD debug kernel programmed into the PIC it needs the PC interface to operate.
Joe S. and Bruce
Thanks for your valuable help. Sorry its been a while since I've been able to get back to this project. Here is the status. I have set the CONFIG1H fuse to
_INTIO2_OSC_1H as Bruce suggested and OSCCON = %01110000.
I set the ICD as a programmer. When I released the PIC from Reset it runs so slow I thought it was not working. Either I screwed up the OSCCON settings or there is something I am missing.
OSCCON = %01110000 'Define the Osc to 8 MHz
LED2 var PORTB.2 ' LED
cntr var word
FET var PORTA.0
TRISA = %00000000 ' Set PORTA ports 0-4 to input, 5-7 Output
TRISB = %00000000 ' Set PORTB to all output
PORTB = %00000100 ' Clear PORTB
PORTA = %00000000 ' Clear PORTA
cntr = 0
FET = 0
Main:
led2 = 1
pause 100
led2 = 0
pause 100
' cntr = cntr + 1
' if (cntr <= 2) then goto main
' FET = 1
goto main
Stop
Can anyone Help me.
You should compile NOT using ICD COMPILE, use the one which says compile, only use ICD compile to use the ICD, recompile with the COMPILE for stand alone use. Put a
DEFINE OSC 4
or whatever number is right in you code near the top. The PIC is probably running using the fail safe oscillator .
If you do not believe in MAGIC, Consider how currency has value simply by printing it, and is then traded for real assets.
.
Gold is the money of kings, silver is the money of gentlemen, barter is the money of peasants - but debt is the money of slaves
.
There simply is no "Happy Spam" If you do it you will disappear from this forum.
This piece of code made it work
DEFINE OSC 4 'Define the Osc to 8 MHz
asm
bsf OSCCON, SCS1 ; 1x = Internal Block
bcf OSCCON, SCS0 ; 00 = Primary Oscillator (20Mhz?)
bsf OSCCON, IRCF2 ; 111=8000 110=4000 101=2000
bsf OSCCON, IRCF1 ; 100=1000 011=0500 010=0250
bcf OSCCON, IRCF0 ; 001=0125 000=0032
MSTABLE010 btfss OSCCON, IOFS
bra MSTABLE010 ; wait until Oscillator is stable
endasm
HI.
WHAT DO YOU MEAN WITH THE FOLLOWING?
don't forget to comment the PBP default fuse.
Bookmarks