Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

[SOLVED] [Moved]: Simple Atmel Fusebit Doctor using PIC / ATMEGA Fuse bit Reset using PIC

Status
Not open for further replies.

george_leon

Junior Member level 3
Joined
Jan 20, 2010
Messages
29
Helped
3
Reputation
6
Reaction score
4
Trophy points
1,283
Location
india
Activity points
1,447
;*********************************
; atmel fusebit doctor
;************************************
;this is program to reset atmel fusebits to enable serial programming
;use 4 mhz crystal in pic16f72
;load the atmega fusebit doctor hex file in pic16f72
;apply +5v to vcc & avcc and +12v to reset of atmega and +5v to pic simultaneously
;and wait until led at portb,0 of pic blinks, power off and take as fresh atmel ic
;**** connection details ***********
; atmega8 pic16f72
; pin1 ------- +12 v
; pin2 ------- open
; pin3 ------- open (optional rdy/bsy led)
; pin4 ------- +5 v
; pin5 ------- portc,1
; pin6 ------- portc,2
; pin7 ------- +5 v
; pin8 ------- gnd
; pin9 ------- portc,3
; pin10 ------ open
; pin11 ------ portc,4
; pin12 ------ portc,5
; pin13 ------ gnd
; pin14 ------ portc,0
; pin15 ------ gnd
; pin16 ------ gnd
; pin17 ------ gnd
; pin18 ------ gnd
; pin19 ------ gnd
; pin20 ------ +5v
; pin21 ------ open
; pin22 ------ gnd
; pin23 ------ portc,6
; pin24 ------ portc,7
; pin25 ------ gnd
; pin26 ------ open
; pin27 ------ open
; pin28 ------ open
 

Attachments

  • ATMEGA FUSE BIT DOCTOR HEX FILE.txt
    513 bytes · Views: 75
  • ATMEGA FUSEBIT DOCTOR ASM FILE.txt
    3.6 KB · Views: 78

Load this hex file in pic16f72 (or) any equivalent pic

Code:
:020000040000fa
:020000000528d1
:040002000034003492
:06000a008316fe308600a3
:1000100000308700831202308700061045208716c3
:100020008717871545208711871045208714871269
:10003000871387160717871545208711071387121f
:10004000071687170717871545208711071587108b
:1000500045208714071207118713071345208712bd
:10006000071607140717871787154520871187106c
:10007000452087140710071387130712071145201f
:10008000061445200610452040283030a300a20069
:10009000a100a10b4928a20b4828a30b4728080060
:02400e00fa3f77
:00000001ff
 
Last edited by a moderator:

Code:
;****************************************************
;			               	ATMEL FUSEBIT DOCTOR ASM FILE
;****************************************************
;THIS IS PROGRAM TO RESET ATMEL FUSEBITS TO ENABLE SERIAL PROGRAMMING
;COMPILE USING MPLAB X IDE
;USE 4 MHZ CRYSTAL IN PIC16F72
;APPLY +5V TO VCC & AVCC AND +12V TO RESET FOR ATMEGA AND +5V TO PIC SIMULTANEOUSLY
;AND WAIT UNTIL LED AT PORTB,0 BLINKS, POWER OFF AND TAKE AS FRESH ATMEL IC
;*********************** CONNECTION DETAILS *************************
;  ATMEGA8     PIC16F72
;   PIN1 ------- +12 V
;   PIN2 ------- OPEN
;   PIN3 ------- OPEN (OPTIONAL RDY/BSY LED)
;   PIN4 ------- +5 V
;   PIN5 ------- PORTC,1
;   PIN6 ------- PORTC,2
;   PIN7 ------- +5 V
;   PIN8 ------- GND
;   PIN9 ------- PORTC,3
;   PIN10 ------ OPEN
;   PIN11 ------ PORTC,4
;   PIN12 ------ PORTC,5
;   PIN13 ------ GND
;   PIN14 ------ PORTC,0
;   PIN15 ------ GND
;   PIN16 ------ GND
;   PIN17 ------ GND
;   PIN18 ------ GND
;   PIN19 ------ GND
;   PIN20 ------ +5V
;   PIN21 ------ OPEN
;   PIN22 ------ GND
;   PIN23 ------ PORTC,6
;   PIN24 ------ PORTC,7
;   PIN25 ------ GND
;   PIN26 ------ OPEN
;   PIN27 ------ OPEN
;   PIN28 ------ OPEN

