1回答

0收藏

[原创] msp430f149液晶1602显示

TI TI 2450 人阅读 | 1 人回复 | 2016-04-02

付费主题

已有2人支付

分享到:
回复

使用道具 举报

回答|共 1 个

倒序浏览

沙发

switchd

发表于 2016-4-2 11:22:58 | 只看该作者

主函数
#include <msp430x14x.h>

#define uchar unsigned char
#define uint  unsigned 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();
   }
}
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条