标题: 单片机LCD驱动求教,关于直接控制与间接控制 [打印本页]

作者: w1179benp    时间: 2023-2-21 07:25
标题: 单片机LCD驱动求教,关于直接控制与间接控制
此前在遇到LCD控制时,都是如下
// 间接控制方式驱动子程序
#define LCDBUS    P0
sbit _WR     = P2^4;
sbit _RD     = P2^3;
sbit _CS     = P2^2;
sbit  RS     = P2^6; //A0
sbit _RST     = P2^5;
sbit _sel     = P2^7;

最近遇到一个采用直接控制方式的如下
#define DW_ADD XBYTE[0x0000]                 /* LCD屏数据口写地址 */        
#define CW_ADD XBYTE[0x0100]                 /* LCD屏指令口写地址 */
#define DR_ADD XBYTE[0x0100]                 /* LCD屏数据口读地址 */
#define CR_ADD XBYTE[0x0000]                 /* LCD屏指令口读地址 */

那么应如何按上述P2口对应的关系,修改下边方括号里的值呢?如DW_ADD XBYTE[ 0x ????]


作者: wys91203    时间: 2023-2-21 08:49
如果是51单片机,P2.7位作为地址选择时1000 0000 0000 0000  即0X8000 到  1111 1111 1111 1111 即0XFFFF
作者: w1179benp    时间: 2023-2-22 08:37
wys91203 发表于 2023-2-21 08:49
如果是51单片机,P2.7位作为地址选择时1000 0000 0000 0000  即0X8000 到  1111 1111 1111 1111 即0XFFFF

感谢回复。这两天又找了些例程注释看了看,有些理解不知对否:1.直接控制法先决条件:硬件必须是P0的并口8位数据、P2控制端口;且R\D、R\W必须分别接在P37、P36端上(以89C52为例),2. 而间接控制法无需数据端口、控制端口的硬性要求,只需对各端口分别分配、定义就可以了。
作者: 人中狼    时间: 2023-2-22 09:42
两个不同的概念,一个是端口控制方式,一个是总线控制方式,查查51有关使用总线的资料,其实现在除了51,很多应用环境都不使用总线方式了




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1