P1口实验 单片机

合集下载

单片机实验 P3.3口输入,P1口输出

单片机实验   P3.3口输入,P1口输出

实验一P3.3口输入,P1口输出一、实验目的1、掌握P3口、P1口简单使用2、学习Keil,Proteus软件使用二、实验说明本次实验用外中断1的中断方式控制P1口8位LED亮灭状态,即第一次按下S键时,8位LED点亮,再次按下S时,8位LED熄灭,如此循环。

三、实验线路图四、实验步骤1、先建立文件夹“ex1”,然后建立“ex1”工程项目,最后建立源程序文件“ex1.c”,输入如下源程序;/*******************************************实验1:P3.3输入,P1口输出******************************************///用外中断1的中断方式进行数据采集#include<reg51.h>sbit S=P3^3;/*******************************************函数功能:主函数******************************************/void main(void){EA=1;EX1=1;IT1=1;P1=0xff;while(1); //无限循环,防止程序跑飞}/**************************************************************函数功能:外中断T1的中断服务程序**************************************************************/void int1(void) interrupt 2 using 0{P1=~P1;}2、用Proteus软件仿真经过Keil软件编译通过后,可利用Proteus软件仿真。

在Proteus ISIS编辑环境中绘制仿真电路图。

打开配套实验1仿真原理图文件“ex1.DSN”,将编译好的“ex1.hex”文件载入AT89C51。

P1口输入输出实验

P1口输入输出实验

.实验一P1口输入输出一.实验目的1)进一步熟习51单片机外面引脚线路连结;2)考证常用的51指令;3)学习简单的编程方法;4)掌握单片机全系统调试的过程及方法;5)学习P1口的相关功能作用以及使用方法。

二.实验说明P1口因为有内部上拉电阻,没有高阻抗输入状态,称为准双向口。

作为输出口时,不需要在片外接上拉电阻,P1口“读引脚”输入时,一定先向锁存器写1;三.实验内容P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。

、作输进口接两个拨动开关,、作输出口,接两个发光二极管,编写程序读取开关状态,将此状态,在发光二极管上显示出来四.实验原理以实验机上74LS273做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。

循环时间由准时器控制。

五.实验流程六.实验源程序ORG0000H;程序进口AJMP RIGHT ;跳向标号RIGHT处ORG0030H;程序RIGHT:MOVR0,#08H;置移位次数.MOV A,#0FFH ;置全1CLRC;将Cy清零RIGHT1:RRC A;因为进位Cy=0,因此带进位的循环右移会出现灯的亮灭MOV P1,A;输出至P1口,控制LEDCALL DELAY;调用延时子程序DJNZ R0,RIGHT1 ;R0-1,不为0则转移到标号 RIGHT1处AJMP RIGHT ;绝对转移至RIGHT处;*****************************************************************************;/*延时子程序*/;*****************************************************************************;使用不断的跳转来实现延时,DELAY:MOV R5,#10DELAY1:MOV R6,#50DELAY2:MOV R7,#250DJNZ R7,$DJNZ R6,DELAY2;R6-1,不为0则转移至DELAY2,履行2*200*10us DJNZR5,DELAY1 ;R5-1,不为0则转移至DELAY1,履行2*10usRET;退出子程序履行END七.硬件设计(1)P1口某一I/O口线反转输出电路P1口输出电路八.实验连结图.九.原理:十.仿真器的置步:仿真模式置:8752模式。

单片机实验报告

单片机实验报告

单片机实验报告班级:09050541学号:0905054116姓名:王昆鹏实验1 P1口实验一、实验目的:1.学习P1口的使用方法。

2.学习延时子程序的编写和使用。

二、实验设备:CPU挂箱、8051CPU模块三、实验内容:1.P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。

四、实验原理:P1口为准双向口,P1口的每一位都能独立地定义为输入位或输出位。

作为输入位时,必须向锁存器相应位写入“1”,该位才能作为输入。

软件延时,如果用c编程时,通过使用keil的软件模拟,调试观察子函数(delay)延时时间。

(具体延时可以自行设定)使用汇编语言的软件延时,可以计算其指令的周期数,大概估算其软件延时。

五、实验原理图:P1口输出、输入实验六、实验步骤:执行程序:P1.0~P1.7接发光二极管L1~L8。

七、程序框图:循环点亮发光二极管(具体延时可以自行设定)八、程序代码NAME T1_1ORG 0000HLJMP STARTORG 0030HSTART: MOV A,#0FEH //将1111 1110赋给A LOOP: RL A //A循环左移MOV P1,A //把A赋给端口P1LCALL DELAY //延时0.16sJMP LOOP //循环;延时函数DELAY: MOV R1,#200DEL1: MOV R2,#200DEL2: DJNZ R2,DEL2DJNZ R1,DEL1RETEND实验2 中断口实验一、实验目的:1.学习外部中断技术的基本使用方法。

