单片机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。

实验三 P3.3口输入,P1口输出

实验三 P3.3口输入,P1口输出
2、实验步骤
P3.3用导线连至K1开关,P1.0~P1.7导线连至L1~L8,K1拨动一次,L1~L8发光二极管按16进制方式加一点亮。
3、参考程序
四、思考题
1、如果要增加或者减少亮灯时间,应该如何修改程序?
在延时过程中,再加一次循环或减少一次循环,可以增加减少亮灯时间。
2、如果要使发光二极管以左移方式点亮,应该如何修改程序?
(可附页)
【单片机原理及应用】实验报告
班级:计13本2学号:姓名:
实验三P3.3口输入,P1口输出
实验类型
综合
实验日期
实验地点
实验时间(星期节次)
指导教师
实验组成员
一、实验目的及要求:
1、掌握P3口、P1口简单使用。
二、实验仪器:
计算机ቤተ መጻሕፍቲ ባይዱ
三、实验内容、步骤及程序
1、实验内容
P3.3口输入一脉冲,P1口按16进制加一方式点亮发光二极管。
将A寄存器的初值改为100H,将INC加一指令改为减一指令,
分析初值是100H而不是FF:因为DJNZ指令是在减一之后再判断为零,才跳转。
五、实验结果及总结:(你的实验过程用了多少时间?遇到了哪些难题?你是怎么解决的?你的收获有哪些?)刚开始,程序仿真只是不出来,仔细检查程序没问题,但就是出不来效果,最后是重启仿真软件,就好了可能是软件问题。

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模式。

数字量输入输出实验

数字量输入输出实验

数字量输入输出实验一、实验目的了解P1口作为输入输出方式使用时,CPU 对P1口的操作方式。

二、实验环境1、软件环境要求Windows XP操作系统以及Keil C51 单片机集成开发环境。

2、硬件环境要求电脑一台,TD-51单片机系统,开关及LED显示单元,单次脉冲单元。

三、实验内容编写实验程序,将P1口的低4位定义为输出,高4位定义为输入,数字量从P1口的高4位输入,从P1口的低4位输出控制发光二极管的亮灭。

提高部分:LED灯控制要求:通过KK1实现LED灯工作方式即时控制,完成LED灯左循环、右循环、间隔闪烁功能。

四、实验分析P1口是8位准双向口,每一位均可独立定义为输入输出,输入位置1。

通过A的左/右移位及赋值55H、0AAH,再将A值送入P1,可实现LED灯左循环、右循环、间隔闪烁功能。

五、实验步骤(一)基础实验程序及实验程序流程图如下。

实验程序:ORG 0000HLJMP MAINORG 0100HMAIN:MOV P1,#0F0H ;将开关状态送入P1高位MOV A,P1 ;送入ASWAP A ;高低位互换MOV P1,A ;将开关状态送入P1低位JMP MAIN ;循环SJMP $END程序流程图:图1 LED开关控制显示功能图图2 实验接线图实验步骤:1. 按图2所示,连接实验电路图,图中“圆圈”表示需要通过排线连接;2. 编写实验程序,编译链接无误后进入调试状态;3. 运行实验程序,观察实验现象,验证程序正确性;4. 按复位按键,结束程序运行,退出调试状态;5. 自行设计实验,验证单片机其它IO 口的使用。

(二)提高实验程序及实验程序流程图如下。

实验程序:实验程序流程图:ORG 0000HLJMP MAINORG 0100HMAIN:KT: ;检查KK1SETB P3.3JNB P3.3,KTCLR P3.3LL1: ;左循环MOV A,#01HX1:MOV P1,ACALL DELAYRL ASETB P3.3JNB P3.3,X1CLR P3.3LL2: ;右循环MOV A,#80HX2:MOV P1,ACALL DELAYRR ASETB P3.3JNB P3.3,X2CLR P3.3LL3: ;间隔闪烁MOV A,#55HMOV P1,ACALL DELAYMOV A,#0AAHMOV P1,ACALL DELAYSETB P3.3JNB P3.3,LL3CLR P3.3JMP KTDELAY: ;延时子程序MOV R2,#00H图3 实验流程图MOV R3,#00HABC:DJNZ R2,ABCDJNZ R3,ABCRETSJMP $END实验步骤:(1)按图4连接实验电路;(2)编写实验程序,编译、链接无误后启动调试;(3)运行实验程序,每按一次KK1+,观察实验现象;(4)验证程序功能,实验结束按复位按键退出调试。

P1口输入输出实验报告

P1口输入输出实验报告

实验六P1口输入、输出实验1.实验目的1)学习单片机的P1口作为I/O口的使用方法,进一步学习指令系统,了解硬件的连接方法;2)学习延时子程序的编写和使用。

2.实验要求:P1.0~ P.3口做输出口,接四只发光二极管L0~L3 ; P1.4~ P.7 接逻辑电平开关电路的S0 ~S3。

