欢迎来到天天文库
浏览记录
ID:47440421
大小:33.00 KB
页数:4页
时间:2020-01-11
《单片机 数据排序实验》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验一、数据排序实验一、实验目的熟悉8031指令系统,掌握程序设计方法。二、实验内容编写并调试一个排序子程序,其功能为用冒泡法将内部RAM中几个单元字节无符号的正整数,按从小到大的次序重新排列。三、实验程序框图开始清标志位从(R0)取数一>A(R0)+1送R0(A)<((R0))?置标志位,交换内容长度减1=0?标志位=0?结束YNYYNNN四、实验步骤①把8032片内RAM区50H—5AH中放入不等的数据(用寄存器读写方法)。②用连续运行方式从起始地址0100H开始运行程序(输入0100后按EXEC键)。③排序结束,显示“P.”。④用寄存器读写方法检查50—5AH中内容
2、应从小到大排列。五、参考程序DORDE:MOVSP,#60H;设置栈指针MOVR3,#50HDORDE1:MOVA,R3MOVR0,A;数据指针传送到R0MOVR7,#0AH;长度送到R7CLR00H;清零标志位MOVA,@R0DORDE2:INCR0MOVR2,ACLRC;清零进位标志MOV22H,@R0CJNEA,22H,DORDE3;是否相等SETBCDORDE3:MOVA,R2JCDORDE4;小于或等于不交换SETB00HXCHA,@R0DECR0XCHA,@R0;大于交换位置INCR0DORDE4:MOVA,@R0DJNZR7,DORDE2JB00H,DORD
3、E1;未完继续MOVR0,#7EH;完,关显示器前三位MOVA,#0FFHMOVR4,#06HDORDE5:MOV@RO,ADECR0DJNZR4,DORDE5MOV7EH,#0CH;“P.”显示代码送显示缓冲区最后一位DORDE6:LCALLDISPD;循环调显示子程序SJMPDORDE6DISPD:SETB0D4H;显示子程序MOVR1,#7EHMOVR2,#20HMOVR3,#00HDISPD1:MOVDPTR,#0FF21HMOVA,R2MOVX@DPTR,AMOVA,@R1MOVDPTR,#0FF22HMOVX@DPTR,ADISPD2:DJNZR3,DISPD
4、2DECR1CLRCMOVA,R2RRCAMOVR2,AJNZDISPD1MOVA,#0FFHMOVDPTR,#0FF22HMOVX@DPTR,ACLR0D4HRETEND六、思考题编一程序把50H—5AH中内容按从大到小排列。
此文档下载收益归作者所有