原创 【博客大赛】MSP430F5438开发板单片机基本IO实验程序

2013-8-15 23:31 1461 15 15 分类: MCU/ 嵌入式
//==========================================================//
//                                                                                                                                       //
// 文件:  MAIN.C                                                                                                           //
// 说明:  MSP430F5438开发板单片机基本IO实验程序                                         //
//         由键盘端口KPC0~3输出低电平,KPR0~3设置为输入并内部上拉            //
//         当按键被按下时,单片机检测到KPR0~3的一路或多路被拉低,               //
//         则按被按下按键的行位置点亮相应的发光二极管, 如按下第一                    //
//         行按键则D7/D8亮起,以此类推。                                                                  //
//                                                                                                                                       //
//                      MSP430F5438                                                                                     //
//                  -----------------                                                                                              //
//                 |             P6.0|-->  |------ |                                                                            //
//                 |             P6.1|-->  |         |                                                                            //
//               - |RST    P6.2|-->  |          |                                                                            //
//                 |             P6.3|-->  | 4×4 |                                                                             //
//                 |             P6.4|<--  | 键盘|                                                                            //
//                 |             P6.5|<--  |         |                                                                            //
//                 |RST     P6.6|<--  |         |                                                                            //
//                 |             P6.7|<--  |------ |                                                                            //
//                  -----------------                                                                                             //
//                                                                                                                                      //
// 编译:  CCS5.2                                                                                                        //
// 日期:  2013.05.19                                                                                                  //
//                                                                                                                                      //
//=========================================================//
 
#include "msp430x54x.h"
#include <stdlib.h>
#include <stdio.h>
#include "PIN_DEF.H"
 
 
//***************************************************************************//
//                                                                                                                              //
//  void Init_Port(void): 设置IO端口                                                                    //
//                                                                                                                              //
//***************************************************************************//
void Init_Port(void)
{
  P5DIR  |= POWER                                                                 ; // 主电源
  MAIN_POWER_ON                                                               ;
  P7DIR  |= LED_PWR                                                            ; // 发光二极管电源
  P7OUT  &=~LED_PWR                                                        ;
  INTERNAL_PULL_UP                                                         ; // 使能键盘端口内部上拉电阻
  ROW_IN_COL_OUT                                                            ; // 设置行输入,列输出0
  P1OUT   = 0xF0                                                                     ; // 设置LED控制端IO属性
  P1DIR   = 0xF0                                                                      ;
  P9OUT   = 0x0F                                                                     ;
  P9DIR   = 0x0F                                                                      ;
}
 
//***************************************************************************//
//                                                                                                                             //
// void main(void): 主函数                                                                                   //
// 功能—— 主程序循环,检测按键并按被按下按键的行位置点亮相应的发光二极管   //
//                                                                                                                              //
//***************************************************************************//
void main( void )
{
 
  WDTCTL = WDTPW + WDTHOLD                                                 ; // 关闭看门狗
  Init_Port()                                                                                            ;
 
  while(1)
  {
    if(!(P6IN&KPR3))                                                                            // 检测输入端口是否有低电平
      P9OUT  &=~(BIT0 + BIT1)                                                         ; // 按键被按下,点亮发光二极管
    else
      P9OUT  |=  BIT0 + BIT1                                                              ;
 
    if(!(P6IN&KPR2))
      P9OUT  &=~(BIT2 + BIT3)                                                          ;
    else
      P9OUT  |=  BIT2 + BIT3                                                              ;
 
    if(!(P6IN&KPR1))
      P1OUT  &=~(BIT4 + BIT5)                                                          ;
    else
      P1OUT  |=  BIT4 + BIT5                                                              ;
 
    if(!(P6IN&KPR0))
      P1OUT  &=~(BIT6 + BIT7)                                                        ;
    else
      P1OUT  |=  BIT6 + BIT7                                                             ;
  }
}
 
// end of file
 
//2013-08-15
//23:31
//深圳
 
PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
15
关闭 站长推荐上一条 /3 下一条