AY-G2 PL KIT_例程包分享给大家
所有资料51hei提供下载:
AY-G2 PL KIT_例程.rar
(6.87 MB, 下载次数: 15)
单片机源程序如下:
- /*
- * 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黑下载附件…………
复制代码
|