<var id="fnfpo"><source id="fnfpo"></source></var>
<rp id="fnfpo"></rp>

<em id="fnfpo"><object id="fnfpo"><input id="fnfpo"></input></object></em>
<em id="fnfpo"><acronym id="fnfpo"></acronym></em>
  • <th id="fnfpo"><track id="fnfpo"></track></th>
  • <progress id="fnfpo"><track id="fnfpo"></track></progress>
  • <tbody id="fnfpo"><pre id="fnfpo"></pre></tbody>

  • x
    x

    MSP430鍵盤程序[中斷方式]

    發布時間:2008-1-1 11:51    發布者:MSP430
    關鍵詞: MSP430 , 鍵盤程序 , 中斷方式
    // 此示例程序為中斷方式,得到鍵盤的鍵值,存放在隊列keybuff[10]中 // 此示例程序沒有顯示, // 鍵盤的按鍵按下引起P1口的中斷服務程序,得到鍵盤的鍵值,保存到鍵值隊列 // 在其他的中斷服務程序中通過鍵值隊列中的數據引導程序的流程 #include unsigned char keybuff[10]; unsigned char keypoint=0; void delay(int v) { while(v!=0)v--; } unsigned char key(void) { unsigned char x=0xff; P1DIR=0X0F; P1OUT=0X01; //掃描第一行 if((P1IN&0X70)==0X10) x=0; else if((P1IN&0X70)==0X20) x=1; else if((P1IN&0X70)==0x40) x=2; else { P1OUT=0X2; //掃描第二行 if((P1IN&0X70)==0X10) x=3; else if((P1IN&0X70)==0X20) x=4; else if((P1IN&0X70)==0x40) x=5; else { P1OUT=0X4; //掃描第三行 if((P1IN&0X70)==0X10) x=6; else if((P1IN&0X70)==0X20) x=7; else if((P1IN&0X70)==0x40) x=8; else {P1OUT=8; //掃描第四行 if((P1IN&0X70)==0X10) x=9; else if((P1IN&0X70)==0X20) x=10; else if((P1IN&0X70)==0x40) x=11; } } } return(x); } unsigned char keyj(void) {unsigned char x; P1DIR=0x0f; P1OUT=0x0f; //鍵盤硬件:P10--P13為行線,最上面一根為P10 x=(P1IN&0X70); // P14--P16為列線,最左邊一根為P14,列線下拉 return(x); // 無按鍵,返回 0?; 有按鍵返回 非0 } interrupt[PORT1_VECTOR] void port1key(void) { if(keyj()!=0X00) { delay(300) ; //消抖動 if(keyj()!=0X0) { keybuff[keypoint]=key(); //按鍵見鍵值保存到隊列 keypoint++; // if(keypoint==10) keypoint=0; } } P1OUT=0X0F; P1IFG=0X0; //清除中斷標志 } void main(void) { WDTCTL = WDTPW + WDTHOLD; /* // Stop WDT */ P1DIR=0XF; P1OUT=0XF; P1IES=0X0; P1IE=0X70; //列線上升沿允許P1中斷 _EINT(); /*/ Enable interrupts */ while(1) { LPM0; _NOP(); } }
    本文地址:http://www.portaltwn.com/thread-2835-1-1.html     【打印本頁】

    本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
    您需要登錄后才可以發表評論 登錄 | 立即注冊

    廠商推薦

    • Microchip視頻專區
    • 更佳設計的解決方案——Microchip模擬開發生態系統
    • 我們是Microchip
    • 你仿真過嗎?使用免費的MPLAB Mindi模擬仿真器降低設計風險
    • Cortex-M4外設 —— TC&TCC結合事件系統&DMA優化任務培訓教程
    • 貿澤電子(Mouser)專區

    相關在線工具

    關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
    電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
    快速回復 返回頂部 返回列表
    精品一区二区三区自拍图片区_国产成人亚洲精品_亚洲Va欧美va国产综合888_久久亚洲国产精品五月天婷