找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機外部中斷實驗程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:601581 發(fā)表于 2020-6-28 17:27 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
編程實現(xiàn):1、打開開工開關(guān)后,七道工序(led)循環(huán)動作;2、有中斷信號(按鍵檢測)輸入時,立即停止工序動作(即:所有燈熄滅)并發(fā)出報警;3、中斷去除后,工序恢復(fù)到中斷來時刻的工序動作。

#include<reg51.h>
sbit  led1=P1^0;
sbit  led2=P1^1;
sbit  led3=P1^2;
sbit  led4=P1^3;
sbit  led5=P1^4;
sbit  led6=P1^5;
sbit  led7=P1^6;
sbit  key=P3^3;
sbit  beep=P1^7;    //音頻脈沖輸出端
void delay(int x)
{
    int i,j;
    for(i=1; i<=x; i++)
        for(j=1; j<=110; j++);
}

void  song(int x)  //蜂鳴器蜂鳴函數(shù)
{   //形參x的值可以改變聲音頻率
    int  y=x;
    beep=0;
    for(; y>0; y--);
    beep=1;
    for(; y>0; y--);
}
void init()//初始化函數(shù)
{
    IT1=0;  //低電平觸發(fā)
    EX1=1;  
    EA=1;
}
void  int1()  interrupt 2
{
    delay(10);
    if(key==0)
    {   
                P1=0X7f;  //0111 1111
        song(100);
    }

}
void xunhuan()
{
    while(1)
    {
        led1=0;
        delay(1000);
        led1=1;

        led2=0;
        delay(1000);
        led2=1;

        led3=0;
        delay(1000);
        led3=1;

        led4=0;
        delay(1000);
        led4=1;

        led5=0;
        delay(1000);
        led5=1;

        led6=0;
        delay(1000);
        led6=1;

        led7=0;
        delay(1000);
        led7=1;
    }

}

void  main()//主函數(shù)
{
    init();//系統(tǒng)初始化函數(shù)調(diào)用
    key=1;
    xunhuan()
}


1.png (52.31 KB, 下載次數(shù): 51)

1.png

程序和仿真圖.zip

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

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:688460 發(fā)表于 2020-7-3 06:43 | 只看該作者
好好學(xué)習(xí),天天向上!學(xué)習(xí)了
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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