打印

求个HT1622的驱动程序

[复制链接]
3036|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
han52414133|  楼主 | 2015-12-2 15:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
dirtwillfly| | 2015-12-2 17:23 | 只看该作者
改一改就行了

使用特权

评论回复
板凳
han52414133|  楼主 | 2015-12-3 13:02 | 只看该作者

怎么改啊,固定送某个数就不显示,用for循环显示就正常。。。:)

使用特权

评论回复
地板
dirtwillfly| | 2015-12-6 08:09 | 只看该作者
方便提供你的代码吗?
传上来大家看看

使用特权

评论回复
5
han52414133|  楼主 | 2015-12-8 09:23 | 只看该作者
#include "reg_lcd52.h"
#include "lcdxs.h"


#define uchar unsigned char


#define Bias_Duty 0x29 /*此处设置LCD的COM数量和偏置*/
#define Rc256 0x18 /*启用内部RC振荡*/
#define LCD_ON 0x03 /*打开LCD偏置发生器*/
#define SYS_EN 0x01 /*打开系统振荡*/
#define TONE_OFF 0x08 /*内部蜂鸣器关*/
//#define TONE_2K 0x13 /*打开蜂鸣器并且频率为2KHz*/
//#define TONE_4K 0x12 /*打开蜂鸣器并且频率为4KHz*/
/*没用用到蜂鸣器可以不用理睬*/


sbit lcd_data=P3^3; /*定义数据线端口*/
sbit lcd_wr =P3^4; /*定义写命令端口*/
sbit lcd_rd =P3^5;
sbit lcd_cs =P3^6; /*定义片选端口*/




void delay(unsigned long i)
{
while(i--);
}




//ht1622写一位数据
void input_bit(void)
{
lcd_wr=0;
;
;
lcd_wr=1;
;
;
}


//写命令函数
void lcd_cmdwrite(uchar Cmd)/*写控制命令函数*/
{
uchar i,CmdByte;
lcd_cs=0; /*低电平有效*/
lcd_data=1;
input_bit();
lcd_data=0;
input_bit();
input_bit();


CmdByte=Cmd;

for(i=0;i<8;i++)
{
lcd_data=(bit)(CmdByte&0x80);
input_bit();
CmdByte<<=1;
}


lcd_data=0;
input_bit();


lcd_cs=1;
}




//写数据函数
void lcd_datawrite(uchar Add,Ddat)/*写控制命令函数*/
{
uchar i,j;


lcd_cs=0; /*低电平有效*/


lcd_data=1;
input_bit();
lcd_data=0;
input_bit();
lcd_data=1;
input_bit();
j=Add;
j<<=2;


for(i=0;i<6;i++)
{
lcd_data=(bit)(j&0x80);
input_bit();
j<<=1;
}


j=Ddat;

for(i=0;i<8;i++)
{
lcd_data=(bit)(j&0x80);
input_bit();
j<<=1;
}


lcd_cs=1;
}


void lcd_init(void)
{
uchar i;
delay(100);
lcd_cmdwrite(Bias_Duty);
lcd_cmdwrite(Rc256);
lcd_cmdwrite(SYS_EN);
lcd_cmdwrite(LCD_ON);
lcd_cmdwrite(TONE_OFF);


for(i=0;i<64;i++) lcd_datawrite(i,0);


}




void main(void)
{
uchar i,j,k;
lcd_init();
for(i=0;i<64;i=i+2)
{
k=1;
for(j=0;j<8;j++)
{
lcd_datawrite(i,k);
k<<=1;
k=k+1;
delay(30000);
}
delay(30000);
}
main和init里面的for循环为什么i<64啊.SEG应该是32位啊,64是怎么来的?
如果要单独显示某几段应该怎么改写程序啊

使用特权

评论回复
6
dirtwillfly| | 2015-12-8 10:23 | 只看该作者
han52414133 发表于 2015-12-8 09:23
#include "reg_lcd52.h"
#include "lcdxs.h"

不清楚啊,这个和段码屏不知道有没有关系。
如果段码屏不一样,代码就会不一样

使用特权

评论回复
7
永恒heng| | 2016-11-3 10:47 | 只看该作者
MARK,初始化

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

41

主题

147

帖子

0

粉丝