历史上的今天
返回首页

历史上的今天

今天是:2025年03月28日(星期五)

正在发生

2020年03月28日 | MSP430输入输出接口实验

2020-03-28 来源:eefocus

1.实验目的


    学会对P口的使用。


2.实验要求


    利用板上的按键,控制LED显示。


3.实验内容


(1)编写键盘扫描程序。


(2)编写LED闪烁(时间间隔1秒,软件演示)显示程序。


(3)编写用每一个键控制两个LED灯发光的程序,按键可以随时切换。


#include


#include "Config.h"


uchar key;



//*************************************************************************

// 初始化IO口子程序

//*************************************************************************

void Port_init()

{



  P1SEL = 0x00;                   //P1普通IO功能

  P1DIR = 0xF0;                   //P10~P13输入模式,外部电路已接上拉电阻

  P6SEL = 0x00;                   //P6口普通IO功能

  LED8DIR = 0xFF;                   //P6口输出模式

}



//**********************************************************************

// 键盘扫描子程序,采用逐键扫描的方式

//**********************************************************************



uchar Key_Scan(void) 

{

  uchar key_check;

  uchar key_checkin;

  key_checkin=KeyPort;          //读取IO口状态,判断是否有键按下

  key_checkin&= 0x0F;          //读取IO口状态,判断是否有键按下

  if(key_checkin!=0x0F)            //IO口值发生变化则表示有键按下

    {

      delay_ms(20);                  //键盘消抖,延时20MS

      key_checkin=KeyPort;

      if(key_checkin!=0x1F)

        {  

          key_check=KeyPort;

          switch (key_check & 0x0F)

            {

              case 0x0E:key=1;break;

              case 0x0D:key=2;break;

              case 0x0B:key=3;break;

              case 0x07:key=4;break;

            }

          

        }

      

   }

  else

   {

     key=0xFF;        

   }

  return key;

//*************************************************************************

// 主程序

//*************************************************************************



void main(void)

{     

  WDT_Init();                            //看门狗设置

  Clock_Init();                          //系统时钟设置

  Port_init();                           //系统初始化,设置IO口属性

  delay_ms(100);                         //延时100ms

  while(1)

    {

      Key_Scan();                       //键盘扫描,看是否有按键按下

      if(key!=0xff)                     //如果有按键按下,则显示该按键键值1~4

        {

  {

            switch(key)

              {

        case 1: LED8 = 0xFC;break;        //给不同的键赋键值,键值1,亮2个LED灯

                case 2: LED8 = 0xF3;break;        //给不同的键赋键值,键值2,亮2个LED灯

                case 3: LED8 = 0xCF;break; //给不同的键赋键值,键值3,亮2个LED灯

                case 4: LED8 = 0x3F;break; //给不同的键赋键值,键值4,亮2个LED灯

              }



          }

       }

     else

      {

        //LED=key;              //没有按键的时候显示上次的键值

      }

    }

}

推荐阅读

史海拾趣

申风(everanalog)公司的发展小趣事

作为一家有社会责任感的企业,申风(everanalog)公司始终关注社会发展和环境保护问题。公司积极参与公益事业和环保活动,致力于为社会做出积极贡献。同时,公司也注重可持续发展战略的制定和实施,在生产经营过程中注重节能减排和资源循环利用等方面的工作。这些举措不仅提升了公司的社会形象,也为公司的长期发展奠定了坚实的基础。

请注意,以上故事框架仅为示例,并未包含具体的细节和数据。如需了解更多关于申风(everanalog)公司的具体信息和发展历程,请查阅相关新闻报道或官方资料。

D+H Mechatronic AG公司的发展小趣事

D+H Mechatronic AG深知人才是企业发展的核心。因此,公司一直致力于培养和引进优秀人才,并建立了完善的培训体系。通过内部培训和外部引进相结合的方式,公司成功打造了一支高素质、专业化的技术和管理团队。这支团队不仅具备丰富的专业知识和实践经验,还具备良好的创新意识和团队协作精神。他们的努力为公司的发展提供了源源不断的动力。

浙江凡华(FANHAR)公司的发展小趣事

D+H Mechatronic AG深知人才是企业发展的核心。因此,公司一直致力于培养和引进优秀人才,并建立了完善的培训体系。通过内部培训和外部引进相结合的方式,公司成功打造了一支高素质、专业化的技术和管理团队。这支团队不仅具备丰富的专业知识和实践经验,还具备良好的创新意识和团队协作精神。他们的努力为公司的发展提供了源源不断的动力。

EDAL公司的发展小趣事

为了进一步巩固市场地位和提升技术实力,EDAL公司开始通过收购和合作的方式拓展业务。公司成功收购了几家在EDA领域具有领先地位的公司,获得了更多的技术专利和市场份额。此外,EDAL公司还与其他科技公司建立了战略合作关系,共同研发新技术、新产品,推动整个EDA行业的发展。

昭华(CHA)公司的发展小趣事

昭华(CHA)公司自2007年成立以来,就致力于拨码开关与轻触开关的研发制造。在初创阶段,公司面临着技术挑战、资金短缺以及市场竞争激烈等多重困难。然而,昭华团队凭借着对技术的热情和执着,通过不断的技术创新和产品优化,逐渐在市场上树立了自己的品牌。他们不仅成功研发出多款高性能的开关产品,还积累了丰富的行业经验,为公司的后续发展奠定了坚实的基础。

CHIMEI(奇美)公司的发展小趣事

奇美公司的创业历程始于XXXX年,当时电子产业正处于蓬勃发展的初期。公司创始人凭借对电子行业的敏锐洞察力和坚定的创业决心,带领一支充满激情和创造力的团队,开始了奇美的创业之路。在创业初期,奇美专注于电子产品的研发和生产,通过不断的技术创新和市场拓展,逐渐在行业内崭露头角。

问答坊 | AI 解惑

合同问题

劳动合同上写的工资和公司面试谈好工资不一样, 面试谈好的工资是劳动合同的2倍多。 上个月,实际发放的工资按谈好工资发的。 人事解释说,合同上只是基本工资, 公司是否存在偷税漏税的行为还是在找机会制裁员工? 因为没有工资条,作为员工 ...…

查看全部问答>

和我一个平级的同事让我很烦!

工作很狂,自认很了不起。啥小事情,杂事情都不动手,经常要求把事情都弄好,要他来动脑这种架势。但他工作的质量也不是很高,已经出了2起重大质量事故了。…

查看全部问答>

基于LabVIEW力与变形信号数据自动采集与检测

基于LabVIEW力与变形信号数据自动采集与检测…

查看全部问答>

新手问个wince的简单问题?

我想知道wince下可以拨打电话吗,如果不能,如何能实现。目前我有一个RIL层的代码,能加进去wince ,然后实现电话功能吗?刚进入这块,请高手指点。…

查看全部问答>

请教cos操作系统高手!

本人现在想从事COS操作系统的开发,不知道各位高手可不可以指教,因为原来没有开发过!…

查看全部问答>

(转)公司版STM32工作原理

公司版STM32工作原理 晶振:老板,带两个秘书(电容),有时老板不在秘书说了算(内部时钟模式) 时钟PLL:老板娘,老板控制局面,但还是要听老板娘的话。 CPU:人力资源部,调动人员齐心合力 APB1,APB2时钟:部门经理,发布任务进度, ...…

查看全部问答>

关于fpga浮点数的东东

大神门透露一下,怎么用fpga表示浮点数?…

查看全部问答>

CCS|编译没问题就是.out文件出不来|求大神

最近做PRJ,初学DSP,想先写个简单的程序试试编译都没问题。各个.obj文件都生成了就剩下最后一个error——————————error: symbol referencing errors - \'./Debug/PWM_EX.out\' not built想了想问题可能是出在cmd文件上,但是看过去看 ...…

查看全部问答>

SMCLK有给TA定时器提供时钟吗

SMCLK有给TA定时器提供时钟吗…

查看全部问答>