hua_159753 发表于 2013-6-6 10:10:15

R8C/L35C 群中的R5F2L357驱动段式LCD,为什么显示了一下就不显...

R8C/L35C 群中的R5F2L357驱动段式LCD,为什么显示了一下就不显示了.


R8C/L35C 群中的R5F2L357驱动段式LCD,为什么显示了一下就不显示了.
代码如下:
//***********************************************************************************
// 函数名称: lcd_init
// 描述:lcd设置寄器初始化
// 参数:    无
//输入/输出: 无
// 返回值:   无
//***********************************************************************************
void lcd_init(void)
{
lse0 = 0b11111111;       /* SEG0 to SEG7:segment output */
lse2 = 0b11110000;       /* SEG20 to SEG23:segment output */
lse4 = 0b00111111;       /* SEG32 to SEG37:segment output */
lse7 = 0b00001111;       /* COM0 to COM3 select */

/*--------------------------------------
Set value to RAM for LCD display   -
(1: LCD ON, 0: LCD OFF)
---------------------------------------*/
lra0l = 0b00000000;       /* SEG0 */
lra1l = 0b00000000;       /* SEG1 */
lra2l = 0b00000000;       /* SEG2 */
lra3l = 0b00000000;       /* SEG3 */

lra4l = 0b00000000;       /* SEG4 */
lra5l = 0b00000000;       /* SEG5 */
lra6l = 0b00000000;       /* SEG6 */
lra7l = 0b00000000;       /* SEG7 */

lra20l = 0b00000000;      /* SEG20 */
lra21l = 0b00000000;      /* SEG21 */
lra22l = 0b00000000;      /* SEG22 */
lra23l = 0b00000000;      /* SEG23 */

lra32l = 0b00000000;      /* SEG32 */
lra33l = 0b00000000;      /* SEG33 */
lra34l = 0b00000000;      /* SEG34 */
lra35l = 0b00000000;      /* SEG35 */
lra36l = 0b00000000;      /* SEG36 */
lra37l = 0b00000000;      /* SEG37 */


lcr3 = 0x44;      /* Division ratio select: Divide-by-320x05: 1 0 1:32 分频*/
            /* LCD clock source: fC32 */
lcr2 = 0x00;      /* Display control disabled*/
         
lcr1 = 0xc8;      /* Voltage multiplier disabled */

lcr0 = 0xd3;      /*lcr0:00010011 d3*/
            /*   ||||||||_0 1 1:1/4 占空比(使用COM0 ~ COM3)*/
            /*   |||||_0:段显示屏的控制波形*/
            /*   ||||_0 1:1/3 偏压*/
            /*   ||_1:LCD 点灯*/
            /*   |_1:开始LCD 驱动*/
         

lstat = 1;      /* Start LCD drive */

ldspe = 1;                                  /* Enable LCD display */

lra0l = 0xff;         /* LCD display */
lra1l = 0xff;
lra2l = 0xff;
lra3l = 0xff;
//ldspe = 1;   

}

//***********************************************************************************
// 函数名称: clock_init
// 描述:设定使用主时钟作为系统时钟(使用32.768kHz的振荡器)
//    CPU时钟不分频
// 参数:    无
//输入/输出: 无
// 返回值:   无
//***********************************************************************************
void clock_init(void)
{

prc0 = 1;       /* Protect off */
cm14 = 0;       /* 低速内部振荡器的振荡停止位 0:低速内部振荡器振荡 1:低速内部振荡器停止振荡*/
cm05 = 1;       /* XIN 时钟(XIN-XOUT)停止位:0:振荡 1:停止*/
cm06 = 0;       /* CPU 时钟分频的比选择位00:CM1 寄存器的CM16 位和CM17 位有效 1:8 分频模式 */
cm16 = 0;       /* CPU 时钟分频比的选择位1 0 0:无分频模式*/
cm17 = 0;       /* CPU 时钟分频比的选择位1 0 0:无分频模式*/
cm03 = 1;       /* XCIN 时钟停止位 0:振荡1:停止 */
cm04 = 0;       /* XCIN 外部时钟的输入允许位,0:禁止外部时钟的输入 1:允许外部时钟的输入 */
cm03 = 0;       /* XCIN 时钟停止位 0:振荡1:停止 */
   
delaytime(200);      /* This setting is an example of waiting time for the */
cm07 = 1;       /* 系统时钟的选择位,0:XIN 时钟或者内部振荡器时钟 1:XCIN 时钟 */
ocd2 = 1;       /* 内部振荡器的时钟选择位 0:选择XIN 时钟 1:选择内部振荡器时钟*/

fra00 = 0;       /* 高速内部振荡器允许位 0:高速内部振荡器停止振荡 1:高速内部振荡器振荡*/
fra01 = 0;       /* 高速内部振荡器选择位 0:选择低速内部振荡器 1:选择高速内部振荡器*/

prc0 = 0;       /* Protect on */

}

callhxw 发表于 2013-6-15 09:52:53

哪家代理给的呀,如还没搞定。请联系我。我们有FAE可以帮助的。QQ:44499500

donkey456 发表于 2013-7-18 08:52:15

不知道,,期待大神的回答

foric 发表于 2013-8-5 13:22:50

用HT1621B简单 很容易上手

huhulixin 发表于 2013-8-16 12:12:36

aaaaaaaaaaaaaaaaaaaaaaaaaaa
页: [1]
查看完整版本: R8C/L35C 群中的R5F2L357驱动段式LCD,为什么显示了一下就不显...