admin管理员组文章数量:1567259
2024年4月24日发(作者:)
上海电力学院
单片机实验报告
题 目:
P3.3口输入 P1口输出
院 系: 电自学院
班 级:
学生姓名: 学号:
指导教师:
年月日
一、 实验目的
1、掌握单片机P3口、P1口简单使用。
2、学习延时程序的编写和使用。
二、 实验内容
1、P3.3口做输入口,外接一脉冲,每输入一个脉冲,P1口按十六进制加一
输出。
2、P1口做输出口,编写程序,使P1口接的8个发光二极管L0—L7按16
进制加一的方式点亮发光二极管。
三、 实验说明
1、P1口是准双向口,它作为输出口时与一般的双向口使用方法相同,由
准双向口结构可知:当P1口作为输入口时,必须先对它置高电平,使
内部MOS管截止,因内部上拉电阻是20KΩ—40KΩ,故不会对外部
输入产生影响。若不先对它置高,且原来是低电平,则MOS管导通,
读入的数据不正确。
2、延时子程序的延时计算。
对于延时的程序
DELAY :MOV R6,#00H
DELAY1:MOV R7,#80H
DJNZ R7,$
DJNZ R6,DELAY1
查指令表可知MOV、DJNZ指令均需用两个机器周期,而一个机器周期
时间长度为12/ 6.0MHZ,所以该段指令执行时间为:
(((128+1)×256)+1)×2×(12÷6000000)=132.1ms。
四、 实验原理图
图(1-1)
五、 实验程序框图
主程序:
开 始
P3.3为高吗?
N
P3.3真的为高吗?
Y
Y
延时子程序:
R6设初值FFH
R7设初值FFH
N
延 时
N
R7-1=0否?
Y
R6-1=0否?
N
Y
Y
返 回
P3.3为低吗?
N
图(1-3)
延 时
A+1送P1口
循 环
图(1-2)
六、 实验步骤
1、P3.3用插针连至K1,JU2(P1.0~P1.7)用8芯线连至JL(L0~L7)。
2、调试、运行程序test1中的。
3、开关K1每拨动一次,L0~L7发光二极管按16进制方式加一点亮。
七、实验程序
ORG 0000h
AJMP HA1S
ORG 0030H
HA1S: MOV A,#00H
HA1S1: JB P3.3,HA1S1
MOV R2,#20H
LCALL DELAY
JB P3.3,HA1S1
HA1S2: JNB P3.3,HA1S2
MOV R2,#20H
LCALL DELAY
JNB P3.3,HA1S2
INC A
PUSH ACC
MOV P1,A
POP ACC
AJMP HA1S1
DELAY:PUSH 02H
DELAY1: PUSH 02H
DELAY2: PUSH 02H
DELAY3: DJNZ R2,DELAY3
POP 02H
DJNZ R2,DELAY2
POP 02H
DJNZ R2,DELAY1
POP 02H
DJNZ R2,DELAY
RET
END
八、实验心得
通过本次实验我基本学会了单片机P3口、P1口简单使用和延时程序的编写
及使用。虽然实验中我也遇到了一些问题,如结果无法显示等,但在老师的指导、
帮助下,我最后还是完成了本次实验的实验要求。
版权声明:本文标题:P3.3口输入 P1口输出 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dongtai/1713972556a380930.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论