编写程序,使发光二极管反映开关的状态。

3.实验说明P1口是准双向口。

它作为输出口时与一般的双向口使用方法相同。

由准双向口结构可知当P1口用为输入口时,必须先对它置“1”。

若不先对它置“1”,读入的数据不一定正确。

80C51可以将位变量通过C标志位赋值给其它位。

8051延时子程序的延时计算问题,对于程序Delay:MOV R6,#00HMOV R7, #00HDelayLoop:DJNZ R6,DelayLoopDJNZ R7,DelayLoopRET查指令表可知MOV,DJNZ指令均需用两个机器周期,在6MHz晶振时,一个机器周期时间长度为12/6MHZ,所以该段程序执行时间为:(256×255+2)×2×12÷6 ≈261ms4.连线图P1.0——LED0P1.1——LED1P1.2——LED2P1.3——LED3P1.4——S0 P1.5——S1P1.6——S2P1.7——S35.实验内容1)使用仪器、仪表,开发平台型号本实验用到了WAVE 6000软件平台,电脑一台,LAB6000实验箱,若干连线,串行数据线。

2) 性能指标、技术要求、思路方案、流程图5.2.1 性能指标、技术要求见实验目的和实验要求。

5.2.2 思路方案:先将连在P1.4----P1.7的数据读入,然后将其输出到P1.0-P1.3口,最后显示到发光二极管。

5.2.3 流程图:P1口输入输出实验备注:因为是反复地查看拨码开关的状态,故框图中没有结束标志。

3) 源程序ORG 0000HLJMP BEGINBEGIN:MOV P1,#0FFH ;当P1口用为输入口时,必须先对它置“1”;若不先对它置“1”,读入的数据不一定正确MOV A,P1 ;读端口数据SWAP A ;交换高低4位MOV P1,A ;写端口LCALL DELAY ;延时子程序JMP BEGIN ;循环DELAY:MOV R6,#0FFH ;FFH 是为了与下面的对应MOV R7,#22HDelayLoop:DJNZ R6,DelayLoopDJNZ R7,DelayLoopRET4)实验步骤,完成情况4.1在WAVE 6000中新建文件,并将代码写入文件中,保存为EXPERIMENT6.ASM;4.2在WAVE 6000中新建项目,并在模块文件中包含上述EXPERIMENT6.ASM文件,最后保存为EXPERIMENT6.PRG。

单片机实验报告

单片机实验报告

单片机实验报告班级: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 里边怎样设置每页不同的页眉?如何使不同的章节显示的页眉不同?答:分节,每节可以设置不同的页眉。

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 口输入、输出实验一、实验目的掌握单片机P1口、P3口的使用方法。

二、实验内容以P1 口为输出口,接八位逻辑电平显示,LED 显示跑马灯效果。

以P3 口为输入口,接八位逻辑电平输出,用来控制跑马灯的方向。

三、实验要求根据实验内容编写一个程序,并在实验仪上调试和验证。

四、实验步骤1)系统各跳线器处在初始设置状态。

用导线连接八位逻辑电平输出模块的K0 到CPU 模块的RXD(P3.0 口);用8 位数据线连接八位逻辑电平显示模块的JD4B 到CPU 模块的JD8(P1 口)。

2)启动PC 机,打开THGMW-51 软件,输入源程序,并编译源程序。

编译无误后,下载程序运行。

3)观察发光二极管显示跑马灯效果,拨动K0 可改变跑马灯的方向。

五、实验参考程序本实验参考程序:;//******************************************************************;文件名: Port for MCU51;功能: I/O口输入、输出实验;接线: 用导线连接八位逻辑电平输出模块的K0到CPU模块的RXD(P3.0口);;用8位数据线连接八位逻辑电平显示模块的JD2B到CPU模块的JD8(P1口)。

;//******************************************************************DIR BIT P3.0ORG 0000HLJMP STARTORG 0100HSTART:OUTPUT1:MOV A, #0FEHMOV R5, #8LOOP1:CLR CMOV C,DIRJC OUTPUT2MOV P1, ARL AACALL DELAYDJNZ R5, LOOP1SJMP OUTPUT1OUTPUT2:MOV A, #07FHMOV R5, #8LOOP2:CLR CMOV C,DIRJNC OUTPUT1MOV P1, ARR AACALL DELAYDJNZ R5,LOOP2SJMP OUTPUT2DELAY:MOV R6,#0DELAYLOOP1:MOV R7,#0DELAYLOOP2:NOPNOPDJNZ R7,DELAYLOOP2DJNZ R6,DELAYLOOP1RET六.实验现象及心得:现象:打开开关,可以观察到L1到L7灯循环点亮。

P1、P3口输入输出实验

P1、P3口输入输出实验

实验二 P1、P3口输入输出实验一、实验目的进一步熟悉keil仿真软件、proteus仿真软件的使用。

