整理P3.3口输入 P1口输出.pptxVIP

  • 37
  • 0
  • 约1.41千字
  • 约 4页
  • 2021-01-23 发布于广东
  • 举报
上海电力学院 单片机实验报告 题 目: P3.3 口输入 P1 口输出 院 系: 电自学院 班 级: 学生姓名: 学号: 指导教师: 1 年月日 一、 实验目的 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 DELAY1:MOV DJNZ DJNZ R6,#00H R7,#80H R7,$ R6,DELAY1 查指令表可知MOV、DJNZ 指令均需用两个机器周期,而一个机器周期 时间长度为 12/ 6.0MHZ,所以该段指令执行时间为: (((128+1)×256)+1)×2×(12÷6000000)=132.1ms。 四、 实验原理图 图(1-1) 2 五、 实验程序框图 六、 实验步骤 1、P3.3 用插针连至 K1,JU2(P1.0~P1.7)用 8 芯线连至 JL(L0~L7)。 2、调试、运行程序test1 中的MCUIO.ASM。 3、开关 K1 每拨动一次,L0~L7 发光二极管按 16 进制方式加一点亮。 P3.3 真的为高吗? P3.3 为低吗? 开 始 P3.3 为高吗? 延 时 延 时 A+1 送 P1 口 循 环 N N N Y Y Y 主程序: 图(1-2) N N Y R6 设初值 FFH 延时子程序: R7 设初值 FFH R7-1=0 否? R6-1=0 否? 返 回 Y 图(1-3) 3 4 七、实验程序 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 口简单使用和延时程序的编写 及使用。虽然实验中我也遇到了一些问题,如结果无法显示等,但在老师的指导、 帮助下,我最后还是完成了本次实验的实验要求。

文档评论(0)

1亿VIP精品文档

相关文档