1 / 16
文档名称:

单片机实验总结模板.doc

格式:doc   大小:673KB   页数:16页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

单片机实验总结模板.doc

上传人:读书之乐 2020/2/4 文件大小:673 KB

下载得到文件列表

单片机实验总结模板.doc

相关文档

文档介绍

文档介绍:单片机实验总结程序由410出品,与老师的不大一样,此处省去1万字-----最终解释归410所有。统计片内RAM30H~50H单元中FFH的个数,并将统计结果存51H。movr0,#30h//把30h赋给R0movr1,#00h//把00h赋给R1loop:******@r0,#0ffh,next//把R0所指的地址里的数(地址30h中的数)与0ffh比较incr1//若为0ffh则R1加1(计算0ffh的个数)next:incr0//若不一样则R0加1(即把R0里的地址加1,R0将指向下一个地址)cjner0,#51h,loop//比较R0所存的地址与51h,若不等则跳回loop继续执行mov51h,r1//若相等(R0里的数就为51h,完成30h到50h的计数)将R1里的值赋到地址51h里,即地址51h中存储着0ffh的个数sjmp$//等待end2、从片内RAM30H单元开始存放着一组无符号数,其个数存在21H单元中。试编写程序,找出其中最小的数,并将其存入20H单元中。movr0,#30h//把30h赋给R0mova,***@r0//把R0所指30H中的数赋给a(a中就是地址30h中的无符号数)movr1,21h//把21h中的数赋给R1loop:incr0//R0加1(即R0将指向下一个地址)mov30h,***@r0//把R0所指地址的数给到地址30h中cjnea,30h,chk//比较a中的数与地址30h中的数的大小,若a中的数>30H中的数,则Cy=0;否则相反chk:jclop//判断Cy是否为1,若是,则执行下面程序,否则跳至lop继续执行mova,***@r0//把R0所指地址中的数给a,即把最小数赋给了alop:djnzr1,loop//R1减一,程序跳至loop继续执行,循环直至R1减到0mov20h,a//把a中的数赋到地址20h中end3、设片外RAM2000H单元中有一个8位二进制数,试编程将该数的低四位屏蔽掉,并送回原存储单元。movdptr,#2000h//将片外地址2000h给dptrmovxa,***@dptr//将片外地址2000h中的数赋给aanla,#0f0h//将a中的数与0f0h与下,屏蔽低四位的数******@dptr,a//将屏蔽好的数送回到片外地址2000h中end4、试编写程序,求出片内RAM20H单元中“1”的个数,并将结果存入21H单元。mov21h,#0h//将地址21h中置0(例如20h中是01101000)movr2,#08h//将8赋给R2(8个有效数)mova,20h//将地址20h中的数赋给alop:rlca//带Cy左循环移位(即第一次移位变为11010000,Cy=0)jncloop//判断Cy是否不等于1,若不等1,则程序跳至loopinc21h//若Cy等于1,则地址21h中的数加1loop:djnzr2,lop//R2减1,程序跳至lop执行直至R2=0,才执行下面的end5、试编一程序,分别统计在内部RAM的30H~50H单元的数据区中奇数和偶数的个数,并将奇数和偶数的个数分别存放在51H和52H单元中。movr0,#30h //把30h给R0movr1,#20h //把20h给R1mov51h,#0mov52h,#0 //把地址51h,52h中的数置零L1:movb,#02h //把2h给bmova,***@r0 //把R0所指地址中的数给adivab //a除以b,商给a,余数bmova,b //把b的数给acjnea,#0,L2 //比较a与0的大小,若不等跳至L2inc52h //若相等地址52h中的数加一jmpL3 //跳至L3L2:inc51h //地址51h中的数加一L3:incr0 //R0加一djnzr1,L1 //R1减一,跳至L1执行jmp$ //等待end6、在2000H~2004H单元中,存有5个压缩的BCD码,试编程将它们转换成ASCII码,并存入2005H开始的连续单元中。movdph,#20hmovdpl,#00h movr0,#5hmovr1,#0hlop:movdpl,r1movxa,***@dptrmovb,aanla,#0fhorla,#30hmovdpl,******@dptr,aincr0xcha,bswapaanla,#0fhorla,#30hmovdpl,******@dptr,aincr0incr1cjner1,#5h,lopEnd参考书中P109页,编写C语言和汇编语言的流水灯程序#include<>#include<>#defineucharunsignedchar#defineuintunsignedintvoiddelayms(t){uinti;for(;t>0;t--)for(i=0;i<120;i++);}voidmain()