历史上的今天
返回首页

历史上的今天

今天是:2025年02月15日(星期六)

2020年02月15日 | MSP430按键中断Ⅱ

2020-02-15 来源:eefocus

#include

typedef unsigned char uchar;

typedef unsigned int uint;

#define keyin (P1IN & 0X0F)

#define wei_h P5OUT |= BIT5

#define wei_l P5OUT &= BIT5

#define duan_l P6OUT &= ~BIT6

#define duan_h P6OUT |= BIT6

 

uchar table[16] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

//uchar num = 0;

  uint keyval=0;

void delay(int z)

{

  int i,j;

  for(i=z;i>0;i--)

    for(j=112;j>0;j--);

}

 

void display(uchar dat)

{

  P4OUT = table[dat];

  duan_h;

  duan_l;

  P4OUT = 0x00;

  wei_h;

  wei_l;

}

 

void main( void )

{

//  uint temp,keyval;

  P1IES = 0X0F;         //下降沿触发

  P1IE = 0X0F;

  P1DIR = 0XF0;

  P1OUT = 0X00;

  

//  P1DIR = 0XFF;P1OUT = 0XFF;

  P4DIR = 0XFF;P4OUT = 0X00;

  P5DIR = 0XFF;P5OUT = 0XF7;

  P6DIR = 0XFF;

  _EINT();

  // Stop watchdog timer to prevent time out reset

  WDTCTL = WDTPW + WDTHOLD;

  

  while(1)

  {

    LPM1;

  }

}

 

#pragma vector = PORT1_VECTOR

__interrupt void PORT1_ISR(void)

{

 

  if(P1IFG & 0X0F)

  {

    switch(P1IFG)

    {

    case 0x01:

      if(keyin == 0x0e)

      {

        delay(20);

        if(keyin == 0x0e)

        {

          while(keyin != 0x0f)

            keyval = 1;

          display(keyval);

          P1IFG = 0;            //必须软件清除

          return;

        }

      }

    case 0x02:

      if(keyin == 0x0d)

      {

        delay(20);

        if(keyin == 0x0d)

        {

          while(keyin != 0x0f)

            keyval = 1;

          display(keyval);

          P1IFG = 0;            //必须软件清除

          return;

        }

      }       

    case 0x03:

      if(keyin == 0x0b)

      {

        delay(20);

        if(keyin == 0x0b)

        {

          while(keyin != 0x0f)

            keyval = 1;

          display(keyval);

          P1IFG = 0;            //必须软件清除

          return;

        }

      }

    case 0x04:

      if(keyin == 0x07)

      {

        delay(20);

        if(keyin == 0x07)

        {

          while(keyin != 0x0f)

            keyval = 1;

          display(keyval);

          P1IFG = 0;            //必须软件清除

          return;          

        }

      }

    }

  }

}

推荐阅读

史海拾趣

Dalian Dlicap Corporation公司的发展小趣事

大连达利凯普科技股份公司自成立以来,始终坚持自主创新和技术研发。公司拥有一支专业的研发团队,致力于射频微波磁介电容器(射频微波MLCC)的研发和生产。通过不懈努力,公司成功掌握了射频微波MLCC的关键核心技术,并获得了全部自主知识产权。这一技术突破不仅使达利凯普在行业内树立了技术领先地位,也为公司赢得了广泛的市场认可。

集创北方(CHIPONE)公司的发展小趣事

在显示芯片领域,集创北方是国产化替代的积极推动者。公司凭借自身在显示芯片领域的深入研究和创新实力,成功打破了国外厂商的技术垄断,为国内厂商提供了更多选择。同时,集创北方还积极参与行业标准制定,推动了国内显示芯片产业的健康发展。

福声科技(FUET)公司的发展小趣事

在竞争日益激烈的电子行业中,福声科技始终坚持客户需求导向,提供定制化服务。公司深入了解客户的实际需求和应用场景,为客户提供从产品设计、生产到售后服务的全方位解决方案。这种以客户为中心的服务理念不仅增强了客户的满意度和忠诚度,还为公司赢得了更多的业务机会和市场份额。同时,福声科技还不断优化生产流程和服务流程,提高响应速度和交付能力,以满足客户日益增长的需求。

以上五个故事展示了福声科技(FUET)在电子行业中逐渐发展起来的历程,体现了公司在技术创新、质量管理、市场拓展和客户服务等方面的努力和成就。

Hitachi (Renesas )公司的发展小趣事

