下载此文档

实验一内部RAM数据传送程序设计.doc


文档分类:IT计算机 | 页数:约62页 举报非法文档有奖
1/62
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/62 下载此文档
文档列表 文档介绍
实验一内部RAM数据传送程序设计一、-51微控制器汇编语言的编写。。二、、实验原理51微控制器片内RAM低128字节(00H~7FH)包含工作寄存器区(00H~1FH)、位操作区(20H~2FH)和数据区(30~7FH)。对该128字节的RAM区,均可采用直接寻址和间接寻址方式,若采用间接寻址用R0或R1作间址寄存器。特殊功能寄存器占用片内RAM地址空间80H~FFH,对它只能采用直接寻址方式。数据传送指令是汇编语言程序设计的基本要素,数据块传送也是程序设计的基本技巧之四、实验内容及要求试编写程序:先把内部RAM的(30H~7FH)单元清零,然后将30H-、,打开wave软件,进入仿真环境,选择软件模拟器,选择仿真器,仿真头选择,选择CPU。“实验程序/8051程序/”。,程序运行到第一个断点处,打开窗口-data数据观察窗口,进行观察30H-7FH单元的值。,程序会运行到第二个断点处,此时,观察30H-7FH单元的值变化。六、,理解程序。(30H~7FH)单元的内容改为66H,如何修改程序。:数据块传送若在内部RAM中进行,用什么作数据指针?若在外部RAM或ROM中进行,用什么作数据指针?,对此如何解释?七、0000HCLEAR:MOVR0,#30H;30H送R0寄存器MOVR6,#50H;4FH送R6寄存器(计数)CLR1:MOVA,#00H;00送累加器******@R0,A;00送到30H-7FH单元INCR0;R0加1DJNZR6,CLR1;不到4F个字节再清NOP;此处设断点观察30H-7FH单元的值MOVR0,#30HMOVR6,#50HLOOP:MOVA,#******@R0,AINCR0DJNZR6,LOOPAJMP$;此处设断点观察30H-7FH单元的值END图1实验二算术运算程序设计一、、逻辑运算等指令。。二、实验设备使用WAVE仿真器的软件模拟器进行实验。三、实验原理微控制器具有较强的加、减、乘、除等数学运算功能,这些运算可直接对8位无符号二进制数进行运算。利用溢出标志,还可以把加、减法运算用于有符号数的运算;用十进制调整指令,又可使运算直接用十进制(BCD码)来进行。应用算术运算指令要注意使用条件,要靠灵活运用指令,进行适当的编程才能得到正确结果。四、:入口参数:R0—加数首地址;R1—被加数首地址;R2—字节数;出口参数:R0—和首地址。:入口参数:(R2R3)被乘数;(R6R7)乘数;出口参数:(R4R5R6R7)乘积。五、,进入wave仿真软件环境,建立项目文件,建立汇编源文件;启动编译、连接;进入调试状态。,在寄存器窗口分别将R0、R1、R2置成20、30、02;在片内数据区(20H~21H),(30H~31H)单元分别置入加数和被加数,,检查程序及结果是否正确。,在寄存器窗口分别给R2R3和R6R7设置数据,运行程序“实验程序/8051程序/”,检查程序及结果是否正确。六、,整理实验程序。,程序1应如何修改?编写程序,并运行验证。,验证实验程序及结果是否正确,并记录。七、:0000HCLRCLOOP:MOVA,***@R0;取低位加数ADDCA,***@R1;低位相加DAA;调整******@R0,A;低位和送R0地址NCR0INCR1DJNZR2,:0000HQKUL:MOVA,R3MOVB,R7MULAB;R3*R7XCHA,R7;R7=(R3*R7)的低字节MOVR5,B;R5=(R3*R7)的高字节MOVB,R2MULAB;R2*R7ADDA,R5MOVR4,ACLRAADDCA,BMOVR5,A;R5=(R2*R7)的高字节MOVA,R6MOVB,R3MULAB;R3*R6ADDA,R4XCHA,R6XCHA,BADDCA,R5MOVR5,,C;存CYMOVA,R2MULAB;R2*R6ADDA,R5MOVR5,.0,CMOVC,

实验一内部RAM数据传送程序设计 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数62
  • 收藏数0 收藏
  • 顶次数0
  • 上传人阳仔仔
  • 文件大小1.70 MB
  • 时间2019-03-23