sbit SID=P2^1//12864数据
sbit SCLK=P2^2//12864时钟
init()
{
write(0,0x30) //8 位介面,基本指令集
write(0,0x0c) //显示打开,光标关,反白关
write(0,0x01) //清屏,将DDRAM的地址计数器归零
delaynms(10)
write(0,0x80)for(i=0i<16i++) write(1,datas11[i])
write(0,0x90)for(i=0i<16i++) write(1,datas2[i])
write(0,0x88)for(i=0i<16i++) write(1,datas3[i])
write(0,0x98)for(i=0i<16i++) write(1,datas4[i])
}
/**********************12864*************************/
void delaynms(unsigned int di) //延时
{
unsigned int da,db
for(da=0da<dida++)
for(db=0db<10db++)
}
void sendbyte(unsigned char bbyte) //发送一个字节
{
unsigned char i
for(i=0i<8i++)
{
SID=bbyte&0x80//取出最高位
SCLK=1
SCLK=0
bbyte<<=1//左移
}
}
void write(bit start, unsigned char ddata) //写指令或数据
{
unsigned char start_data,Hdata,Ldata
if(start==0) start_data=0xf8 //写指令
else start_data=0xfa //写数据
Hdata=ddata&0xf0 //取高四位
Ldata=(ddata<<4)&0xf0 //取低四位
sendbyte(start_data) //发送起始信号
delaynms(5)//延时是必须的
sendbyte(Hdata) //发送高四位
delaynms(1) //延时是必须的
sendbyte(Ldata) //发送低四位
delaynms(1) //延时是必须的
}
/*void lcdinit(void) //初始化LCD
{
delaynms(10)//启动等待,等LCM讲入工作状态
//PSB=0//串口驱动模式
// RESET=0delaynms(1)RESET=1// 复位LCD
// CS=1
write(0,0x30) //8 位介面,基本指令集
write(0,0x0c) //显示打开,光标关,反白关
write(0,0x01) //清屏,将DDRAM的地址计数器归零
}*/
USB 转串口可能用到不同厂家的芯片,如果在你的机器上windows自己在线搜的驱动不好使,可以卸载驱动后,到芯片厂家去下载驱动程序自己安装。目前单片机板子用的最多的USB 转串口芯片是台湾Prolific的PL2303系列以及南京沁恒的CH34X 系列的,可以到厂家网站找驱动试试看
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)