欢迎来到天天文库
浏览记录
ID:1249685
大小:48.50 KB
页数:9页
时间:2017-11-09
《单片机编程自主学习》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、;------------------------------------------------------------------------------;STARTUP.A51:用户上电初始化程序;------------------------------------------------------------------------------;;用户定义需上电初始化的内存空间;;使用以下EQU命令可定义在CPU复位时需用0进行初始化的内存空间;;;IDATA存储器的空间的绝对起始地址总是0.IDATALENEQU80H;需用0进行初始化的IDATA存储器空间的字节
2、数;XDATASTARTEQU0H;XDATA存储器空间的绝对起始地址XDATALENEQU0H;需用0进行初始化的XDATA存储器的空间字节数.;PDATASTARTEQU0H;PDATA存储器的空间的绝对起始地址PDATALENEQU0H;需用0进行初始化的PDATA存储器的空间字节数.;;注意:IDATA存储器的空间在物理上包括了8051单片机的DATA和BIT存储器空间.;听说至少要保证与C51编译器运行库有关的存储器的空间进行0初始化不知是否;----------------------------------------------------------------
3、--------------;;再入函数模拟初始化;;以下用EQU指令定义了再入函数模拟堆栈指针的初始化;;使用SMALL存储器模式时再入函数的堆栈空间.IBPSTACKEQU0;使用SMALL存储器模式再入函数时将其设置成1.IBPSTACKTOPEQU0FFH+1;将堆栈顶设置为最高地址+1.;;使用LARGE存储器模式时再入函数的堆栈空间.XBPSTACKEQU0;使用LARGE存储器模式再入函数时将其设置成1.XBPSTACKTOPEQU0FFFFH+1;将堆栈顶设置为最高地址+1.;;使用COMPACT存储器模式时再入函数的堆栈空间.PBPSTACKEQU0;使用COM
4、PACT存储器模式再入函数时将其设置成1.PBPSTACKTOPEQU0FFFFH+1;将堆栈顶设置为最高地址+1.;;------------------------------------------------------------------------------;;使用COMPACT存储器模式时64K字节XDATA存储器空间的分页定义;;以下用EQU指令定义PDATA类型变量在XDATA存储器空间的页地址;使用EQU指令定义PFAGE时必须与L51连接定位器PDATA指令的控制参数一致;PPAGEENABLEEQU0;使用PDATA类型变量时将其设置成1.PPAGE
5、EQU0;定义页号.;;------------------------------------------------------------------------------NAME?C_STARTUP;模块名为?C_STAUTUP?C_C51STARTUPSEGMENTCODE;代码?STACKSEGMENTIDATA;堆栈RSEG?STACK;堆栈DS1EXTRNCODE(?C_START);程序开始地址PUBLIC?C_STARTUPCSEGAT0x8000;定义用户程序的起始地址,用MON51仿真器时可能有用?C_STARTUP:LJMPSTARTUP1RSEG?C
6、_C51STARTUPSTARTUP1:;;初始化串口MOVSCON,#40HMOVTMOD,#20HMOVTH1,#0fdHSETBTR1CLRTI;单片机上电IDATA内存清零如果不需要上电清零IDATA可以注销IF到IFEDN之间的话句;或者修改IDTALEN的长度为了具有掉电保护功能不知IDTALEN多长为好IFIDATALEN<>0MOVR0,#IDATALEN-1CLRAIDATALOOP:MOV@R0,ADJNZR0,IDATALOOPENDIF;;单片机上电XDATA内存清零如果不需要上电清零XDATA可以注销IF到IFEDN之间的话句;或者修改XDATALEN的
7、长度IFXDATALEN<>0MOVDPTR,#XDATASTARTMOVR7,#LOW(XDATALEN)IF(LOW(XDATALEN))<>0MOVR6,#(HIGH(XDATALEN))+1ELSEMOVR6,#HIGH(XDATALEN)ENDIFCLRAXDATALOOP:MOVX@DPTR,AINCDPTRDJNZR7,XDATALOOPDJNZR6,XDATALOOPENDIF;;送PDATA存储器页面高位地址IFPPAGEENABLE<>0MOVP2,#PPAG
此文档下载收益归作者所有