数码之家

 找回密码
 立即注册
搜索
查看: 3159|回复: 11

[AVR] protues里的那个HDG12864的串口屏有点亮过的吗?

[复制链接]
发表于 2020-2-14 17:31:53 | 显示全部楼层 |阅读模式

爱科技、爱创意、爱折腾、爱极致,我们都是技术控

您需要 登录 才可以下载或查看,没有账号?立即注册

x
网上很多都是并口的,好不容易找到个串口的,但是还是点不亮,不知道是不是缺少啥设置,有没有点亮过的?
发表于 2020-2-14 17:46:07 | 显示全部楼层
缺少图片,源码等。完全不知道这么回答
回复 支持 反对

使用道具 举报

发表于 2020-2-14 17:58:34 | 显示全部楼层
这个都有资料,按理说不难搞定吧:loveliness:
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-14 18:15:47 | 显示全部楼层
jiexiao 发表于 2020-2-14 17:46
缺少图片,源码等。完全不知道这么回答

我就是问怎么点亮,哪来的源码?
回复 支持 反对

使用道具 举报

发表于 2020-2-14 18:43:01 | 显示全部楼层
protues里的 HDG12864 亮过的!!!

    HDG12864F-1  HDG12864F-3  HDG12864L-4   HDG12864L-6  串口屏都能点亮  网上搜索  程序一样  
          HDG12864L-4   并口不能显示 缺少一个引脚
  
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-14 20:38:42 | 显示全部楼层
by64214 发表于 2020-2-14 18:43
protues里的 HDG12864 亮过的!!!

    HDG12864F-1  HDG12864F-3  HDG12864L-4   HDG12864L-6  串口屏都能 ...

你那有吗?能发一份给我吗?我试了两个都不行的样子
回复 支持 反对

使用道具 举报

