switchd 发表于 2016-4-2 11:22:17

已有 2 人购买  本主题需向作者支付 1 taptap安装正版入口币 才能浏览 购买主题

switchd 发表于 2016-4-2 11:22:58

主函数
#include <msp430x14x.h>

#define uchar unsigned char
#define uintunsigned int
#define ulong unsigned long
#define CPU_F ((double)8000000)
#define delay_us(x)__delay_cycles((long)(CPU_F*(double)x/1000000.0))
#define delay_ms(x)__delay_cycles((long)(CPU_F*(double)x/1000.0))
/*
* main.c
*/s
extern void scan(void);
extern void LCD_Main(void);
extern void LCD_Init(void);
extern void Motor_Init(void);

void Clock_Init()
{
uchar i;
WDTCTL = WDTPW | WDTHOLD;        // Stop watchdog timer
BCSCTL1&=~XT2OFF;               //打开XT振荡器
BCSCTL2|=SELM1+SELS;            //MCLK为8MHZ,SMCLK为8MHZ
do{
    IFG1&=~OFIFG;                   //清除震荡标志
    for(i=0;i<100;i++)
       _NOP();                      //延时等待
}
while((IFG1&OFIFG)!=0);         //如果标志为1,则继续循环等待
IFG1&=~OFIFG;


TACTL=TASSEL_1+TACLR;                     //ACLK;
_EINT();                                  //开总中断
CCTL0=CCIE;                               //定时器使能
CCR0=32768/200;                           //5ms定时周期
TACTL |=MC0;                              //停止计数模式
}

void Buzzer()
{
           P6DIR |= BIT0;
           P6OUT |= BIT0;
           delay_ms(5000);
           P6OUT &= ~BIT0;
}

void delay()
{int i = 10000;
        for(;i>0;i--)
                ;
}

void main()
{

    Clock_Init(); //系统时钟设置
    Buzzer();
    LCD_Init();
    Motor_Init();
   
   while(1)
   {
   LCD_Main();
   }
}
页: [1]
查看完整版本: msp430f149液晶1602显示

Baidu
map