实验二 中断控制实验实验三 定时/计数器实验

实用文档

《单片机原理与接口技术》

第3章 单片机集成功能模块实验

实验二 中断控制实验 实验三 定时/计数器实验

班级: 姓名:

日期:2017年11月6日

学号: 成绩: 指导老师:

实用文档

实验二 中断控制实验

一、实验目的

学习中断控制技术的基本原理,掌握中断程序的设计方法。

二、实验原理

1、 参照实验电路连线图接线,在8051的P1口上接8个发光二极管,在INT0(P3.2)接入触发脉冲电路,利用下降沿触发产生中断。

2、编制主程序,使P1口的8个发光二极管同时亮,延时一会儿在同时熄灭,延时时间自定。外来脉冲每触发一次,主程序便中断一次,在中断服务子程序中,使P1口的8个发光二极管在某一时刻只有一个点亮,并向左循环移动。

三、仪器设备:

1、PC计算机一台。

2、Dais-386PRO+实验系统一套。

四、 实验内容:

1、定时器中断

单片机集成的定时器可以产生定时中断,利用定时器T0,编写程序,使P1.0控制的发光二极管L0每隔1秒交替点亮或熄灭。

实验步骤:

1) 按图3-2-1连接实验电路,参考程序:A51\\3_2_1.ASM; 2) 编写程序,经编译、链接无语法错误后装载到实验系统; 3) 运行程序,观察发光二极管L0,应每隔1秒交替点亮或熄

灭;

4) 实验完毕后,应使用暂停命令中止程序的运行。

2、外部中断

L0P1.0发光二极管单片机图3-2-1 实验接线图L0发光二极管P1.0单片机SPP3.2单脉冲图3-2-2 实验接线图实用文档

P3.2(INT0)连接单脉冲发生器,编写程序,每按一次脉冲产生一次中断,使P1.0控制的发光二极管L0交替点亮或熄灭。

; 定时器中断实验 实验步骤: ; P1.0 ---- 发光二极管显示 L0 1) 按图3-2-2连接实验电路,参考程序:COUNT EQU 9217 ;11.0592MHz 延时10ms A51\\3-2-2.ASM; LED EQU P1.0 2) 编写程序,经编译、链接无语法错误后装载到 ORG 0000H ;复位地址 AJMP MAIN ;开始时跳实验系统; 转转到主程序 3) 运行程序,每按动一次单脉冲按钮令发光二极 ORG 000BH ;T0入口地址 AJMP INT_T0 管L0交替点亮或熄灭; ORG 0100H 4) 实验完毕后,应使用暂停命令中止程序的运行。 MAIN: SETB LED MOV TMOD,#00000001B ;设置定时器T0工作在方式1(16位) ; 外部中断实验 MOV TH0,#HIGH(65536-COUNT) ;设置初值 ; P1.0 ---- 发光二极管显示 L0 MOV TL0,#LOW(65536-COUNT) ; P3.2 ---- 单脉冲单元 SP CLR TF0 ;先把溢出 标志位清零 LED BIT P1.0 SETB TR0 ;开始计时 SETB EA ;全局中断 ORG 0000H 打开 AJMP MAIN SETB ET0 ;定时器/计 数器T0溢出中断打开 ORG 0003H MOV R7,#00H ;作为定时 AJMP INT0SVR 器累加器使用 SJMP $ ;循环,等待 ORG 0100H 中断 MAIN: SETB LED ;中断服务子程序 MOV TCON,#01H ;外部INT_T0: INC R7 ;计数增量 中断0下降沿触发 CLR TF0 ;重新置中 MOV IE,#81H ;打开断标志位为0 外部中断允许位(EX0)及总中断允 MOV 许位(EA) TH0,#(65536-COUNT)/256 ;重新符初值 SJMP $ ;等待 MOV TL0,#255 中断 CJNE R7,#100,RETURN ;让灯明 暗相间1s ; 中断服务子程序 MOV R7,#00H INT0SVR:CPL LED CPL LED ;让灯明暗交替变化 RETI RETURN: RETI END

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4