这个只能全部重写了,包括延时。延时用用官方的精确延时来算最好。 |
1692483014 发表于 2020-8-6 08:54 嗯嗯,搞定了 |
aayon1979 发表于 2020-8-6 09:04 板子问题,P2^7引脚没焊接好,谢谢 |
先确认一下板子有没有问题。 |
你确定板子跑起来程序了吗?调通串口打印数据试试,或者控制一个io口翻转试试?弄好了最小系统再调LCD |
问题解决了,是小板的问题,我把P0口和P2口测试了一下,发现P2^7无法输出高电平,所以我改变了引脚,因为两个开发板都是P2^7,没办法,用面包板改为P2^4,就ok了 |
wulin 发表于 2020-8-6 07:41 谢谢! |
angmall 发表于 2020-8-6 06:04 谢谢,我试了一下,还是没有显示,我想是不是小板有问题 |
STC8A8K64S4A12是1T单片机,速度比STC89C52许多,延时函数要根据时钟频率修改数据。 /**1ms延时程序(11.0592MHz 1T)****/ void Lcd1602_Delay1ms(uint k) { uint i,j; for(i=k;i>0;i--) for(j=1150;j>0;j--); } |
给你改了一下试试。 /******************************************************************************* * 函 数 名 : Lcd1602_Delay1ms * 函数功能 : 延时函数,延时1ms * 输 入 : c * 输 出 : 无 * 说 名 : 该函数是在12MHZ晶振下,12分频单片机的延时。 *******************************************************************************/ void Lcd1602_Delay1ms(uint c) //误差 0us { uchar a,b; for (; c>0; c--) { for (b=16;b>0;b--) { for(a=147;a>0;a--); } } } |