📄 msp430f149-
字号:
#include <msp430x14x.h>
#define uint unsigned int
#define uchar unsigned char
//p62=cs p63=sid p64=clk p65=psb p66=rst
uchar set0[]={0x30,0x0f,0x01,0x06};//写字
uchar set1[]={0x30,0x0c,0x06,0x32,0x36};//画图
void delay(uint time)
{
while(time--);
}
void initsys(void)
{
uchar k;
BCSCTL1 &= ~XT2OFF; //开启XT2晶振
do
{
IFG1 &= ~OFIFG; // 清除振荡器失效标志
for(k=0xee;k>0;k--) //延时
{
;
}
}
while((IFG1 & OFIFG)!=0); //判断XT2是否起振
BCSCTL2 = SELM_2 + SELS; // 选择MCLK SMCLK 为XT2
} //初始化
void wri_ord(uchar num)
{
uchar num1,num2;
uchar wri_data;
uchar i,j;
num1 = num & 0xf0;
num <<= 4;
num2 = num & 0xf0;
uchar data[]={0xf8,num1,num2};
for(i=0;i<3;i++)
{
wri_data = data[i];
P6OUT &= ~(BIT4);
delay(5);
for(j=0;j<8;j++)
{
if(wri_data & BIT7)
P6OUT |= BIT3;
else
P6OUT &= ~(BIT3);
delay(5);
P6OUT |= BIT4;
wri_data <<= 1;
delay(10);
P6OUT &= ~(BIT4);
}
}
}
void wri_data(uchar num)
{
uchar num1,num2;
uchar wri_data;
uchar i,j;
num1 = num & 0xf0;
num <<= 4;
num2 = num & 0xf0;
uchar data[]={0xfa,num1,num2};
for(i=0;i<3;i++)
{
wri_data = data[i];
P6OUT &= ~(BIT4);
for(j=0;j<8;j++)
{
if(wri_data & BIT7)
P6OUT |= BIT3;
else
P6OUT &= ~(BIT3);
_NOP();
P6OUT |= BIT4;
_NOP();
wri_data <<= 1;
P6OUT &= ~(BIT4);
}
}
}
void show()
{
uchar data[] = {" **天空电子**"};
uchar i;
wri_ord(0x80);
for(i=0;i<14;i++)
{
wri_data(data[i]);
}
}
void initial(void)
{
uchar add;
P6OUT &= ~(BIT5);
_NOP();
P6OUT &= ~(BIT2);
_NOP();
P6OUT |= BIT2;
_NOP();
P6OUT &= ~(BIT5);
for(add=0;add<4;add++)
{
wri_ord(set0[add]);
}
delay(1000);
}
void main( void )
{
// Stop watchdog timer to prevent time out reset
WDTCTL = WDTPW + WDTHOLD;
//initsys();
P6DIR |= 0xfc;
P6OUT |= BIT6;
initial();
//wri_ord(0x88);
show();
while(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -