protous实验报告中断系统的应用(一).txt

约3页TXT格式手机打开展开

protous实验报告中断系统的应用(一),中断系统的应用?一? 一、设计要求 主程序将p0端口进行花样显示?显示顺序规律为?①8个led依次左移点亮?②8个led依次右移点亮?③led0、led2、led4、led6亮1s熄灭?led1、led3、led5、led7亮1 s熄灭?再led0、led2、led4、led6亮1s熄灭循环3次。中断时?int0与按扭...
编号:5-252995大小:1.95K
分类: CAD图纸

内容介绍

此文档由会员 dingpeng52 发布



中断系统的应用?一? 一、设计要求 主程序将P0端口进行花样显示?显示顺序规律为?①8个LED依次左移点亮?②8个LED

依次右移点亮?③LED0、LED2、LED4、LED6亮1s熄灭?LED1、LED3、LED5、LED7亮1 s

熄灭?再LED0、LED2、LED4、LED6亮1s熄灭……循环3次。中断时?INT0与按扭K1连接?

使8个LED闪烁5次。



二、实验所需元器件? 单片机

AT89C51 瓷片电容CAP-22pf 晶振CRYSTAL

11.0592

电解电容CAP-ELEC

电阻RES 排阻RESPACK-8 发光二极管

LED-GREEN

发光二极管

LED-YELLOW

按扭BUTTON 发光二极管LED-RED 发光二极管

LED-BLUE







三、程序设计

外部中断1的汇编程序中断入口地址为03H?C程序中断号为0。在编写程序时?

首先要进行中断初始化的设置?并开启中断?然后若有中断请求时?响应中断执

行相应操作?否则执行默认操作。中断系统的应用?一?和程序流程图如图所示





























四、C语言程序?

#include "reg51.h"

#define uint unsigned int

#define uchar unsigned char

const

tab[]={0xfe,0xfd,0xfb,0xf7,0x

ef,0xdf,0xbf,0x7f,



0xbf,0xdf,0xef,0xf7,0xfb,0xfd,

0xfe,0xff,



0xaa,0x55,0xaa,0x55,0xaa,0x

55,0xff};

const

tab2[]={0xff,0x00,0xff,0x00,0

xff,0x00,0xff,0x00};



void delay(uint z)











{

uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);



}



void int0() interrupt 0

{

uchar i;

for(i=0;i<10;i++)

{

P0=tab2[i];

delay(1000);

}

}



void INT0_init(void)

{

EX0=1;







IT0=1;

EA=1;



}



void main()

{

uchar num;

INT0_init();

while(1)

{



for(num=0;num<23;nu

m++)

{

P0=tab[num];

delay(1000);

}

}

}

开始



中断设置

开中断

是否发生中断?

花样显示

结束

调用中断子程序

中断程序开始

中断返回

保护现场

闪烁显示

恢复现场

五、调试与仿真?