• 大小: 1KB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2021-04-12
  • 语言: 其他
  • 标签: ht1621  

资源简介

ht1621驱动,stm32方式实现,能直接用,望采纳。。。。。

资源截图

代码片段和文件信息

#include “lcd_display.h“


void Delay(uint8_t i)
{
while(--i);
}
/*write mode func*/
void  write_mode(uint8_t mode)
{
WR_L;
Delay(200);
DATA_H;
Delay(200);
WR_H;

WR_L;
Delay(200);
DATA_L;
Delay(200);
WR_H;

WR_L;
Delay(200);
if(0 == mode)
{
DATA_L;
}
else
{
DATA_H;
}
Delay(200);
WR_H;
}

/*write addr func*/
void write_add(uint8_t addr)
{
uint8_t i=0;
//addr = addr<<2;

for(i=0;i<6;i++)
{
WR_L;
Delay(200);
if((addr<<(5-i))&0x01)
{
DATA_H;

}
else
{
DATA_L;
}
Delay(200);
WR_H;
Delay(200);
}
}

/*write data func*/
void write_data_4bit(uint8_t data)
{
uint8_t i=0;
for(i=0;i<4;i++)
{
WR_L;
Delay(200);

if((data>>i)&0x01)
{
DATA_H;
}
else
{
DATA_L;
}

Delay(200);
WR_H;
Delay(200);
}
}

/*write data func*/
void write_data_8bit(uint8_t data)
{
uint8_t i=0;
for(i=0;i<8;i++)
{
WR_L;
Delay(200);

if((data>>i)&0x01)
{
DATA_H;
}
else
{
DATA_L;
}

Delay(200);
WR_H;
Delay(200);
}
}

/*write command function*/
void write_command(uint8_t command)
{
uint8_t i = 0;
for(i=0;i<8;i++)
{
WR_L;
Delay(200);
if((command >> (7-i))&0x01)
{
DATA_H;
}
else
{
DATA_L;
}
Delay(200);
WR_H;
Delay(200);
}
}

void write_1621(unsigned char addrunsigned char dat)
{
CS_L;
write_mode(DATA);
write_add( addr);
write_data_4bit( dat);
CS_H;
}

void clearpanel()//清屏函数
{
unsigned char i;
for(i=0;i<32;i++)
{
write_1621(i0x00);
}
}

void ht1621_init()
{
WR_H;
DATA_H;
CS_H;
Delay(200);

CS_L;
Delay(200);
write_mode(COMMAND);    //命令模式
write_command(0x01); //Enable System
write_command(0x03); //Enable Bias
write_command(0x04); //Disable Timer
write_command(0x05); //Disable WDT
write_command(0x08); //Tone OFF
write_command(0x18); //on-chip RC震荡
write_command(0x29); //1/4Duty 1/3Bias
write_command(0x80); //Disable IRQ
write_command(0x40); //Tone Frequency 4kHZ
write_command(0xE3); //Normal Mode

CS_H;
}

void lcd_all(void)
{
write_addr_dat_n(0x0 0xFF 15);
}

void write_addr_dat_n(unsigned char _addr unsigned char _dat unsigned char n)
{
unsigned char i = 0;

CS_L; // CS = 0;
write_mode(DATA);
write_add(_addr);

for (i = 0; i < n; i++)
{
write_data_8bit(_dat);
}
CS_H; //CS = 1;
}































 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-10-14 08:50  ht1621\
     文件        2560  2018-10-11 11:24  ht1621\lcd_display.c
     文件        1906  2018-10-11 11:23  ht1621\lcd_display.h

评论

共有 条评论