
○湖南线适减常发所学院况 MCS51指令系统 单元三 MCS51单片机指令系统 3.1任务二P1口外接8只发光二极管模拟彩灯 32任务三单片机做加、减。乘、除运算 3.3任务四单片机做逻辑运算 3.4任务五按键控制灯 3.5任务六LED显示电路 返回主目录 精品课程
单元三 MCS-51单片机指令系统 3.1 任务二 P1口外接8只发光二极管模拟彩灯 3.2 任务三 单片机做加、减、乘、除运算 3.3 任务四 单片机做逻辑运算 3.4 任务五 按键控制灯 3.5 任务六 LED显示电路 返回主目录

一湖南线远减常发两零院 MCS51指令系统 3.1任务二P,口外接8只LED发光二极管模拟彩灯 〖学习目标】:通过学习任务二的完成方法,掌握 MCS-51单片机的数据传送指令的功能及MCS-51单片 机的寻址方式。 〖任务描述】:利用P1口外接的8只LED发光二极管模 拟彩灯。常见的彩灯模式有:流水式彩灯、追逐式彩 灯、累积式彩灯、开幕式与闭幕式彩灯以及将上述模 式组合而成的复合式彩灯。大多数的彩灯都是采用单 片机控制的,简单的彩灯单片机的控制程序也较为简 单,复杂的彩灯单片机控制程序也较为复杂。 111 精品课程
3.1 任务二 P1口外接8只LED发光二极管模拟彩灯 〖学习目标〗:通过学习任务二的完成方法,掌握 MCS-51单片机的数据传送指令的功能及MCS-51单片 机的寻址方式。 〖任务描述〗:利用P1口外接的8只LED发光二极管模 拟彩灯。常见的彩灯模式有:流水式彩灯、追逐式彩 灯、累积式彩灯、开幕式与闭幕式彩灯以及将上述模 式组合而成的复合式彩灯。大多数的彩灯都是采用单 片机控制的,简单的彩灯单片机的控制程序也较为简 单,复杂的彩灯单片机控制程序也较为复杂

○湖南线道减常发两零院 MCS51指令系统 3.1.1硬件电路 1、硬件电路 P1.0Vec 0+5V C3 221 +5Vo RST R1 89S51 1 P1.7 Vss 3002×8 C1 22D 精品课程
3.1.1 硬件电路 1、硬件电路

○湖南线道减常发两零院 MCS51指令系统 2、工作原理 当P1.0P1.,中的某端口为低电平时,对应的发光二极管 亮,为高电平灭。我们只要控制P1口各位的电平状态,就可 以控制8只LED的亮与灭。 例如使(P1)=01010101B=55H,D,、D,、D3、D,4只 LED亮,D。、D4、D2、D4只LED灭,从效果上看亮与灭是相 间隔的;反之,使(P,)=10101010B=AAH,则另外4只LED 亮,若反复以一定时间间隔不断从P,口轮流输出55H和AAH, 则P,口上8只LED会呈现流水彩灯的效果。 精品课程
2、工作原理 当P1。0 ~P1。7中的某端口为低电平时,对应的发光二极管 亮,为高电平灭。我们只要控制P1口各位的电平状态,就可 以控制8只LED的亮与灭。 例如使(P1)=01010101B=55H, D7、D5、D3、D1 4只 LED亮,D6、D4、D2、D0 4只LED灭,从效果上看亮与灭是相 间隔的;反之,使(P1)=10101010B=AAH,则另外4只LED 亮,若反复以一定时间间隔不断从P1口轮流输出55H和AAH, 则P1口上8只LED会呈现流水彩灯的效果

一南流远减常发两零院 MCS51指令系统 3.1.2控制程序 1)将立即数送P,口的程序 ORG 0000H :;定义程序从程序存贮器0000H单元开始存放 LOOP:MOVP,#55H;立即数55H送P,口,4只LED亮 SJMP LOOP ;原地踏步 END 程序结束 2)通过累加器A控制P,口的程序 ORG 0000H LOOP:MOVA,#0AAH;将立即数AAH送累加器A MOVP,A;累加器A中的数送P,端口 SJMP LOOP;转移到LOOP END
1)将立即数送P1口的程序 ORG 0000H ; 定义程序从程序存贮器0000H单元开始存放 LOOP: MOV P1,#55H ; 立即数55H送P1口,4只LED亮 SJMP LOOP ; 原地踏步 END ; 程序结束 2)通过累加器A控制P1口的程序 ORG 0000H LOOP: MOV A,#0AAH ;将立即数AAH送累加器A MOV P1, A ;累加器A中的数送P1端口 SJMP LOOP ;转移到LOOP END 3.1.2 控制程序

湖南线道减常发两雪完 MCS-51指令系统 3)流水式彩灯程序 ORG 0000H LOOP:MOV P1,#55H ;将立即数55H送P端口 开始 LCALL TIME ;调延时子程序TIME MOV P1,#0AAH 55H送P1口 ;将立即数AAH送P,端口 LCALL TIME ;调延时子程序TME 延时0.3秒 SJMP LOOP ; 转移到LOOP TME:MOVR6,#200;延时子程序TIME AAH送P,口 TME1:M0VR7,#200 延时0.3秒 TIME2:NOP NOP NOP 流水式彩灯程序流程图 DJNZ R7,TIME2 D.JNZ R6.TIME1 RET 精品课程 END
3)流水式彩灯程序 开始 55H送P1口 延时0.3秒 AAH送P1口 延时0.3秒 流水式彩灯程序流程图 ORG 0000H LOOP: MOV P1,#55H ;将立即数55H送P1端口 LCALL TIME ;调延时子程序TIME MOV P1,#0AAH ;将立即数AAH送P1端口 LCALL TIME ;调延时子程序TIME SJMP LOOP ;转移到LOOP TIME: MOV R6,#200 ;延时子程序TIME TIME1:MOV R7,#200 TIME2:NOP NOP NOP DJNZ R7,TIME2 DJNZ R6,TIME1 RET END

