日职联赛-英超多少轮比赛-欧洲杯外围赛-2425德乙联赛赛程|www.tuangou168.com

設為主頁  加入收藏
 
·I2S數字功放IC/內置DSP音頻算法功放芯片  ·馬達驅動IC  ·2.1聲道單芯片D類功放IC  ·內置DC/DC升壓模塊的D類功放IC  ·鋰電充電管理IC/快充IC  ·無線遙控方案  ·直流無刷電機驅動芯片
當前位置:首頁->方案設計
用外中斷方式讀按鍵,控制燈的亮滅
文章來源: 更新時間:2014/3/29 9:35:00
在線咨詢:
給我發消息
姚紅霞 3003214837
給我發消息
鄢先輝 2850985542
給我發消息
李湘寧 2850985550
13713728695
 

 這一顆,我們學習外中斷的用法。也就是外部IO的中斷INT0,和INT1。對應的引腳是P32和P33。在我們的電路圖中,P32也就是接在K1的引腳。所以當我們按下P32接到地的時候,可以觸發一個INT0中斷,當然,必須預先初始化才會啟動。

這種中斷方式的按鍵,可以實現按鍵的立即響應。對于需要快速響應的場合是很有用的。外部IO中斷還常用在用IO模擬通訊的場合,可以對數據的到來立即響應。

下面請看代碼:

―――――――――――――――――

#define uchar unsigned char //定義一下方便使用

#define uint unsigned int

#define ulong unsigned long

#include //包括一個52標準內核的頭文件

sbit P10 = P1^0; //頭文件中沒有定義的IO就要自己來定義了

sbit P11 = P1^1;

sbit P12 = P1^2;

sbit P13 = P1^3;

sbit K1= P3^2;

bit ldelay=0; //長定時溢出標記,預置是0

uchar speed=10; //設置一個變量保存默認的跑馬燈的移動速度

uchar speedlever=0; //保存當前的速度檔次

char code dx516[3] _at_ 0x003b;//這是為了仿真設置的

//用外中斷方式讀按鍵K1,點亮一個LED

void main(void) // 主程序

{

IT0=1; //外中斷跳變產生中斷

EX0=1;

EA=1; //打開總中斷

while(1) //主程序循環

{

}

}

//外中斷0

int0() interrupt 0

{

P10=0; //在中斷里點亮LED

}

――――――――――――――――――――――――――――――――――

這個程序里,按一下K1(P32)之后,就會觸發INT0中斷,在該中斷里點亮LED燈。

請編譯運行,并看結果。可以看到,在按下K1之后,LED1變處于亮著的狀態。

作業:

用中斷方式的按鍵K1,控制一個LED燈的亮和滅兩種狀態

提示:需要去抖操作,否則按鍵抖動會引起多種中斷。

 
 
 
·藍牙音箱的音頻功放/升壓/充電管
·單節鋰電內置升壓音頻功放IC選型
·HT7179 12V升24V內置
·5V USB輸入、三節鋰電升壓型
·網絡主播聲卡專用耳機放大IC-H
 
M12269 HT366 ACM8629 HT338 

業務洽談:手機:13713728695(微信同號)   QQ:3003207580  EMAIL:panbo@szczkjgs.com   聯系人:潘波

地址:深圳市寶安西鄉航城大道航城創新創業園A5棟307/309

版權所有:深圳市永阜康科技有限公司  備案號:粵ICP備17113496號