2.学习中断处理程序的编程方法。

二、实验设备:CPU挂箱、8051CPU模块三、实验内容:通过设定两个中断使能和触发方式,并编写相应的中断服务子函数,改变led灯的变化情况。

当按下KEYBOARD的按键时8个led都灭,当把k1向上拉再复位后,4个led亮,4个灭。

四、实验原理:参考《单片机原理及接口技术》第三版,北京航空航天大学出版社。

单片机实验之二极管循环点亮

单片机实验之二极管循环点亮

实验一P1口亮灯实验一、实验目的(1)学习P1口的使用方法;(2)学习延时子程序的编写。

二、实验内容P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。

三、实验预备知识(1)P1口为准双向口,可定义为输入,也可定义为输出。

(2)本实验中延时子程序采用指令循环来实现,机器周期(12/6MHZ)*指令所需机器周期数*循环次数,在系统时间允许的情况下可以采用此方法。

四、程序框图五、实验步骤1、实验连线P1.0~P1.7用插针连至L1~L82、PC环境在与PC联机状态下,打开桌面图标“MCS-51集成开发环境”,下载PH51\he01.asm,编译、连接、装载,用连续方式运行程序。

3、观察运行结果在连续运行方式下,观察发光二极管闪亮移位情况。

4、终止运行按“暂停图标”或实验箱上的“暂停按钮”,使系统无条件退出该程序的运行返回监控状态。

六、思考修改延时常数,使发光二极管闪亮时间改变。

修改程序,使发光二极管闪亮移位方向改变。

七、实验电路八、实验程序ORG 0790H;----------------------------------------------------------SE18: MOV P1,#0FFH ;送P1口LO34: MOV A,#0FEH ;L1发光二极管点亮LO33: MOV P1,ALCALL SE19 ;延时RL A ;左移位SJMP LO33 ;循环;----------------------------------------------------------SE19: MOV R6,#0A0HLO36: MOV R7,#0FFHLO35: DJNZ R7,LO35DJNZ R6,LO36 ;延时RET;----------------------------------------------------------END教你如何用W ORD文档(2012-06-27 192246)转载▼标签:杂谈1. 问:W ORD 里边怎样设置每页不同的页眉?如何使不同的章节显示的页眉不同?答:分节,每节可以设置不同的页眉。

单片机实验一实验报告

单片机实验一实验报告

题目实验1 P1口实验一一、实验目的:1.学习P1口的使用方法。

2.学习延时子程序的编写和使用。

二、实验设备:CPU挂箱、8031CPU模块三、实验内容:1.P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。

2.P1口做输入口,接八个按纽开关,以实验箱上74LS273做输出口,编写程序读取开关状态,在发光二极管上显示出来。

四、实验步骤:1、打开CPU挂箱,正确安装8031CPU模块,指导显示屏上显示“199502”字样2、执行程序1(T1_1.ASM)时:P1.0~P1.7口接发光二极管L1~L8。

执行程序2(T1_1.ASM)时:P1.0~P1.7口接平推开关K1~K8;74LS273的O0~O7接发光二极管L1~L8;74LS273的片选端CS273接CS0。

3、打开软件,选择相应的COM口和波特率,电脑与CPU挂箱正确连接上后,软件窗口的下端会显示已连接上,相应的CPU挂箱显示屏上会显示“C ”字样。

4、在软件上选择新建,新建文件类型为ASM51,新建好后,编写程序。

5、程序编写好后,选择保存,然后进行编译,调试,运行程序。

6、观察CPU挂箱上硬件的运行是否与设计的一样,否则进行相应的修改和调试。

五、注意事项1、P1口为准双向口,P1口的每一位都能独立地定义为输入位或输出位。

作为输入位时,必须向锁存器相应位写入“1”,该位才能作为输入。

8031中所有口锁存器在复位时均置为“1”,如果后来在口锁存器写过“0”,在需要时应写入一个“1”,使它成为一个输入。

2、延时程序的实现,采用指令循环来实现,本实验系统晶振为 6.144MHZ,则一个机器周期为12÷6.144us即1÷0.512us。

现要写一个延时0.1s的程序,可大致写出如下: MOV R7,#X (1)X为外循环的次数,放在R7DEL1:MOV R6,#200 (2)200为内循环的次数,放在R6DEL2:DJNZ R6,DEL2 (3)执行内循环DJNZ R7,DEL1 (4)判断R7是否为0,是否结束循环上面MOV、DJNZ指令均需两个机器周期,所以每执行一条指令需要1÷0.256us,现求出X 值:1÷0.256+X(1÷0.256+200×1÷0.256+1÷0.256)=0.1×10⁶指令(1)指令(2)指令(3)指令(4)所需时间所需时间所需时间所需时间所以X=(0.1×10⁶-1÷0.256)/(1÷0.256+200×1÷0.256+1÷0.256)=127D=7FH 经计算得X=127。

