LAUNCHPAD运行5110测试程序

昨天终于把launchpad的调试环境搞定了,今天开始整5110液晶屏,这东西以前曾经用miniru运行了,reasa的一款单片机,好像是16位的,比msp430强点,但当时就整的稀里糊涂的,就是把代码改了改,然后还用的ucos跑起来的,好多代码还没有看懂,所以这次慢慢来,先从点亮开始,首先硬件的连线是不想改了,直接用起来,然后一点点完善界面。

使用了从eeworld上下载的一个430驱动5110的程序,虽然不是g2系列的,但看了下,基本上还是可以用的。

运行之后,5110没有效果检查了连线,发现全部连接反了,然后更改了连线顺序。背光OK。重新运行程序,仍旧不显示字符,检查发现应该是P1DIR没有设置成输出,加上初始化后运行成功。

#include "lcd5110.h"

void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer
P1DIR |= 0xff; // Set P1 to output direction
NOKIA_5110_init();
LCD_set_XY(0,0);
LCD_write_english_string(0,0,"hello,world");
BCSCTL3 |= LFXT1S_2; // ACLK = VLO
P1DIR |= 0x41; // Set P1.0 AND P1.6 to output direction
P1OUT ^= 0x41;
USICTL0 |= USIMST; // Master mode
USICTL1 |= USIIE; // Counter interrupt, flag remains set
USICKCTL = USIDIV_7 + USISSEL_1; // /128 ACLK
USICTL0 &= ~USISWRST; // USI released for operation
_BIS_SR(LPM3_bits + GIE); // Enter LPM3 w/ interrupt
while(1);
}


// USI interrupt service routine
#pragma vector=USI_VECTOR
__interrupt void universal_serial_interface(void)
{
P1OUT ^= 0x41; // Toggle P1.0 using exclusive-OR
USICNT = 0x1F; // re-load counter
}

posted @ 2012-06-11 21:59  小背  阅读(361)  评论(0编辑  收藏  举报