文档详情

Lab8000定时器计数器及外部中断实验.doc

发布:2017-04-20约3.53千字共6页下载文档
文本预览下载声明
实验三 定时器/计数器及外部中断实验 一、实验要求 P1.7~P1.0接发光二极管L7~L0,要求利用单片机内部定时器1,按方式1工作,每0.01秒T1溢出一次。要求编写程序模拟时序控制装置:开机第1秒钟L0、L2亮,第2秒钟L1、L3亮,第3秒钟L4、L6亮,第4秒钟L5、L7亮,第5秒钟L0、L2、L4、L6亮,第6秒钟L1、L3、L5、L7亮,第7秒钟L7~L0全亮,第8秒钟L7~L0全灭……一直循环下去。fosc=12MHz 1.用定时器1查询溢出,实现要求。 2.用定时器1中断溢出,实现要求。 3.在2.基础上,用单脉冲作为外部中断源,当为有效电平“0”时,启动外部中断服务程序使P1口所接二极管全亮10秒。10秒用软件延时实现。注意:中断现场的保护。 二、实验目的: 1.掌握定时器/计数器的使用方法。 2.学习外部中断技术的基本使用方法。 3.学习中断处理程序的编程方法。 三、实验器材 Lab8000单片机仿真实验系统一套,计算机一台。 四、实验连线 80C51的(P3.2)接单片机实验系统上的负单脉冲的输出信号插孔,P1.0~P1.7接L0~L7。 1.单脉冲电路 单脉冲电路由按键(PULSE) 和去抖动处理组成,每按一次(PULSE) 键 产生一个单脉冲。板上有单脉冲的输出信号插孔,分别为正脉冲和负脉冲。 图1: 单脉冲发生电路 2.LED电平显示电路 图2: LED电平显示电路 五、实验框图 1.用定时器1查询溢出 2.用定时器1中断溢出 3.T1定时中断,/INT0下降沿触发中断10秒,使P1口发光二极管全亮 六、程序清单 1.查询模式 ORG 0000H LJMP START ORG 0200H START:MOV TMOD,#10H MOV TH1,#0B1H MOV TL1,#0DFH MOV A,#00H MOV P1,A MOV R2,#50 SETB TR1 LOOP:MOV DPTR,#TAB MOV R7,#08H WAIT:JNB TF1,$ MOV TH1,#0B1H MOV TL1,#0DFH CLR TF1 DJNZ R2,WAIT MOV R2,#50 CLR A MOVC A,@A+DPTR INC DPTR MOV P1,A DJNZ R7,WAIT SJMP LOOP TAB:DB 05H,0AH,050H,0A0H,055H,0AAH,0FFH,00H END 2.中断模式 ORG 0000H LJMP START ORG 001BH LJMP INT_T1 ORG 0100H START:MOV SP,#60H MOV TMOD,#10H MOV TH1,#0B1H MOV TL1,#0E0H MOV R0,#00H MOV R1,#50 MOV R3,#08H SETB EA SETB ET1 SETB TR1 SJMP $ INT_T1:PUSH ACC PUSH PSW PUSH DPL PUSH DPH CLR TR1 MOV TH1,#0B1H MOV TL1,#0E0H SETB TR1 DJNZ R1,EXIT MOV R1,#50 MOV DPTR,#TAB MOV A,R0 MOVC A,@A+DPTR MOV P1,A INC R0 DJNZ R3,EXIT MOV R0,#00H MOV R3,#08H EXIT:POP DPH POP DPL POP PSW POP ACC RETI TAB:DB 05H,0AH,050H,0A0H,055H,0AAH,0FFH,00H END 3.中断模式加外部中断 ORG 0000H LJMP START ORG 0003H LJMP INT_0 ORG 001BH LJMP INT_T1 ORG 0200H START:MOV SP,#60H MOV TMOD,#10H MOV TL1,#0E0H MOV TH
显示全部
相似文档