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与按扭...
内容介绍
此文档由会员 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);
}
}
}
开始
中断设置
开中断
是否发生中断?
花样显示
结束
调用中断子程序
中断程序开始
中断返回
保护现场
闪烁显示
恢复现场
五、调试与仿真?