標題: 外部中斷實現(嵌套流水燈)仿真和程序 [打印本頁]
作者: 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)
下載附件
2023-1-4 19:49 上傳
-
-
程序和仿真.rar
2023-1-4 19:50 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
32.62 KB, 下載次數: 22, 下載積分: 黑幣 -5
程序和仿真
作者: sonique0371 時間: 2023-1-5 10:54
protues軟件版本太高了,8.10都打不開
| 歡迎光臨 (http://www.raoushi.com/bbs/) |
Powered by Discuz! X3.1 |