并行输入输出接口与其应用.ppt
文本预览下载声明
汇编语言程序 ORG 0000H ; 单片机复位从0000H地址开始执行程序 START: CLR P1.2 ; 将P1.2引脚设置为低电平,LED发光二极管亮 ACALL DELAY ; 调用子程序,延时200 ms SETB P1.2 ; 将P1.2引脚设置为高电平, ; LED发光二极管灭 ACALL DELAY ; 调用子程序,延时200 ms SJMP START ; 跳转循环执行 DELAY:MOV R6,#200 ; 200 ms 延时子程序 DL1: MOV R5, #250 DL2: NOP ; 1μs NOP ; 1μs DJNZ R5, DL2 ; 2μs 内循环延时大约4*250*1μs=1 ms DJNZ R6, DL1 ; 双重循环共延时大约200*1 ms=200 ms RET END Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 例2,如图所示,P1口输出接8个发光二极管(LED)L0~L7,限流电阻510Ω。低电平时发光二极管被点亮,高电平时LED熄灭。编程控制LED闪烁。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 程序一:要求单灯左移,循环往复。 START: MOV A, #0FEH ; 将P1.0引脚设置为低电平,LED亮 LOOP: MOV P1, A RL A ; 循环左移 ACALL DELAY ; 调用子程序,延时200 ms SJMP LOOP ; 跳转循环执行 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 程序二:要求单灯左移,然后单灯右移,循环往复。 START: MOV A,#0FEH ; 将P1.0引脚设置为低电平,LED发光二极管亮 LOOP: MOV R2,#07 LOOPL: MOV P1, A RL A ACALL DELAY ; 调用子程序延时200 ms DJNZ R2, LOOPL MOV R2, #07 LOOPR: MOV P1, A RR A ACALL DELAY ; 调用子程序延时200 ms DJNZ R2, LOOPR SJMP LOOP ; 跳转循环执行 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 程序三:每次其中一个灯闪烁点亮10次后,转移到下一个灯闪烁10次,循环不止。 MOV A, #0FEH ; 初值 SHIFT: LCALL FLASH ; 调闪亮10次子程序 RR A ; 右移 SJMP SHIFT ; 循环 FLASH:MOV R2, #0AH ; 闪烁10次 FLASH1: MOV P1, A ; 点亮 LCALL DELAY ; 延时 MOV P1, #00 ; 熄灭 LCALL DELAY ; 延时 DJNZ R2, FLASH1 ; 循环 RET Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 例3,如图所示,P1.0接一个蜂鸣器,用软件延时方法,使P1.0端口输出1kHz和2kHz的变调音频,每隔1s交替变换一次。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 张东亮 山大控制学院 8051单片机结构 1 概述 2 8051并行输入输出端口结构 3 I/O端口的简单应用 4 I/O口用
显示全部