在稳固国内市场的同时,福声科技积极寻求国际合作机会,努力拓展海外市场。公司凭借其优质的产品和服务,成功吸引了日本、韩国、加拿大、美国等多个国家和地区的客户。通过与国际知名企业的合作与交流,福声科技不仅提升了自身的技术水平和品牌影响力,还进一步拓宽了国际市场渠道,为公司的全球化战略奠定了坚实基础。

Cantherm公司的发展小趣事

人才是企业发展的核心竞争力。Cantherm公司深知这一点,因此始终重视人才的引进和培养。公司不仅提供优厚的福利待遇和广阔的发展平台,还积极开展员工培训和技能提升计划。通过不断吸引和培养高素质人才,Cantherm公司逐渐建立了一支高效、专业的团队,为公司的持续发展提供了有力保障。


请注意,以上故事均为虚构,旨在展示一个电子行业中虚构公司可能遇到的发展情况。如有需要,您可以根据实际情况进行调整或补充。

Everett Charles Technologies (ECT)公司的发展小趣事

随着全球电子产业的快速发展和市场竞争的加剧,ECT不断加快全球化战略的实施。公司在全球范围内设立分支机构,积极拓展海外市场,加强与国际知名企业的合作与交流。同时,ECT也注重培养本土人才和创新能力,不断提升公司的核心竞争力。展望未来,ECT将继续秉承“创新、质量、服务”的理念,致力于成为全球领先的电子测试系统供应商和服务商。

以上五个故事概述了Everett Charles Technologies (ECT) 公司的发展历程和关键节点,每个故事都体现了公司在技术创新、市场拓展和全球化战略方面的努力和成果。这些故事不仅展现了ECT的辉煌过去,也预示着其更加美好的未来。

问答坊 | AI 解惑

《社区大讲堂》DO-254中的高设计可靠性的逻辑综合(七)--支持逻辑等效型检查

设计可靠性在DO-254的A级和B级设计中尤其重要。. 附录B中对有这样的描述:“当设计可靠性级别增加后, 设计方法需要能够验证被测设计满足安全性要求, 这些要求有可能有重合的部分,需要有层次化的设计可靠性设计方法。 在任何设计过程中,如 ...…

查看全部问答>

关于WINCE5.0 驱动开发的问题

我是按照这个网页一步一步作的:http://www.pcwiki.net/ht/view/cps-4/id-20978 前面一切都调试成功,作到上面页面的Target | Attach步后,,出现“download Runtime Image to CE Device \"  然后进度条就一直没有变,请问这个下载很 ...…

查看全部问答>

switching module processor

谁能详细的介绍一下SMP which is in SM.体系结构,功能等等。谢谢 。…

查看全部问答>

RegReplaceKey的疑惑?

这是WINCE帮助文档上的介绍: LONG RegReplaceKey(   HKEY hKey,   LPCTSTR lpSubKey,   LPCTSTR lpNewFile,   LPCTSTR lpOldFile ); hKey [in] The hKey parameter must be HKEY_LOCAL_MACHINE ...…

查看全部问答>

想学RAM,给点意见.

本人是计算机专业毕业,对java,php,delphi都有相当的工作经验,学过一定时间的伟福,但它的接口没有RAM丰富,现在想学一下RAM,请问一下RAM是在windows还是linux下运行,还有就是调度软件用什么,要不要仿真器.…

查看全部问答>

M0 新唐CM0+MDK-ARM入门开发过程简介之平台的建立

一  平台资源下载   1.Mdk4.12的下载因为是最新发布的芯片所以现在只有mdk4.11和4.12支持本系列芯片。   下载地址 在http://www.mcu123.com/news/Soft/ShowSoftDown.asp?UrlID=3&SoftID=529上右击“下载地址:” ...…

查看全部问答>

tftp下载的内核死掉

死掉情况1(这种情况可以解释成TFTP传输过程误码):Bytes transferred = 2641544 (284e88 hex)                       &nb ...…

查看全部问答>

5502-300MHZ

5502最大可接收多高频率的信号?  MCBSP/GPIO。。。最高的频率是多少?   108MHZ的信号能直接接么,不考虑CPU有没有时间工作…

查看全部问答>

3G模块已获得私有IP,如何进行UDP通信

3G模块:EM770w 直接用AT命令控制,已实现PPP连接(因为获得网关分配的私有IP,我认为,不知道对否)。在这种情况下如何进行UDP通信。因为打算把EM770W放在一块开发板上,所以希望有高手能提供一些关于AT命令或者更底层的意见。 这个EM770W完全不 ...…

查看全部问答>