📄 162a.c
字号:
//HJD162A的底层驱动函数
//可参考1602的数据资料,只是时序不一样而已,
#include<spce061a_chf.h>
#include"bit.h"
void check_busy()
{
unsigned int c;
Set_IOA_Dir(0x0007);
Set_IOA_Data(0xff00);//悬浮式输入
do
{
*P_Watchdog_Clear=0x01;
P0_0=0;//rs=0
P0_1=1;//rw=1
P0_2=1;//E=1
c=PA->byte.byteh;//只读出高8位
P0_2=0;//E=0;
asm("nop");
c&=0x80;
}while(c==0x80);
}
//写命令函数,IOA0~IOA2为控制端口,IOA8~IOA15为数据端口
void write_command(unsigned int command)
{
check_busy();
Set_IOA_Dir(0xff07);
PA->byte.byteh=command;//操作高8位
P0_0=0;//rs=0
P0_1=0;//rw=0
P0_2=1;//E=1
asm("nop");
P0_2=0;//E=0;//下降沿触发
asm("nop");
}
//写数据函数
void write_data(unsigned int data2)
{
check_busy();
Set_IOA_Dir(0xff07);
PA->byte.byteh=data2;//操作高8位
P0_0=1;//rs=1
P0_1=0;//rw=0
P0_2=1;//E=1
asm("nop");
P0_2=0;//E=0;//下降沿触发
asm("nop");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -