好文档 - 专业文书写作范文服务资料分享网站

实验二 I-O口输入、输出实验报告

天下 分享 时间: 加入收藏 我要投稿 点赞

单片机实验报告 2

姓名 学号

时间 地点

评 阅 实验题目 I/O口输入、输出实验

一、实验目的

1. 学习I/O口的使用方法。

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

二、实验仪器和设备

PC机、WAVE软件、仿真器+仿真头、实验板、电源等。

三、实验说明

本实验1通过单片机的I/O口控制LED的亮灭,从而观察I/O口的输出。实验2通过单片机的I/O口接受按键动作信息,然后通过LED和数码管指示。通过本实验学生可以掌握单片机I/O口输入输出的控制方法,同时也可以掌握单片机延时子程序、查表程序的编写和调试方法。要求预先编写好程序并通过伟福仿真软件调试。

四、实验内容

1、P0口做输出口,接八只LED,编写程序,使LED循环点亮,间隔0.5秒。 2、P1.0--P1.7作输入口接拨动开关S0--S7;P0.0--P0.7作输出口,接发光二极管L1—L8,编写程序读取开关状态,将此状态在对应的发光二极管上显示出来,同时将开关编号(0—7)显示在LED数码管上。编程时应注意P1作为输入口时应先置1,才能正确读入值。

五、实验电路连线

P0.0 ---- LED0 P1.0 ----- S0 P0.1 ---- LED1 P1.1 ----- S1 P0.2 ---- LED2 P1.2 ----- S2 P0.3 ---- LED3 P1.3 ------ S3 P0.4 ---- LED4 P1.4 ------ S4 P0.5 ---- LED5 P1.5 ------ S5 P0.6 ---- LED6 P1.6 ------ S7 P0.7 ---- LED7 P1.7 ------ S8

实验1:P0口循环点灯 实验2:P1、P0口输入输出

a g

f b a

b c d e f g h(dp)

e

h(dp)

实验2: LED数码管各段与I/O的连接 d

c

P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7

六、程序框图及程序

P0口循环点灯

ORG 0000H

MOV A,#07FH LP: MOV P0,A RR A LCALL DELAY LCALL DELAY SJMP LP

DELAY: MOV R2,#0FAH L1: MOV R3,#0FAH L2: DJNZ R3,L2 DJNZ R2,L1 RET

;设定程序汇编起始地址 ;设置初始值01111111 ;点亮LED0

;将A里面的值循环右移一位 ;调用延时子程序 ;循环点亮LED灯 ;0.25S的延时程序 ;2*250=500us

;500*250*2=250000us ;返回主程序

开始 设置初始值 数据输出 左移一位 延时 P1口输入/输出

ORG 0000 LOOP: MOV A,P1 CJNE A,0FFH,LED SJMP LOOP LED: MOV P0, A ACALL DELAY MOV R5 ,#00H LOOP1: RRC A JNC LOOP2 INC R5 SJMP LOOP1 LOOP2: MOV DPTR,#TAB MOV A,R5

;设定起始地址 ;读P1口

;查询是否有按键按下

;等待

;有键按下,将值读入P0 ;调用延时子程序 ;置计数初值=0 ;输入右移1位 ;若Cy=0,则数码显示 ;Cy=1,则计数加1 ;跳回继续移位 ;所查表的首地址赋给DPTR ;计数值做偏移量

MOV P1,#0FFH ;P1口置1

开始 P1口置1 读入P1口值 Y P1=0FFH? N 将读入的值输出到P0 置计数初值=0 MOVC A,@A+DPTR

MOV P2,A ;显示相应按键值 SJMP LOOP

TAB:DB 60H,0DAH,0F2H,66H ; DB 0B6H,0BEH,0E0H,0FEH ;

输入值右移1位到Cy Y Cy=0? N 计数值+1 DELAY: MOV R2,#0FAH L1: MOV R3,#0FAH L2: DJNZ R3,L2

DJNZ R2,L1 RET

;0.25S的延时程序 ;2*250=500us

;500*250*2=250000us ;返回主程序

以计数值查段码表

段码输出到P2 七、思考题

1、实验1欲改变LED循环的方向程序应如何修改?循环的时间间隔由什么决定?写出间隔时间为1秒的延时程序并说明计算方法。

答:改变LED循环的方向仅需要将(RR A)改成(RL A)即可。 循环的时间间隔由单条语句执行的时间和执行次数共同决定。

DELAY: ;1S的延时程序 DEL: MOV R7,#20 DEL1: MOV R6,#246 DEL2: MOV R5,#100

DEL3:DJNZ R5,DEL3 ;2*100=200μS

DJNZ R6,DEL2 ;(200+1+2)*246=49938μS DJNZ R7,DEL1 ;(49938+1+2)*20=998820us

2、51单片机I/O口的输入/输出逻辑电平是多少?其负载能力有多大?若用I/O口控制一个继电器(工作电压12V,工作电流100mA)电路该如何设计?

答:51单片机I/O口的输入/输出逻辑电平是5V。若要用I/O口控制一个继电器,可串接一个100欧的降压电阻实现驱动。

实验二 I-O口输入、输出实验报告

单片机实验报告2姓名学号时间地点评阅实验题目I/O口输入、输出实验一、实验目的1.学习I/O口的使用方法。2.学习延
推荐度:
点击下载文档文档为doc格式
3jp8m92a9062a888ee8x
领取福利

微信扫码领取福利

微信扫码分享