烽火社区

标题: Msp430-EXPF5529系列三(液晶显示及时钟.硬件电路) [打印本页]

作者: 号子内资    时间: 2016-2-5 03:37 PM
标题: Msp430-EXPF5529系列三(液晶显示及时钟.硬件电路)

一.硬件电路

(1)   点阵LCD液晶显示模块电路:如下图所示,在该电路中,液晶为102×64点阵LCD,采用SPI模式实现数据的传输,数据传输是单向的,数据只允许写入,其中LCD_CSP7.4)为片选信号、LCD_D/CP5.6)为命令数据切换信号、SCLKP4.3/PM_UCB1CLK)为数据传输时钟信号、SIMOP4.1/PM_UCB1SIMO)为从设备输入主设备输出信号、LCD_RSTP5.7)为液晶复位信号、VCC为显示电源提供信号。

[attach]31593[/attach]

系统初始化

#if 1
	uint8_t contrast = *((unsigned char *)contrastSetpointAddress);            //读取FLASH中对比度值
    uint8_t brightness = *((unsigned char *)brightnessSetpointAddress);        //读取FLASH中背光值

    // Initialize accelerometer offset from flash
   // Cma3000_setAccel_offset(*((unsigned char *)accelXcalibrationAddress),    //初始化加速度偏移量
     //                       *((unsigned char *)accelYcalibrationAddress),
       //                     *((unsigned char *)accelZcalibrationAddress));

    // Stop WDT
    WDTCTL = WDTPW + WDTHOLD;                     //关闭看门狗

    // Basic GPIO initialization
    Board_init();                                 //初始化GPIO
    Board_ledOn(LED1);

#endif
#if 0
    LED145678_PORT_OUT &= ~(BIT0 + BIT1 + BIT2 + BIT3 + BIT4 + BIT5);
    LED145678_PORT_DIR |= BIT0 + BIT1 + BIT2 + BIT3 + BIT4 + BIT5;

    LED23_PORT_OUT &= ~(BIT1 + BIT2);
    LED23_PORT_DIR |= BIT1 + BIT2;

    LED145678_PORT_OUT |= BIT0;
    LED23_PORT_OUT |= BIT1;
    LED23_PORT_OUT |= BIT2;

#endif

#if 1
    // Set Vcore to accomodate for max. allowed system speed
    SetVCore(3);                                  //设VCore为最大

    // Use 32.768kHz XTAL as reference
    LFXT_Start(XT1DRIVE_0);                       //利用LFXT1(32.768kHZ)作为时钟参考

    // Set system clock to max (25MHz)
    Init_FLL_Settle(25000, 762);                 //利用FLL(锁频环)将系统时钟设为最大25MHZ

    SFRIFG1 = 0;                                 //清中断标志
    SFRIE1 |= OFIE;                              //使能晶振失效中断

    // Globally enable interrupts
    __enable_interrupt();                        //使能全局中断

    // Setup real time clock
    SetupRTC();                                  //设置实时时钟

    // Set up LCD
    Dogs102x6_init();                            //初始化LCD
    Dogs102x6_backlightInit();                   //背光初始化

    // Contrast not programed in Flash Yet
    if (contrast == 0xFF)                        //若当前FLASH中无对比度值,则将对比度值设为11(默认)
        // Set Default Contrast
        contrast = 11;

    // Brightness not programed in Flash Yet
    if (brightness == 0xFF)                      //若当前FLASH中无背光值,则将背光值设为11(默认)
        // Set Default Brightness
        brightness = 11;

    Dogs102x6_setBacklight(brightness);          //设置初始背光值
    Dogs102x6_setContrast(contrast);             //设置初始对比度值
    Dogs102x6_clearScreen();                     //清屏

    // Set up wheel
    Wheel_init();                                //初始化齿轮电位计
    Buttons_init(BUTTON_ALL);                    //初始化按键
    Buttons_interruptEnable(BUTTON_ALL);         //使能所有按键中断
    buttonsPressed = 0;                          //键值清零

。。。。。。。。后面再补充


作者: rain社区管理    时间: 2016-2-14 03:10 PM
希望再详细点




欢迎光临 烽火社区 (http://bbs.cnecport.com/) Powered by Discuz! X3.2