标题:
msp430f5529简易计数器
[打印本页]
作者:
sfbuyfsui
时间:
2020-4-29 19:34
标题:
msp430f5529简易计数器
#include "MSP430F5529.h" //MSP头文件
#include "key.h" //包含按键检测功能文件
#include "IIC.h" //包含IIC通信功能与显示函数文件
void IOInit();
void IOInit(){ //初始化端口函数
/*******
独立按键部分IO口定义填空
********/
//设置P1.1和P2.1为输入模式
P1SEL &= 0xFD;
P1DIR &= 0xFD;
P2SEL &= 0xFD;
P2DIR &= 0xFD;
//设置P1.1和P2.1使能上拉/下拉模式
P1REN |= 0x2;
P2REN |= 0x2;
//设置P1.1和P2.1为上拉模式
P1OUT |= 0x2;
P2OUT |= 0x2;
/*********
LED灯部分IO口定义填空
*******/
//设置P1.0和P4.7为输出模式
P1SEL &= 0xFE;
P1DIR |= 1;
P4SEL &= 0x7F;
P4DIR |= 0x80;
}
int main( void )
{
enum key_type key;
unsigned long old_num=1;
unsigned long pre_num=1;
WDTCTL = WDTPW+WDTHOLD; // Stop WDT
LCD_Init(); //显示屏初始化
IOInit(); //初始化各种端口
LCD_ShowNum(0,0,2020,5,16); //初始化在(0,0)处显示数字2019长度为5
while(1)
{
key = KeyScan();
if( key != NOKEY )
{
switch(key)
{
case KEYLEFT : pre_num--;
break;
/*******
判断右键按下填空
*******/
//如果是右键按下 则数字加1
case KEYRIGHT : pre_num++;
break;
}
}
/*******
显示部分填空
********/
if(old_num!=pre_num)
{
//指定位置显示数字
LCD_ShowNum(0,0,pre_num,5,16);
}
old_num=pre_num;
/*******
如果为偶数设置LED亮灭状态填空
*******/
if (pre_num%2 == 0)
{
P1OUT &= 0xFE;
P4OUT |= 0x80;
// P1.0灭且P4.7亮
}
/******
如果为奇数设置LED灯亮灭状态填空
******/
else
{
P1OUT |= 1;
P4OUT &= 0x7F;
//P1.0亮且P4.7灭
}
}
}
作者:
admin
时间:
2020-4-30 14:02
本帖需要重新编辑补全电路原理图,源码,详细说明与图片即可获得100+黑币(帖子下方有编辑按钮)
作者:
呼哈呼哈hi
时间:
2021-4-11 19:25
兄弟,能不能看看你的IIc.h和key.c文件
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1