国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

查看: 3799|回復(fù): 1
打印 上一主題 下一主題

[提問] 51的startup.asm的問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2011-4-11 17:02:48 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
自己寫的startup.ASM文件為什么在有了main.c文件之后會(huì)失效?取消main.c就又正常了?

;===================================================================================
#define __ASM_CODE__

#include "compile_option.h"


#include "DC_FSB.h"

;#include "variables.inc"


#define SP_START 07h
#define Ram_Start 08h
#define Ram_End 03Fh


NAME SEGMENT_CODE_START_UP ; Specify the name of the current module
USING 0 ; use register bank 0
;===================================================================================
; Constants
;===================================================================================

;===================================================================================
; Variables
;===================================================================================
;#define BF_CHIP_MODE 2fh.3 ; 0 => chip, 1 => DEEMAX emulator (DC6688FSA/DC6688FS Family, Refer AppNote008)

;===================================================================================
; External reference
;===================================================================================
EXTRN CODE (MAIN)
;EXTRN CODE (Delay_100ms)
CSEG AT 0000H ; code segment start at 0000H
USING 0 ; use register bank 0
;--------------------------------------
; Reset Vector 000h :
;--------------------------------------
ORG 0h
ljmp START_UP



;--------------------------------------
; user program is started here
;compile_option.h
;--------------------------------------

ORG 80h
public START_UP
START_UP:
#ifdef __DEBUG_MODE__
mov 0A0h, #0
#endif


;---------------------------------------------------
; select band 0 registers
;---------------------------------------------------
clr RS0
clr RS1

; ---------------------------------------------------
; OFF_ LED 1st
; ---------------------------------------------------
; lcall Delay_100ms
MOV R0, #xPCCONL ;00 10 00 11
MOV A, #00100011B ;PCCONL[1,0] 11 = counter A output
MOVX @R0,A ;10 push pull O/P (PC1)
;00 input interrupt on falling edge (PC2, PC0)
MOV R0, #xPORT_C
MOV A, #00000000B ;0x00
MOVX @R0,A

;---------------------------------------------------
; clear DPS_0 to make use of DPTR
;---------------------------------------------------
; mEnable_DPTR_0 ;DPS

;;---------------------------------------------------
;; disable all interrupt and clear all IRQ
;;---------------------------------------------------
mov IE, #0
; disable counter A interrupt
mov TCON, #0 ; clear Port A, Counter A, Timer 0, Timer 1 IRQ
mov T2CON, #0 ; clear Timer 2 IRQ and reset timer config
mov SCON0, #0 ; clear Serial 0 IRQ and reset serial control 0 config
mov SCON1, #0 ; clear Serial 1 IRQ and reset serial control 1 config
mov IP, #0 ; all interupt in low priority

;---------------------------------------------------
; Start + test
;---------------------------------------------------
MOV A,#0 ; MATTHEW
SETB ET2 ; Timer 2 overflow interrupt
CLR IT0 ; falling edge trigger
; SETB EA
CLR EX0

;;---------------------------------------------------
;; disable watchdog
;;---------------------------------------------------
MOV R0, #xBTCON
MOV A, #0xA8
MOVX @R0,A

;---------------------------------------------------
; clear internal RAM
;
; note :
; - clear all direct accessable RAM from 00h
; - clear indirect RAM up to stack area
;---------------------------------------------------
mov a, #Ram_Start ;08h
mov R0, a

clear_all_int_ram_loop:
mov a, #000h
mov @R0, a
inc R0
cjne R0, #Ram_End ,clear_all_int_ram_loop

init_SP:
;---------------------------------------------------
; init Stack pointer
; note :
; - pre-incremented stack
; - because of software stack, it is better to
; init Stack pointer after clear RAM
;---------------------------------------------------
;mov SP, #(LOW (RI_STACK-1)) ; '-1' because of pre-increment
mov SP, #SP_START ;

;all interrupts in low priority
mov IP, #0

;clear IT0 for proper Port A interrupt function
clr IT0

MOV R0, #xPCCONL ;00 10 00 11
MOV A, #00100011B ;PCCONL[1,0] 11 = counter A output
MOVX @R0,A ;10 push pull O/P (PC1)
;00 input interrupt on falling edge (PC2, PC0)

MOV R0, #xPORT_C ; PC[2] = INPUT MODE, INTERRUPT ON RISING
MOV A, #00000000B ; 0x00 ; PC[1] = push pull output (IR)
MOVX @R0,A ; PC[0] = push pull output (LED)

CLR EX0
; sjmp $

ljmp main

; =====================================================
; =====================================================
; =====================================================
/*
ISR_PORT_BC:
;ISR_PORT_A:
CLR GF_SLEEP0

MOV R0,#xPAPND
MOV A,#0
MOVX @R0,A

; MOV R0,#xPCPND
; MOV A,#0
; MOVX @R0,A

; CLR IE0 ;CLR PORTB, C INTERRUPT FLAG

CLR EX0 ;PortB, C ext interrupt
CLR IT0
NOP
RETI
*/
; =====================================================
; =====================================================
; =====================================================
/*
ISR_TIMER_2:
CLR TF2
RETI
*/
; =====================================================
; =====================================================

#undef __ASM_CODE__
end
沙發(fā)
 樓主| 發(fā)表于 2011-4-11 17:03:14 | 只看該作者
前面我;===================================================================================
; External reference
;===================================================================================
EXTRN CODE (MAIN)
EXTRN CODE (Delay_100ms)
CSEG AT 0000H ; code segment start at 0000H
USING 0
后面就可以跳轉(zhuǎn)ljmp main

前面已經(jīng)用EXTRN CODE (MAIN) 進(jìn)來(lái)了,
后面我直接跳轉(zhuǎn)去ljmp main

我在工程里面去掉main.c,那么這個(gè)start文件就能用。如果我一加上main.c的話,它就直接跳到main里面去了,不會(huì)經(jīng)過這個(gè)start程序

現(xiàn)在就是這個(gè)問題

本版積分規(guī)則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 2019天天做天天拍天天夜 | 99在线观看精品 | 男女视频免费网站 | 欧美性野久久久久久久久 | 国产网站免费视频 | 91在线免费公开视频 | 国产精品精品视频 | 天天操天天噜 | 成人免费动作大片黄在线 | 精品国精品国产自在久国产不卡 | 日日夜夜狠狠 | 成人午夜影视 | 四虎网址在线观看 | 天天干视频网 | 第一福利精品老司机导航 | 亚洲天堂久久久 | 日韩在线成人 | 最近韩国日本免费观看mv免费版 | 中文字幕在线日韩 | 午夜视频在线观看网站 | 国产日韩欧美精品一区二区三区 | 四虎永久在线精品波多野结衣 | 日韩精品亚洲一级在线观看 | 欧美精品一区二区三区在线播放 | 亚洲不卡在线视频 | 国产精品一区二区三区四区 | 四虎永久地址4hu紧急入口 | 欧美成人交tv免费观看 | 99欧美| 桃花岛精品亚洲国产成人 | 亚洲女同在线 | aaa毛片视频免费观看 | 亚洲黄色影片 | 欧美人与动另类在线 | 国产精品日本不卡一区二区 | 国产精品素人搭讪在线播放 | 精品国产专区91在线app | 日韩一区国产二区欧美三区 | a毛片免费看 | 亚洲一区二区视频 | 国产91po在线观看免费观看 |