打印

请教:单片机与12864实现时钟显示

[复制链接]
2591|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yuanquan12345|  楼主 | 2010-7-21 14:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用定时器作时钟,在12864上显示不了。
请大家帮我看看是什么原因。
我把写地址,数据的程序发上来。
请大家帮忙。
void xianshi()  //显示
{
uint i;
for(i=0;i<16;i++)
lcd_wdat(0x50+i);
for(i=0;i<16;i++)
lcd_wdat(dis1[i]);
lcd_wcmd(0x89);
lcd_wdat(shi1);
//lcd_wcmd(0x8e);
lcd_wdat(ge);
for(i=0;i<16;i++)
lcd_wdat(0x20+i);
for(i=0;i<16;i++)
lcd_wdat(0x00+i);
}

void main(void)
{

uint i,j;
//uchar laba[]={0x00,0x00,0x00,0xc0,0x01,0x48,
                  //0x02,0x44,0x04,0x52,0xf8,0x49,0x88,0x88,0x49,0x88};
//board config(0xb8);
lcd_init();
dula=0;
wela=0;
lcd_wcmd(0x80);     //写第一行的显示地址
for(i=0;i<16;i++);
lcd_wdat(0x00+i);   //显示0x30-0x3f对应的字符
lcd_wcmd(0x90);     //写第二行的显示地址
for(i=0;i<16;i++);
lcd_wdat(0x10+i);   //显示0x40-0x4f对应的字符
lcd_wcmd(0x80);     //写第三行的显示地址
for(i=0;i<16;i++);
lcd_wdat(0x00+i);   //显示0x50-0x5f对应的字符
lcd_wcmd(0x90);     //写第四行的显示地址
for(i=0;i<16;i++);
lcd_wdat(0x10+i);   //显示0x60-0x6f对应的字符

lcd_wdat(0x30+i);
/*for(i=1000;i>0;i--)
{
  for(j=1000;j>0;j--)
  _nop();
}*/
lcd_wcmd(0x01);
lcd_wcmd(0x80);
for(i=0;i<16;i++)
lcd_wdat(0x00+i);
lcd_wcmd(0x90);
for(i=0;i<16;i++)
lcd_wdat(0x10+i);
lcd_wcmd(0x88);
for(i=0;i<16;i++)
lcd_wdat(0x20+i);
lcd_wcmd(0x98);
for(i=0;i<16;i++)
lcd_wdat(0x30+i);

lcd_wcmd(0x03);
xianshi();
while(1);
}

相关帖子

沙发
yuanquan12345|  楼主 | 2010-7-21 14:57 | 只看该作者
帮忙看看是什么原因。
谢谢。

使用特权

评论回复
板凳
zkkov2000| | 2010-7-21 18:42 | 只看该作者
说的太笼统。
程序编写习惯不好。
lcd_wcmd,cd_wdat这些子程序编写的对吗?刚开始写程序不要写那么多,整那么多臭氧层没多大用处。先保证硬件没任何问题,电位器调好,确保字能显示出来,然后再写程序。先写个最简单的显示程序,只要能保证显示出哪怕是以个数字就说明你成功了。
发帖子应该把相关的信息发上来,比如:器件型号,各个子程序了等等。整一个片段上来,问题不一定就是在你发上来的程序上。

使用特权

评论回复
地板
yuanquan12345|  楼主 | 2010-7-22 07:50 | 只看该作者
现在能显示,包括在那一行显示什么数字或字符。
包括整个字符表都能显示。
我现在想显示变化的时钟,用定时器。
格式是:00:00:00
如果在一行里,应该怎样附地址。如:我想在第二行显示秒,是不是lcd_wcmd(0x94);然后附数据,lcd_wdat();
cd_wdat应该是lcd_wdat.
对不起可能是复制错了。

使用特权

评论回复
5
yuanquan12345|  楼主 | 2010-7-22 07:52 | 只看该作者
我现在刚学,请原谅。
谢谢。

使用特权

评论回复
6
yuanquan12345|  楼主 | 2010-7-22 21:39 | 只看该作者
请大家指点。

使用特权

评论回复
7
zkkov2000| | 2010-7-23 12:36 | 只看该作者
理论上是先写命令再写数据,你用定时器,寄存器设置的对吗?你能保证你的定时器正常工作吗?一步步来,别急,你把定时器定时1秒的程序通过串口调试工具先看下能准确吗?然后在保证定时器走准的前提下再来修改下液晶显示程序,刚学,不要想着一步到位,把整个要实现的目的份成若干小模块,一个模块一个模块实现。编程高人能把程序写那么好也是这么一步步的模块化设计来的。
你先按照我给你说的方法好好检查下,我这里有RT12832B液晶显示程序,你如果真搞不定我再给你发一份参考下。其实很简单的,耐下心来一步步来。相信你能搞定!

使用特权

评论回复
8
yuanquan12345|  楼主 | 2010-7-26 07:46 | 只看该作者
我已经做的差不多了,我整理整理就把程序发上来。
谢谢。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

75

主题

1155

帖子

3

粉丝