⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lcd1602-0323.c

📁 一款用单片机驱动LCD的C程序。如果需要更详细的
💻 C
字号:
//lcd1602test.c
//Body: HT48R05A-1
//Mask option
//SysFreq: 4000KHz
//the others use the default value

#include <ht48R05A-1.h>

#define DATA _pa

#define ENABLE _pb0
#define RW _pb1
#define RS _pb2

#define EL    _pc0

#define _tmrc4 _0e_4  //timer4 enable bit 
#pragma vector isr_4 @ 0x4
#pragma vector isr_8 @ 0x8

//ISR for safequard
void isr_4(){} // external ISR

void isr_8() // timer/event
{
//		if(delay1_num)
//			delay1_num --;
}

void initial()
{
	unsigned char i;

	_pac = 0x00;    // 输出到 LCD D0~D7端口
	_pbc = 0x00;    // PB0:E PB1:R/W PB2:RS
	_pcc = 0x00;    //PC0:EL

	//EL = 0;
	
	_intc = 0x5;    //enable timer
	_tmrc = 0x87;   //timer mode (internal clock)
//	set_timer();
  _tmrc4 = 0;
  _tmr = 0xe1;
  _tmrc4 = 1;    //start timer1  
}

/******************************************/

void send_command(unsigned char num)
{
	DATA = num;
	RS = 0;
	RW = 0;
	ENABLE = 0;
	_delay(20);
	ENABLE = 1;
}
void send_data(unsigned char num)
{
	DATA = num;
	RS = 1;
	RW = 0;
	ENABLE = 0;
	_delay(20);
	ENABLE = 1;
}
main()
{
	unsigned char index;
	unsigned char i,j;
	
//	safeguard_init();
	initial();
	_delay(15);
	send_command(0x38);
	_delay(5);
	send_command(0x38);
	_delay(5);
	send_command(0x38);
	send_command(0x38); //显示模式设置
	send_command(0x08); //显示关闭

	send_command(0x01); //显示清屏
	send_command(0x06); //显示光标移动设置

	send_command(0x0f); //显示及光标设置
send_command(0xc0);
send_command(0x80);
while(1)
{
	send_data(0xc1);
	send_data(0xc2);
	send_data(0xc3);
	send_data(0xc4);
	send_data(0xc5);
	send_data(0xc6);
	send_data(0xc7);
	send_data(0xc8);
}
/*
	DATA = 0x01;
	send_command();
	DATA = 0X38;
	send_command();
	DATA = 0x0F;
	send_command();
	DATA = 0X06;
	send_command();
	DATA = 0XC0;
	send_command();
	DATA = 0X42;
	RS = 1;
	RW = 0;
	ENABLE = 0;
	_delay(20);
	ENABLE = 1;
EL = 0;
*/
	while(1)
	{
}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -