单片机编程自主学习

单片机编程自主学习

ID:1249685

大小:48.50 KB

页数:9页

时间:2017-11-09

单片机编程自主学习_第1页
单片机编程自主学习_第2页
单片机编程自主学习_第3页
单片机编程自主学习_第4页
单片机编程自主学习_第5页
资源描述:

《单片机编程自主学习》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

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

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。