51单片机实验-实验二 P1口输入、输出实验

51单片机实验-实验二 P1口输入、输出实验

实验二 P1口输入、输出实验一、实验目的学习Pl口的使用方法。

学习延时子程序的编写和使用。

进一步熟悉星研Star16L仿真器系统的操作,和EL-Ⅱ型通用接口板实验电路结构,学习使用PROTEUS仿真软件实现单片机的虚拟仿真。

掌握虚拟仿真与实际系统仿真的有机衔接。

二、实验仪器和设备PC机、星研Star16L仿真器系统+仿真头PODPH51(DIP)、EL-Ⅱ型通用接口板实验电路,PROTEUS仿真软件。

三、实验内容1)P1口做输出口,经过74LS04反相器接八只发光二极管,编写程序,使发光二极管循环点亮。

2)(选作)P1口既做输入又做输出,在P1.0~P1.3口接四个平推开关,通过开关的不同位置向P1.0~P1.3输入不同的状态,然后利用输入指令读取所设开关状态,为验证输入结果的正确与否,将它们输出到P1.4~P1.7,经过74LS04反相器驱动发光二极管。

四、实验结果1)循环点亮八只发光二极管。

取P1.0口接出第一个二极管,以此类推,第八个接P1.7口。

Proteus 仿真图①循环左移,即从第一个二极管开始点亮到第八个二极管实验程序:ORG 0000HSTART:MOV R2,#8MOV A,#01H ;先让第一个发光二极管点亮LOOP: MOV P1,A ;从P1口输出到发光二极管LCALL DELAYRL A ;循环左移(从第一个发光二极管开始一直往下一个二极管)DJNZ R2,LOOP ;判断移动是否超过8位,未超过则继续循环LJMP START ;循环发光DELAY:MOV R5,#5 ;延时0.5秒子程序DEL1: MOV R6,#200DEL2: MOV R7,#126DEL3: DJNZ R7,DEL3DJNZ R6,DEL2DJNZ R5,DEL1RETEND仿真结果:发光二极管从D1开始发光,依次往下到D8,然后循环这一过程。

实验结果:发光二极管从第一个开始发光,依次往左到第八个,然后循环这一过程。

单片机实验实验指导书

单片机实验实验指导书

目录实验一P1口输入、输出实验 (1)实验二P3口输出控制继电器实验 (4)实验三简单I/O实验(交通灯控制) (6)实验四外部中断实验(急救车与交通灯实验) (8)实验五定时器实验 (11)实验六8155输入输出实验 (13)实验七矩阵键盘实验 (15)实验八8279显示实验 (17)实验九串并转换实验 (20)实验十A/D转换实验 (22)实验十一步进电机控制实验 (24)实验十二D/A转换实验 (27)实验十三传送带控制系统综合实验 (29)实验十四机械手控制实验 (32)实验一 P1口输入、输出实验一.实验要求1.P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。

延时时间500ms。

2.P1口做输入口,接八个开关,以74LS273作输出口,编写程序读取开关状态,将状态写入P0口,在发光二极管上显示出来。

二.实验目的1.学习P1口的使用方法。

2.学习延时子程序的编写和使用。

三.实验电路及连接实验1-1电路图如下:图1.1实验1-2中:P1.0-P1.7接八个按钮K1-K8,P0.0-P0.7接八个发光二极管L1-L8。

四.实验说明1.P1口是准双向口,它作为输出口时与一般的双向口使用方法相同,由准双向口结构可知当P1口作为输入口时,必须先对它置高电平使内部MOS管截止,因为内部上拉电阻阻值是20K~40K,故不会对外部输入产生影响,若不先对它置高,且原来是低电平,则MOS管导通,读入的数据是不正确的。

2.延时子程序的延时计算问题对延时子程序DELAY: MOV R0,#00HDELAY1: MOV R1,#0B3HDJNZ R1,$DJNZ R0,DELAY1查指令表可知MOV,DJNZ指令均需要两个机器周期,而一个机器周期时间长度为12/12MHZ(假设晶振频率是12MHZ),所以该段程序执行时间为:((0B3+1)*256+1)*2*12/12000000=100ms五.实验程序流程图实验要求1的程序框图:实验要求2的程序框图:图1.2 图1.3六、调试方法第一步:打开位于d:\单片机实验\实验一\1_1.uv2,进行实验1_1打开位于d:\单片机实验\实验一\1_2.uv2,进行实验1_2第二步:在资源管理器中如打开.src文件,在程序窗口中输入已编好的程序,保存。

