📄 main.c
字号:
/************************************************
试验名称:test_nokia5110
试验功能:测试nokia5110 LCD显示
************************************************/
#include<msp430x14x.h>
#include"nokia5110.h"
#define uchar unsigned char
#define uint unsigned int
//uchar ISR_Symbol=0,DAT=0X00; //任务标志
void Iint_Port1(void);
void main(void)
{
uchar a={'s'};
uint i=56000;
WDTCTL = WDTPW + WDTHOLD;//停止看门狗定时器
unsigned char p;
WDTCTL=WDTPW+WDTHOLD;
//使用XT2振荡器 8MHZ
BCSCTL1&=~XT2OFF; //打开XT2振荡器
do
{
IFG1 &= ~OFIFG; // 清除振荡器失效标志
for (p = 0xFF; p > 0; p--); // 延时,等待XT2起振
}
while ((IFG1 & OFIFG) != 0); // 判断XT2是否起振
while(i--)i=i;
CCR0=100; //10KHZ
CCTL1=OUTMOD_7;
CCR1=0; //占空比 CCR1/CCR0
CCTL2=OUTMOD_7;
CCR2=0;
TACTL = TASSEL_2 + MC_1 + TAIE;// MCLK,定时器 A 增计数模式,且开中断功能
P3DIR=0xff;
LCD_init();
Iint_Port1();
Iint_Port1(); //初始化p1.0
_EINT(); //开总中断允许
//LCD_one_char(10,5,a);
//LCD_char_string(0,2," NOKIA is OK! ");
//LCD_char_string(0,0," CFE");
//LCD_char_string(0,3," 20011-6-18 ");
//WriteByteNokia(CMD, CONV_DISPLAY);
//LCD_num(20,5,49537); /**/
while(1)
{
//LPM3; //进入低功耗模式3,I/O口中断可将其唤醒
//if((ISR_Symbol&BIT0)==BIT0) {ISR_Symbol&=~BIT0;} //中断服务程序
//else if((ISR_Symbol&BIT1)==BIT1) {ISR_Symbol&=~BIT1;} //其他任务
welcome_screen();
};
}
void Iint_Port1(void)
{
//P2DIR=0XFF;
//P2SEL=0X00;
//P2OUT=0XFF;
P1DIR=0X00; //设置为输入方向
P1SEL=0X00; //设置为普通I/O口功能
P1IES|=0X06; //选择下降沿触发
P1IE|=0X06; //打开中断允许
P1IFG=0; //P1IES的切换可能使P1IFG置位,需清除
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -