0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

MSP430单片机按键中断程序

算法&编程学院 来源:网络整理 2018-01-30 18:28 次阅读

#include"IRRemote.h"


voidmain(void)
{
//初始化
Initialize();

//死循环
while(1)
{
unsignedinttransmit;
//初始化变量
transmit=ENDTRANSMIT;
//等待按键按下
SetForPress();
//进入LPM4模式
LPM4;

Debounce();
//扫描键盘
KeySCAN();
//键盘处理
KeyLookup();
if(Error_Flags==0)
{
//有键按下的情况
SetupForRelease();
do
{
//传输数据(RC5码)
Transmit();

transmit=TestRetransmit();
//延时
DelayToNextTransmit();
}while(transmit==RETRANSMIT);
}
}
}

voidInitialize(void)
{
//停止看门狗
WDTCTL=WDTPW+WDTHOLD;
//P2口为输出
P2DIR=0xFF;
//P2.3为TA1功能管脚
P2SEL=0x08;
//清除P2口的输出
P2OUT=0;
//设置DCO频率为1MHz
DCOCTL=CALDCO_1MHZ;
BCSCTL1=CALBC1_1MHZ;
//使能中断
_EINT();
}

voidSetForPress(void)
{
//P1.0和P1.1为输入
P1DIR=0xFC;
//清除P1口的输出,下拉
P1OUT=0;
//使能P1.0和P1.1的电阻
P1REN|=0x03;
//使能键盘
P2OUT|=0x07;
//低到高中断方式
P1IES&=~0x03;
//清除中断标志
P1IFG=0;
//使能中断
P1IE|=0x03;
//清除错误标志
Error_Flags=0;
//清除传输标志
Trans_Flags=0;
}

voidDebounce(void)
{
//SMCLK/8,清除TA
TACTL=TASSEL1+TACLR+ID0+ID1;
//使能CCR0中断
TACCTL0=CCIE;
//设置延时的值
TACCR0=5000-1;
//开始UP模式
TACTL|=MC0;
//进入LPM0模式
LPM0;
//停止并清除TA
TACTL=TACLR;
//清除CCTL0寄存器
TACCTL0=0;
}

voidKeyScan(void)
{
unsignedinti;

//初始化行
RowMask=0x01;
KeyHex=0;
//清除行的值
P1OUT&=~0x03;

for(i=0;i

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6032

    文章

    44514

    浏览量

    632951
  • msp430
    +关注

    关注

    180

    文章

    2393

    浏览量

    229188
  • 中断程序
    +关注

    关注

    0

    文章

    34

    浏览量

    8675
收藏 人收藏

    评论

    相关推荐

    MSP430系列单片机C语言程序设计与开发

    MSP430系列单片机C语言程序设计与开发MSP430系列是一个具有明显技术特色的单片机品种。关于它的硬件特性及汇编语言
    发表于 10-09 17:23 1100次下载
    <b class='flag-5'>MSP430</b>系列<b class='flag-5'>单片机</b>C语言<b class='flag-5'>程序</b>设计与开发

    MSP430单片机概述

    本章首先介绍MSP430单片机的发展历史及应用,然后叙述MSP430单片机具有的特点及优势,最后简要介绍MSP430
    发表于 07-15 15:27 0次下载

    MSP430单片机中断系统

    中断MSP430单片机的一大特点,有效地利用中断可以简化程序并提高执行效率。在MSP430
    发表于 07-15 15:27 0次下载

    MSP430单片机软件工程开发基础

    本章介绍MSP430单片机软件工程的开发基础,主要讲解MSP430单片机C语言编程基础、MSP430单片
    发表于 07-15 15:27 0次下载

    MSP430单片机

    MSP430单片机
    发表于 12-17 17:01 0次下载

    MSP430单片机的定时器

    实现MSP430单片机的定时器中断,并在中断中使LED闪烁
    发表于 03-15 16:10 5次下载

    MSP430教程14:MSP430单片机ADC12模块

    MSP430教程14:MSP430单片机ADC12模块
    发表于 10-12 09:03 55次下载
    <b class='flag-5'>MSP430</b>教程14:<b class='flag-5'>MSP430</b><b class='flag-5'>单片机</b>ADC12模块

    MSP430单片机实践篇之MSP430单片机ADC模数转换操作

    MSP430单片机中断编程;ADC(模数转换)的实现;MSP430单片机低功耗控制(休眠)。
    发表于 04-28 10:46 43次下载
    <b class='flag-5'>MSP430</b><b class='flag-5'>单片机</b>实践篇之<b class='flag-5'>MSP430</b><b class='flag-5'>单片机</b>ADC模数转换操作

    MSP430单片机ADC模数转换操作

    学习要点:MSP430单片机中断编程;ADC(模数转换)的实现;MSP430单片机低功耗控制(休眠)。
    发表于 05-08 08:43 45次下载
    <b class='flag-5'>MSP430</b><b class='flag-5'>单片机</b>ADC模数转换操作

    MSP430单片机教程之MSP430的详细程序示例合集免费下载

    本文档的主要内容详细介绍的是MSP430单片机教程之MSP430的详细程序示例合集免费下载。
    发表于 09-13 08:00 197次下载

    MSP430单片机的AD和DA程序免费下载

    本文档的主要内容详细介绍的是MSP430单片机的AD和DA程序免费下载。
    发表于 06-08 08:00 21次下载
    <b class='flag-5'>MSP430</b><b class='flag-5'>单片机</b>的AD和DA<b class='flag-5'>程序</b>免费下载

    MSP430单片机中断

    MSP430单片机中断
    发表于 11-19 15:51 12次下载
    【<b class='flag-5'>MSP430</b><b class='flag-5'>单片机</b>】<b class='flag-5'>中断</b>篇

    MSP430系列单片机(1)——基本知识

    MSP430系列单片机(1)——基本知识1.单片机2.初识MSP4301.单片机2.初识MSP430
    发表于 11-19 17:36 32次下载
    <b class='flag-5'>MSP430</b>系列<b class='flag-5'>单片机</b>(1)——基本知识

    MSP430 TTP229 单片机 触摸按键 实践 51单片机 触摸键盘

    MSP430 TTP229 单片机 触摸按键 实践 51单片机 触摸键盘
    发表于 11-19 19:21 20次下载
    <b class='flag-5'>MSP430</b> TTP229 <b class='flag-5'>单片机</b> 触摸<b class='flag-5'>按键</b> 实践 51<b class='flag-5'>单片机</b> 触摸键盘

    MSP430单片机中断系统课件ppt

    中断MSP430单片机的一大特点,有效地利用中断可以简化程序并提高执行效率。在MSP430
    发表于 08-01 15:13 8次下载