了解并熟悉单片机I/O口和LED灯的电路结构,学会构建简单的流水灯电路。

掌握C51中单片机I/O口的编程方法和使用I/O口进行输入输出的注意事项。

二、实验原理MCS-51系列单片机有四组8位并行I/O口,记作P0、P1、P2和P3。

每组I/O口内部都有8位数据输入缓冲器、8位数据输出锁存器及数据输出驱动等电路。

四组并行I/O端口即可以按字节操作,又可以按位操作。

当系统没有扩展外部器件时,I/O端口用作双向输入输出口;当系统作外部扩展时,使用P0、P2口作系统地址和数据总线、P3口有第二功能,与MCS-51的内部功能器件配合使用。

P1口的位结构如图1所示。

P1口用作双向输入输出端口。

这时图中多路开关的控制信号为低电平,输出与锁存器的反向输出端相连,同时上面的场效应管由于与门输出为低电平而截止。

三、实验设备与器件硬件:微机、单片机仿真器、单片机实验板、连线若干软件:KEIL C51单片机仿真调试软件,Proteus系列仿真调试软件四、实验内容及结果分析用Proteus仿真软件设计流水灯电路,分别实现下列功能:P3口作为输入口读取开关状态,P1口作为输出口,连续运行程序,发光二极管显示开关状态。

如果是下载式实验仪,在程序装载前,必须使P3口的拨动开关处于高电平状态。

并且不能单步调试,只能连续执行。

完整的电路图如图所示。

2)利用keil软件编写相应的程序:a、运行keil 2软件,启动后,点击Project菜单新建项目,如图6所示。

b 、新建项目后,选择仿真单片机的型号,如图7所示:c、单击File菜单的“New”新建程序文件,再右击“Source Group1”添加文件,如图 8、图9所示:d、在软件的程序编写界面编写相应的程序。

点击按钮运行程序,确认无误后,点击,图5 完整电路图图6 新建项目界面图7 单片机型号选择图8 新建程序文件图9 添加文件在弹出的窗口中选择Output 选项卡,勾选选项,之后点击按钮,最后再点击按钮,生成hex 文件。

实验三P3.3口输入、P1口输出实验

实验三P3.3口输入、P1口输出实验

实验三 4.1 P3.3口输入、P1口输出实验系别专业:电子系12级电信2班学号:3121003210姓名:李书杰指导老师:刘志群老师4.1.1 实验要求1. 复习Keil C51调试硬件的操作方法。

2. 复习单片机作为通用I/O口的注意事项。

3. 复习单片机操作I/O口的程序设计方法。

4.1.2 实验设备PC 机一台,TD-NMC+教学实验系统4.1.3 实验目的1. 熟悉单片机仿真实验软件Keil C51调试硬件的方法。

2. 了解P3、P1口作通用I/O口的使用方法。

3. 掌握延时子程序的编写和使用方法。

4. 了解单片机对简单I/O的扩展方法。

4.1.4 实验内容实验1根据TD-NMC+实验平台的单元电路,构建一个硬件系统,并编写实验程序实现如下功能:将P1口的低4位定义为输出,高4位定义为输入,数字量从P1口的高4位输入,从P1口的低4位输出控制发光二极管的亮灭。

程序如下:KEY:MOV P1,#0F0H ;令所有行为低电平KEY1:MOV R7,#0FFH ;设置计数常数DJNZ R7,KEY1 ;延时MOV A, P1 ;读取P1口的列值ANL A,#0F0H ;判别有键值按下吗?CPL A ;求反后,有高电平就有键按下JZ EKEY ;无键按下时退出LCALL DEL20 ms ;延时20 ms去抖动SKEY:MOV A,#00 ;下面进行行扫描,1行1行扫MOV R0,A ;R0作为行计数器,开始为0MOV R1,A ;R1作为列计数器,开始为0MOV R3 #0FEH ;R3暂存行扫描字,低4位为行扫描字SKEY2:MOV A,R3MOV P1,A ;输出行扫描字,高4位全1NOPNOPNOPMOV A,P1 ;读列值MOV R1,A ;暂存列值ANL A,#0F0H ;取列值CPL A ;高电平则有键闭合S123:JNZ SKEY3 ;有键按下转SKEY3INC R0 ;行计数器加1SETB C ;准备将行扫描左移1位,;形成下一行扫描字,C=1保证输出行扫描字中高4位全为1,;为列输入作准备,低4位中只有1位为0MOV A,R3 ;R3带进位C左移1位RLC AMOV R3,A ;形成下一行扫描字→R3MOV A,R0CJNE A,#04H,SKEY1 ;最后一行扫(4次)完了吗?EKEY:RET;列号译码SKEY3:MOV A,R1JNB ACC.4,SKEY5JNB ACC.5,SKEY6JNB ACC.6,SKEY7JNB ACC.7,SKEY8AJMP EKEYSKEY5:MOV A,#00HMOV R2,A ;存0列号AJMP DKEYSKEY6:MOV A,#01HMOV R2,A ;存1列号AJMP DKEYSKEY7:MOV A,#02HMOV R2,A ;存2列号AJMP DKEYSKEY8:MOV A,#03HMOV R2,A ;存3列号AJMP DKEY;键位置译码DKEY:MOV A,R0 ;取行号ACALL DECODEAJMP EKEY;键值(键号)译码DECODE:MOV A,R0 ;取行号送AMOV B,#04H ;每一行按键个数MUL AB ;行号×按键数ADD A,R2 ;行号×按键数+列号=键值RET实验2根据TD-NMC+实验平台的单元电路,构建一个硬件系统,并编写实验程序实现如下功能:将P3.3口作状态输入口(接一个逻辑开关,即拨码开关),P1口做输入口(接八只发光二极管D0~D7)。

