;******************************************************************************
; *
; Author :Wei shujin *
; Company : *
; Filename : *
; MCU :PIC24FJ128GA010 *
; Clock :8MHz *
; Date : 10/08/2010 *
; File Version : 1.00 *
;******************************************************************************
.include "p24FJ64GA004.inc" ;选择使用芯片的头文件
.list
;..............................................................................
; 配置熔丝位
;..............................................................................
config __CONFIG2,(FNOSC_FRC&OSCIOFNC_ON) ;内部RC时钟
config __CONFIG1,FWDTEN_OFF ;关闭看门狗
;..............................................................................
;全局标号定义
;..............................................................................
.global _wreg_init ;工作寄存器初始化程序入口
.global __reset ;程序入口
;................................................................................
;把数据存在程序区
;................................................................................
.section *,psv
Table:
/*-- 文字: 广 --*/
.word 0x7F,0xFF,0xFF,0xFE,0x03,0x80,0xFB,0xFF,0xFB,0xFF,0xFB,0xFF,0xFB,0xFF,0xFB,0xFF
.word 0xFB,0xFF,0xFB,0xFF,0xFB,0xFF,0xFB,0xFF,0xFD,0xFF,0xFD,0xFF,0xFE,0xFF,0xFF,0xFF
.text ;程序开始
__reset:
call _wreg_init ;调用工作寄存器初始化程序段
call _Port_init ;端口初始化程序段
bset CORCONL,#PSV ;程序空间可见
mov #psvpage(Table),w0 ;设置程序空间数据区 位置
mov w0,_PSVPAG
mov #psvoffset(Table),w0
mov #0,w6
main:
mov [w0+w6],w5 ;程序区数据送入到w5中
mov w6,PORTB
mov #500,w1
call _delay_ms
setm PORTB
inc2 w6
goto main
;..............................................................................
;初始化子程序:把所有W寄存器初始化为 0x0000
;..............................................................................
_wreg_init:
CLR W0
MOV W0, W14
REPEAT #12
MOV W0,[++W14]
CLR W14
RETURN
;...........................................................................
;
;...........................................................................
;............................................................................
;端口初始化子程序
;............................................................................
_Port_init:
setm AD1PCFG
clr TRISB
clr TRISA
return
;.............................................................................
;延时子程序:
;.............................................................................
_delay_ms:
repeat #3996
nop
dec w1,w1
bra NZ,_delay_ms
return
.end
文章评论(0条评论)
登录后参与讨论