中国竞彩网怎么买: [8/16位单片机] 请问1602初始化的问题

永利游戏开户直营
224|9
楼主
接的是4线模式,写的代码用mplab ide时能正常使用,但是换到mplab x ide时就会出现初始化不成功,屏幕没有显示。后来在网上查资料,修改代码在写0x28前先写一次0x02就能正常显示了,请问为什么用mplab ide时就能正常显示呢?谢谢了!
沙发
| 2019-9-6 10:18 | 只看该作者
<<写0x28前先写一次0x02>>  这样操作的意思是什么?
板凳
| 2019-9-6 15:50 | 只看该作者
你两边的代码一模一样吗
地板
 楼主 | 2019-9-7 08:41 | 只看该作者
一模一样,在X下就初始化不成功,要写一个0x02才能成功。不知道是什么意思,指令表里没这个指令,在网上看到的操作。
5
| 2019-9-9 10:39 | 只看该作者
真的猜不到你的问题的....
至少贴点代码呀...
6
| 2019-9-9 10:51 | 只看该作者
两边编译器不一样吧,比较比较汇编看看,再发个lcd初始化代码看看, 0x02是什么意思?不应该是指令吧,还有你说的资料是啥,发来看看
7
 楼主 | 2019-9-9 22:52 | 只看该作者
  1. //------------------------------------------------------------------------------
  2. //液晶初始化
  3. //------------------------------------------------------------------------------
  4. void LCD_Initialize()
  5. {
  6.         __delay_ms(50);
  7.         /*
  8.         Write_LCD_Command(0x30); __delay_ms(1);
  9.         Write_LCD_Command(0x30); __delay_ms(1);
  10.         Write_LCD_Command(0x30); __delay_ms(1);
  11.         */
  12.        
  13.     Write_LCD_Command(LCD_SETFUNCTION + 0x08);           //4位模式,双行,5*7点阵
  14.     Write_LCD_Command(LCD_SETVISIBLE + 0x04);            //不显示光标,不闪烁
  15.     Write_LCD_Command(LCD_SETMODE + 0x02);               //自动递增
  16.     Write_LCD_Command(LCD_SETDDADDR);                    //DDRA偏移地址0x80
  17. }
复制代码

这个代码在mplab ide 里能正常初始化后显示出字符,在mplab x ide里初始化不成功,显示空白。
  1. //------------------------------------------------------------------------------
  2. //液晶初始化
  3. //------------------------------------------------------------------------------
  4. void LCD_Init(void)
  5. {
  6.         __delay_ms(15);
  7.         Write_LCD_NO_Com(0x02);        //这是没做忙检测的,不过做不做忙检测好像都一样
  8.     Write_LCD_Command(LCD_SETFUNCTION + 0x08);           //4位模式,双行,5*7点阵
  9.     Write_LCD_Command(LCD_SETVISIBLE + 0x04);            //不显示光标,不闪烁
  10.     Write_LCD_Command(LCD_SETMODE + 0x02);               //自动递增
  11.     Write_LCD_Command(LCD_SETDDADDR);                    //DDRA偏移地址0x80
  12. }
复制代码

修改成这样后能在mplab x ide里正常初始化,显示字符。
8
 楼主 | 2019-9-9 22:57 | 只看该作者
在网上找的资料好像是说在初始化时因为接的是4线,所以发0x28时其实LCD只是接收到了个2,后面的8没收到。因为模式还没转换成4线。后面的4位用的是默认的值。这点没搞太懂,但是相同的代码在mplab X ide下不能显示,d在mplab ide下就能显示成功。谢谢各位了,能否帮忙解读下,谢谢!
9
| 2019-9-10 14:06 | 只看该作者
看了下1602手册,这个0x02在4线模式下确实要写,可是mplab ide不需要,有点奇怪啊,你比较下两边的汇编
10
 楼主 | 2019-9-10 20:33 | 只看该作者
奔波儿熊 发表于 2019-9-10 14:06
看了下1602手册,这个0x02在4线模式下确实要写,可是mplab ide不需要,有点奇怪啊,你比较下两边的汇编 ...

汇编看不懂,没学过请问有2004的相关资料吗?有一个IIC的2004,想学习驱动哈,好像找不到教程。谢谢了!
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

永利游戏开户直营 快速回复 返回顶部 返回列表
永利游戏开户直营 皇家赌场香港六合彩时时彩网址 大发888广西快乐十分时时彩开奖记录 永利彩票游戏登入直营网 征途手机版微信礼包
天天皇家彩票最牛攻略 申博456700.com登入2007 申博太阳城(申博太阳城总公司)现金网 bbin总代理登入 太阳城官方游戏
专业澳门娱乐网网上娱乐场 88娱乐手机版块网上娱乐场 www/jm8.com 排列三吧 菲律宾申博sunbet下载网上娱乐场
63沙龙娱乐场 葡京百乐门棋牌 银河官方直营赌场登入 大发888真人 海立方北京赛车官方网