-单片机报告第一个实验p1口输入输出实验

-单片机报告第一个实验p1口输入输出实验

-单片机报告第一个实验p1口输入输出实验南京工程学院实验成绩电工电子实验报告课程名称:单片机原理及接口技术实验项目名称: P1口输入、输出实验实验学生班级: D自集成111 实验学生姓名:吴弟实验学生学号:233110138 同组学生姓名:实验指导老师:曾宪阳屈波孙来业陆红伟实验时间: 2021.4.1 实验地点:B302工业中心预习报告实验目的:1、学习P1口的使用方法。

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

3、理解读引脚和读锁存器的区别。

主要实验仪器:1、计算机一台2、实验箱一台实验原理及主要工作:1、P1口是准双向口。

它作为输出口时与一般的双向口使用方法相同。

由准双向口结构可知当P1口作为输入口时,必须先对它置高电平使内部MOS管截止。

因为内部上拉电阻阻值是20KΩ~40KΩ,故不会对外部输入产生影响。

若不先对它置高,且原来是低电平,则MOS管导通,读入的数据是不正确的。

2.8051延时子程序的延时计算问题,对应程序DELAY: MOV R6,#0H MOV R7, #0H DELAYLP:工程基础实验与训练中心实验报告DJNZ R6,DELAYLP DJNZ R7,DELAYLP RET 查指令表可知MOV,DJNZ指令均需用两个机器周期,在6MHz晶振时,一个机器周期时间长度为12/6MHZ,所以该段程序执行时间为:(256×255+2)×2×12÷6 ≈ 261ms 实验电路与连线:实验 1 P1口循环点灯连线连接孔1 连接孔2 1 P1.0L0 2 P1.1 L13 P1.2 L2 4P1.3 L3实验 2 P1口输入输出连线连接孔1 连接孔2 1 K0P1.0 2 K1 P1.13 P1.2 L4 4P1.3 L5P1.0 ●―――● LED0 K0 ●―――● P1.0P1.1 ●―――● LED1 K1 ●―――● P1.1P1.2 ●―――● LED2 K1 ●―――● P1.1P1.3 ●―――● LED3 P1.3 ●―――● L5工程基础实验与训练中心实验报告预习中遇到的问题及思考:1、对延时程序的计算不太熟悉2、实际应用中对p1口的内部具体性能掌握的不是太好。

第3篇1讲P1口的输入输出操作

第3篇1讲P1口的输入输出操作

(3)基于 for 语句构成的循环
• • • • • • • • for(表达式1;表达式2;表达式3) { 语句;} 它的执行过程是: 如: for( y=0; y<=99; y=y+3) { delay(33); px=~px; }
几种情况:
• (1)for语句中小括号内的3个表达式 全部为空---无限循环 • for(;;) • { ... } • 没有设初值,无判断条件,循环变量为 增值。这将导致一个无限循环。
(2)形式二
• if(表达式){语句1;} else {语句2;}
例如: if(x>y) {max=x;} else {min=y;}
(3)形式三
• • • • • • if(表达式1){语句1;} else if(表达式2){语句2;} else if(表达式3){语句3;} ... else if(表达式m){语句m;} else {语句n;}
• void main( ) • { while(1) • { K0=1;K1=1;K2=1;K3=1; • LED0=K0; LED1=K1; • LED2=K2; LED3=K3; • } • }
请修改:
• (1)开关闭合时灯灭 D2L2A.C • (2)K0控制L3,„„.. D2L2B.C • (3)只有K0K1两个开关,编程: D2L2C.C • K1 K0 D3 D2 D1 D0
(1)基于“while”的“当”型循环
• while语句只能用来实现“当型”循环
• • • • 一般格式如下: while(表达式) { 语句; }
如:
• main( ) • { int i, sum=0; • i=1; • while(i<=100) • { sum=sum+i; i++; • } • print(“%d”,sum); •}

单片机原理与应用(8051单片机P1口应用实验)

