3347|1

828

帖子

8

TA的资源

一粒金砂(高级)

楼主
 

大神们快来看一下LCD2004A Arduino(Atmega2560R3)程序,怎么就是不显示呢? [复制链接]

就下面几段程序,LCD2004A只用了高四位,时序和1602一样,延迟时间改了好多变了,怎么就是调不通,电路管脚、电源校验过,郁闷,看到蓝屏就头大,谁有没有源码,参考一下,说实话Arduino用起来真别扭。。。
  1. char LCD7=29;
  2. char LCD6=27;
  3. char LCD5=25;
  4. char LCD4=23;
  5. char LCDE=17;
  6. char LCDRS=16;

  7. void Lcd2004A_WriteCom(char cmd){
  8.   
  9.   char temp=(cmd&0x0f)<<4;
  10.       
  11.   digitalWrite(LCD7,cmd & 0x80);
  12.   digitalWrite(LCD6,cmd & 0x40);
  13.   digitalWrite(LCD5,cmd & 0x20);
  14.   digitalWrite(LCD4,cmd & 0x10);
  15.   
  16.   digitalWrite(LCDE,LOW);
  17.   digitalWrite(LCDRS,LOW);
  18.   delay(1);//1ms
  19.   digitalWrite(LCDE,HIGH);
  20.   delay(20);//20ms
  21.   digitalWrite(LCDE,LOW);
  22.   
  23.   digitalWrite(LCD7,temp & 0x80);
  24.   digitalWrite(LCD6,temp & 0x40);
  25.   digitalWrite(LCD5,temp & 0x20);
  26.   digitalWrite(LCD4,temp & 0x10);
  27.   
  28.   delay(1);
  29.   digitalWrite(LCDE,HIGH);
  30.   delay(20);
  31.   digitalWrite(LCDE,LOW);
  32.   delay(1);
  33. }
  34. void Lcd2004A_WriteDat(char data){
  35.   
  36.   char temp=(data&0x0f)<<4;
  37.   
  38.   digitalWrite(LCD7,data & 0x80);
  39.   digitalWrite(LCD6,data & 0x40);
  40.   digitalWrite(LCD5,data & 0x20);
  41.   digitalWrite(LCD4,data & 0x10);
  42.   
  43.   digitalWrite(LCDE,LOW);
  44.   digitalWrite(LCDRS,HIGH);  
  45.   delay(1);
  46.   digitalWrite(LCDE,HIGH);
  47.   delay(20);
  48.   digitalWrite(LCDE,LOW);

  49.   digitalWrite(LCD7,temp & 0x80);
  50.   digitalWrite(LCD6,temp & 0x40);
  51.   digitalWrite(LCD5,temp & 0x20);
  52.   digitalWrite(LCD4,temp & 0x10);
  53.   
  54.   delay(1);
  55.   digitalWrite(LCDE,HIGH);
  56.   delay(20);
  57.   digitalWrite(LCDE,LOW);
  58.   delay(1);
  59. }

  60. void InitLCD2004(){
  61.   pinMode(LCD7,OUTPUT);
  62.   pinMode(LCD6,OUTPUT);
  63.   pinMode(LCD5,OUTPUT);
  64.   pinMode(LCD4,OUTPUT);
  65.   delay(5);
  66.   Lcd2004A_WriteCom(0x32);
  67.   delay(5);
  68.   Lcd2004A_WriteCom(0x28);
  69.   delay(5);
  70.   Lcd2004A_WriteCom(0x06);
  71.   delay(5);
  72.   Lcd2004A_WriteCom(0x0c);
  73.   delay(5);
  74.   Lcd2004A_WriteCom(0x80);
  75.   delay(5);
  76.   Lcd2004A_WriteCom(0x01);
  77.   delay(5);
  78. }

  79. void setup() {
  80.   delay(5);
  81.   InitLCD2004();
  82.   SetLCD2004_Win(1,0);
  83. }

  84. void loop() {

  85.   Lcd2004A_WriteCom(0x01);
  86.   delay(5);
  87.   Lcd2004A_WriteDat("a");
  88. }
复制代码


点赞 关注
个人签名人生有许多选项是灰色的、不可选的,但至少你可以选择生活的态度。。。韬光养晦,志存高远http://www.xzroad.com/
 

回复
举报

828

帖子

8

TA的资源

一粒金砂(高级)

沙发
 
没人啊,冒个泡
 
个人签名人生有许多选项是灰色的、不可选的,但至少你可以选择生活的态度。。。韬光养晦,志存高远http://www.xzroad.com/
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表