找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

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

這種單片機(jī)led燈按鍵開關(guān)中斷程序?yàn)槭裁磿?huì)混亂

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:719916 發(fā)表于 2020-3-31 23:59 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
這個(gè)第一種程序使用proteus仿真后按鍵INT0不能使八個(gè)led燈全部亮起來(lái),而是會(huì)隨機(jī)亮其中的幾個(gè)。

#include <reg52.h>
#define uchar unsigned char
uchar         aa=0x00,bb=0xff;

void LEDON (void) interrupt 0
{
        P1=aa;
}
void LEDON1 (void) interrupt 2
{
        P1=bb;
}
void main (void)
{
        EX0 = 1;
        EX1 = 1;
        PX0 = 1;
        PX1 = 1;
        IT0 = 1;
        IT1 = 1;
        EA = 1;
}


第二種程序加了while(1)之后使用proteus可以使其正常工作

#include <reg52.h>
#define uchar unsigned char
uchar         aa=0x00,bb=0xff;

void LEDON (void) interrupt 0
{
        P1=aa;
}
void LEDON1 (void) interrupt 2
{
        P1=bb;
}
void main (void)
{
while(1)
{
        EX0 = 1;
        EX1 = 1;
        PX0 = 1;
        PX1 = 1;
        IT0 = 1;
        IT1 = 1;
        EA = 1;
}
}



第三種程序不使用aa和bb,直接使用P1口可以正常工作

#include <reg52.h>
#define uchar unsigned char

void LEDON (void) interrupt 0
{
        P1=0x00;
}
void LEDON1 (void) interrupt 2
{
        P1=0xff;
}
void main (void)
{
        EX0 = 1;
        EX1 = 1;
        PX0 = 1;
        PX1 = 1;
        IT0 = 1;
        IT1 = 1;
        EA = 1;
}


本人新學(xué)單片機(jī),個(gè)中程序略為簡(jiǎn)陋,各位大佬將就著看,里面有什么錯(cuò)誤歡迎指出。謝謝。!

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

使用道具 舉報(bào)

沙發(fā)
ID:226798 發(fā)表于 2020-4-1 03:13 來(lái)自手機(jī) | 只看該作者
大循環(huán)了解下
回復(fù)

使用道具 舉報(bào)

板凳
ID:337070 發(fā)表于 2020-4-1 14:52 | 只看該作者
大循環(huán)了解下
回復(fù)

使用道具 舉報(bào)

地板
ID:337070 發(fā)表于 2020-4-2 21:56 | 只看該作者
中程序略為簡(jiǎn)陋
回復(fù)

使用道具 舉報(bào)

5#
ID:337070 發(fā)表于 2023-8-26 16:09 | 只看該作者
大循環(huán)了解下
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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