[code]#include <p16f628.inc>
errorlevel -302
__CONFIG _CP_OFF & _BOREN_OFF & _PWRTE_ON & _WDT_OFF & _LVP_OFF & _MCLRE_ON & _XT_OSC
#define clock PORTA,3 ;i/p clock
;EEPROM bit patterns
ORG 0x2100
DE 0x24, 0x36, 0x12, 0x1b,0x09,0x2d ;
;ee1 dbee 0x24 ;100 100
;ee2 dbee 0x36 ;110 110
;ee3 dbee 0x12 ;010 010
;ee4 dbee 0x1b ;011 011
;ee5 dbee 0x09 ;001 001
;ee6 dbee 0x2d ;101 101
org 0x00
index equ 0x10 ;RAM byte for counter
setup nop
movlw 0x07
movwf CMCON
banksel TRISA
movlw 0x08
movwf TRISA
movlw 0x00
movwf TRISB
movlw 0x80
movwf OPTION_REG
banksel PORTB
clrf index
movlw 0x24
movwf PORTB
clocklo btfss clock ;wait for ext clock to go high
goto clocklo
change movf index,w ;get next bit pattern from EE
banksel EEADR
movwf EEADR
call readee
movwf PORTB
incf index,f
movlw 0x06 ;loop for 6 EE locations
xorwf index,w
btfss STATUS,Z
goto clockhi
clrf index
clockhi btfsc clock ;wait for clock low
goto clockhi
goto clocklo ;next clock, next pattern
readee nop
; bsf STATUS,RP0 ;get next pattern from EEPROM
bsf EECON1,RD
; bcf STATUS,RP0
movf EEDATA,W
banksel PORTA
return
end
[/code]
[code]Clean: Done.
Executing: “I:\Program Files\Microchip\MPASM Suite\MPASMWIN.exe” /q /p16F628 “HDD.asm” /l"HDD.lst" /e"HDD.err"
Executing: “I:\Program Files\Microchip\MPASM Suite\mplink.exe” /p16F628 “HDD.o” /z__MPLAB_BUILD=1 /o"HDD.cof" /M"HDD.map" /W /x
MPLINK 4.49, Linker
Device Database Version 1.14
Copyright © 1998-2011 Microchip Technology Inc.
Errors : 0
Loaded I:\PIC\ZKOUSKA\ASM\HDD.cof.
Release build of project `I:\PIC\ZKOUSKA\ASM\fikes.mcp’ succeeded.
Language tool versions: MPASMWIN.exe v5.51, mplink.exe v4.49, mplib.exe v4.49
Sat Feb 15 20:17:33 2014
BUILD SUCCEEDED
[/code]