发表于 2020-2-15 10:19:44 | 显示全部楼层
程序
#include <STC15W4K.h>
#include <intrins.h>
#define    uchar    unsigned char
#define    uint    unsigned int
sbit LCD_SI=P3^0;//clock input                    同步时钟输入端
sbit LCD_SCL=P3^1;//data input/output            串行数据输入、输出端
sbit LCD_A0=P3^2;//选择命令还是数据
sbit LCD_RST=P3^3;//复位
sbit LCD_CS=P3^4;//片选
uchar code BMP[]=
{
/*--  文字:测  宋体12;  此字体下对应的点阵为:宽x高=16x16--*/
0x08,0x31,0x86,0x60,0x00,0xFE,0x02,0xF2,0x02,0xFE,0x00,0xF8,0x00,0x00,0xFF,0x00,
0x04,0xFC,0x03,0x00,0x80,0x47,0x30,0x0F,0x10,0x67,0x00,0x07,0x40,0x80,0x7F,0x00,
/*--  文字:试  宋体12;  此字体下对应的点阵为:宽x高=16x16--*/
0x40,0x42,0xDC,0x08,0x00,0x90,0x90,0x90,0x90,0x90,0xFF,0x10,0x12,0x1C,0x10,0x00,
0x00,0x00,0x7F,0x20,0x10,0x20,0x20,0x1F,0x10,0x10,0x01,0x06,0x18,0x20,0x78,0x00,
};
/**************************************************************
LCD写函数
void LCD_write(数据或者命令,A0选择)
****************************************************************/
void LCD_write(uchar data_command,uchar dc)
{//参数dc=0时表示发命令,dc=1时表示发送数据
  uchar i;
  LCD_A0=dc;
  LCD_CS=0;  
  for(i=0;i<8;i++)
  {
   LCD_SCL=0;
   LCD_SI=(data_command&0x80)==0?0:1;
   data_command<<=1;
   LCD_SCL=1;
  }
  LCD_CS=1;  
}
/**************************************************************
LCD初始化函数
****************************************************************/
void LCD_Init(void)
{
  uchar i;
  LCD_RST=0;  //LCD(低电平)复位
  for(i=100;i>0;i--);
  LCD_RST=1;     // RES置高
  for(i=100;i>0;i--);
  LCD_write(0xa2,0);// LCD偏压设置:1/9 BIAS
  LCD_write(0xa1,0);//列地址选择为从右到左对应0~127;0xa1:列地址从左到右;0xa0:列地址从右到左
  LCD_write(0xc0,0);// 行地址从上到下为0~63;0xc0:行地址从上到下;0xc8:行地址从下到上
  LCD_write(0x26,0);// V5电压内部电阻调整设置
  LCD_write(0x81,0);//亮度调整命令0~63(暗到亮)
  LCD_write(0x10,0);   //亮度调节为双字节命令,前一个参数控制字的深浅
  LCD_write(0x2f,0); //上电控制,打开调压器、稳压器和电压跟随
  LCD_write(0xaf,0); //set display off。0xaf:set display on
  LCD_write(0x60,0);//其实行设置
}
//------------------------------------------------------------------------------
void clrscr(uchar page_f, //显示一个字或多个字函数
uchar page_sum,uchar column_f,uchar column_sum )  //x*8
{
  //参数:指向字首地址,起始页,占多少页,起始列,占多少列
  uchar i,j,page=0xb0;//指向首页命令
  for(i=page_f;i<page_sum+page_f;i++)
   {
                 LCD_write(page+i,0);
     LCD_write(0x10|((0xf0&column_f)>>4),0);//设定列地址高4位为0
     LCD_write(0x04|(0x0f&column_f),0);    //设定列地址低4位为0
     for(j=0;j<column_sum;j++)
      {
         LCD_write(0x00,1);
      }
   }
}  
//------------------------------------------------------------------------------
void Draw_word(uint d_where,uchar page_f,uchar page_sum,uchar column_f,uchar column_sum ) //显示一个字或多个字函数  x*8
{
        //参数:指向字首地址,起始页,占多少页,起始列,占多少列
  uchar i,j,page=0xb0;//指向首页命令
  d_where=d_where*32;
  for(i=page_f;i<page_sum+page_f;i++)
   {
                 LCD_write(page+i,0);
     LCD_write(0x10|((0xf0&column_f)>>4),0);//设定列地址高4位为0
     LCD_write(0x04|(0x0f&column_f),0);    //设定列地址低4位为0
     for(j=0;j<column_sum;j++)
      {
         LCD_write(BMP[d_where],1);
         d_where++;
      }
   }
}
//------------------------------------------------------------------------------
int main(void)
{
   uchar i=0;
   LCD_Init();
   clrscr(0,8,0,128);
   Draw_word(0,4,2,24,16);
   Draw_word(1,4,2,40,16);
   while(1);
}
image.png

打赏

参与人数 1家元 +12 收起 理由
ww5223017240 + 12 非常感谢,等下去试试

查看全部打赏

回复 支持 反对

使用道具 举报

发表于 2020-4-5 11:25:22 | 显示全部楼层
by64214 发表于 2020-2-15 10:19
程序
#include
#include

STC的MCU仿真模型可否分享下?感谢!
回复 支持 反对

使用道具 举报

发表于 2020-4-5 14:02:36 | 显示全部楼层
ww5223017240 发表于 2020-2-14 20:38
你那有吗?能发一份给我吗?我试了两个都不行的样子

有源码的话,能自己编译的话,最好对延时之类的函数,进行少量修改来测试

还有保证MCU连接液晶的IO输出正常
回复 支持 反对

使用道具 举报

发表于 2020-4-5 21:53:09 | 显示全部楼层
你要的是这个吗?
HDG12864F-1.jpg
回复 支持 反对

使用道具 举报

发表于 2020-4-5 21:53:52 | 显示全部楼层
elecfunwb 发表于 2020-4-5 11:25
STC的MCU仿真模型可否分享下?感谢!

软件自带的有
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-6 10:16:05 | 显示全部楼层
595953427@qq 发表于 2020-4-5 21:53
你要的是这个吗?

谢谢,已经点亮了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2024-4-20 12:51 , Processed in 0.280801 second(s), 16 queries , Redis On.

Powered by Discuz!

© 2006-2023 smzj.net

快速回复 返回顶部 返回列表