list p=16f72
list n=0
#include p16f72.inc

__config _HS_OSC & _WDT_OFF & _PWRTE_OFF & _BODEN_ON & _CP_OFF

#DEFINE XA0 PORTC,4
#DEFINE XA1 PORTC,5
#DEFINE XTAL1 PORTC,3
#DEFINE BS1 PORTC,2
#DEFINE WR PORTC,1
#DEFINE D6 PORTC,6
#DEFINE D7 PORTC,7
#DEFINE D0 PORTC,0
#DEFINE LED PORTB,0

		ORG 0x0000
		GOTO START
		ORG 0X0005
START	BSF STATUS,RP0
        MOVLW 0XFE
		MOVWF TRISB		;DEFINE PORTB,0 AS OUTPUT
		MOVLW 0X00
		MOVWF TRISC		;PORTC AS OUTPUT
		BCF STATUS,RP0
        MOVLW B'00000010'   ;WR ALONE 1
        MOVWF PORTC
        BCF LED         ;LED BLINKS AFTER PROGRAMMING OVER
        CALL HLFSEC
        BSF XA1     ;LOAD COMMAND FOR CHIP ERASE
        BSF D7      ;COMMAND FOR CHIP ERASE 1000 0000
        BSF XTAL1
        CALL HLFSEC
        BCF XTAL1
        BCF WR      ;START CHIP REASE
        CALL HLFSEC
        BSF WR
        BCF XA1
        BCF D7
        BSF XA1     ;LOAD COMMAND FOR PROGRAMMING FUSE BITS
        BSF D6      ;COMMAND FOR PROGRAMMING FUSE BITS 0100 0000
        BSF XTAL1
        CALL HLFSEC
        BCF XTAL1
        BCF D6
        BCF XA1     ;LOAD DATA FOR FUSE HIGH BYTE
        BSF XA0     ;FIRST LOAD IN LOW BYTE AND THEN SELECT HIGH BYTE
        BSF D7      ;FUSE HIGH BYTE 1100 0000
        BSF D6
        BSF XTAL1
        CALL HLFSEC
        BCF XTAL1
        BSF BS1     ;SELECT FUSE HIGH BYTE
        BCF WR      ;GIVE WRITE COMMAND
        CALL HLFSEC
        BSF WR
        BCF XA0
        BCF BS1
        BCF D7
        BCF D6
        CALL HLFSEC
        BCF XA1     ;LOAD DATA FOR FUSE LOW BYTE
        BSF XA0
        BSF D0      ;FUSE LOW BYTE 1100 0001
        BSF D6
        BSF D7
        BSF XTAL1
        CALL HLFSEC
        BCF XTAL1
        BCF WR      ;GIVE WRITE COMMAND
        CALL HLFSEC
        BSF WR      ;END OF WRITE COMMAND
        BCF D0
        BCF D6
        BCF D7
        BCF XA0
        BCF BS1
        CALL HLFSEC
 LOOP   BSF LED     ;LED BLINKS CONTINOUSLY INDICATES END OF PROGRAMMING
        CALL HLFSEC
        BCF LED
        CALL HLFSEC
        GOTO LOOP
	


HLFSEC	MOVLW 0X30		;DELAY FOR HALF SECOND
		MOVWF 0X23
COU5	MOVWF 0X22
COU4	MOVWF 0X21
COU3	DECFSZ 0X21,F
		GOTO COU3
		DECFSZ 0X22,F
		GOTO COU4
		DECFSZ 0X23,F
		GOTO COU5
		RETURN



		END
 
Last edited by a moderator:

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top