欢迎来到天天文库
浏览记录
ID:40566021
大小:225.00 KB
页数:3页
时间:2019-08-04
《P1口输入输出实验》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验二P1口输入输出实验一、实验目的:掌握P1口的使用方法。二、所需设备1.单片机实验挂箱2.万利仿真器三、实验原理P1口为8位准双向口,每一位可独立定义为输入/输出,CPU对P1口的操作可以是字节操作,也可以是位操作。四、实验内容1.将P1.0~P1.3接开关,将P1.4~P1.7接发光二极管。依据P1.0~P1.3开关状态控制P1.4~P1.7发光二极管点亮2.将P1.0~P1.7全部接发光二极管,开始P1.0、P1.5点亮,左循环50次后P1.1、P1.4点亮;右循环30次,循环往复。五、实验原理原理图如下:六、程序清单1.ORG0000H
2、LJMPMAINORG0030HMAIN:MOVP1,#0FFHMOVA,P1ANLA,#0FHSWAPAMOVP1,ASJMPMAIN2.ORG0000HLJMPMAINORG0030HMAIN:MOVR7,#50HMOVA,#0DEHL1:MOVP1,ARLALCALLABCDJNZR7,L1MOVR7,#30MOVA,#0EDHL2:MOVP1,ARRALCALLABCDJNZR7,L2SJMPMAINABC:MOVR0,#0FFHDL2:MOVR1,#250DL1:NOPNOPDJNZR1,DL1DJNZR0,DL2RETEND七、实验现
3、象分析1.P1.0~P1.3接开关k1-k4,P1.4~P1.7接发光二极管L5-L8。单步运行程序,不断改变开关k1-k4的状态,可观察到发光二极管的变化(P1.4~P1.7为低电平时灯点亮)。2.P1.0~P1.7全部接发光二极管L1-L8,开始P1.0、P1.5点亮,即将#0DEH送入A中,左循环50次,并且通过调用延时程序ABC实现每次循环间510ms的延时。后P1.1、P1.4点亮,即将#0EDH送入A中,右循环30次,同样通过调用延时程序实现延时操作。全速运行程序,可观察到发光二极管L1、L6点亮后进行右循环,右循环结束后L2、L5点
4、亮进行左循环,循环反复。八、结论在实验1中,P1.0~P1.3作为输入口,接开关;P1.4~P1.7作为输出口,接发光二极管,编写的程序将读取开关的状态,并能将此状态在发光二极管上显示出来。根据P1口的工作原理,P1.0~P1.3作为输入口时应先置1,才能正确读入值。在实验2中,P1.0~P1.7全部作为输出口,接发光二极管,根据低电平时灯点亮的原理在A中送入相对应的十六进制数,即可按要求点亮发光二极管。然后使用循环移位指令RLA与RRA,即可实现灯的左循环点亮和灯的右循环点亮。程序中运用了子程序的调用及返回指令。LCALLABC实现了延时子程序
5、的调用。RET为中断返回指令,它用于中断服务程序的结束指令。
此文档下载收益归作者所有