亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4006|回復: 3
打印 上一主題 下一主題
收起左側

寫了個按鍵外部中斷的小程序,遇到點問題,各位看客進來瞧瞧

[復制鏈接]
跳轉到指定樓層
樓主
函數功能:數碼管(P2口)不斷顯示0~9,按K1(P3^2)暫停,K2(P3^3)繼續。


問題有二:
(1)第一次按K1,暫停,K2開始。之后兩個鍵均失效;
(2)按理說暫停-開始后數碼管應該從暫停前的那個數繼續顯示,可實際上是從0重新開始計數。
請各位賜教,不勝感激。


代碼和preteus圖如下。
#include <reg52.h>
#define uchar unsigned char
uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//數碼管共陽編碼
bit button=1;
bit jumpout=0;//低優先級中斷跳出標志,用于暫停
void delay(int time)
{
    uchar i,j;
    for(i=0;i<time;i++)
        for(j=0;j<i;j++);
}

void int1()interrupt 1
{               
    jumpout=1;//低優先級跳出   
}
void int0()interrupt 0
{
    while(jumpout==0)//在此循環
    {
    }
    jumpout=0;//重新賦值,下次中斷依然可以暫停循環   
}
void init()
{
    EA=1;
    IT0=0;//低電平沿觸發
       EX0=1;
    PX0=0;//低優先級
    IT1=0;
    EX1=1;   
    PX1=1;//高優先級
}   
void main()
{
    uchar i;   
    init();
    while(1)
    {      
        //if(button==1)
        {
            for(i=0;i<10;i++)
            {
                P2=table[i];
                delay(250);
            }
        }
    }
}

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

使用道具 舉報

沙發
ID:80732 發表于 2015-7-29 11:17 | 只看該作者
電路圖,P0的數碼管可忽略。

QQ截圖20150729111651.png (10.89 KB, 下載次數: 91)

QQ截圖20150729111651.png
回復

使用道具 舉報

板凳
ID:80732 發表于 2015-7-29 12:32 | 只看該作者
解決了,自己粗心把外中斷1寫成了interrupt 1,應該是interrupt 2
回復

使用道具 舉報

地板
ID:79544 發表于 2015-7-29 12:59 | 只看該作者
劉武豪 發表于 2015-7-29 12:32
解決了,自己粗心把外中斷1寫成了interrupt 1,應該是interrupt 2

外部中斷1的向量號錯誤,應該是2.
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表