开机时有延时的,我甚至让1602先上电,在给单片机上电,也一样的不行。 烧写配置选项检查过多次了。以前用78P458很多了,选项不会用错的。 程序上在相关处多加了好多的延时,放慢速度,都不行,看来不关时序的事。 不理解为什么仿真正常,我只能烧出芯片才看到不正常的显示,我都废了10多只芯片了,下面是初始化1602的过程。 INIT1602_P() ;初始化1602 EN=0; RS=0; RW=0; DELAY5MS_P(); DELAY5MS_P(); DELAY5MS_P(); DELAY5MS_P(); WRITE_C_P(0X38 ) ;写命令 DELAY5MS_P(); DELAY5MS_P(); DELAY5MS_P(); WRITE_C_P(0X38 ) ;写命令 DELAY5MS_P(); DELAY5MS_P(); DELAY5MS_P(); WRITE_C_P(0X38) ;写命令 DELAY5MS_P(); DELAY5MS_P(); READY_BF_P(); ;读忙标志 WRITE_C_P(0X01) ;写命令清除屏幕 DELAY5MS_P(); DELAY5MS_P(); READY_BF_P(); ;读忙标志 WRITE_C_P(0X06) ;写命令移动光标!!!! DELAY5MS_P(); DELAY5MS_P(); READY_BF_P(); ;读忙标志 WRITE_C_P(0X0c) ; return; |