查看: 3989|回复: 10

[原创] YL-KL26Z实验-4

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

    连续签到: 1 天

    [LV.8]以坛为家I

    241

    主题

    2239

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    4473
    最后登录
    2020-4-14
    发表于 2015-12-22 20:40:36 | 显示全部楼层 |阅读模式
    本帖最后由 zhjb1 于 2015-12-22 20:42 编辑

    最近有个项目需操作,我将显示ASCII码和屏幕上显示JSQ:、AD0:~AD7:以及其他固定信息和计数器计数显示的完整程序放上,有时间了,会将ADC程序与此程序结合实现ADC分次测试和取n次平均后的显示。看看此板的ADC的精度如何。当然LCD显示有了,其他的实验数据都可以直接显示出来以便后来的操作。全代码如下[学习可以,转载不可!]:
    //2.4Inch TFT LCD Test I/O for SPI--Changge gpio & M051
    #include "includes.h"
    const unsigned char asc2[][8]={//8x6 Dots 32 to 127 + caratteri alfa_omega a seguire
    {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},// space
    {0x00,0x1c,0x22,0x24,0x18,0x16,0x00,0x00},//!-1=32
    {0x00,0x00,0x07,0x00,0x07,0x00,0x00,0x00},//"
    {0x00,0x02,0x04,0x78,0x10,0x0c,0x02,0x00},//#
    {0x00,0x7e,0x15,0x15,0x15,0x0a,0x00,0x00},//$
    {0x00,0x23,0x13,0x08,0x64,0x62,0x00,0x00},//%
    {0x00,0x36,0x49,0x55,0x22,0x50,0x00,0x00},//&
    {0x00,0x00,0x05,0x03,0x00,0x00,0x00,0x00},//'
    {0x00,0x00,0x1C,0x22,0x41,0x00,0x00,0x00},//(
    {0x00,0x00,0x41,0x22,0x1C,0x00,0x00,0x00},//)
    {0x00,0x14,0x08,0x3E,0x08,0x14,0x00,0x00},//**/-10=42
    {0x00,0x08,0x08,0x3E,0x08,0x08,0x00,0x00},//+
    {0x00,0x00,0x50,0x30,0x00,0x00,0x00,0x00},//;
    {0x00,0x08,0x08,0x08,0x08,0x08,0x00,0x00},//-
    {0x00,0x00,0x60,0x60,0x00,0x00,0x00,0x00},//.
    {0x00,0x20,0x10,0x08,0x04,0x02,0x00,0x00},///
    {0x00,0x3E,0x51,0x49,0x45,0x3E,0x00,0x00},//0
    {0x00,0x00,0x42,0x7F,0x40,0x00,0x00,0x00},//1
    {0x00,0x42,0x61,0x51,0x49,0x46,0x00,0x00},//2
    {0x00,0x21,0x41,0x45,0x4B,0x31,0x00,0x00},//3
    {0x00,0x18,0x14,0x12,0x7F,0x10,0x00,0x00},//4-20
    {0x00,0x27,0x45,0x45,0x45,0x39,0x00,0x00},//5
    {0x00,0x3C,0x4A,0x49,0x49,0x30,0x00,0x00},//6
    {0x00,0x01,0x01,0x79,0x05,0x03,0x00,0x00},//7
    {0x00,0x36,0x49,0x49,0x49,0x36,0x00,0x00},//8
    {0x00,0x06,0x49,0x49,0x29,0x1E,0x00,0x00},//9
    {0x00,0x00,0x36,0x36,0x00,0x00,0x00,0x00},//:
    {0x00,0x00,0x56,0x36,0x00,0x00,0x00,0x00},//;
    {0x00,0x08,0x14,0x22,0x41,0x00,0x00,0x00},//<
    {0x00,0x14,0x14,0x14,0x14,0x14,0x00,0x00},//=
    {0x00,0x00,0x41,0x22,0x14,0x08,0x00,0x00},//>-30
    {0x00,0x02,0x01,0x51,0x09,0x06,0x00,0x00},//?
    {0x00,0x32,0x49,0x79,0x41,0x3E,0x00,0x00},//@
    {0x00,0x7E,0x11,0x11,0x11,0x7E,0x00,0x00},//A
    {0x00,0x41,0x7F,0x49,0x49,0x36,0x00,0x00},//B
    {0x00,0x3E,0x41,0x41,0x41,0x22,0x00,0x00},//C
    {0x00,0x41,0x7F,0x41,0x41,0x3E,0x00,0x00},//D
    {0x00,0x7F,0x49,0x49,0x49,0x49,0x00,0x00},//E
    {0x00,0x7F,0x09,0x09,0x09,0x01,0x00,0x00},//F
    {0x00,0x3E,0x41,0x41,0x49,0x7A,0x00,0x00},//G
    {0x00,0x7F,0x08,0x08,0x08,0x7F,0x00,0x00},//H
    {0x00,0x00,0x41,0x7F,0x41,0x00,0x00,0x00},//I-40
    {0x00,0x20,0x40,0x41,0x3F,0x01,0x00,0x00},//J
    {0x00,0x7F,0x08,0x14,0x22,0x41,0x00,0x00},//K
    {0x00,0x7F,0x40,0x40,0x40,0x40,0x00,0x00},//L
    {0x00,0x7F,0x02,0x0C,0x02,0x7F,0x00,0x00},//M
    {0x00,0x7F,0x06,0x08,0x30,0x7F,0x00,0x00},//N
    {0x00,0x3E,0x41,0x41,0x41,0x3E,0x00,0x00},//O
    {0x00,0x7F,0x09,0x09,0x09,0x06,0x00,0x00},//P
    {0x00,0x3E,0x41,0x51,0x21,0x5E,0x00,0x00},//Q
    {0x00,0x7F,0x09,0x19,0x29,0x46,0x00,0x00},//R
    {0x00,0x26,0x49,0x49,0x49,0x32,0x00,0x00},//S
    {0x00,0x01,0x01,0x7F,0x01,0x01,0x00,0x00},//T-50
    {0x00,0x3F,0x40,0x40,0x40,0x3F,0x00,0x00},//U
    {0x00,0x1F,0x20,0x40,0x20,0x1F,0x00,0x00},//V
    {0x00,0x7F,0x20,0x18,0x20,0x7F,0x00,0x00},//W
    {0x00,0x63,0x14,0x08,0x14,0x63,0x00,0x00},//X
    {0x00,0x07,0x08,0x70,0x08,0x07,0x00,0x00},//Y
    {0x00,0x61,0x51,0x49,0x45,0x43,0x00,0x00},//Z
    {0x00,0x00,0x7F,0x41,0x41,0x00,0x00,0x00},//[
    {0x00,0x02,0x04,0x08,0x10,0x20,0x00,0x00},//\//
    {0x00,0x00,0x41,0x41,0x7F,0x00,0x00,0x00},//]
    {0x00,0x04,0x02,0x01,0x02,0x04,0x00,0x00},//^-60
    {0x00,0x40,0x40,0x40,0x40,0x40,0x00,0x00},//_
    {0x00,0x00,0x00,0x07,0x05,0x07,0x00,0x00},//' Insty
    {0x00,0x20,0x54,0x54,0x54,0x78,0x00,0x00},//a
    {0x00,0x7F,0x48,0x44,0x44,0x38,0x00,0x00},//b
    {0x00,0x38,0x44,0x44,0x44,0x28,0x00,0x00},//c
    {0x00,0x38,0x44,0x44,0x48,0x7F,0x00,0x00},//d
    {0x00,0x38,0x54,0x54,0x54,0x18,0x00,0x00},//e
    {0x00,0x00,0x08,0x7E,0x09,0x02,0x00,0x00},//f
    {0x00,0x0C,0x52,0x52,0x4C,0x3E,0x00,0x00},//g
    {0x00,0x7F,0x08,0x04,0x04,0x78,0x00,0x00},//h-70
    {0x00,0x00,0x44,0x7D,0x40,0x00,0x00,0x00},//i
    {0x00,0x20,0x40,0x44,0x3D,0x00,0x00,0x00},//j
    {0x00,0x00,0x7F,0x10,0x28,0x44,0x00,0x00},//k
    {0x00,0x00,0x41,0x7F,0x40,0x00,0x00,0x00},//l
    {0x00,0x7C,0x04,0x78,0x04,0x78,0x00,0x00},//m
    {0x00,0x7C,0x08,0x04,0x04,0x78,0x00,0x00},//n
    {0x00,0x38,0x44,0x44,0x44,0x38,0x00,0x00},//o
    {0x00,0x7E,0x0C,0x12,0x12,0x0C,0x00,0x00},//p
    {0x00,0x0C,0x12,0x12,0x0C,0x7E,0x00,0x00},//q
    {0x00,0x7C,0x08,0x04,0x04,0x08,0x00,0x00},//r-80
    {0x00,0x58,0x54,0x54,0x54,0x64,0x00,0x00},//s
    {0x00,0x04,0x3F,0x44,0x40,0x20,0x00,0x00},//t
    {0x00,0x3C,0x40,0x40,0x3C,0x40,0x00,0x00},//u
    {0x00,0x1C,0x20,0x40,0x20,0x1C,0x00,0x00},//v
    {0x00,0x3C,0x40,0x30,0x40,0x3C,0x00,0x00},//w
    {0x00,0x44,0x28,0x10,0x28,0x44,0x00,0x00},//x
    {0x00,0x1C,0xA0,0xA0,0x90,0x7C,0x00,0x00},//y
    {0x00,0x44,0x64,0x54,0x4C,0x44,0x00,0x00},//z
    {0x00,0x00,0x08,0x36,0x41,0x00,0x00,0x00},//{
    {0x00,0x00,0x00,0x77,0x00,0x00,0x00,0x00},//|-90
    {0x00,0x00,0x41,0x36,0x08,0x00,0x00,0x00},//}
    {0x00,0x08,0x04,0x08,0x10,0x08,0x00,0x00},//~
    {0x00,0x5c,0x62,0x02,0x62,0x5c,0x00,0x00},//OM
    {0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14},//horiz lines-94
    };
    INT16U t0=0;
    //Delayer moster 65536X65535 system clock
    void delay(INT16U count){
    INT16U i,j;              
    for(i=0;i<count;i++){for(j=0;j<i;j++);}            
    }
    //Write Plus
    void wri(){
    GPIO_CLR(MKL_PORTD,0);
    GPIO_SET(MKL_PORTD,0);
    }
    //Write 1 byte to LCD,dt:data/comata-1,Command-0
    void b2l(unsigned char dt,unsigned char com){
    unsigned char i;
    if(com==1){GPIO_SET(MKL_PORTD,2);}else{GPIO_CLR(MKL_PORTD,2);}
    for(i=0;i<8;i++){
      if(dt&0x80){GPIO_SET(MKL_PORTD,1);}else{GPIO_CLR(MKL_PORTD,1);}
      dt=dt<<1;
      wri();
    }
    }
    //Set LCD col:0-102 pag:0-8
    void setXY(unsigned char pag,unsigned char col){
    b2l(0xB0+pag,0);//page
    //col+=0x04;//+4-->4bit
    b2l(0x10+((col&0xF0)>>4),0);//row-H4
    b2l(col&0x0F,0);//row-L4
    }
    //LCD Clear
    void lcdClear(void){
    unsigned char pag,col;
    for(pag=0;pag<8;pag++){
      setXY(pag,0);
      for(col=0;col<132;col++){b2l(0x00,1);};}
    }
    //c:Char,cha[]
    void c2l(unsigned char pag,unsigned char col,unsigned char c){
    unsigned char line;
    setXY(pag,col*8);  
    for (line=0;line<8;line++)
      b2l(asc2[c][line],1);
    }
    //Like 0108LCD Initial
    void lcdInit(void){
    delay(2000);
    GPIO_CLR(MKL_PORTD,3);//Reset LCD
    delay(2000);
    GPIO_SET(MKL_PORTD,3);
    delay(2000);
    b2l(0xAE,0);//AE= Off/AF=On
    b2l(0xE2,0);//LCD Initial
    delay(500);
    b2l(0xA0,0);//A0=1~132/A1=132~1
    b2l(0xC8,0);//C0=1~64/C8=64~1||A0+C8 col+4
    b2l(0xA2,0);//A2=1Big/65=1/7_A3=1Small/65=1/9
    delay(500);
    b2l(0x2F,0);//Base Vol 28+VC+VR+VF
    delay(1000);
    b2l(0x22,0);//20~27=1.9,2.19,2.55,3.02,3.61,4.35,5.29,6.48V/
    delay(1000);
    b2l(0x81,0);//V0-Next Num//Big20/small2C
    b2l(0x20,0);//000000~111111=0~63=8.83~11.17V/30=10V
    delay(1000);
    b2l(0xA4,0);//A4-Off/A5-On[??]
    b2l(0x10,0);//Column40x10+0000~1111
    b2l(0x00,0);//Column40x10+0000~1111
    b2l(0xAF,0);//LCD On
    b2l(0xAD,0);//AC=Cursor on/AD= off
    b2l(0x02,0);//??00=OFF/01=1S/02=0.5S/03=AllOn
    delay(2000);
    }
    //Display ASCiI Test
    void dispAsc2(void){
    int i,j;
    for(i=0;i<6;i++){
      for(j=0;j<16;j++){c2l(i,j,i*16+j);}
    }
    }
    //Display BaseData
    void dispBase(void){
    c2l(0,0,52);c2l(0,1,69);c2l(0,2,83);c2l(0,3,84);c2l(0,5,33);c2l(0,6,36);c2l(0,7,35);//Test ADC
    c2l(0,9,42);c2l(0,10,51);c2l(0,11,49);c2l(0,13,48);c2l(0,14,55);c2l(0,15,45);//JSQ PWM
    c2l(3,0,42);c2l(3,1,51);c2l(3,2,49);c2l(3,3,26);//JSQ
    c2l(4,0,33);c2l(4,1,16);c2l(4,2,26);c2l(4,8,33);c2l(4,9,17);c2l(4,10,26);//A0:A1:
    c2l(5,0,33);c2l(5,1,18);c2l(5,2,26);c2l(5,8,33);c2l(5,9,19);c2l(5,10,26);//A2:A3:
    c2l(6,0,33);c2l(6,1,20);c2l(6,2,26);c2l(6,8,33);c2l(6,9,21);c2l(6,10,26);//A4:A5:
    c2l(7,0,33);c2l(7,1,22);c2l(7,2,26);c2l(7,8,33);c2l(7,9,23);c2l(7,10,26);//A6:A7:
    }
    //Display Messege data
    void dispMes(void){
    c2l(3,4,(t0/100000)%10+16);c2l(3,5,(t0/10000)%10+16);c2l(3,6,(t0/1000)%10+16);c2l(3,7,(t0/100)%10+16);c2l(3,8,(t0/10)%10+16);c2l(3,9,t0%10+16);
    }
    //I/O Instial
    void ioInit(void){
    //IO功能选择
    IO_FUN_SEL(MKL_PORTB,18,1);//Test Led1
    IO_FUN_SEL(MKL_PORTB,19,1);//Test Led2
    IO_FUN_SEL(MKL_PORTD,0,1);//LCD Clock
    IO_FUN_SEL(MKL_PORTD,1,1);//LCD Data
    IO_FUN_SEL(MKL_PORTD,2,1);//Cmd:1=Data & 0=Command
    IO_FUN_SEL(MKL_PORTD,3,1);//Reset LCD:- Enable
    //IO设置为输出模式
    GPIO_DDR_OUTPUT(MKL_PORTB,18);//Test Led1
    GPIO_DDR_OUTPUT(MKL_PORTB,19);//Test Led2
    GPIO_DDR_OUTPUT(MKL_PORTD,0);//LCD Clock
    GPIO_DDR_OUTPUT(MKL_PORTD,1);//LCD Data
    GPIO_DDR_OUTPUT(MKL_PORTD,2);//Cmd:1=Data & 0=Command
    GPIO_DDR_OUTPUT(MKL_PORTD,3);//Reset LCD:- Enable
    }
    //MAIN Program
    int main(void){
    SystemCoreClockUpdate();
    SIM_SCGC5 |=(SIM_SCGC5_PORTA_MASK|SIM_SCGC5_PORTB_MASK|SIM_SCGC5_PORTC_MASK|SIM_SCGC5_PORTD_MASK|SIM_SCGC5_PORTE_MASK);
    ioInit();
    lcdInit();
    lcdClear();
    GPIO_SET(MKL_PORTB,18);
    GPIO_CLR(MKL_PORTB,19);
    delay(1000);
    GPIO_CLR(MKL_PORTB,18);
    GPIO_SET(MKL_PORTB,19);
    dispBase();
    while(1){
      GPIO_SET(MKL_PORTB,18);
      GPIO_CLR(MKL_PORTB,19);
      //dispAsc2();
      dispMes();
      GPIO_CLR(MKL_PORTB,18);
      GPIO_SET(MKL_PORTB,19);
      t0++;
      delay(200);
      //lcdClear();
    }
    }

    运行后的照片:
    顺便说一下,有时与老外们交流,他们看不懂中文。有不明白的地方直接问,我会细细解答的。可能无法即时,因为有活吧。

    大128x64LCD显示结果,为以后ADC准备

    大128x64LCD显示结果,为以后ADC准备
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2020-5-24 10:39
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    140

    主题

    2087

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    3913
    最后登录
    2020-5-24
    发表于 2015-12-22 21:09:47 | 显示全部楼层
    建议加个副标题
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2020-5-24 10:39
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    140

    主题

    2087

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    3913
    最后登录
    2020-5-24
    发表于 2015-12-22 21:12:32 | 显示全部楼层
    你这个LCD什么型号?有点像电子纸
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

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

    连续签到: 1 天

    [LV.8]以坛为家I

    241

    主题

    2239

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    4473
    最后登录
    2020-4-14
     楼主| 发表于 2015-12-22 21:19:51 | 显示全部楼层
    是10元1个买的没有背光,我把背面的反光层去掉,加了LED背光板,撕的不好,花了,有好的。这个烧了,摔碎了不可惜,实验玩呗。我买的所有的黑白的LCD不超过10元,彩色的TFTLCD在10元~15元左右,OLED在10元左右。就是太累,需要到处找他们的芯片型号以及说明手册,而后在不同的单片机上测试通过。至今还有几类黑白的LCD、彩色的TFTLCD、OLED没有测试出来文字,只是刷屏没有意义。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2020-3-29 09:54
  • 签到天数: 418 天

    连续签到: 1 天

    [LV.9]以坛为家II

    21

    主题

    2928

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    3307
    最后登录
    2021-4-7
    发表于 2015-12-22 22:27:40 | 显示全部楼层
    多谢分享。。。 nxp-logo.png
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2020-1-12 00:23
  • 签到天数: 745 天

    连续签到: 1 天

    [LV.9]以坛为家II

    27

    主题

    1万

    帖子

    26

    金牌会员

    Rank: 6Rank: 6

    积分
    6868
    最后登录
    2020-7-15
    发表于 2015-12-22 23:56:00 | 显示全部楼层
    液晶屏改背光加个柔光板效果要好些,就是不太容易找到。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

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

    连续签到: 1 天

    [LV.9]以坛为家II

    21

    主题

    3486

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    5093
    最后登录
    2024-1-7
    发表于 2015-12-23 11:46:18 | 显示全部楼层
    谢谢分享,学习一下
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 21:34
  • 签到天数: 2454 天

    连续签到: 10 天

    [LV.Master]伴坛终老

    17

    主题

    5363

    帖子

    5

    金牌会员

    Rank: 6Rank: 6

    积分
    11302
    最后登录
    2025-7-22
    发表于 2015-12-23 18:57:16 | 显示全部楼层
    谢谢楼主分享。。。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

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

    连续签到: 1 天

    [LV.8]以坛为家I

    241

    主题

    2239

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    4473
    最后登录
    2020-4-14
     楼主| 发表于 2015-12-23 22:10:55 | 显示全部楼层
    lising 发表于 2015-12-22 23:56
    液晶屏改背光加个柔光板效果要好些,就是不太容易找到。

    是的,背光板好找,1~2元1块,但散光板或柔光板无处觅。只好贴了一块半透纸代替的,效果很不好。
    回复 支持 反对

    使用道具 举报

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

    连续签到: 1 天

    [LV.4]偶尔看看III

    25

    主题

    1785

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2250
    最后登录
    2024-6-11
    发表于 2015-12-24 10:11:29 | 显示全部楼层
    不错,谢谢分享。。。各种屏幕驱动
    nxpic.org.png
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-23 04:52 , Processed in 0.103513 second(s), 29 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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