打印

请问用C语言怎么写C51的初始化程序?

[复制链接]
2871|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
青石向晚|  楼主 | 2009-11-8 09:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
单片机的存储系统的分配利用在其工作过程中起非常大的作用,所以就必须对其进行必要的初始化。
程序代码:
(1)片内RAM初始化子程序
IBCLR: MOV
A, R0
MOV
R1
,A
CLR
A
IBC1 : MOV
@R1,A
INC
R1
DJNZ R7,IBC1
RET
(2)片外RAM初始化子程序
EBCLR1: MOV A,ADDPL
MOV DPL,A
MOV
A
,ADDPH
MOV
DPH
,A
CLR
C
EBC11
MOVX @DPTR,A
INC
DPTR
DJNZ R7,EBC11
RET
(3)片外RAM初始化子程序(双字节单元)
EBCLR2: MOV A,ADDPL
MOV DPL,A
MOV
A
,ADDPH
MOV DPH,A
MOV
A
,R7
JZ  EBC21
INC
R6
EBC21
CLR
A
MOVX @DPTR,A
INC
DPTR
DJNZ R7,EBC21
DJNZ R6,EBC21
RET

相关帖子

沙发
原野之狼| | 2009-11-8 12:02 | 只看该作者
用指针指向不同的存储区域 然后做初始化。

unsigned char data *p_in_ram;
unsigned char xdata *p_ex_ram;

注意指针变量的地址值,要不然会被初始化程序刷掉。
请查看映像文件,一般变量从低地址开始安排。
为了安全起见,你也可以定位用于初始化的变量为绝对地址访问。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

41

帖子

0

粉丝