单片机原理与应用(8051单片机P1口应用实验)
《单片微机原理与应用》实验课件一
8051单片机P1口应用实验
实验目的与要求
学习8051单片机P1口作为双向I/O口的使用方法, 采用循环指令编写延时子程序。了解用弱电控制强电的 基本原理,采用单片机P1口实现继电器开关控制。 ① 采用8051单片机的P1口做输出口,接4只发光 二极管,编写程序,使发光二极管循环点亮。 ② 采用P1.0,P1.1作输入口接两个拨动开关, P1.2,P1.3作输出口,接两个发光二极管,编写程序 读取开关状态,并将此状态在发光二极管上显示出来。 ③ 采用P1口输出电平控制继电器的吸合和断开,从 而实现对外部装置的开关量控制。 ④ 采用P1口控制音频电路发声。
低4位为T0的控制字,高4位为T1的控制字
GATE为门控位 它对定时/计数器的启动起辅助控制作 用。 C/T为方式选择位 C/T = 0为定时器方式 C/T =1为计数器方式 M1、M0二位的状态确定定时/计数器的 工作方式
定时/计数器控制寄存器TCON的地址为 88H,格式如下:
D7 TF1 D6 TR1 D5 TF0 D4 TR0 D3 IE1 D2 IT1 D1 IE0 D0 IT0
程序参考流程 框图如右图:
采用P1口作输入和输出
由P1口的准双向口结构可知,当作为 输入口时,必须先对它置“1”。若不先对 它置“1”,读入的数据是不正确的。实验 所需要LED电平显示电路和逻辑电平开关 电路如图所示。
程序参考 流程框图如 右:
在实验系统 上如表所示连线。 执行上述程序, 发光二极管LED 将随拨动开关的 位置而点亮或熄 灭.
8051单片机有四个并行I/O口,称为 P0、P1、P2、P3,每个口都有8根引脚, 它们都是双向通道,每一条I/O引脚都能 独立地用作输入或输出,作输出时数据可 以锁存,作输入时数据可以缓冲。

单片机实验报告

单片机实验报告

单⽚机实验报告单⽚机原理及接⼝技术实验报告班级学号:姓名:实验⼀P1⼝输⼊输出实验与P1、P3⼝输⼊输出实验⼀、实验⽬的及任务学习P1、P3⼝的使⽤⽅法,熟练HICE单⽚机试验系统的操作步骤。

⼆、实验总体设计本实验分为两部分:P1⼝和P1、P3⼝输⼊输出实验。

1、P1⼝是⼀个准双向⼝,外接⼋个发光⼆极管,连续运⾏程序,发光⼆极管循环点亮2、P3⼝作为输⼊读取开关状态,P1⼝作为输出⼝,连续运⾏程序,发光⼆级管显⽰开关状态。

3、设计思路如下:(1)、开始——>P1⼝初始化——>点亮⼀位发光⼆极管——>右移⼀位——>循环;(2)、开始——>初始化——>P3⼝开关状态送到P1⼝——>驱动发光⼆极管——>延时三、试验程序框图及实验电路(实验电路及连线详见附录)四、软件设计⼀、P1⼝输⼊输出程序代码:#inc lud e#def ine uc har un sig ned ch ar#def ine ui nt uns ign ed intucha r r rc(uch ar a,n);ucha r r rc(uch ar a,n) //循环右移⼦程序{ucha r b,c;b=a<<(8-n);c=a>>n;a=c|b;retu rn(a);}void ma in(){ucha r i,te mp;uint j;P1=0xff;loop:temp=0x7f;for(i=0;i<8;i++){P1=r rc(tem p,i);for(j=0;j<30000;j++);//延时}}⼆、和P1、P3⼝输⼊输出实验。

#i ncl ude#def ine uc har un sig ned ch ar#def ine ui nt uns ign ed intvoid ma in(){uint j;loop:P1=0XFF;P1=P3;//读取P3⼝状态送P1⼝for(j=0;j<5000;j++);//延时goto lo op;}五、硬件设计1、仿真模式设置:8752模式,仿真存储器模式选择:内程序存储器外数据存储器;2、仿真器P3.6/P3.7短路块设置在WR/RD状态(见仿真器说明书跳线设置)。

C51单片机P1口输出实验报告

C51单片机P1口输出实验报告

C51单片机P1口输出实验报告引言C51单片机是一种经典的8位微控制器,广泛应用于嵌入式系统和电子设备中。

在这个实验中,我们将学习如何使用C51单片机的P1口(端口1)作为输出口,控制外部设备。

本实验旨在帮助我们理解C51单片机的IO口控制和程序设计。

实验目的本实验旨在通过实际操作了解以下内容: - 了解C51单片机P1口(端口1)的基本知识; - 学习如何通过P1口输出高低电平信号; - 熟悉使用C语言编写单片机程序来控制P1口的操作; - 实践中了解C51单片机的驱动程序编写和调试技巧。

