找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2035|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

外部中斷實(shí)現(xiàn)(嵌套流水燈)仿真和程序

[復(fù)制鏈接]
跳轉(zhuǎ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)先級
PX1=1; //外部中斷1為高優(yōu)先級
while(1)
{
P1=0x00;
delayms(200);
P1=0xff;
delayms(200);
}
}


void int0(void) interrupt 0 //外部中斷0,中斷號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,中斷號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)

666.PNG

程序和仿真.rar

32.62 KB, 下載次數(shù): 22, 下載積分: 黑幣 -5

程序和仿真

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:863362 發(fā)表于 2023-1-5 10:54 | 只看該作者
protues軟件版本太高了,8.10都打不開
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表