○湖南线适减常发两零院 MCS51指令系统 4)开幕式与闭幕式彩灯程序 ORG 0000H LJMP MAIN ;跳转到主程序 ORG 0030H MAIN: MOV R0,#8 ;R0送循环次数8 MOV DPTR.#TAB ;给数据指针赋值 LOOP:MOV A,#00H MOVC A,@A+DPTR MOV P1,A LCALL TIME INC DPL DJNZ RO,LOOP SJMP MAIN TIME: MOV R6,#200 TIMEI:MOV R7,#200 TIME2:NOP NOP NOP DJNZ R7.TIME2 31 DJNZ R6,TIME1 RET TAB:DB 81H,OC3HOE7H,OFFH,18H.3CH,7EH,OFFH 精品课程 END
4)开幕式与闭幕式彩灯程序 ORG 0000H LJMP MAIN ;跳转到主程序 ORG 0030H MAIN: MOV R0,#8 ;R0送循环次数8 MOV DPTR,#TAB ;给数据指针赋值 LOOP: MOV A,#00H ; MOVC A,@ A + DPTR MOV P1,A LCALL TIME INC DPL DJNZ R0,LOOP SJMP MAIN TIME: MOV R6,#200 TIME1: MOV R7,#200 TIME2: NOP NOP NOP DJNZ R7,TIME2 DJNZ R6,TIME1 RET TAB: DB 81H,0C3H,0E7H,0FFH,18H,3CH,7EH,0FFH END

一南流远减常发两零院 MCS51指令系统 3.1.3源程序的编辑、编译、下载 用“伟福”模拟仿真软件进行程序的编辑、编译。打开“ISP 下载软件”将目标文件下载到ISP-4实验开发板上的AT89S51 单片机芯片,观察程序运行结果。 要解决的问题: 1、什么是数据传送操作与数据传送指令?MCS-51单片机 有哪些数据传递指令? 2、什么是指令的寻址方式?MCS-51单片机指令系统采 1用了哪几种寻址方式? 3、指令在CPU内部的执行过程? 精品课程
用“伟福”模拟仿真软件进行程序的编辑、编译。打开“ISP 下载软件”将目标文件下载到ISP-4实验开发板上的AT89S51 单片机芯片,观察程序运行结果。 要解决的问题: 1、什么是数据传送操作与数据传送指令?MCS-51单片机 有哪些数据传递指令? 2、什么是指令的寻址方式? MCS-51单片机指令系统采 用了哪几种寻址方式? 3、指令在CPU内部的执行过程? 3.1.3 源程序的编辑、编译、下载

湖南线道减常发两雪完 MCS51指令系统 3.1.4相关知识 1.单片机内部数据是怎样传送到端口使二极管发亮的? 单片机内部的端口寄存器与片外引脚是直接相连的,数 据通过单片机内部数据总线传送到端口寄存器(用数据 传送指令完成数据的传送),结合发光二极管硬件电 路,二极管便发亮了。 2.什么是数据传送操作与数据传送指令?MCS-51单片机 有哪些数据传递指令? 数据传送操作:在计算机中将数据信息从源存储地址传 送到目标存储地址的操作 精品数据传送指令:完成数据传送的指令
3.1.4 相关知识 1.单片机内部数据是怎样传送到端口使二极管发亮的? 单片机内部的端口寄存器与片外引脚是直接相连的,数 据通过单片机内部数据总线传送到端口寄存器(用数据 传送指令完成数据的传送),结合发光二极管硬件电 路,二极管便发亮了。 2. 什么是数据传送操作与数据传送指令?MCS-51单片机 有哪些数据传递指令? 数据传送操作:在计算机中将数据信息从源存储地址传 送到目标存储地址的操作 数据传送指令:完成数据传送的指令

○湖南线适减常发两零院 MCS51指令系统 MCS-51单片机的数据传送指令共有29条: (1)以累加器A为目的操作数类指令(4条) MOVA,data;(data)→(A)直接单元地址中的内容 送到累加器A MOVA#data:#data→(A)立即数送到累加器A中 MOVA,Rn;(Rn)→(A)Rn中的内容送到累加器A 中 MOV A.@Ri ;((Ri))→(A)Ri内容指向的地址单 元中的内容送到累加器A。 111■的 例如:任务中“累加器A控制P1口的程序”里有一条MOV A,#0AAH指令就属于此类。 精品谋程
MCS-51单片机的数据传送指令共有29条: (1)以累加器A为目的操作数类指令(4条) MOV A,data ;(data)→(A) 直接单元地址中的内容 送到累加器A MOV A,#data ;#data→(A) 立即数送到累加器A中 MOV A,Rn ;(Rn)→(A) Rn中的内容送到累加器A 中 MOV A,@Ri ;((Ri))→(A) Ri内容指向的地址单 元中的内容送到累加器A。 例如:任务中“累加器A控制P1口的程序”里有一条MOV A,#0AAH指令就属于此类