实验材料•C51单片机开发板;•电脑;•USB数据线。

实验步骤步骤1: 准备工作1.将C51单片机开发板插入电脑USB接口,确保驱动程序正确安装;2.打开Keil µVision软件,创建新的C语言项目;3.配置项目设置,选择C51单片机作为目标设备,并设置相应的时钟频率;4.在项目根目录下创建一个新的源文件,命名为main.c。

步骤2: 程序编写在main.c源文件中编写以下代码:#include <reg51.h>void delay(unsigned int count) {while(count--);}void main() {P1 = 0x00; // 将P1口置为低电平delay(10000); // 延迟一段时间P1 = 0xFF; // 将P1口置为高电平delay(10000); // 延迟一段时间}步骤3: 烧写程序1.点击Keil µVision软件的烧写按钮,将程序烧写到C51单片机开发板;2.确认烧写成功后,断开开发板与电脑的连接。

步骤4: 连接外部设备1.准备一个LED灯和一个220欧姆的限流电阻;2.将LED的长脚连接到C51单片机的P1口,将LED的短脚通过限流电阻连接到单片机的GND端。

步骤5: 实验现象1.连接好外部设备后,重新将开发板与电脑连接;2.单片机上的LED灯将会开始闪烁,每隔一段时间从亮变暗、从暗变亮;3.若实验现象与预期相符,说明实验成功。

单片机P1口输入输出实验

单片机P1口输入输出实验
•9
单片机P1口输入输出实 验
单片机可靠的复位是保证单片机正常运行的关键因素。 因此,在设计复位电路时,通常要使RST引脚保持10ms以 上的高电平。当RST从高电平变为低电平之后,单片机就从 0000H地址开始执行程序。本电路是上电自动复位。
将8个LED接在单片机P1端口的P1.0-P1.7引脚上,注意 LED有长短两个引脚,分别表示正负极,其中较短的负极接 单片机,较长的为正极,通过限流电阻R与Vcc相连。
单片机P1口输入输出实 验
单片机端口是集数据输入缓冲、数据输出驱动及 锁存等多项功能一体I/O的电路,特别是把握它准 双向、多功能的特点。单片机4个并行端口是P0、 P1、P2、P3。本实验只讨论P1端口。
1、实验目的
通过实验了解P1口作为输入输出方式使用 时,CPU对P1口操作方式。
•1
单片机P1口输入输出实 2、验实验要求(1)、2)为必做,3)为选做)
•11
单片机P1口输入输出实验
图3 P1端口的一位结构
•12
单片机P1口输入输出实验
5、程序设计
P1口输出控制程序的设计主要包括控制输出程序设计与延时程序设计。 (1)输出控制:当P1.5端口输出低电平,即P1.5=0,这时LED亮,反 之,LED灭,可以使用P1.5=0指令使P1.5端口输出低电平,同样利用指 令使P1.5端口输出高电平。
灭;
状态3:8个LED发光二极管
全灭后,从左右两边开始同时点亮LED发光二极管,全亮
后,8个LED发光二极管再明暗一起闪烁2次 ?
•3
单片机P1口输入输出实 验
3、实验设备与仪器 单片机应用与仿真开发实验台,PC机,
E6000/L仿真器+POD-51仿真头、 Wave软硬件仿真软件。

实验二_单片机P1口输入输出及中断实验

实验二_单片机P1口输入输出及中断实验

单片机P1口输入输出及外部中断实验一、实验目的1、学习P1口的使用方法。

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

3、熟练在汇编软件环境下编写、修改、调试、和运行硬件程序4、熟悉汇编语言二、实验说明1、P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。

2、P1.0,P1.1作输入口接两个拨动开关,P1.2,P1.3作输出口,接两个发光二极管,编写程序读取开关状态,将此状态,在发光二极管上显示出来。

编程时应注意P1.0,P1.1作为输入口时应先置1,才能正确读入值。

3、用单次脉冲申请中断,在中断处理程序中使P1.0的输出状态发生反转,并通过发光二极管观察P1.0的电平。

三、实验仪器计算机伟福软件(lab2000P )四、实验内容1、P1口是准双向口。

它作为输出口时与一般的双向口使用方法相同。

由准双向口结构可知当P1口用为输入口时,必须先对它置“1”。

若不先对它置“1”,读入的数据是不正确的。

2、8051延时子程序的延时计算问题,计算和估算延时子程序的时间。

3、保护进入中断时的状态,并在退出中断之前恢复进入时的状态。

4、必须在中断程序中设定是否允许中断重入,即设置EXO位。

1> 关于延时子程序的时间计算,查指令表可知MOV和DJNZ指令均需用两个机器周期,在6MHz晶振时,一个机器周期时间长度为12/6MHZ,所以上面延时子程序该的执行时间为:(256×255+2)×2×12÷6 ≈261ms2>采用P1口作输出P1口是准双向口,它作为输出口使用时具有锁存功能。

