导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→[分享]51单片机基础实验[fengjian99]

 *第29444篇: [分享]51单片机基础实验

  
楼 主:fengjian99 2008年7月17日15:46
 [分享]51单片机基础实验
个外部中断实验

实验内容及步骤:    在实验之前,我们先来复习下前面学过的中断的相关知识。    MCS-51是一个多中断源的单片机,以8051为例,有三类共五个中断源,分别是外部中断两个,定时器中断两个和串行中断一个(其中断控制字在后面实验中详细讲到)。外部中断是由外部原因引起的,共有两个中断源,既外部中断0和外部中断1。它们的中断请求信号分别由引脚 -(P3.2)和 (P3.3)引入;外部中断请求信号有两种,既低电平有效方式和脉冲后沿负跳有效方式。  中断开放和屏蔽-IE寄存器其作用是用来对各中断源进行开放或屏蔽的控制,各位定义如下:位地址  AF  AE  AD  AC  AB   AA   A9   A8 位符号  EA  /   /   ES  ET1  EX1  ET0  EX0 EA—中断允许总控制位 EA=0    中断总禁止,禁止所有中断。 EA=1    中断总允许。 EX0(EX1)-- 外部中断允许控制位 EX0(EX1)=0   禁止外中断。 EX0(EX1)=1   允许外中断。 ET0(ET1)-- 定时/计数中断允许控制位 ET0(ET1)=0   禁止定时/计数中断。 ET0(ET1)=1   允许定时/计数中断。 ES – 串行中断允许控制位 ES=0 禁止串行中断。 ES=1允许串行中断。 中断优先级控制寄存器(IP) 地址为B8H,位地址为BFH-B8H,各位定义如下: 位地址  BF  BE  BD  BC  BB   BA   B9   B8 位符号  /   /   /   PS  PT1  PX1  PT0  PX0 PX0—外部中断0优先级设定位 PT0—定时中断0优先级设定位 PX1--外部中断1优先级设定位 PT1—定时中断1优先级设定位 PS—串行中断优先级设定位 为0的位优先级为低;为1的位优先级为高; 中断优先级是为中断嵌套服务的,MCS-51中断优先级的控制原则是: (1)低优先级中断请求不能打断高优先级的中断服务;但高优先级中断请求可以打断低优先级的中断服务,从而实现中断嵌套。 (2)如果一个中断请求已被响应,则同级的其它中断响应将被禁止。 (3)如果同级的多个中断请求同时出现,则按CPU查询次序确定哪个中断请求被响应。其查询次序为:外部中断0—定时中断0—外部中断1—定时中断1—串行中断。 实验电路如下图,本实验为每次响应外部中断0时,P1口依次输出高电平,使8个发光二极管依次循环熄灭闪烁。                         图1                     实验源程序如下:              ORG   0000H              LJMP  MAIN                  ;转主程序               ORG   0003H                 ;外部中断0入口地址               LJMP  EXTER                 ;转中断程序               ORG   1000H  MAIN: SETB   IT0                  ;外部中断0后沿负跳有效              SETB   EX0                  ;外部中断0允许  SETB   EA                   ;总中断允许  LOOP: AJMP   LOOP                 ;等待中断                 ORG  1050H                 ;中断程序入口  EXTER:MOV R2,#0FFH               ;置循环次数                   MOV A,#01H                 ;灯亮初值  FLASH:RR A                        ;右移一位                   MOV R7 ,#0FFH                 LOOP1:MOV R6 ,#0FFH                LOOP2:NOP                                          NOP                          ;软件延时 DJNZ R6,LOOP2               DJNZ R7,LOOP1                MOV P1,A                     ;灯灭 DJNZ R2,FLASH                ;循环 RETI                          ;返回 END

51单片机基础实验----一个外部中断实验

51单片机基础实验----中断优先级实验

51单片机基础实验----定时器/计数器实验

51单片机基础实验----计时中断与外部中断同时存在实验

51单片机基础实验----顺序结构程序设计

51单片机基础实验----分支结构程序设计

51单片机基础实验----循环结构程序设计与排序

51单片机基础实验----子程序结构设计与调用

51单片机基础实验----查表程序设计

51单片机基础实验----对分检索程序设计

51单片机基础实验----基本I/O控制(流水灯)

51单片机基础实验----八个LED做正反流水灯显示

51单片机基础实验----数码显示实验


>>>>>>对该主题发表你的看法

本主题贴数1,分页: [第1页]


[上一篇主题]:[分享]单片机教程----单片机原理与应用

[下一篇主题]:初学嵌入式开发ARM的学习方法