两个吃奶一个添下面视频_人妻第一页香蕉网_欧美xxxx少妇_妺妺窝人体色www婷婷

1.外部中斷的常用功能

外部中斷經(jīng)常用來記錄外部脈沖的個數(shù),也就是當(dāng)我們使用外部中斷1時,如果想記錄自身單片機(jī)的某個引腳的下降沿個數(shù),只需用杜邦線把這個引腳和P3.3連接即可。

比如P2.3引腳產(chǎn)生這樣的電平無規(guī)律跳轉(zhuǎn),則下降沿的個數(shù)為5

中斷函數(shù)6

所以我們就用外部中斷1來實(shí)現(xiàn)記錄K4按鍵從按下到松手的抖動過程中經(jīng)歷了多少個下降沿,把下降沿的個數(shù)顯示在數(shù)碼管上。

 

2.程序思路

我們定義一個16位的全局變量pulse用來記錄P2.3下降沿的個數(shù),在中斷函數(shù)中的任務(wù)就是簡單的pulse自加,因為引腳遇到下降沿就會進(jìn)入中斷函數(shù)。

在主函數(shù)里就是負(fù)責(zé)數(shù)碼管顯示即可。

 

3.代碼

#include <reg52.h> 
#include <function.h>//詳見第六章第8講

u16 pulse=0;
void main()
{  
    u16 x,PULSE_buf;
    IT1 = 1;   //下降沿觸發(fā)模式
    EX1 = 1;
    EA  = 1;
  
    LED_Init();//初始化LED硬件模塊 
    KEY_Init();//初始化按鍵功能模塊
    ShowNumber(pulse);
    while(1)
    {
        SEG_Scan();  
        if(PULSE_buf!=pulse)ShowNumber(pulse);//pulse不再是前一次的值,也就是pulse數(shù)值更新了,所以數(shù)碼管緩存區(qū)也要更新pulse的數(shù)值以便顯示出來
    
        x++;
        if(x>=50)//隔一段時間過來記錄此時的pulse數(shù)值
        {
            x=0;
            PULSE_buf=pulse;
        }
    }
}
 
//請把P3.3和P2.3用杜邦線連接起來
void EXTI1_IRQHandler() interrupt 2
{
    pulse++;
}

大家多按幾次K4,發(fā)現(xiàn)按下后松手的一個動作里有時pulse就自加了幾次,顯示在數(shù)碼管上的數(shù)加了好幾下。

 

4.穩(wěn)定測試

我們再用P2.3提前設(shè)定好會產(chǎn)生多少個脈沖,然后觀察數(shù)碼管顯示的是不是我們設(shè)定好的脈沖數(shù)。這里我們讓P2.3跳變電平15次,看看數(shù)碼管顯示的數(shù)值是多少。

#include <reg52.h> 
#include <function.h>//詳見第六章第8講

u16 pulse=0;
void main()
{  
    u8 i=0;
    IT1 = 1;   //下降沿觸發(fā)模式
    EX1 = 1;
    EA  = 1;
  
    LED_Init();//初始化LED硬件模塊 
    KEY_Init();//初始化按鍵功能模塊
  
    while(i<15)//讓P2.3產(chǎn)生脈沖數(shù),然后結(jié)束循環(huán)
    {
        KEY4=!KEY4;
        i++;
        delay_ms(1);  //讓電平保持的時間多一點(diǎn)
    }
  
    ShowNumber(pulse);//更新數(shù)碼管緩存區(qū)內(nèi)容
  
    while(1)
    {
        SEG_Scan();   //顯示脈沖數(shù)  
    }
}
 
//請把P3.3和P2.3用杜邦線連接起來
void EXTI1_IRQHandler() interrupt 2
{
    pulse++;
}

數(shù)碼管顯示的是8,畫出狀態(tài)圖一目了然!

中斷函數(shù)7

拔了杜邦線再復(fù)位開發(fā)板就是顯示0了。

點(diǎn)贊(0)

C語言網(wǎng)提供由在職研發(fā)工程師或ACM藍(lán)橋杯競賽優(yōu)秀選手錄制的視頻教程,并配有習(xí)題和答疑,點(diǎn)擊了解:

一點(diǎn)編程也不會寫的:零基礎(chǔ)C語言學(xué)練課程

解決困擾你多年的C語言疑難雜癥特性的C語言進(jìn)階課程

從零到寫出一個爬蟲的Python編程課程

只會語法寫不出代碼?手把手帶你寫100個編程真題的編程百練課程

信息學(xué)奧賽或C++選手的 必學(xué)C++課程

藍(lán)橋杯ACM、信息學(xué)奧賽的必學(xué)課程:算法競賽課入門課程

手把手講解近五年真題的藍(lán)橋杯輔導(dǎo)課程

Dotcpp在線編譯      (登錄可減少運(yùn)行等待時間)