东大单片机实验报告三

东大单片机实验报告三

ID:47636792

大小:459.77 KB

页数:18页

时间:2019-09-10

东大单片机实验报告三_第1页
东大单片机实验报告三_第2页
东大单片机实验报告三_第3页
东大单片机实验报告三_第4页
东大单片机实验报告三_第5页
资源描述:

《东大单片机实验报告三》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、东南大学生物科学与医学工程学院单片机系统设计与应用实验报告第三次实验实验名称:数据传送实验专业:生物医学工程姓名:学号:同组人员:学号:实验室:医用电子技术实验中心(综合楼716)实验时间:目录一、实验题目3二、实验目的3三、实验器材3四、实验内容31.实验方案31.1方案流程图31.2源程序52.实验结果及分析122.1方案一结果122.2方案二结果122.3课上更改程序结果133.程序调试14五、心得体会14六、参考文献14、实验题目1.将指定内存中的数按正负数分别存放于内存和外部RAM中,并对负数进行求补后再放入内存指定单元。二、实验

2、目的1.进一步掌握程序的编辑、汇编及调试方法;2.掌握单片机内部RAM和外部RAM的数据操作;3.了解单片机系统地址分配概念。U!实验内容三、实验器材1、G6W仿真器一台2、MCS—51实验板一台3、PC机一台4、电源一台1.以数据表格形式在ROM中建立一个含有正数和负数的表格,数据长度为16个字节,要求放置八个正数、八个负数,正、负数应离散随机放置,不允许三个以上同类型数据连续放置,数据的具体内容自行确定;2.编制程序,将数据表格中的数据读出并按正、负数归类,正数送入首地址为40H的内部RAM中;负数送入首地址为OBOOOH的外部RAM中

3、;3.将首地址为OBOOOH的外部RAM中的数据取击并求其绝对值,然后送入内部RAM的48H〜4FH单元。1.实验方案1.1方案流程图始开初始化将片夕卜RAMOBOOOH-0B007H中的数据取出,求取其绝对值分别送入片内RAM48H~4FH单元存储1・2源程序本次试验,我先后写了两个程序,基本原理相似。⑴先初始化,将各地址存入寄存器屮,便于操作。⑵查表取数,判断数的正负,将正负数分别存放在指定地址。注意地址指针的入栈保护。⑶判断数是否取完,取完后对存放在外RAM屮的负数取出求补放入指定内存。方案一ORG0000HAJMPMAINORG00

4、30HMAIN:•••〔堆栈指针MOVSPz#70HMOVAz#10HMOVDPTR,#OEOOHMOVROZ#OBOHMOV12Hz#00HMOVRb#40HSTART:PUSHAPUSHDPHPUSHDPLMOVA,#00HMOVCA,@A+DPTR负MOV11HZA;保存个数;表地址;负数存放地址;正数存放地址;入栈保护;寄存器A初始化;取表中数至寄存器A判断正;11H暂存数RLCAJCFUZHENG:MOVA,11HMOV@R1ZAINCR1POPDPLPOPDPHPOPAINCDPLDECAJNZSTARTJMPDO1FU:MOV

5、A,11HMOVDPH,ROMOVDPLJ2HMOVX@DPTR,AINC12HPOPDPLPOPDPHPOPAINCDPLDECAJNZSTARTDOI:MOVA,#08H;取标志位;送至正数地址单元;正数地址加1;指向表中下一个数;个数减一;不为0继续操作;否则到DO1;DPTR改为指向负数地址;负数送外RAM中的负数地址中;指向下一个地址;指向下一个地址;个数减一;负数个数MOVDPTR^OBOOOH;指向负数所在首地址;取负数;取反加1;送入48H地址;个数减一;没做完则重复;表DO:PUSHAMOVXA,@DPTRCPLAINCA

6、MOV@R1ZAINCR1INCDPTRPOPADECAJNZDOSJMP$ORGOEOOHTABLE:DB17HJ0H,8:LH,25HDB0B2H/0A4H/30H/08HDB0D6H,54H,0:LH,8FHDB0C0H,27HQCDH,0B:LH方案二ORG0000HAJMPMAINORG0030HMAIN:MOVRO^OFOHMOVR2,#00HMOVRM40HMOVR3,#10H;R0存放表的高位地址;R2存放表的低位地址;R1存放正数地址;R3存放数的个数MOVDPTR^OBOOOH;外部RAM地址PUSHDPHPUSHDPL

7、START:MOVDPH,ROMOVDPL,R2CLRAMOVCA,@A+DPTRMOVR4,ARLCAJCFUZHENG:MOVA,R4MOV@R1ZAINCR1INCR2DJNZRESTARTJMPEND1FU:MOVA,R4POPDPLPOPDPHMOVX@DPTR,A;取表地址;取数;数暂存于;循环左移得标志位;判断正负,若为负数则到FU;正数放入正数地址单元;地址加一;数没有取完则转START;否则转END1;取数INCDPTR;地址加一PUSHDPHPUSHDPLINCR2DJNZRESTART;判断是否取完END1:MOVDP

8、TR^OBOOOH;指向外部RAM;负数个数;取数;求补MOVR5,#08HDO:MOVXA,@DPTRCPLAINCAMOV@R1,AINCR1INCDPTRDJNZR5,DO

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

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

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