手上有一块12864,相同的程序,用STC15W408AS驱动不了,用STC15F60S2正常显示。后来排查程序的时候发现STC15W408AS一直在检测忙,目前还不确定具体原因。
1)如果是时序问题,同样的STC15
单片机执行速度应该是一样的把,所以我觉得可能不是时序的问题。
2)在STC15W408AS上12864_DB并行口上接了上拉10K排阻,在STC15F60S2没有接,会不会是这样问题?不过普通的51接12864应该也会接排阻的吧?
检测忙程序是在网上移植过来用的,大神帮忙看看,谢谢!
/*************************************************************
* @函数名称: Busy
* @参数: none
* @返回值: none
* @摘要: 忙检测*
*************************************************************/
bit lcd_busy()
{
bit result;
RS = 0;
RW = 1;
EN = 1;
delayNOP(); //4个nop 约360ns。
result = (bit)(DataPort&0x80);
EN = 0;
LED=~LED;;
delay_1ms(1000);
return(result);
}
普通的12864是分两个半屏的,所以是有两个片选引脚来选择的,如果没有做片选,有可能会退不出查忙。
如果用查忙方式控制12864,那就和单片机的速度没什么关系了。
一周热门 更多>