实验所需要LED电平显示电路如图所示。

3>采用P1口作输入和输出由P1口的准双向口结构可知,当作为输入口时,必须先对它置“1”。

若不先对它置“1”,读入的数据是不正确的。

实验所需要LED电平显示电路和逻辑电平开关电路如图所示。

思考题1、改变延时时间,变快或者变慢,观察效果;2、第2个实验在每个端口增加软件延时,延时时间变快或者变慢,观察拨动开关响应效果;3、改变流水灯的运行方向;4、改变流水灯的运行模式,双灯对跑,双灯一起跑。

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

设置好仿真器类型、仿真头类型以及CPU类型,并注 意是否“使用伟福软件模拟器”,若使用硬件仿真,请 去掉“使用伟福软件模拟器”前的选择。接着测试通讯 口。
图5
仿真软件状态设置通讯口测试
可在此窗口下进行包括新建、打开、保存,将源文件编译 成目标文件等文件操作。执行程序,观察实验台LED的变化。
图6
单片机P1口输入输出实验
单片机可靠的复位是保证单片机正常运行的关键因素。 因此,在设计复位电路时,通常要使RST引脚保持10ms以上 的高电平。当RST从高电平变为低电平之后,单片机就从 0000H地址开始执行程序。本电路是上电自动复位。 将8个LED接在单片机P1端口的P1.0-P1.7引脚上,注意 LED有长短两个引脚,分别表示正负极,其中较短的负极接 单片机,较长的为正极,通过限流电阻R与Vcc相连。 本实验只需将8个LED与P1口相连。单片机的P0、P1、 P2、P3端口都可以用来控制LED。(反过去再看设备)
1、实验目的
通过实验了解P1口作为输入输出方式使用
时,CPU对P1口操作方式。
单片机P1口输入输出实验
2、实验要求(1)、2)为必做,3)为选做)
1)在P1.5端口上接一个发光二极管LED,编写程序,使LED 不停地一亮一灭,一亮一灭的时间间隔为0.2s(其输出端 为低电平时发光二极管点亮) 。 2)P1.0-P1.3作输入口接拨动开关K1-K4;P1.4-P1.7作 输出口,接发光二极管LED1-LED4,读取开关状态,将此 状态在LED1-LED4上显示出来。
3) P1口作输出口,接8只发光二极管LED1-LED8(其输出 端为低电平时发光二极管点亮),编写程序。 状态1:控制系统通电或复位后,8个LED发光二极管依次从 左到右开始逐个点亮; 状态2:8个LED发光二极管全亮后,从右向左LED发光二极 管再逐个熄灭; 状态3:8个LED发光二极管全灭后,从左右两边开始同时点 亮LED发光二极管,全亮后,8个LED发光二极管再明暗一起 闪烁2次 ?
8、思考题
1)说明单片机各个引脚的功能及作用,比较P0,P3端口的异同? 2)时钟周期、机器周期的关系是什么?在单片机外部晶振为12M时,下面 的延时子程序延时了多少时间?当晶振为6M时呢? DELAY: MOV R5,#08H DL1: MOV R6,#00H DL2: MOV R7,#80H DJNZ R7,$ DJNZ R6,DL2 DJNZ R5,DL1 RET
单片机P1口输入输出实验
图3
P1端口的一位结构
单片机P1口输入输出实验
5、程序设计
P1口输出控制程序的设计主要包括控制输出程序设计与延时程序设计。 (1)输出控制:当P1.5端口输出低电平,即P1.5=0,这时LED亮,反之, LED灭,可以使用P1.5=0指令使P1.5端口输出低电平,同样利用指令使 P1.5端口输出高电平。 (2)延时程序:单片机指令的执行时间是很短的,数量大多是微秒级, 因此,我们要求的闪烁时间间隔为0.2s,相对于微秒来说,相差太大, 因此在执行某一指令时,插入延时程,来解决这一问题。 开关状态检测过程: 0 单片机对开关状态的检测相对于单片机来说,是从单片机的端口输 入信号,而输入的信号只有高电平和低电平两种,要能正确输入信号, 先使P1端口P1.0-P1.3置1。可轮流检测每个开关状态,根据每个开关的 状态让相应的二极管指示,也可以一次性检测四路开关状态,9C51
C1 C2
图2 P1口某一I/O口线反转输出电路

