资源预览内容
第1页 / 共31页
第2页 / 共31页
第3页 / 共31页
第4页 / 共31页
第5页 / 共31页
第6页 / 共31页
第7页 / 共31页
第8页 / 共31页
第9页 / 共31页
第10页 / 共31页
亲,该文档总共31页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
?1?1?1?2?2?1?2?2?2?3?2?4?3?1I/O ? ?3?2?/?3?3?3?4?3?5LED ? !“? !“? !“? !“?3?6? RAM ?3?7#$%?* ORG 0000H MOV P1,#00H ;P1 口初始化 LOOP1: MOV A,#01H ;送控制字 MOV R2,#06H ; LOOP: MOV P1,A ;点亮 1 个发光二极管 ACALL DELAY ;延时 RL A ;控制字左移 DJNZ R2,LOOP ;流水完了吗 AJMP LOOP1 ;循环 ;* DELAY: MOV R7,#0C8H ;延时 120ms DEL1: MOV R6,#0C7H DEL2: NOP DJNZ R6,DEL2 DJNZ R7,DEL1 RET ;* END 313 单片机 I/O 口作为输入口 在实验板中有 2 个按键KEY7KEY8作为输入口它们与系统的连接原理图如图 32 所示具第 9 页 共 28 页 单片机实验指导书 体的硬件线路通过 J15实现实现 K8KEYK7KEYR22 5k1R8 5k1VCCP3.2P3.3图 32 按键输入硬件原理图 P3.2P3.3 作普通输入口使用时当 P3.2P3.3 引脚为低电平时则表示按键被按下没有被按下 时P3.2P3.3 引脚为高电平 下面以 P3.2 作输入口时即按键 K7 按下时发光二极管 D1 亮松开时灭其汇编程序调试程序如 下 ;* ORG 0000H MOV P1,#00H ;P1P3 口初始化 MOV P3,#0FFH LOOP: JNB P3.2,LED1 ;按键按下转 D1 执行 AJMP LOOP ;没有则继续等待 ;* LED1: SETB P1.0 ;发光二极管 D1 亮 ACALL DELAY ;延时 CLR P1.0 ;发光二极管 D1 灭 RET ;* DELAY: MOV R7,#0C8H ;延时 120ms DEL1: MOV R6,#0C7H DEL2: NOP DJNZ R6,DEL2 DJNZ R7,DEL1 RET ;* END 32 定时器/计数器 321 定时器/计数器作定时器使用 使用定时器 T0同样实现发光二极管 LED 流水显示具体的硬件线路通过 J2和和J15实现实现 1下面是利用查询方式实现的流水灯完整的汇编调试程序 ;* ORG 0000H MOV P1,#00H MOV TMOD,#01H ;定时器 T0 工作在方式 1 MOV TL0,#0B0H ;送初值 50ms MOV TH0,#03CH ; MOV 30H,#0Ah ;给中间变量赋初值 MOV 31H,#01H ;给输出变量赋初值 SETB TR0 ;启动 T0 定时器 第 10 页 共 28 页 单片机实验指导书 LOOP: JBC TF0,PT ;定时器 T0 溢出则转到 PT AJMP LOOP ;同时清除 TF0 位状态 ;* PT: CLR TR0 ;停止计数 MOV TL0,#0B0H ;初值重装 MOV TH0,#03CH ; DJNZ 30H,LEDRET ;0.5s 到了吗 MOV 30H,#0Ah ;是则给中间变量赋初值 MOV A,31H ; MOV P1,A ;输出变量送 P1 口 RL A ;左移一位 MOV 31H,A ; LEDRET: SETB TR0 ;重新启动 T0 定时器 AJMP LOOP ; ;* END 2下面是利用中断方式实现的流水灯完整的汇编调试程序 ;* ORG 0000H AJMP MAIN ORG 000BH ;T0 中断入口地址 AJMP LEDT0 ;* ORG 0100H MAIN: MOV P1,#00H MOV TMOD,#01H ;定时器 T0 工作在方式 1 MOV TL0,#0B0H ;送初值 50ms MOV TH0,#03CH ; MOV 30H,#0Ah ;给中间变量赋初值 MOV 31H,#01H ;给输出变量赋初值 SETB ET0 ;允许定时器 0 溢出中断 SETB EA ;开放总中断 SETB TR0 ;启动 T0 定时器 LOOP: AJMP LOOP ;等待中断输出 ;* ;定时器 T0 中断服务子程序 ORG 0200H LEDT0: PUSH PSW ;保护现场 PUSH ACC ; CLR TR0 ;停止计数 MOV TL0,#0B0H ;初值重装 MOV TH0,#03CH ; DJNZ 30H,LEDRET ;0.5s 到了吗 MOV 30H,#0Ah ;是则给中间变量赋初值 MOV A,31H ; 第 11 页 共 28 页 单片机实验指导书 MOV P1,A ;输出变量送 P1 口 RL A ;左移一位 MOV 31H,A ;更新输出值 LEDRET: SETB TR0 ;重新启动 T0 定时器 POP ACC ;出栈 POP PSW RETI ;中断返回 ;* END 322 定时器/计数器作计数器使用 323 定时器/计数器作波特率发生器使用 33 外部中断 331 外部中断源简介 332 外部中断的控制与操作 333 外部中断的应用 利用外部中断 INT0 或 INT1 对输入信号进行检测当检测到 P3.2 引脚或 P3.3 引脚有一个负跳变时六 个发光二极管依次亮灭和蜂鸣器响停具体的硬件电路参考图 31 和图 32 下面是利用外部中断完整的汇编调试程序 1当检测到 P3.2 引脚有一个负跳变时六个发光二极管依次亮灭 ;* ORG 0000H AJMP MAIN ORG 0003H ;IN
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号