查看: 12933|回复: 20

[原创] YL-KL26Z-9:串口并口LCD显示实验[3种常用屏]

[复制链接]
  • TA的每日心情
    开心
    2019-2-14 16:49
  • 签到天数: 296 天

    连续签到: 1 天

    [LV.8]以坛为家I

    241

    主题

    2239

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    4473
    最后登录
    2020-4-14
    发表于 2016-1-3 10:50:04 | 显示全部楼层 |阅读模式
    本帖最后由 zhjb1 于 2016-1-3 11:28 编辑

    折腾了较长时间的KL26并口,无法成功,无奈之下采用程序串转并方式实验并口LCD,结果良好。
    本次实验采用了1种廉价黑白串口屏:5110,,可是玩Freescale赛车都知道廉价屏,后来据说炒到15元1只,坑人到家。1种串并皆可的廉价黑白显示屏,KS0713,采用并口方式。1中廉价的1.5寸可能是伪彩屏,采用并口方式。
    串口方式已经做过介绍,并且给出了完整的工程代码,尽管与此次的屏幕不一样,其实仅仅是lcdInit驱动程序不同而已,因此只给出照片和视屏,程序思路就不多说了。
    并口的比较难折腾。起初采用寄存器方式来设置KL26的IO口,按照K10~K60系列以前成功的设置代码,结果碰了一头雾水,源代码不报错也无任何反应,就像注释一样被忽略掉了,晕!发了英文问题,结果NXP叫我电话他的技术咨询,网上求果无果,好在善于变通采用程序并转串的方法凑合通过了,实现了KS0713并口显示和1.5寸彩屏并口显示。至少此次实验解决了将来DMA的并行数据读出计算和显示的问题。
    并转串的代码如下:
    for(i=0;i<8;i++){//设置转换位数,本例8位
    if(data&0x01){//判断数据最低1位的1或0
      输出的I/O口号为1;//是1,设置对应I/O口为1
    }else{
    输出的I/O口号为0;//不是1,设置对应I/O口为0
    }
    data=data>>1;//字符右移,循环判断每一位,知道8位
    }
    wri();//1次写信号,将8位数据送到LCD并口
    照片依次为
    串口视频:https://v.youku.com/v_show/id_XMTQzMzcyMzExMg==.html
    并口视频:https://v.youku.com/v_show/id_XMTQzMzcyMzkzMg==.html
    并口视频:https://v.youku.com/v_show/id_XMTQzMzcyNDg4NA==.html

    以后开始做其他实验了,有时间再研究设置并口的问题。9.9买的芯片来了,看了封装,直晕,好在焊过此类的芯片,还不至于吓个半死的。先设计板子吧,有机会介绍此类封装的芯片如何焊接,感觉很需要技巧和耐心的。封装号为:MKL16Z128VFT4.

    5110串口LCD

    5110串口LCD

    KS0713并口LCD

    KS0713并口LCD

    1.5寸并口彩色LCD

    1.5寸并口彩色LCD

    VFT4封装

    VFT4封装
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 22:32
  • 签到天数: 2502 天

    连续签到: 3 天

    [LV.Master]伴坛终老

    17

    主题

    5507

    帖子

    5

    金牌会员

    Rank: 6Rank: 6

    积分
    11485
    最后登录
    2025-9-11
    发表于 2016-1-3 11:00:36 | 显示全部楼层
    谢谢楼主分享。。。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-1-17 10:45
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    38

    主题

    395

    帖子

    3

    高级会员

    Rank: 4

    积分
    780
    最后登录
    2023-11-17
    发表于 2016-1-4 00:12:45 | 显示全部楼层
    楼主是跟黑白屏干上了,
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-2-9 14:16
  • 签到天数: 17 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    25

    主题

    1785

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2250
    最后登录
    2024-6-11
    发表于 2016-1-4 09:45:26 | 显示全部楼层
    不错,有来新屏了。。。
    nxpic.org.png
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2025-5-7 09:07
  • 签到天数: 353 天

    连续签到: 1 天

    [LV.8]以坛为家I

    141

    主题

    8056

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    5788
    最后登录
    2025-5-7
    发表于 2016-1-4 10:46:04 | 显示全部楼层
    这是把各种屏都点亮的节奏
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2024-1-6 07:38
  • 签到天数: 736 天

    连续签到: 1 天

    [LV.9]以坛为家II

    21

    主题

    3486

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    5093
    最后登录
    2024-1-7
    发表于 2016-1-4 13:49:32 | 显示全部楼层
    效果不错,期待更多分享
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-5-3 11:19
  • 签到天数: 10 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    50

    主题

    1万

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    14090
    最后登录
    2024-4-19
    发表于 2016-1-4 13:50:32 | 显示全部楼层
    路过看下 1.png 2.png 3.png 4.png 5.png 1.png 2.png 3.png 4.png 5.png
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-2-14 16:49
  • 签到天数: 296 天

    连续签到: 1 天

    [LV.8]以坛为家I

    241

    主题

    2239

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    4473
    最后登录
    2020-4-14
     楼主| 发表于 2016-1-4 16:30:37 | 显示全部楼层
    顺便说一下,手中黑白LCD不下十多种,OLED彩或黑白的也有十多种,TFTLCD也超十多种,都是1~2年前廉价淘宝来的。许多没有手册和说明。最贵的是那些有PCB板子的彩屏,有超过20元的,余下的都在十元【黑白】以下或十几元【彩色】,当时不知道哪来的时间到处寻访求要手册并且在各种MCU上点亮并且显示结果。最近已经不玩屏幕了,多数驱动都兼容,且价格都下来了。当手机的彩色LCD降下来后,玩的都是手机的LCD+4线触摸屏,触摸芯片是国内廉价的6206。有喜欢玩屏的网友可以交流哦。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-2-14 16:49
  • 签到天数: 296 天

    连续签到: 1 天

    [LV.8]以坛为家I

    241

    主题

    2239

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    4473
    最后登录
    2020-4-14
     楼主| 发表于 2016-1-4 16:36:01 | 显示全部楼层
    本帖最后由 zhjb1 于 2016-1-4 16:37 编辑
    suyong_yq 发表于 2016-1-4 00:12
    楼主是跟黑白屏干上了,

    彩屏都需要16~18位并口数据,目前还没有会如何设置KL26的并口工作模式,只好与黑白串口屏干上了。这些驱动简单,配置容易,彩屏麻烦多了。8位并口彩屏不多,只好将就。你说呢?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2

    主题

    7

    帖子

    0

    新手上路

    Rank: 1

    积分
    28
    最后登录
    2016-1-5
    发表于 2016-1-4 18:04:22 | 显示全部楼层
    问个问题 ,如何改变adc输入的引脚?
    例程中是E20我现在想改成E22 ,除了引脚初始化改成E22 还应该做哪些改动呢?
    void  adcInit (void)
    {
       SIM_SCGC5 |= SIM_SCGC5_PORTE_MASK;                                  /* ¿ªÆôPE GPIOʱÖÓ              */
        PORTE_PCR20 = PORT_PCR_MUX(0);                                       /* ¿ªÆôPE20¹Ü½ÅÄ£Ä⹦ÄÜ          */
           
           
        SIM_SCGC6 |= SIM_SCGC6_ADC0_MASK;                                   /* ¿ªÆôADCʱÖÓ                  */
        /*
         * ÅäÖÃADCÏà¹Ø¹¦ÄÜ
         */
        ADC0_CFG1 = ADC_CFG1_ADLSMP_MASK | ADC_CFG1_MODE(3) | ADC_CFG1_ADICLK(0);
       
            ADC0_SC2 |= ADC_SC2_REFSEL(1);                                      /* Ñ¡ÔñµçÔ´²Î¿¼Ô´               */
    }

    /*********************************************************************************************************
    ** Function name:           adcGetUint
    ** Descriptions:            adc¶ÁÈ¡
    ** input parameters:        none
    ** output parameters:       adcÊýÖµ
    ** Returned value:          none
    ** Created by:              JiaoLong Liu
    ** Created date:            2012-12-12
    **--------------------------------------------------------------------------------------------------------
    ** Modified by:            
    ** Modified date:           
    *********************************************************************************************************/
    INT16U  adcGetUint (void)
    {
    //    ADC0_SC1(0) = ADC_SC1_ADCH(0);                                      /* Ñ¡ÔñADCÐŵÀ                  */
    //    while ((ADC0_SC1(0) & ADC_SC1_COCO_MASK) != ADC_SC1_COCO_MASK);     /* µÈ´ýת»»Íê³É                 */
    //    return ADC0_R(0);                                                   /* Êä³ö½á¹û                     */
    //
                ADC0_SC1(0) = ADC_SC1_ADCH(0);                                      /* Ñ¡ÔñADCÐŵÀ                  */
        while ((ADC0_SC1(0) & ADC_SC1_COCO_MASK) != ADC_SC1_COCO_MASK);     /* µÈ´ýת»»Íê³É                 */
        return ADC0_R(0);                                                   /* Êä³ö½á¹û                     */

            }
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-9-12 01:37 , Processed in 0.105635 second(s), 29 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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