Instruction frequency Assembler

Odpovědět
cmeliak

Instruction frequency Assembler

Příspěvek od cmeliak »

Dobrý deň,
pracujem s týmto kódom

Kód: Vybrat vše

	list	 p=16f88
	#include <p16f88.inc>


;   Set configuration bits using definitions from the include file, p16f84.inc
	__CONFIG	_CONFIG1, _CP_OFF & _CCP1_RB0 & _DEBUG_ON & _WRT_PROTECT_OFF & _CPD_OFF & _LVP_OFF & _BODEN_OFF & _MCLR_ON & _PWRTE_ON & _WDT_OFF & _INTRC_IO
	__CONFIG	_CONFIG2, _IESO_OFF & _FCMEN_OFF

d1	EQU			0x7F

RESET	ORG 	0x0000

        BANKSEL OSCCON
        CLRF       OSCCON
        MOVLW   .120
        MOVWF   OSCCON

	BANKSEL	PORTA
	CLRF	PORTA
	CLRF	PORTB

	BANKSEL	ANSEL
	CLRF	ANSEL
        BSF	ANSEL, ANS0

	CLRF	TRISA
        BSF	TRISA, RA0
	CLRF	TRISB

        BANKSEL ADCON0
        CLRF    ADCON0
        MOVLW   .129
        MOVWF   ADCON0

        BANKSEL ADCON1
        CLRF    ADCON1
        MOVLW   .128
        MOVWF   ADCON1

	BANKSEL ADCON0
        BSF     ADCON0,2

LOP     
        BTFSC   ADCON0,2
        GOTO    LOP
        MOVF    ADRESL, W

		END


a aj po prehľadaní internetu stále neviem pochopiť nastavenie oscilátoru. V konfiguračnom slove nastavujem

Kód: Vybrat vše

_INTRC_IO
čo je mód oscilátoru INTIO2 kde RA6 a RA7 sú normálne I/O. Pomocou OSCCON nastavujem frekvenciu oscilátora na 8Mhz cca. a taktiež nastavujem aj bit 3 čiže definujem že sa bude riadiť podľa konfiguračného slova. Tu však nastáva jeden problém že keď tento program simulujem tak ten bit sa nuluje a nechápem prečo ?

Ďalej na obrázku nižšie môžte vidieť print screen z MPLAB-u kde vpravo dole je napísané

Kód: Vybrat vše

instruction frequency = 1MHz
a to taktiež nechápem o čo ide ? Keď som sa pozrel do nastavení oscilátora tak sú tam nastavenia ako na obrázku. Pracuje teda simulátor podľa frekvencie ktorá je nastavená v programe alebo tá ktorá je nastavená v nastaveniach ?
A čo vlastne je tá fervencia inštrukcie ?
Ešte uvediem čo viem a opravte ma ak sa mýlim : Ak mám napr. frekvenciu procesora 8 MHz tak jeden cyklus bude trvať 8/4= 2 MHz (čo by podľa mna mohla byť tá "instruction frequency") a 1/2 000 000 Hz=0,0000005=500ns.
Přílohy
Bez názvu.png
Odpovědět