资源描述:
《c51蜂鸣器实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划c51蜂鸣器实验报告 实验一 一、实验题目:试编写一段程序,其功能为将21H单元的内容8位分别依次存放到从22H开始的8单元中。 二、keil代码: org0000h jmpstart org0100h start: mov21h,#8; movA,21h;取出21中的数 movR0,#22h;初始化 movR1,#7h;循环次数为7 loop: RRCA;把A之中的最低位移到C JCre
2、al;判断C里面是数是否为1,如果是1.则跳转到realmov@R0,#0h jmpkk; real: mov@R0,#1h;如果是1,则将1赋到R0单元里 kk:目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 INCr0;依次判断A中的每一位 DJNZR1,loop; jmp$;死循环 end 三、实验截图: 四、实
3、验小结: 这是我们单片机的第一个实验,因为刚接触,所以会感觉很陌生,内心有一种畏惧感,看到题目的时候也是没有头绪,可以说完全是不知道到底题目是一个什么意思,更是不知道我们应该如何编写程序。不过后面通过老师的讲解,自己也去查看了一些有关的书籍,慢慢也理解了该如何去实现这种实验题目。 在认真琢磨之后,我开始学会像以前刚开始学习C语言一样慢慢绘制一个程序的流程图,理清思绪,然后根据流程图编写相应的代码。 下面是本题的实验流程图: 通过完成这个实验,我对单片机的程序有了很大的认识。实验中,也是深刻的理解到了一个单片机程序每一步
4、的实现与运行。当然,也掌握了在keil中调试的方法。 实验二 一、实验题目:若0-5号键的键值分别是:EEH、DEH、BEH、7EH、目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 EDH、DDH。设键值存放在内部RAM20H单元中,编程实现根据2OH中的键值分别使程序转移到PR0-PR4程序段。要求当以上程序段的功能完成后,都采用
5、RET指令,指定返回到程序的初始入口START标号处。 要求:PR0:教材75页习题。 PR1:同上习题9题 PR2:同上习题10 其余入口,只需完成空操作就返回。 二、keil代码: org0000 ljmpstart org0100 TAB:DB0EEH,0DEH,0BEH,7EH,0EDH,0DDH start: movdptr,#start pushdpl pushdph movA,#0EEH MOV20H,A MOVDPTR,#TAB MOVA,#0 NEXT:目的-通过该培训员工
6、可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 PUSHACC;先保存A寄存器中的值 MOVCA,@A+DPTR;A是键码表的编码;置键码表首址;表的起始位置的偏移量为零 CJNEA,20H,NEXT1 POPACC RLA;将20H值和键码表的值比较;如相等,序号乘以2,得到分支表内偏移量2n MOVDPTR,#APJ JMP@A+DPTR
7、 PRn指令 NEXT1: POPACC INCA CJNEA,#6,NEXT;表示如果==6了,说明编码查完了也没有相等的,程序直接结束 SJMP$ APJ: AJMPPR0 AJMPPR1 AJMPPR2 AJMPPR3目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 AJMPPR4;不相等,则比较下一个;置分支表
8、首址;执行表JPT+2H中的AJMP 1实验要求 在实验板上编程实现XX年日历和实时时钟: 1.时-分-秒显示 可通过键盘置入时间值(参照电子表设置时间工作模式)。 2.可通过按键控制在LED上从右向左滚动显示年_月_日3次,如: XX_01_20空空XX_01_