单片机实验

单片机实验

实验一 I/O口实验1.P1口输出实验一、实验目的学习51单片机的32 根I/O口的基本输出功能,以P1口为例,P0,P2,P3口均同理。

学习延时子程序的编写和应用。

二、实验条件TMD-2 模块化单片机实验仪主机一台,串口线一条,PC机一台。

三、实验原理如图3.1所示,MAX708为看门狗电路。

CYAL2为6MHz晶振。

SW8为下载开关。

将DZ2 组的8个短路帽全部短接上,使P1口接74LS244的输入端,74LS244的输出端接发光二极管LD0-LD7。

图3.1 P1口输出实验原理图四、实验内容与要求1.使8个LED发光二极管循环闪亮,时间间隔为1秒。

2.使8个LED 发光二极管同时亮、灭,时间间隔为1秒。

五、实验步骤1.将短路帽组DZ2的8个短路帽短接,其余短路帽不短接。

2.给TMD-2加电,运行程序。

注意:TMD-2的所有实验都必须短接DZ4,用来连接PC机与单片机的RXD,下载程序用。

另外,涉及到短路帽短接的实验,除实验步骤中要求短接的短路帽,没提到的均不接。

六、参考程序1. 8个发光二极管循环闪亮,间隔时间为1秒。

ORG 0000HLJMP MAINORG 0100HMAIN: MOV SP,#60HMOV A,#01H ;先让第一个发光二极管亮LOOP: MOV P1,A ;从P1 口输出到发光二极管LCALL DELAY ;延时1秒RL A ;左移一位,下一个发光二极管亮SJMP LOOP ;循环DELAY: M OV R0,#10 ;延时1秒子程序,使用参数R0、R7、R6 DELY0: MOV R7,#100 ;延时0.1 秒DELY1: MOV R6,#250 ;延时1mSDJNZ R6,$DJNZ R7,DEL Y1DJNZ R0,DEL Y0RETEND2. 8个发光二极管同时亮、灭,间隔时间为1秒。

ORG 0000HLJMP MAINORG 0100HMAIN: MOV SP,#60HMOV A,#0FFH ;先让发光二极管全亮LOOP: MOV P1,A ;从P1 口输出到发光二极管LCALL DELAY ;延时1秒CPL A ;取反SJMP LOOP ;循环DELAY: M OV R0,#10 ;延时1秒子程序,使用参数R0、R7、R6 DELY0: MOV R7,#100 ;延时0.1 秒DELY1: MOV R6,#250 ;延时1mSDJNZ R6,$DJNZ R7,DEL Y1DJNZ R0,DEL Y0RETEND2.P2口输入实验一、实验目的学习51单片机的32根I/O口的基本输入功能,以P2口为例,P0,P1,P3口均同理。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

五.端口说明
CAP0 SDA P1.0 P1.1
SCL PWM0 CADC0
CDAC0 SPICLK SPISTE
P1.2 P1.3 P1.4
P1.5 P1.6 P1.7
六.参考程序
• • • • • • • • • • • • • • • • ORG 0000H LJMP MAIN ORG 0030H ;跳过异常向量区 MAIN:MOV SP,#53H ;初始化堆栈指针 START: MOV P0,#0FEH ;将P0口设置为输入态 LOOP:MOV A,P0 ;读回P0口的状态 LCALL DELAY10 ;【设置断点,观察窗口的数值与 LJMP LOOP ;--------延时约10ms程序-------DELAY10: MOV R6,#20 D1: MOV R7,#248 DJNZ R7,$ DJNZ R6,D1 RET END
P1口实验
P1口实验
一。实验目的:
学习单片机读取IO引脚状态的的方法。
二.实设备:
EL-EMCU-I试验箱、EXP-89S51/52/53 CPU 板。
三.实验内容:
编程读取P0口引脚状态,从P1口输出并通过 软件观察。P0口接入八个拨动开关,P1口接八只发光 二极管。
四.实验步骤
1、将CPU板正确安放在CPU接口插座上,跳线帽JP2短 接在上侧。 2、连线:用导线将试验箱上的的IO1--- IO8分别连接到 SWITCH的8个拨码开关的K1---K8的输出端子K1---K8上, P1.0-P1.7连接到八支LED端子上,连接好仿真器。 3、实验箱上电,在PC机上打开Keil C环境,打开实验程 序文件夹IO_INPUT下的工程文件IO_INPUT.Uv2编译程 序,上电,在程序注释处设置断点,进入调试状态,打开 窗口Peripherals-->IO-Port-->P0,改变开关状态, 运行程序到断点处,观察窗口的数值与开关的对应关系。
相关文档
最新文档