编辑: 鱼饵虫 2013-06-08

1、如何将存储器块的内容置成某固定值(例全填充为0FFH)? 请用户修改程序,完成此操作. 程序设计: 采用双重循环,外循环256次,内循环256次,一共65536次,即整个外部RAM存储单元的大小 源代码: 运行结果: 实现外部整个RAM存储块置1,即从0000H单元到0FFFF单元置1 从0000H单元开始: 到0FFFFH单元结束:

2、若源块地址和目标块地址有重叠,程序该如何设计(用地址减1方法移动块)?假设源块地址2000H,目标块地址2050H,移动块长度80H. 程序设计: 即把块地址2000H----207FH单元的内容搬到2050H-20BF单元当中,采用地址减1法实现. 源代码: 运行结果: 把2000H单元-207F单元中的1H搬运到2050H单元―20BF单元

六、实验内容

3、将片内30H~3FH单元的内容复制到片外1030H~103FH中. 源代码: 将内部RAM 30H-3FH单元置为如下: 将内部RAM 30H-3FH单元当中的内容搬到外部RAM 1030-103F单元当中:

4、将30H、31H单元中的十六进制数,转换成ASCII码,存放到40H开始的4个单元中. 程序设计: 设刚开始时(30H)=1CH,(31H)=0D5H,如果程序运行正确,则应有(40H)=31(41H)=43H,(42H)=44H(43H)=35H 源代码: 运行结果: 由图可知程序运行正确,符合预期结论

5、试求内部RAM 30H―37H单元中8个无符号数的算术和,2字节结果存入38H(低字节),39H(高字节)单元中. 如8个无符号数分别为:25H,36H,4AH,65H,7FH,82H,9BH,1DH.则计算结果为:02C3H 源代码: 运行结果: 由图可知程序运行正确. 软件实验 2:

一、实验目的

1、熟悉软件实验的基本步骤和汇编程序的调试方法;

2、掌握简单的数值算法;

3、掌握多分支结构程序的编程方法.

二、实验说明 单片机中的数值有各种表达方式,这是单片机的基础.掌握各种数制之间的转换是一种基本功.我们将给定的一字节二进制数,转换成十进制(BCD)码.将累加器A的值转换为三个BCD码,并存入RESULT开始的三个单元,例程A赋值#123=7BH.

三、实验及步骤

1、启动PC机,打开KEIL软件,软件设置为模拟调试状态.在所建的Project文件中添加例程的源程序进行编译,编译无误后,可以选择单步或跟踪执行方式或全速运行程序.

2、打开CPU窗口,观察CPU窗口各寄存器的变化.打开View菜单中的Memory Window,在Address窗口输入D:30H后回车,点击运行按钮,观察地址30H、31H、32H的数据变化,30H内容将更新为01,31H更新为02,32H更新为03.

3、在单步或跟踪执行方式运行程序时,可以观察CPU窗口各寄存器的变化,看到程序执行的过程,加深对实验的了解.用户也可改变A的值,重复实验,观察实验效果.

四、例程流程图和源程序 1.例程说明:将A的值转换为十进制数,存放在30H~32H中. 2.流程图: 3.源程序: RESULT EQU 30H ORG 0000H SJMP START BINTOBCD: MOV B,#100 DIV AB MOV RESULT,A ;

除以100得百位数 MOV A,B MOV B,#10 DIV AB MOV RESULT+1,A ;

余数除以10得十位数 MOV RESULT+2,B ;

余数为个位数 RET START: MOV SP,#40H MOV A,#123 CALL BINTOBCD SJMP $ END 源代码: 运行结果:30H~32H的内容分别为01,02,03

五、思考题 BCD码转换成二进制数的算法是什么?例如:(91)BCD对应的二进制数是多少? 答:把每一位BCD码译成对应的四位二进制码.采用除2取余数法,直到被除数小于2为止.把先到得到的余数放在低字节,后得到的余数放到高字节即可. (91)BCD对应的二进制数是10010001.

六、实验内容

1、无符号多字节二进制数据减法.被减数放在30H开始的4个单元中(从低字节到高字节),减数放在40H开始的4个单元中(从低字节到高字节),差放入30H开始处(从低字节到高字节). 例如:输入(33H)=0x58, (32H)=0xA2, (31H)=0x34, (30H)=0x7E (43H)=0x07, (42H)=0x68, (41H)=0x85, (40H)=0x3B 输出(33H)=0x51, (32H)=0x39, (31H)=0xAF, (30H)=0x43 源程序: 运行结果: 由运行结果可知,程序设计正确

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题