资源简介
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
评论
共有 条评论