文档介绍:1 实验一、输入输出实验( 1 ) P1 口输入输出实验一、实验目的: 学****P1 口的使用方法。二、实验说明及思路: ① P1 口是一个准双向口,外接八个发光二极管,连续运行程序,发光二极管循环点亮。②向 P1 口送入一初始值,利用发光二极管的低电平有效,使其发光。③利用计数定时,以及初始值的移位,使二极管循环点亮。三、流程图: 四、汇编语言程序( Keil Keil Keil Keil 编写) : MOV A,#0FEH ; 将 0FE 放入累加器 A RIGHT1: RR A ; 最低位移入最高位,其他各位依次向低位移位 MOV p1,A ; 累加器 A 的内容送到 P1 中 CALL DELAY ; 调用 DELAY 子程序 AJMP RIGHT1 ; 跳转到 RIGHT1 DELAY: MOV R0,#20 ; 将 20 送入 R0 ,当做外部计数初值 DELAY1: MOV R1,#40 ; 将 40 送入 R1 ,当做第二层计数初值 DELAY2: MOV R2,#250 ; 将 250 送入 R2 ,当做第三层计数初值 DJNZ R2,$ ;R2=R2-1 ,如果 R2 不等于 0 ,执行本行 DJNZ R1,DELAY2 ;R1=R1-1 ,如果 R1 不等于 0 ,跳转到 DELAY2 DJNZ R0,DELAY1 ;R0=R0-1 。如果 R0 不等于 0 ,跳转到 DELAY RET ; 返回 END ; 结束 2 五、实验原理图( Protel Protel Protel Protel 绘制) : 7407 的引脚图 7407 的逻辑图 3 六、仿真图( Proteus Proteus Proteus Proteus 绘制) : (发光二极管循环点亮) 100601104 崔晓行 4 ( 2 ) P1 、 P3 口输入输出实验一、实验目的: 掌握 P1 、 P3 口的使用方法。二、实验思路及说明: P3 口作为输入口读取开关状态, P1 口作为输出口, 连续运行程序, 发光二极管显示开关状态。如果是下载式实验仪,在程序装载前,必须使 P3 口的拨动开关处于高电平状态。并且不能单步调试,只能连续执行。三、流程图: 四、汇编语言程序( Keil 编写) : ORG 0000H AJMP 0030H MAIN: MOV P1,#00H ; 初始化 P1 口 MOV P1,p3 ;P3 口状态送入 p1 LOOP: CALL DELAY ; 调用 DELAY AJMP MAIN ; 跳转到 MAIN DELAY: MOV R1,#10 ; 将 10 送入到 R1 中,当做外部计数初值 DELAY1: MOV R2,#50 ; 将 50 送入到 R2 中,当做第二层计数初值 DELAY2: MOV R3,#250 ; 将 250 送入到 R3 中,当做第三层计数初值 DJNZ R3,$ ;R3=R3-1 ,如果 R3 不等于 0 ,则执行本行 DJNZ R2,DELAY2 ;R2=R2-1 ,如果 R3 不等于 0 ,则跳转到 DWLAY2 DJNZ R1,DELAY1 ;R1=R1-1 ,如果 R1 不等于 0 ,则跳转到 DELAY1 RET ; 返回 END ; 结束开始初始化 P3 口开关状态送到 P1 口驱动发光二极管延时 5 五、实验原理图( Protel Protel Protel Protel 绘制) : 六、仿真图( Proteus Proteus Proteus Proteus 绘制) : 6 实验二、外部中断实验一、实验目的: 学****外部中断技术的基本使用方法及中断处理的编程方法。二、实验说明及思路: P1 口做输出口,接 8 只发光二极管,利用手控单脉冲信号作为外部中断信号,编写控制程序,使 8 只发光二极管按一定的规律循环点亮。程序:从外部中断 0 请求输入端( )输入脉冲信号。按键 1 与按键 2 与单片机的老性格外部中断引脚相连。按一次按键 1 , 发光二极管循环左移显示;按一次按键 2 ,发光二极管循环右移显示。移位的状态间隔时间为 秒,使用外部中断处理按键事件。三、流程图: 四、汇编语言程序( Keil Keil Keil Keil 编写) : (晶振设置大小为: ) ORG 0000H AJMP 0003H AJMP EXINT1 ; 跳转到外部中断 0 0013H AJMP EXINT2 ; 跳转到外部中断 1 0030H START: MOV SP,#60H ; 设置堆栈 SETB IT0 ; 外部中断 0 , 边沿触发方式( IT0 <- 1 ) 。由高到低的下降沿触发方式 CLR IE0 ; 外部中断 0 ,请求标志位清零 SE