文档详情

单片机实验报告(二).doc

发布:2018-06-30约2.73千字共5页下载文档
文本预览下载声明
单片机实验报告(二) 毛刚 200800120141 集成 实验目的:1、学习算术运算指令的用法; 2、学习不同数制的数码转换的方法与编程练习。 实验内容: 1、多个字节的加法运算:将两个16进制数放在以DATA1和DATA2为首的内存单元中(低位在前),结果送回DATA3; 2、二进制数到十进制数的转换。 3、把0~9的ASCII码转换成对应的十进制数。 4、设计一个秒表。 实验结果: 两个16进制数的加法运算 源程序 ORG 0000H AJMP START ORG 0030H START: DATA1 EQU 40H DATA2 EQU 50H DATA3 EQU 30H ;给DATA1,DATA2,DATA3初始地址 MOV 40H,#19H MOV 41H,#88H ;DATA1=1988H MOV R0,40H ;R0=19H MOV 50H,#10H MOV 51H,#21H ;DATA2=1021 MOV R1,50H ;R1=10H MOV 30H,#00H PUSH 30H MOV A,R0 ADDC A,R1 ;(A)=(R0)+(R1) MOV 30H,A ;(30H)((A) INC R0 ;RO+1 INC R1 ;R1+1 MOV A,R0 ADDC A,R1 MOV 31H,A ;(31H)((R0)+(R1) MOV A,#00H ADDC A,#00H MOV 32H,A ;进位放入32H END 二进制数到十进制数的转换 源程序 ORG 0000H SJMP START ORG 0030H START:MOV 40H,#11H MOV 41H,#22H MOV 42H,#33H MOV 43H,#4DH MOV 44H,#0EH MOV 45H,#66H MOV 46H,#0A7H MOV 47H,#28H MOV 48H,#0B9H MOV 49H,#6FH  ;在40H单元开始的空间里放置十个二进制数 MOV R0,#50H MOV R1,#40H MOV R2,#0AH  ;R0放目的目的数据区首地址,R1放源数据区首地址,    R2放转换个数 LOP: MOV A,@R1 MOV B,#0AH DIV AB MOV @R0,B MOV B,#0AH DIV AB INC R0 MOV @R0,B INC R0 MOV @R0,A   ;除十取余 INC R0 MOV @R0,#00H ;每转换完一个插入一个00H的单元 INC R0 INC R1 DEC R2 MOV A,R2 JNZ LOP    ;跳转 END 3.0~9的ASCII码转换成对应的十进制数 源程序 ORG 0000H AJMP START ORG 0030H DATA1 EQU 40H DATA2 EQU 50H START: MOV R0,#DATA1 MOV 60H,#DATA2 MOV R1,#0AH MOV 40H,#30H MOV 41H,#31H MOV 42H,#32H MOV 43H,#33H MOV 44H,#34H MOV 45H,#35H MOV 46H,#36H MOV 47H,#37H MOV 48H,#38H MOV 49H,#39H ;在40H~49H存入相应的值 LOOP:MOV A,@R0 ANL A,#0FH ;ASCII转换 MOV 61H,R0 MOV R0,60H MOV @R0,A INC R0 MOV,60H,R0 MOV R0,61H INC R0 DJNZ R1,LOOP END 3、设计一个秒表 要求显示0.1s、s、min。单片机的晶振是12Mhz,机器周期为1us。采用定时计数器0,方式1。最大计时时间为65.536ms,让定时计数器定时为50ms,定时计数器的初值为:3BE8H。 源程序 ORG 0000H AJMP MAIN ORG 000BH T0中断入口地址,跳转到中断程序。 AJMP T0I
显示全部
相似文档