[讨论] 51单片机基础实验

cqycmc   2008-7-23 15:50 楼主
实验内容及步骤:
   
在实验之前,我们先来复习下前面学过的中断的相关知识。
   
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单片机基础实验----一个外部中断实验
http://bbs.huazhoucn.com/Temp/Temp3574_1.html

51单片机基础实验----中断优先级实验
http://bbs.huazhoucn.com/Temp/Temp3575_1.html

51单片机基础实验----定时器/计数器实验
http://bbs.huazhoucn.com/Temp/Temp3576_1.html

51单片机基础实验----计时中断与外部中断同时存在实验
http://bbs.huazhoucn.com/Temp/Temp3577_1.html

51单片机基础实验----顺序结构程序设计
http://bbs.huazhoucn.com/Temp/Temp3578_1.html

51单片机基础实验----分支结构程序设计
http://bbs.huazhoucn.com/Temp/Temp3579_1.html

51单片机基础实验----循环结构程序设计与排序
http://bbs.huazhoucn.com/Temp/Temp3580_1.html

51单片机基础实验----子程序结构设计与调用
http://bbs.huazhoucn.com/Temp/Temp3581_1.html

51单片机基础实验----查表程序设计
http://bbs.huazhoucn.com/Temp/Temp3582_1.html

51单片机基础实验----对分检索程序设计
http://bbs.huazhoucn.com/Temp/Temp3589_1.html

51单片机基础实验----基本I/O控制(流水灯)
http://bbs.huazhoucn.com/Temp/Temp3590_1.html

51单片机基础实验----八个LED做正反流水灯显示
http://bbs.huazhoucn.com/Temp/Temp3591_1.html

51单片机基础实验----数码显示实验
http://bbs.huazhoucn.com/Temp/Temp3592_1.html

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复