標(biāo)題: 外部中斷實(shí)現(xiàn)(嵌套流水燈)仿真和程序 [打印本頁(yè)]
作者: heng666 時(shí)間: 2023-1-4 19:50
標(biāo)題: 外部中斷實(shí)現(xiàn)(嵌套流水燈)仿真和程序
實(shí)現(xiàn)功能
P1口接8個(gè)發(fā)光二極管,P3.2和P3.3各接一按鍵。
1.無按鍵按下時(shí),8個(gè)發(fā)光二極管亮滅交替,間隔時(shí)間200 ms。
2.按鍵S3按下時(shí),觸發(fā)外中斷0,使發(fā)光二極管左移16次,間隔時(shí)間為100ms。
3.按鍵S4按下時(shí),觸發(fā)外中斷1,使發(fā)光二極管右移8次,間隔時(shí)間為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; //開中斷總開關(guān)
EX0=1; //允許外部中斷0中斷
EX1=1; //允許外部中斷1中斷
IT0=1; //外部中斷0為下降沿觸發(fā)中斷
IT1=1; //外部中斷1為下降沿觸發(fā)中斷
PX0=0; //外部中斷0為低優(yōu)先級(jí)
PX1=1; //外部中斷1為高優(yōu)先級(jí)
while(1)
{
P1=0x00;
delayms(200);
P1=0xff;
delayms(200);
}
}
void int0(void) interrupt 0 //外部中斷0,中斷號(hào)0,按P3.2觸發(fā)
{
uchar i;
P1=0Xfe;
for(i=0;i<16;i++)
{
P1=_crol_(P1,1);
delayms(100);
}
}
void int1(void) interrupt 2 //外部中斷1,中斷號(hào)2,按P3.3觸發(fā)
{
uchar i;
P1=0Xfe;
for(i=0;i<8;i++)
{
P1=_cror_(P1,1);
delayms(200);
}
}
-
666.PNG
(43.66 KB, 下載次數(shù): 73)
下載附件
2023-1-4 19:49 上傳
-
-
程序和仿真.rar
2023-1-4 19:50 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
32.62 KB, 下載次數(shù): 22, 下載積分: 黑幣 -5
程序和仿真
作者: sonique0371 時(shí)間: 2023-1-5 10:54
protues軟件版本太高了,8.10都打不開
歡迎光臨 (http://www.torrancerestoration.com/bbs/) |
Powered by Discuz! X3.1 |