单片机STC89C52驱动QC12864B-1,但是我用的是P2的数据口。手里的程序大部分都是直接用的P0做数据口。

单片机STC89C52驱动QC12864B-1,但是我用的是P2的数据口。手里的程序大部分都是直接用的P0做数据口。,第1张

1.。把P0改成P2程序里只需要更改定义声明,比如程序里的

sbit CS= P0 ^ 5//片选 高电平有效 单片LCD使用时可固定高电平

改P2口

sbit CS= P2 ^ 3//片选 高电平有效 单片LCD使用时可固定高电平

就可以了

2.。确定这块12864好不好,找个调试程序测试一下。

3.。R9的0殴电阻改到R10就是直接焊掉R9,连接到R10。

4.。可以。

5.。一样好控制。就是写程序,接电路,选的器件不一样。

希望能够对你有用

#include<spce061a.h>

#include<bit.h>

#define lcd_sclk P0_8

#define lcd_sid P0_9

void byte_write(char a)

{

char b

lcd_sid=0

lcd_sclk=0

for(b=0b<8b++)

{

if(a&0x0080)

lcd_sid=1

else

lcd_sid=0

lcd_sclk=0

lcd_sclk=1

a=a<<1

*P_Watchdog_Clear=0x0001

}

}

void command(char i) //写指令

{

char a,b

a=0xf8

byte_write(a)

b=i&0x00f0

byte_write(b)

b=i&0x000f

b=b<<4

byte_write(b)

}

void data(char i) //写数据

{

char a,b

a=0xfa

byte_write(a)

b=i&0x00f0

byte_write(b)

b=i&0x000f

b=b<<4

byte_write(b)

}

void init() //初始化

{

command(0x38)

command(12)

command(0x01)

command(0x06)

command(0x80)

}

main()

{

char a

char sj[]="恭喜串口测试成功"

*P_IOA_Dir=0xffff//对a口初始化设置为低电平输出

*P_IOA_Attrib=0xffff

*P_IOA_Data=0xffff

init()

for(a=0a<16a++)

data(sj[a])

while(1)

*P_Watchdog_Clear=0x0001

// dely(1)

}

这个是凌阳61的12864液晶串口驱动。但初始化与写指令,写数据的函数可以移植调用。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11334198.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存