打印
[STC单片机]

1602 清屏命令

[复制链接]
6011|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wdmhzh|  楼主 | 2013-11-24 17:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <reg52.h>
#include "mytouwenjian.h"
sbit RS=P2^4;
sbit RW=P2^5;
sbit E=P2^6;
void write_date(char date)
{
  E=0;
  RS=1;
  RW=0;
  P0=date;
  yanshi_100us(1);
  E=1;
}
void write_minling(char datea)
{
  E=0;
  RS=0;
  RW=0;
  P0=datea;
  yanshi_100us(1);
  E=1;
}
void chushihua_lcd()
{
  write_minling(0x06);//
  yanshi_100us(1);
  write_minling(0x0c);//
  yanshi_100us(1);
  write_minling(0x38);//
  yanshi_100us(1);
     write_minling(0x01);//清屏
    yanshi_100us(1);
}
void main()
{
  chushihua_lcd();
  
  write_minling(0x83);
  write_date('k');
  write_date('w');
  write_date('M');
    write_minling(0xc7);
  write_date('q');
  write_date('D');
  write_date('M');

}
请教各位老大 ,这程序为啥一加上清屏命令,就没显示(不管位置和延时),一去掉就一切正常??????

相关帖子

沙发
ningling_21| | 2013-11-24 18:51 | 只看该作者
你在最后加一条:

while(1);

使用特权

评论回复
板凳
16777216| | 2013-11-24 19:31 | 只看该作者
同楼上,程序跑飞了,没有一个大循环, 所以你的程序相当于反复复位 ,在最后加while(1);即可

使用特权

评论回复
地板
wdmhzh|  楼主 | 2013-11-24 22:51 | 只看该作者
多谢  但是各位老大加while 还是不行 应该不是跑飞的问题  我用各种方法试过 只要一执行清屏命令 再怎么写入数据也没得显示  把清屏命令一撤 就正常了  真的是百思不得其解呀   

使用特权

评论回复
5
ayb_ice| | 2013-11-25 08:15 | 只看该作者
那肯定是通信程序有BUG

使用特权

评论回复
6
kyzb001| | 2013-11-25 08:54 | 只看该作者
有bug 单步调试把

使用特权

评论回复
7
通宵敲代码| | 2013-11-25 12:37 | 只看该作者
单步调试吧,这个问题不好细说。

使用特权

评论回复
8
限量_个性。| | 2013-11-25 13:10 | 只看该作者
我感觉你的写指令和写数据的函数就有问题,使能端最后是要拉低的。

使用特权

评论回复
9
大漠烟尘| | 2013-12-24 17:03 | 只看该作者

那肯定是通信程序有BUG

使用特权

评论回复
10
qiliangzhong| | 2013-12-27 12:00 | 只看该作者
写数据的命令是E=0开头,当你写完了就马上清屏,清屏就马上E=1,然后又马上E=0写数据,这就有问题了

使用特权

评论回复
11
g_hui| | 2014-2-28 21:36 | 只看该作者
可能是延时过短,E=1后要置零
  E=0;
  RS=1;
  RW=0;
  P0=date;
  yanshi_100us(20);
  E=1;
  yanshi_100us(20);
  E=0;

使用特权

评论回复
12
fengxiaoli111| | 2014-3-14 10:47 | 只看该作者
延时不够了吧,亲。

使用特权

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

本版积分规则

54

主题

130

帖子

2

粉丝