FB: CPL P1.0 ;P1.1取反 ACALL DELAY2MS SJMP FB DELAY2MS:MOV R7,#10;2MS延时子程序 DL1:MOV R6,#48 DL2:NOP NOP DJNZ R6,DL2 DJNZ R7,DL1 RET
单片机P1口输入输出实验
4、硬件设计
C1 C2
89C51 图2 P1口输出电路
单片机P1口输入输出实验
2)程序流程如图4所示。
图4
P1口输出程序流程图
单片机P1口输入输出实验
3)参考程序(单片机P1端口接8只LED,每次点亮一只,向左移动点亮,重 复循环。) ORG 0000H START: MOV R0, #8 ;设左移8次 MOV A, #11111110B ;存入开始点亮灯位置 LOOP: MOV P1, A ;传送到P1并输出 ACALL DELAY ;调延时子程序 RL A ;左移一位 DJNZ R0, LOOP ;判断移动次数 JMP START ;重新设定显示值 DELAY: MOV R5,#50 ;延时子程序 DLY1: MOV R6,#100 DLY2: MOV R7,#100 DJNZ R7,$ DJNZ R6,DLY2 DJNZ R5,DLY1 RET ;子程序返回 END ;程序结束
单片机P1口输入输出实验
3、实验设备与仪器
单片机应用与仿真开发实验台,PC机, E6000/L仿真器+POD-51仿真头、Wave软硬 件仿真软件。
单片机应用与仿真开发实验台
图1
单片机应用与仿真开发实验台
单片机P1口输入输出实验
此实验就是一个基于单片机最小系统的系统设 计实验,是单片机应用系统中一个比较简单而直观 的控制系统。它包括了单片机控制系统硬件线路及 控制软件的设计,是一个完整的小型控制系统。对 该系统外围控制线路进行适当的修改,可直接用于 设计街景彩灯(应用)。
1)无条件传送方式
ORG 0000H LPP: ORL P2,#0F0H MOV A,P1 SWAP A MOV P1,A MOV R1,#0FFH LP: MOV R2,#0FFH DJNZ R2,$ DJNZ R1,LP SJMP LPP
单片机P1口输入输出实验
2、实验要求(1)、2)为必做,3)为选做)
单片机I/O口输入输出实验 (或单片机数字量输入输出实验)
单片机P1口输入输出实验
实验重点:硬件设计、程序设计、现象分析 实验难点:实际应用
单片机P1口输入输出实验
单片机端口是集数据输入缓冲、数据输出驱动 及锁存等多项功能一体I/O的电路,特别是把握它 准双向、多功能的特点。单片机4个并行端口是P0、 P1、P2、P3。本实验只讨论标准I/O口。
单片机P1口输入输出实验
6、实验步骤 实际操作注意之处
1)安装好仿真器,用串行数据通信线连接计算机与仿真器,把仿 真头插到模块的单片机插座中,打开实验台电源,打开仿真器电 源,打开电脑。 2)启动计算机,打开伟福仿真软件,进入仿真环境。首进行仿真 器的设置,选择仿真器型号、仿真头型号、CPU类型。选择通信端 口,点击测试串行口,通信成功便可退出设置,进行仿真。 3)在编辑窗口输入源程序,保存,文件名为T1.ASM。对T1.ASM源 程序进行编译,编译无误后,执行程序,观察LED变化,分析此现 象。 4)编写内容2的T2.ASM源程序,按以上步骤调试该程序,观察实验 现象并分析。 5)实验连线:P1.5接LED;…
源程序编写编译调试
单片机P1口输入输出实验
7、实验报告要求
1)实验报告要求有实验目的、要求、设备或仪器、硬件软件设计、步骤、 现象分析、应用分析。现象分析、应用分析填在报告本的原始数据栏。 2)画出实验要求2)硬件设计电路图、程序设计流程图、程序设计清单。 3)写出实验要求3)的程序设计清单? 4)写出实验过程中所遇到的问题与解决的办法。
单片机P1口输入输出实验
5、程序设计
1)工作原理 P1口定义为带有上拉电阻8位准双向I/O口,功能单一, 每一位可独立定义为输入输出,CPU对P1口操作可以是字节操 作,也可以是位操作。P1作为输出口使用时,它的内部电路 已经提供了一个推拉电流负载,外接了一个上拉电阻,外电 路无需再接上拉电阻,与一般的双向口使用方法相同;作为 输入口使用时,应先向其锁存器写入“1”,使输出驱动电路 的FET截止。若不先对它置“1”,读入的数据是不准确的。
单片机4个并行端口P0、P1、P2、P3有着不同 的结构特点和功用。
单片机P1口输入输出实验
LED循环轮流点亮设计电路如图2所示。将51单片 机第40脚Vcc接电源+5V,第20脚Vss接地,为单片机工作 提供能源。 将第19脚XTAL1与18脚XTAL2分别接外部晶体两个引 脚,由石英晶体组成振荡器,保证单片机内部各部分有 序地工作。对外部C1、C2的取值虽然没有严格的要求, 但电容的大小会影响到振荡器频率的高低、振荡器的稳 定性、起振的快速性。C1、C2通常取值C1=C2=30PF左右。 8051的晶振最高振荡频率为12M,AT89C51的外部晶振最 高频率可到24M。
相关文档
最新文档