打印
[其他ST产品]

HT1621B初始化后总是显示乱码 有没有大神可以帮忙解决

[复制链接]
630|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ty4713295|  楼主 | 2020-4-1 10:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用的是STC8F2K16S2单片机
连接液晶显示  SEG9-SEG27    COM0-COM3

#include "STC8F.H"
#include "absacc.h"
#include "intrins.h"
#include "stdio.h"
#define uint unsigned int
#define uchar unsigned char
#define BIAS 0X52 //必须跟硬件电路的COM匹配,1个或者2个COM 0x42  3个COM 0X4A 4个COM 0x52  1/3LCD驱动器偏压 4个公共端口COM
#define RC256 0X30
#define SYSTEN 0x02
#define SYSDIS 0x00
#define LCDON 0X06
void sendbitHT1621(uchar nbit,uchar n);//发送一个字节中的n位到HT1621里,驱动程序的最底层部分
void write_com(uchar cmdcode);//写命令到LCD
void init_lcd();//初始化LCD屏
void seg_display(uchar col,uchar pag);//显示基本单位点
void scerrn_clear();//清空屏幕的内容
void delay();  //5s
//说明:凡是输出IO后缀都是_dr,凡是输入后缀都是_sr
sbit ht162x_data_dr=P0^0;
sbit ht162x_cs_dr=P0^2;
sbit ht162x_wr_dr=P0^3;
void main()
{
   init_lcd();  

}
//发送一个字节中的N位到HT1621里,驱动程序的最底层部分//
void sendbitHT1621(uchar nbit,uchar n)
{
uchar i;
for(i=0;i<n;i++)
{
   ht162x_wr_dr=0;
   if(nbit&0x80) //判断最高位
  {
    ht162x_data_dr=1;
   }
   else
   {
    ht162x_data_dr=0;
   }
   _nop_();
   _nop_();
   _nop_();
   ht162x_wr_dr=1;
   _nop_();
   _nop_();
   _nop_();
   nbit<<=1;   
}
}
//写命令到LCD,驱动液晶程序的一部分//
void write_com(uchar cmdcode)
{
ht162x_cs_dr=0; //选通HT1621
_nop_();
_nop_();
sendbitHT1621(0x80,4);   //写入命令
sendbitHT1621(cmdcode,8);  //写入控制命令
_nop_();
_nop_();
ht162x_cs_dr=1;
_nop_();
_nop_();
_nop_();
}
void init_lcd()
{
ht162x_data_dr=1;
ht162x_cs_dr=1;
ht162x_wr_dr=1;
write_com(SYSTEN); // 打开系统振荡器
write_com(RC256); //启动内部256K RC振荡器
write_com(BIAS);  //1/3LCD驱动器偏压 4个公共端口COM
write_com(LCDON); //开启LCD
}
//核心内容  显示基本单位点,col代表X轴,X轴的数据用位来表示,一个字节中的高4位来表示,pag表示Y轴
void seg_display(uchar col,uchar pag)
{
// pag<<=2;
ht162x_cs_dr=0;
_nop_();
_nop_();
sendbitHT1621(0XA0,3); //发送写数据模式 高位101   101为6 位RAM 地址,
sendbitHT1621(pag<<2,6);  //写入地址数据
sendbitHT1621(col,4);  //写入数据
ht162x_cs_dr=1;
_nop_();
_nop_();
}
//清空屏幕内容
void screen_clrar()
{
uchar i;
uchar y=0;
for(i=0;i<32;i++)
{
   seg_display(0X00,y);
   y=y+1;
}
}

注:这个还有一个毛病就是每次烧完程序之后 要断电很久屏幕才会发生变化,这个也搞不清是什么原因[img

使用特权

评论回复
沙发
ty4713295|  楼主 | 2020-4-1 10:42 | 只看该作者
C:\Users\Administrator.XTTD-2020VONJUI\Desktop

使用特权

评论回复
评论
ty4713295 2020-4-1 10:47 回复TA
这个是图片 好像看不出来哈 
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

4

帖子

0

粉丝