查看: 7554|回复: 11

【PSoC3心得】1602液晶屏显示

  [复制链接]
  • TA的每日心情
    无聊
    2016-12-20 15:08
  • 签到天数: 510 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2012-11-3 13:54:41 | 显示全部楼层 |阅读模式
    分享到:
       什么也不说,先上图了。
    图像141_副本.jpg 图像140_副本.jpg
      在PSoC上驱动1602是一件很简单的事情,因为PSoC自带多种液晶显示IP核。在PSoC Creator的器件库栏里可以看到自带的IP核如下:
    未命名1.jpg
      器件库中的character LCD就是用来驱动1602的,点击右下角的datasheet可以看到关于这个IP核的详细介绍。这个IP核适用于所有采用HD44780做控制芯片的LCD,包括常见的1602。
      拖动character LCD到原理图后双击器件可进行配置。配置界面如下:
    B~1I30}V}GJU{KO_X[K(1NL.jpg
      LCD Custom Character Set可以进行用户自定义配置,选择None表示无用户自定义配置;选择Vertical Bargraph或Horizon Bargraph,系统或自动帮你生成纵向或横向线条(宽度不一的8种),这些线条可以用来在1602上显示;选择User Defined你可以通过右边的编辑框来编辑自己想要添加到1602的自定义字符。1602支持8个自定义字符,点击右边8个小编辑表后,你可以用鼠标编辑左边的放大图输入自己的字符。(你还可以通过自动生成的API函数来建立这些自定义字符,具体可以看datasheet)。
      配置好之后,通过看datasheet你可以知道引脚的映射关系。Character LCD只需要7个引脚就可以驱动1602,包括E,RS,R/W,DB4-DB7(即四线制驱动),此外要注意Character LCD的引脚不能跨端口,即7个引脚必须在同一个端口上。
       相应的引脚连接如图:
    未命名3.jpg 未命名4.jpg
      这是我的引脚配置:
    未命名.jpg
      编译之后,系统会自动生成API函数和字库。为了使用之前自定义的字符必须在main.c里添加extern uint8 const CYCODE LCD_Char_1_customFonts[],这是保存自定义字符点阵信息的数组,在LCD_Char_1_CustChars.c里可以看到这个数组的定义。其他具体的使用方法可见我主函数的注释,datasheet也讲得很详细。
      下面是我的主函数:
    1. #include <device.h>

    2. extern uint8 const CYCODE LCD_Char_1_customFonts[];         //自定义字符点阵数组

    3. void main()
    4. {
    5.         LCD_Char_1_Start();                                      //初始化1602
    6.         LCD_Char_1_LoadCustomFonts(LCD_Char_1_customFonts) ;        //加载自定义字符(没自定义字符时可不加这句)

    7.        
    8.         LCD_Char_1_Position(0,6) ;                                                                //Row = 0,Col = 6
    9.         LCD_Char_1_PutChar(LCD_Char_1_CUSTOM_0) ;                                //写第一个自定义字符,LCD_Char_1_CUSTOM_0为第一个自定义字符指针,见头文件LCD_Char_1.h
    10.         LCD_Char_1_Position(0,7) ;
    11.         LCD_Char_1_PutChar(LCD_Char_1_CUSTOM_1) ;
    12.         LCD_Char_1_Position(0,8) ;
    13.         LCD_Char_1_PutChar(LCD_Char_1_CUSTOM_2) ;
    14.         LCD_Char_1_Position(0,9) ;
    15.         LCD_Char_1_PutChar(LCD_Char_1_CUSTOM_3) ;
    16.         LCD_Char_1_Position(1,6) ;
    17.         LCD_Char_1_PutChar(LCD_Char_1_CUSTOM_4) ;
    18.         LCD_Char_1_Position(1,7) ;
    19.         LCD_Char_1_PutChar(LCD_Char_1_CUSTOM_5) ;
    20.         LCD_Char_1_Position(1,8) ;
    21.         LCD_Char_1_PutChar(LCD_Char_1_CUSTOM_6) ;
    22.         LCD_Char_1_Position(1,9) ;
    23.         LCD_Char_1_PutChar(LCD_Char_1_CUSTOM_7) ;
    24.        
    25.     LCD_Char_1_Position(1,1) ;
    26.         LCD_Char_1_PrintString("ming");
    27.         LCD_Char_1_Position(1,11) ;
    28.         LCD_Char_1_PrintString("1006");
    29.        
    30.         while(1);
    31. }
    复制代码
    下面是整个PSoC工程
    LCD1602.zip (1.48 MB, 下载次数: 77)
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2016-12-20 15:08
  • 签到天数: 510 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2012-11-16 10:38:49 | 显示全部楼层
    ht868788 发表于 2012-11-16 10:35
    何宾老师的,恩,这个我也有,现在感觉需要例程来做实验去熟悉每个模块,要不纯粹看书的话理解不够,我感 ...

    是啊,不过e文的datasheet看起来还是有点压力,看着好慢
    回复 支持 1 反对 0

    使用道具 举报

  • TA的每日心情
    无聊
    2016-12-20 15:08
  • 签到天数: 510 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2012-11-5 22:26:20 | 显示全部楼层
    PSoC版块这几天好冷清啊,怎么就觉得剩我一人了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2016-12-20 15:08
  • 签到天数: 510 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2012-11-16 10:28:11 | 显示全部楼层
    ht868788 发表于 2012-11-16 10:23
    楼主的自定义字符没试过,可以参考下---不知道楼主现在用的是什么实验教程,我知道的有月之骑士的《分享pso ...

    呵呵,谢谢你的资料啊,这个还没有,我手上有一本8051片上可编程系统,自定义字符可以参照character LCD IP核的datasheet
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2012-11-16 10:08
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2012-11-16 10:51:56 | 显示全部楼层
    ming1006 发表于 2012-11-16 10:38
    是啊,不过e文的datasheet看起来还是有点压力,看着好慢

    e文有什么难得
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2016-12-20 15:08
  • 签到天数: 510 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2012-11-16 10:56:49 | 显示全部楼层
    goodmike 发表于 2012-11-16 10:51
    e文有什么难得

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2016-12-20 15:08
  • 签到天数: 510 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2012-11-16 11:03:14 | 显示全部楼层
    ht868788 发表于 2012-11-16 10:58
    确实啊,不过已经有中文版的creator组件datasheet出来了,官网上有的,现在就是差一些中文应用笔记 ...

    呵呵,有空去官网看看,很少去过
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-8-7 21:35
  • 签到天数: 340 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2012-11-19 17:28:49 | 显示全部楼层
    ming1006 发表于 2012-11-5 22:26
    PSoC版块这几天好冷清啊,怎么就觉得剩我一人了

    是哦……你现在貌似是这个板块最活跃的人喽……
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2016-12-20 15:08
  • 签到天数: 510 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2012-11-19 22:04:02 | 显示全部楼层
    kk5290122 发表于 2012-11-19 17:28
    是哦……你现在貌似是这个板块最活跃的人喽……

    要更多人活跃,论坛才会真的活跃起来
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2014-11-27 16:02
  • 签到天数: 66 天

    连续签到: 1 天

    [LV.6]常住居民II

    发表于 2013-4-22 21:50:22 | 显示全部楼层
    你的3管脚 大概多少伏啊?我的对比度很低啊,从零调到5V都不是很清楚
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-11-24 21:16 , Processed in 0.202916 second(s), 34 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.