给你一个何宾老师的编程框架
- ;*******************************************************************
- $include (STC32G.INC)
- data_seg1 segment code
- rseg data_seg1
- TABLE: DW 0x0123,0x4567,0x89ab,0xcdef ;four data is in code memory (ff:xxxx)
-
- ;*******************************************************************
- data_seg2 segment edata
- rseg data_seg2
- STORE: DSW 4 ; 4*2=8B (00:xxxx) EDATA
-
- ;*******************************************************************
- prog_seg segment code ;复位入口地址
- rseg prog_seg
- LJMP main
- ORG 0x220
- main:
- MOV SPX,#0100H ;设置堆栈指针初始值
- MOV WTST, #00H ;设置程序指令延时参数,赋值为0可将CPU执行指令的速度设置为最快
- MOV CKCON,#00H ;提高访问XRAM速度
- ORL P_SW2,#080H ;使能访问XFR
- MOV P1M0, #00H
- MOV P1M1, #00H
-
- START: MOV R0, #8
- MOV A, #01111111B
- LOOP: MOV P1, A
- ACALL DELAY300MS ;64K 程序大小的函数使用 LCALL 或者 ACALL 调用
- RR A
- DJNZ R0, LOOP
- JMP START
- ;-------------------------------------
- DELAY300MS: ;@24.000MHz
- PUSH DR0
- MOV WR0,#27
- MOV WR2,#30526
- NEXT:
- DEC DR0,#1
- JNE NEXT
- POP DR0
- RET ;64K 程序大小的函数使用 RET 返回
- ;-------------------------------------
- END
复制代码
|