[PIC®/AVR®/dsPIC®产品] 【新手请教】16F1933驱动段式lcd时,总是有几段显示不出,求指教!

[复制链接]
2346|16
 楼主| 991083158 发表于 2014-9-27 12:25 | 显示全部楼层 |阅读模式
#include<pic.h>
#define uchar unsigned char
#define uint unsigned int
//const uchar table[]={}

//延时一毫秒
void delay1ms()
{
uchar i,j;
  for(i=0;i<10;i++)
     for(j=0;j<33;j++)
        ;
}

//延时若干毫秒
void delaynms(uchar n)
{
uchar i;
  for(i=0;i<n;i++)
    delay1ms();
}


void cshlcd()
{
LCDDATA0=0b00000000;
LCDDATA3=0b00000000;
LCDDATA6=0b00000000;
LCDDATA9=0b00000000;

TRISA=0b00000000;
TRISB=0X00;
TRISC=0X00;
PORTA=0X00;
PORTB=0X00;
PORTC=0X00;   


LCDPS=0b00010011;
LCDSE0=0XFF;
LCDCON=0b01001111;
LCDIF=0;
LCDIE=0;
LCDREF=0b10101110;
LCDRL=0b11110001;
LCDCST=0b00000001;
LCDEN=1;



}

void main()
{
cshlcd();


//delaynms(1);
LCDDATA0=0xff;
//delaynms(1);
LCDDATA3=0xff;
//delaynms(1);
LCDDATA6=0xff;
//delaynms(1);
LCDDATA9=0xff;
//delaynms(1);
while(1)
{

//SEG0COM0=1;
//SEG1COM1=1;
//SEG4COM3=1;


}
}
友进芯城 发表于 2014-9-27 13:48 | 显示全部楼层
了解一下  
wangch_sh 发表于 2014-9-27 16:12 | 显示全部楼层
硬件?什么型号的段式液晶,还是开模定制的?
songchenping 发表于 2014-9-27 20:36 | 显示全部楼层
我觉得是时序上面有一点误差,可以在某行代码后适当加一些延时看看。
 楼主| 991083158 发表于 2014-9-27 22:57 | 显示全部楼层
wangch_sh 发表于 2014-9-27 16:12
硬件?什么型号的段式液晶,还是开模定制的?

自己制定的,三个8加一个。E (那个句号是在上方,摄氏度那种),就是用来显示温度的,明天我把comseg表附上,大家一起研究研究.
 楼主| 991083158 发表于 2014-9-27 22:59 | 显示全部楼层
songchenping 发表于 2014-9-27 20:36
我觉得是时序上面有一点误差,可以在某行代码后适当加一些延时看看。

嗯嗯,我再试试,之前每一个寄存器都从头到尾改了一遍。
dwdsp 发表于 2014-9-28 08:18 | 显示全部楼层
注意硬件端口的问题,很多出在端口无内部上拉,是OD输出的.
 楼主| 991083158 发表于 2014-9-28 08:24 | 显示全部楼层
本帖最后由 991083158 于 2014-9-28 08:31 编辑


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
弓长月月鸟 发表于 2014-9-28 08:54 | 显示全部楼层
先软仿一下,看看每一段是否正常。
rszhao 发表于 2014-9-28 11:37 | 显示全部楼层
一般这个是你的程序问题 你可以先让他全部显示出来 然后全部不显示  在调试你定义的段 是否正确 应该很好调试的
yklstudent 发表于 2014-9-28 12:06 | 显示全部楼层
单片机跟LCD的引脚连接图也不放出来。。。。。
根据LCD显示笔端情况,6、7引脚没起作用;
楼主应该说明下6、7引脚的连接情况,具体连的MCU那两个引脚上
 楼主| 991083158 发表于 2014-9-28 22:44 | 显示全部楼层
弓长月月鸟 发表于 2014-9-28 08:54
先软仿一下,看看每一段是否正常。

我想请问,mplab在win7下运行是不是有些奇怪的问题,我的程序考到xp的mplab中就能正常运行,我试了另外一台win7的出现了类似的问题,但跟我的还不完全一样,有高手知道吗?
NE5532 发表于 2014-10-1 13:57 | 显示全部楼层
1.管脚上用示波器看一下,有没有阶梯波出来。
2.显示RAM寄存器全部写FF,看是不是自己把对应关系搞错了。
3.检查引脚的功能配置位是不是设置正确了。
4.楼主写程序一个注视都不写,态度不对哈。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

17

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部