久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2363|回復(fù): 8
收起左側(cè)

單片機(jī)外部中斷結(jié)束后,程序運行錯誤

[復(fù)制鏈接]
ID:325524 發(fā)表于 2018-5-8 21:56 | 顯示全部樓層 |閱讀模式
#include<reg52.h>
unsigned char a;
void main()
{
    a=0xf0;
    EA=1;
    EX0=1;
    IT0=0;
    while(1)
    {
        P1=a;
    }
}
void int0() interrupt 0
{
    a=0x0f;
}
外部中斷的低電平撤銷后,P1的值變不回來,請問這是怎么回事,需要怎么改?

回復(fù)

使用道具 舉報

ID:229959 發(fā)表于 2018-5-8 23:01 | 顯示全部樓層
單片機(jī)保持最后的狀態(tài),所以a還是等于0x0f,
while(1)
{if(IT0!=0)
   {a=0xf0;}
   P1=a;
}
你試試,我也是剛學(xué)的

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

ID:325524 發(fā)表于 2018-5-9 08:17 來自觸屏版 | 顯示全部樓層
zhongbo1991 發(fā)表于 2018-5-8 23:01
單片機(jī)保持最后的狀態(tài),所以a還是等于0x0f,
while(1)
{if(IT0!=0)

很感謝,但還是回不來
回復(fù)

使用道具 舉報

ID:213173 發(fā)表于 2018-5-9 09:04 | 顯示全部樓層
void int0() interrupt 0
{
    a=~a;
}
回復(fù)

使用道具 舉報

ID:164602 發(fā)表于 2018-5-9 09:12 | 顯示全部樓層
你的程序沒有問題:外部中斷0發(fā)生后,P1口的值變化了的。
我已經(jīng)在我的板子上試驗通過了。說明中斷沒有問題。

變不回來,因為你的程序沒有讓它變回來啊。
要變原來的值,你的主循環(huán)中,就要有設(shè)置語句才行。
可能你理解中斷的執(zhí)行有誤解:中斷發(fā)生后,回到原來程序發(fā)生中斷時的位置,不是讓程序從頭再來一次!
按你的程序,只能是回到主循環(huán)內(nèi),你的a就是初值是之前定義的,當(dāng)然就執(zhí)行不到了。

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

ID:297166 發(fā)表于 2018-5-11 01:39 | 顯示全部樓層
IT0=0,你的意思是按下按鍵P1=0x0f,松開按鍵P1=0xf0?
這回試試行不行······
#include<reg52.h>
unsigned char a;
void main()
{
    EA=1;
    EX0=1;
    IT0=0;
    while(1)
    {
        a=0xf0;
        P1=a;
    }
}
void int0() interrupt 0
{
    a=0x0f;
    P1=a;
}
有一個疑問,這里IT0=0,不是低電平一直中斷嗎,P1的值怎么會改變(當(dāng)一直中斷的時候)?是在給高電平后中斷結(jié)束,P1才被重新賦值的吧
所以你的P1一直是中斷語句中賦予的值,其實中斷中重復(fù)了那么多次賦值,僅僅是賦值給a而已,和P1沒有關(guān)系的

評分

參與人數(shù) 1黑幣 +90 收起 理由
admin + 90 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

ID:325524 發(fā)表于 2018-5-11 18:22 | 顯示全部樓層
wulin 發(fā)表于 2018-5-9 09:04
void int0() interrupt 0
{
    a=~a;

十分感謝,謝謝
回復(fù)

使用道具 舉報

ID:325524 發(fā)表于 2018-5-11 18:23 | 顯示全部樓層
HC6800-ES-V2.0 發(fā)表于 2018-5-9 09:12
你的程序沒有問題:外部中斷0發(fā)生后,P1口的值變化了的。
我已經(jīng)在我的板子上試驗通過了。說明中斷沒有問 ...

謝謝大佬解答
回復(fù)

使用道具 舉報

ID:325524 發(fā)表于 2018-5-11 18:25 | 顯示全部樓層
blossom99 發(fā)表于 2018-5-11 01:39
IT0=0,你的意思是按下按鍵P1=0x0f,松開按鍵P1=0xf0?
這回試試行不行······
#include

我是用一根線將3.2接到gnd了,然后把線拔掉,理論上要退出中斷啊,這個程序是a的賦值把我搞暈了
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日韩成人在线看 | 国产探花在线精品一区二区 | 狠狠色网 | 国产精品一区二区久久 | 国产永久免费 | 狠狠婷婷综合久久久久久妖精 | 国产精品亚洲第一区在线暖暖韩国 | 成人免费在线视频 | 自拍偷拍av | 亚洲综合99 | 一本一道久久a久久精品综合蜜臀 | 成人精品视频在线 | 亚洲国产精久久久久久久 | 久久噜噜噜精品国产亚洲综合 | 在线免费看91 | 精品综合久久久 | 97精品国产97久久久久久免费 | 日韩一级二级片 | 91精品中文字幕一区二区三区 | 自拍偷拍欧美 | 久久伊人青青草 | 欧美1区 | 精品欧美一区二区久久久伦 | 精品久久国产老人久久综合 | 成年人网站在线观看视频 | 国产一区久久久 | 欧美一级在线免费 | 国产做爰 | 久久艹免费视频 | 国产999在线观看 | 国产黄色在线观看 | 99精品国产一区二区青青牛奶 | 日本一区二区三区在线观看 | 在线午夜| 国产欧美一区二区三区在线看 | 亚洲一区二区久久 | 亚洲欧美中文日韩在线v日本 | 亚洲少妇综合网 | 亚洲一区二区中文字幕在线观看 | 亚洲欧美激情精品一区二区 | 在线视频国产一区 |