msp430f5529简易计算器代码
时间: 2023-10-28 17:07:22 浏览: 89
MSP430F5529代码(库函数)
5星 · 资源好评率100%
根据提供的引用,以下是msp430f5529简易计算器的代码:
```
#include <msp430.h>
#include "OLED.h"
unsigned int num = 0;
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // 关闭看门狗定时器
OLED_Init(); // OLED初始化
OLED_Clear(); // 清屏
OLED_ShowString(0, 0, "Num:"); // 显示"Num:"
OLED_ShowNum(40, 0, num, 5, 16); // 显示数字
P1DIR &= ~(BIT1 + BIT2); // P1.1和P1.2设置为输入
P1REN |= BIT1 + BIT2; // P1.1和P1.2设置为上拉电阻
P1OUT |= BIT1 + BIT2; // P1.1和P1.2设置为上拉电阻
while (1)
{
if ((P1IN & BIT1) == 0) // 检测左按键是否按下
{
__delay_cycles(20000); // 延时去抖
if ((P1IN & BIT1) == 0) // 再次检测左按键是否按下
{
num++; // 数字加1
if (num > 65535) // 超过最大正数65535
{
num = 0; // 数字归零
}
OLED_Clear(); // 清屏
OLED_ShowString(0, 0, "Num:"); // 显示"Num:"
OLED_ShowNum(40, 0, num, 5, 16); // 显示数字
__delay_cycles(20000); // 延时去抖
}
}
if ((P1IN & BIT2) == 0) // 检测右按键是否按下
{
__delay_cycles(20000); // 延时去抖
if ((P1IN & BIT2) == 0) // 再次检测右按键是否按下
{
num--; // 数字减1
if (num < 0) // 超过最小数0
{
num = 65535; // 数字设置为最大正数65535
}
OLED_Clear(); // 清屏
OLED_ShowString(0, 0, "Num:"); // 显示"Num:"
OLED_ShowNum(40, 0, num, 5, 16); // 显示数字
__delay_cycles(20000); // 延时去抖
}
}
}
}
```
阅读全文