单元三mcs-51单片机指令系统

单元三mcs-51单片机指令系统

ID:26749413

大小:347.85 KB

页数:105页

时间:2018-11-28

单元三mcs-51单片机指令系统_第1页
单元三mcs-51单片机指令系统_第2页
单元三mcs-51单片机指令系统_第3页
单元三mcs-51单片机指令系统_第4页
单元三mcs-51单片机指令系统_第5页
资源描述:

《单元三mcs-51单片机指令系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、单元三MCS-51单片机指令系统3.1任务二P1口外接8只发光二极管模拟彩灯3.2任务三单片机做加、减、乘、除运算3.3任务四单片机做逻辑运算3.4任务五按键控制灯3.5任务六LED显示电路返回主目录3.1任务二P1口外接8只LED发光二极管模拟彩灯〖学习目标〗:通过学习任务二的完成方法,掌握MCS-51单片机的数据传送指令的功能及MCS-51单片机的寻址方式。〖任务描述〗:利用P1口外接的8只LED发光二极管模拟彩灯。常见的彩灯模式有:流水式彩灯、追逐式彩灯、累积式彩灯、开幕式与闭幕式彩灯以及将上述模式组合而成的复合式彩灯。大多数的彩灯都是采用单片机控制的,简单的彩灯单片机

2、的控制程序也较为简单,复杂的彩灯单片机控制程序也较为复杂。3.1.1硬件电路1、硬件电路2、工作原理当P1。0~P1。7中的某端口为低电平时,对应的发光二极管亮,为高电平灭。我们只要控制P1口各位的电平状态,就可以控制8只LED的亮与灭。例如使(P1)=01010101B=55H,D7、D5、D3、D14只LED亮,D6、D4、D2、D04只LED灭,从效果上看亮与灭是相间隔的;反之,使(P1)=10101010B=AAH,则另外4只LED亮,若反复以一定时间间隔不断从P1口轮流输出55H和AAH,则P1口上8只LED会呈现流水彩灯的效果。1)将立即数送P1口的程序ORG00

3、00H;定义程序从程序存贮器0000H单元开始存放LOOP:MOVP1,#55H;立即数55H送P1口,4只LED亮SJMPLOOP;原地踏步END;程序结束2)通过累加器A控制P1口的程序ORG0000HLOOP:MOVA,#0AAH;将立即数AAH送累加器AMOVP1,A;累加器A中的数送P1端口SJMPLOOP;转移到LOOPEND3.1.2控制程序3)流水式彩灯程序开始55H送P1口延时0.3秒AAH送P1口延时0.3秒流水式彩灯程序流程图ORG0000HLOOP:MOVP1,#55H;将立即数55H送P1端口LCALLTIME;调延时子程序TIMEMOVP1,#0A

4、AH;将立即数AAH送P1端口LCALLTIME;调延时子程序TIMESJMPLOOP;转移到LOOPTIME:MOVR6,#200;延时子程序TIMETIME1:MOVR7,#200TIME2:NOPNOPNOPDJNZR7,TIME2DJNZR6,TIME1RETEND4)开幕式与闭幕式彩灯程序ORG0000HLJMPMAIN;跳转到主程序ORG0030HMAIN:MOVR0,#8;R0送循环次数8MOVDPTR,#TAB;给数据指针赋值LOOP:MOVA,#00H;MOVCA,@A+DPTRMOVP1,ALCALLTIMEINCDPLDJNZR0,LOOPSJMPMAI

5、NTIME:MOVR6,#200TIME1:MOVR7,#200TIME2:NOPNOPNOPDJNZR7,TIME2DJNZR6,TIME1RETTAB:DB81H,0C3H,0E7H,0FFH,18H,3CH,7EH,0FFHEND用“伟福”模拟仿真软件进行程序的编辑、编译。打开“ISP下载软件”将目标文件下载到ISP-4实验开发板上的AT89S51单片机芯片,观察程序运行结果。要解决的问题:1、什么是数据传送操作与数据传送指令?MCS-51单片机有哪些数据传递指令?2、什么是指令的寻址方式?MCS-51单片机指令系统采用了哪几种寻址方式?3、指令在CPU内部的执行过程?

6、3.1.3源程序的编辑、编译、下载3.1.4相关知识1.单片机内部数据是怎样传送到端口使二极管发亮的?单片机内部的端口寄存器与片外引脚是直接相连的,数据通过单片机内部数据总线传送到端口寄存器(用数据传送指令完成数据的传送),结合发光二极管硬件电路,二极管便发亮了。2.什么是数据传送操作与数据传送指令?MCS-51单片机有哪些数据传递指令?数据传送操作:在计算机中将数据信息从源存储地址传送到目标存储地址的操作数据传送指令:完成数据传送的指令MCS-51单片机的数据传送指令共有29条:(1)以累加器A为目的操作数类指令(4条)MOVA,data;(data)→(A)直接单元地址中

7、的内容送到累加器AMOVA,#data;#data→(A)立即数送到累加器A中MOVA,Rn;(Rn)→(A)Rn中的内容送到累加器A中MOVA,@Ri;((Ri))→(A)Ri内容指向的地址单元中的内容送到累加器A。例如:任务中“累加器A控制P1口的程序”里有一条MOVA,#0AAH指令就属于此类。(2)以寄存器Rn为目的操作数的指令(3条)这3条指令的功能是把源操作数指定的内容送到所选定的工作寄存器Rn中。有直接、立即和寄存器寻址方式:MOVRn,data;(data)→(Rn)直接寻址单元中的内容

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。