AY-G2 PL KIT_例程包分享給大家
0.png (43.05 KB, 下載次數: 62)
下載附件
2018-6-9 02:27 上傳
0.png (10.85 KB, 下載次數: 66)
下載附件
2018-6-9 02:27 上傳
所有資料51hei提供下載:
AY-G2 PL KIT_例程.rar
(6.87 MB, 下載次數: 15)
2018-6-8 21:24 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
單片機源程序如下:
- /*
- * TouchPad_Long_Short_Mealy
- * 硬件描述:P1.0和P1.6分別接了1個紅光LED和1個綠光LED(用跳線帽連接),P2.0和P2.5引出兩個觸摸板
- * 功能描述:短按下P2.0觸摸板切換紅燈亮滅,長按下P2.0切換綠燈亮滅。
- * 備 注:套用機械按鍵的狀態機,判斷長短鍵
- * Created on: 2013-4-8
- * Author: Administrator
- */
- #include "MSP430G2553.h"
- #include "TouchIN.h"
- //-----對狀態進行宏定義-----
- #define IDLE 0
- #define SHORT 1
- #define LONG 2
- #define COUNTER_THRESHOLD 30 /*長鍵判別門限*/
- //-----全局變量-----
- unsigned char WDT_Counter=0; /*用于對按鍵按下時間進行計數*/
- //-----在main函數前提前申明函數----
- void GPIO_init();
- void WDT_init();
- void Key_SM();
- unsigned char LongClick_Dect();
- void P20_Touch_OnShortRelease();
- void P20_Touch_OnLongClick();
- /******為符合閱讀習慣,將main函數放最前面,但其他函數就必須提前聲明***/
- void main(void) {
- WDTCTL = WDTPW + WDTHOLD; //關狗
- GPIO_init();
- WDT_init();
- _enable_interrupts();
- _bis_SR_register(LPM3_bits);
- }
- /******************************************************************************************************
- * 名 稱:GPIO_Init()
- * 功 能:設定按鍵和LED控制IO的方向,啟用按鍵IO的上拉電阻
- * 入口參數:無
- * 出口參數:無
- * 說 明:使用觸摸按鍵時,無需使用內部上下拉點
- * 范 例:無
- ******************************************************************************************************/
- void GPIO_init()
- {
- //-----設定P1.0和P1.6的輸出初始值-----------
- P1DIR |= BIT0+BIT6; //設定P1.0和P1.6為輸出
- P1OUT |= BIT0; //設定P1.0初值
- P1OUT &= ~BIT6; //設定P1.6初值
- // //-----使用P2.0觸摸按鍵,不用P1.3機械按鍵了-------
- // P1REN |= BIT3; //啟用P1.3內部上下拉電阻
- // P1OUT |= BIT3; //將電阻設置為上拉
- }
- /******************************************************************************************************
- * 名 稱:WDT_init()
- * 功 能:設定WDT定時中斷為16ms,開啟WDT定時中斷使能
- * 入口參數:無
- * 出口參數:無
- * 說 明:WDT定時中斷的時鐘源選擇ACLK,可以用LPM3休眠。
- * 范 例:無
- ******************************************************************************************************/
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
|