单片机实验指导_59728.docx
《单片机实验指导_59728.docx》由会员分享,可在线阅读,更多相关《单片机实验指导_59728.docx(43页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、单片机实验指导_5972851系列单片机原理与应用实验实验1简单汇编语言实验一、实验目的:把握汇编语言设计和调试方法,熟悉键盘操作。熟悉汇编语言编程。二、实验内容:1.查找一样数据个数:在2000H200FH的N个单元中填入零,运行本程序后检查2100H中能否为N;2清零:把2000H20FFH的内容清零。三、实验程序框图:查找一样数据个数程序实验框图清零程序框图四、实验步骤:1、在2000H200FH的几个单元中填入零,运行查找一样数据个数程序后检查2100H中能否是几个单元数。2、用连续或单步方式运行清零程序,检查200020FF中执行程序前后的内容变化。五考虑:1、修改程序,查找其它内容
2、。2、修改清零程序,假使把2000H20FFH中的内容改成FF,怎样修改程序。1/查找一样数据个数程序程序清单:ORG0000HLJMPL5800ORG0AA0HL5800:MOVR0,#10H;查找16个字节MOVR1,#00HMOVDPTR,#2000HL5811:MOVXA,DPTRCJNEA,#00H,L5816;取出内容与00H相等吗?INCR1;取出个数加1L5816:INCDPTRDJNZR0,L5811;未完继续MOVDPTR,#2100HMOVA,R1MOVXDPTR,A;一样数的个数送2100HL581E:SJMPL581EEND2/清零程序清单:ORG0000HLJMPS
3、E01ORG0640HSE01:MOVR0,#00HMOVDPTR,#2000H;0000H送DPTRLOO1:CLRAMOVXDPTR,A;0送DPTRINCDPTR;DPTR+1INCR0;字节数加1CJNER0,#00H,LOO1;不到FF个字节再清LOOP:SJMPLOOPEND实验2拆字和拼字程序一、实验目的:把握汇编语言设计和调试方法。二、实验内容:1、把2000H的内容拆开,高位送2001H低位,低位送2002H低位,2001H、2002H高位清零,一般本程序用于把数据送显示缓冲区时用;2、把2000H.2001H的低位分别送入2002H高低位,一般本程序用于把显示缓冲区的数据取
4、出拼装成一字节。三、实验程序框图:拆字程序框图拼字程序框图四、实验步骤:用连续或单步方式运行程序,检查2000H2002H中内容变化情况。五、考虑:怎样用断点方式调试本程序。1/拆字程序清单:ORG0000HLJMPSE02ORG0660HSE02:MOVDPTR,#2000HMOVXA,DPTRMOVB,A;2000ABSWAPA;交换ANLA,#0FH;屏蔽高位INCDPTRMOVXDPTR,A;送2001HINCDPTRMOVA,BANLA,#0FH;2000内容屏蔽高位MOVXDPTR,A;送2002HLOOP:SJMPLOOPEND2/拼字程序清单:ORG0000HLJMPSTART
5、ORG0680HSTART:MOVDPTR,#2000HMOVXA,DPTRANLA,#0FH;2000H内容屏蔽高位SWAPA;交换MOVB,A;保存INCDPTRMOVXA,DPTR;2000H内容送AANLA,#0FH;屏蔽高位ORLA,B;或INCDPTRMOVXDPTR,A;送2002HSJMP$END实验3数据排序实验一、实验目的:熟悉51指令系统,把握程序设计方法。二、实验内容:编写并调试一个排序子程序,其功能为用冒泡法将数据存储单元中几个单字节无符号的正整数,按从小到大的次序重新排列。三、程序框图:开场清标志位取数送送?置标志位,内容交换长度?标志位?结束四、实验步骤:将RAM
6、HFH中放入不等的数据,用断点方法运行本实验程序后检查HFH中的内容能否按从小到大的次序排列。五、考虑:修改程序把HFH中内容从大到小排列。1/程序清单:ORG0000HLJMPSE01ORG0640HSE01:CLR00H;标志位MOVDPTR,#1000H;起始地址MOVXA,DPTRMOVR7,#04H;要排序的数据个数LOOP:MOV22H,A;第一个数送22hINCDPTRMOVXA,DPTR;第二个数送ACLRC;清零CCJNEA,22H,LOOP5;判定是哪个数大LOOP5:JNCLOOP1;前面的数小则不作处理,否则交换位置LOOP2:DECDPL;交换位置MOVR5,DPLC
7、JNER5,#0FFH,LOOP4DECDPHLOOP4:MOVXDPTR,AMOVA,22HINCDPTRMOVXDPTR,ASETB00HLOOP1:DJNZR7,LOOP;不交换位置JB00H,SE01;判定此次循环有无交换发生LOOP3:SJMPLOOP3END例4-1有一变量在片内RAM的20H单元,取值范围:00H05H。编制一段程序,根据变量值求其平方值,并存入片内RAM的21H单元。ORG0000HLJMPSE01ORG0640HSE01:MOVDPTR,#2000HMOVA,20HMOVCA,A+DPTRMOV21H,ASJMP$ORG2000HTABLE:DB01,01,0
8、4,09,16,25END例4-2设变量x以补码的形式存放在片内RAM的30H单元,变量y与x的关系是:当x大于0时,y=x;当x=0时,y=20H;当x小于0时,y=x+5。编制程序,根据x的大小求y并送回原单元。ORG0000HLJMPSTARTORG0640HSTART:MOVA,30HJZNEXTANLA,#80H;判定符号位JZLPMOVA,#05HADDA,30HMOV30H,ASJMPLPNEXT:MOV30H,#20HLP:SJMP$END例4-3编写程序,将内部RAM的30H至3FH单元初始化为00H。ORG0000HLJMPMAINORG0040HMAIN:MOVR0,#3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 实验 指导 _59728
限制150内