📄 main.c
字号:
#include "msp430.h"
#include "LCD_Driver/LCD_Dis.h"
#include "LCD_Driver/LCD_PortConfig.h"
extern void TimeDelay(int Time);
void main(void)
{
//P4DIR= 0xFF;
volatile unsigned int i;
WDTCTL = WDTPW+WDTHOLD; // Stop watchdog timer
FLL_CTL0 |= XCAP14PF; // Configure load caps
// Wait for xtal to stabilize
do
{
IFG1 &= ~OFIFG; // Clear OSCFault flag
for (i = 0x47FF; i > 0; i--); // Time for flag to set
}
while ((IFG1 & OFIFG)); // OSCFault flag still set?
for(i=2100;i>0;i--); // Now with stable ACLK, wait for
// DCO to stabilize.
P3OUT = 0x60; // P5 setup for LED and slave reset
P3DIR |= 0x60; //
P4SEL |= 0x38; // P4.5,4,3 SPI option select
U1CTL = CHAR+SYNC+MM+SWRST; // 8-bit, SPI, Master
U1TCTL |= CKPL+SSEL1+STC; // Polarity, SMCLK, 3-wire
U1BR0 = 0x02; // SPICLK = SMCLK/2
U1BR1 = 0x00; //
U1MCTL = 0x00; //
ME2 |= USPIE1; // Module enable
U1CTL &= ~SWRST; // SPI enable
IE2 |= URXIE1; // Receive interrupt enable
_BIS_SR(GIE);
P3OUT &= ~0x60; // Now with SPI signals initialized,
P3OUT |= 0x60; // reset slave
for(i=50;i>0;i--); // Wait for slave to initialize
LCD_Init(); //初始化LCD
FontSet(0,0xff); //选择8X16的ASCII字符
PutChar(0,0,'A'); //在第0页的起始处开始显示字符'A'
PutString(0,2,"Mz design"); //显示字符串
FontSet(2,0xff); //选择自定义的汉字字符
PutChar(0,6,0); //显示“铭”
PutChar(16,6,1); //显示“正”
PutChar(32,6,2); //显示“同”
PutChar(48,6,3); //显示“创”
PutChar(24,4,4); //显示LOGO,实际上将它取成了一个汉字一样的字模了
_BIS_SR(LPM0_bits + GIE); // CPU off, enable interrupts
}
#pragma vector=USART1RX_VECTOR
__interrupt void USART1_rx (void)
{
volatile unsigned int i;
while (!(IFG2 & UTXIFG1)); // USART1 TX buffer ready?
P3OUT = ~P3OUT;
U1TXBUF++; // Send next value
for(i=30;i>0;i--); // Add time between transmissions to
} // make sure slave can keep up
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -