标题: 外部中断实现(嵌套流水灯)仿真和程序 [打印本页]
作者: heng666 时间: 2023-1-4 19:50
标题: 外部中断实现(嵌套流水灯)仿真和程序
实现功能
P1口接8个发光二极管,P3.2和P3.3各接一按键。
1.无按键按下时,8个发光二极管亮灭交替,间隔时间200 ms。
2.按键S3按下时,触发外中断0,使发光二极管左移16次,间隔时间为100ms。
3.按键S4按下时,触发外中断1,使发光二极管右移8次,间隔时间为200ms。
4.能够使外部中断1嵌套外部中断0
程序代码:
#include <reg51.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
void delayms (uint ms)
{
uint i;
while (ms--)
for (i=0;i<123;i++);
}
void main(void)
{
EA=1; //开中断总开关
EX0=1; //允许外部中断0中断
EX1=1; //允许外部中断1中断
IT0=1; //外部中断0为下降沿触发中断
IT1=1; //外部中断1为下降沿触发中断
PX0=0; //外部中断0为低优先级
PX1=1; //外部中断1为高优先级
while(1)
{
P1=0x00;
delayms(200);
P1=0xff;
delayms(200);
}
}
void int0(void) interrupt 0 //外部中断0,中断号0,按P3.2触发
{
uchar i;
P1=0Xfe;
for(i=0;i<16;i++)
{
P1=_crol_(P1,1);
delayms(100);
}
}
void int1(void) interrupt 2 //外部中断1,中断号2,按P3.3触发
{
uchar i;
P1=0Xfe;
for(i=0;i<8;i++)
{
P1=_cror_(P1,1);
delayms(200);
}
}
-
666.PNG
(43.66 KB, 下载次数: 73)
-
-
程序和仿真.rar
32.62 KB, 下载次数: 22, 下载积分: 黑币 -5
程序和仿真
作者: sonique0371 时间: 2023-1-5 10:54
protues软件版本太高了,8.10都打不开
欢迎光临 (http://www.51hei.com/bbs/) |
Powered by Discuz! X3.1 |