📄 main.c
字号:
#include <msp430x14x.h>
#include "BoardConfig.h"
#define keyin (P1IN & 0x0f)
uchar dian[16] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar ge[16] = {0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};
uchar shi[16] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar bai[16] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar qian[16] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar wan[16] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar wei[6] = {0x1f,0x2f,0x37,0x3b,0x3d,0x3e};
uchar d = 0;
uchar g = 0;
uchar s = 0;
uchar b = 0;
uchar q = 0;
uchar w = 0;
uchar x = 0;
uchar temp,keyval = 0;
/********************主函数********************/
void main(void)
{
WDTCTL = WDTPW + WDTHOLD;
BoardConfig(0x88);
P1DIR |= 0x0c; //设置相应端口为输出状态
uchar wbuffer[] = {d,g,s,b,q,w};
uchar rbuffer[6];
// uchar flag = 0;
delay1();
if(Write_1Byte(0x11,0x00))
// flag = 1;
if(Read_NByte_Randomaddress(rbuffer,6,0x08))//从第1页的第0个字节起连续读6个数据
d=rbuffer[0];
g=rbuffer[1];
s=rbuffer[2];
b=rbuffer[3];
q=rbuffer[4];
w=rbuffer[5];
// flag = 4;
kaishi();
}
kaishi()
{
P1DIR = BIT7; //设置P1.0~P.3为输入状态,P.7为输出
P1OUT = 0;
P3DIR |= BIT4; //设置P3.4为输出状态
P3OUT |= BIT4; //P3.4输出1
P3DIR |= BIT4; //设置P3.4为输出状态
P3OUT |= BIT4;
P4DIR = 0xff;
P5DIR = 0xff;
while(1)
{
jishu();
if(keyin != 0x0f)//如果有键被按下
//delay1();
if(keyin != 0x0f)//如果有键被按下
maic() ;
}
}
maic()
{
while(1)
{
jishu();
if(keyin == 0x0f) //等待按键被放开
jia();
}
}
delay2() //延时
{
uint tmp;
for(tmp = 300;tmp > 0;tmp--);
}
delay1() //延时
{
uint tmp;
for(tmp = 800;tmp > 0;tmp--);
}
jishu()
{
P5OUT = wei[0];
P4OUT = dian[d];
delay2();
P5OUT = wei[1];
P4OUT = ge[g];
delay2();
P5OUT = wei[2];
P4OUT = shi[s];
delay2();
P5OUT = wei[3];
P4OUT = bai[b];
delay2();
P5OUT = wei[4];
P4OUT = qian[q];
delay2();
P5OUT = wei[5];
P4OUT = wan[w];
delay2();
}
jia()
{
d++;
if(d==10) d=0,g++;
if(g==10) g=0,s++;
if(s==10) s=0,b++;
if(b==10) b=0,q++;
if(q==10) q=0,w++;
P3OUT &= ~BIT4; //P3.4连接的LED闪烁一下
delay2();
P3OUT |= BIT4;
P1DIR |= 0x0c; //设置相应端口为输出状态
jishu();
uchar wbuffer[] = {d,g,s,b,q,w};
uchar rbuffer[6];
//uchar flag = 0;
if(Write_1Byte(0x11,0x00))
jishu();// flag = 1;
if(Write_NByte(wbuffer,6,0x08)) //从第1页的第0个字节起连续写6个数据
jishu();// flag = 3;
kaishi();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -