162a.c

来自「这里有很多我自己做的凌阳单片机源程序」· C语言 代码 · 共 56 行

C
56
字号
//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 + =
减小字号Ctrl + -
显示快捷键?