начал осваивать C8051F040,
с самое простое не получается,
мигание светодиодом.
Не мигает.
Знатоки посмотрите,
може чё подскажите.
Пишу в Keil uVision3
Шью из FlashLoad Lite 5.7.0.0
через FlashBlaster2.
Спасибо.
Код
$NOMOD51
;-----------------------------------------------------------------------------
; EQUATES
;-----------------------------------------------------------------------------
$INCLUDE (C8051F040.inc)
LED EQU P6.5 ; LED on target board ('0' is LED ON)
;SYSCLK EQU 24000 ; SYSCLK frequency in kHz
;TC_10ms EQU (SYSCLK / 12) * 10; number of timer counts in 10ms
ROOMCODE EQU 0xb3f0 ; left-justified ADC value for 25 degrees C.
;-----------------------------------------------------------------------------
; VARIABLES
;-----------------------------------------------------------------------------
MYDATA SEGMENT DATA ; declare DATA segment
RSEG MYDATA ; select DATA segment
; ADC data variables
TEMPCODE: DS 2 ; holding register for temp code (16-bit)
; stored MSB-first (like in 'C' code)
;-------------------
; STACK
STACK SEGMENT IDATA ; declare STACK segment
RSEG STACK
DS 80h ; reserve 128 bytes for stack
;-----------------------------------------------------------------------------
CSEG AT 0
ljmp Main
;-----------------------------------------------------------------------------
;Interuptvektor 0x0003 - 0x00a3
;-----------------------------------------------------------------------------
; MAIN PROGRAM CODE
;-----------------------------------------------------------------------------
Temp_2 SEGMENT CODE ; declare CODE segment
RSEG Temp_2 ; select CODE segment
USING 0 ; using register bank 0
Main:
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
clr LED
mov WDTCN, #0deh ; disable watchdog timer
mov WDTCN, #0adh
mov SP, #STACK-1 ; init stack pointer
mov OSCXCN, #01110111b; enable external crystal osc/2
clr A ; wait at least 1ms
djnz acc, $ ; wait 512us
djnz acc, $ ; wait 512us
nop
osc_wait: ; poll for XTLVLD-->1
mov a, OSCXCN
jnb acc.7, osc_wait ; OSCXCN,7 =1 -quarz rabotaet i stabilen
mov P6MDOUT, #11011111b;p6.5 open drain
mov XBR2, #10000000b
blinker:
setb LED ; turn LED on.
acall loop
clr LED ; otherwise, turn LED off then exit
acall loop
ljmp blinker ; spin forever
loop: ;pri 24 MHz Quarz sysclock/2 = 83nS schrit
nop ;16581375 cykl = 1,38 Sek
nop
djnz acc, loop
djnz b, loop
djnz 0x1f, loop
ret
;-----------------------------------------------------------------------------
; End of file.
END