找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1555|回复: 5
打印 上一主题 下一主题
收起左侧

2.0寸LCD屏ILI9225驱动 显示字符图片线条 单片机汇编语言程序

[复制链接]
跳转到指定楼层
楼主
简单的测试  画圆不会



单片机源程序如下:
  1. //   176*220  8位并口    ILI9225         
  2. // 用12C5A60S2         
  3.                                    P0M1        EQU      93H
  4.                    P0M0        EQU      94H
  5.                                    P4SW        EQU      0BBH;           将P4设置成普通IO口
  6.                                    P4          EQU      0C0H                                                                                                                                   
  7. //=============================================================================
  8. //贴片                          
  9.                    TFT_LED     BIT      P0.4;      //背光
  10.                                    TFT_CS      BIT      P0.7;           //片选
  11.                                    RESET       BIT      P4.6;           //复位        
  12.                    TFT_RS      BIT      P4.1;      //数据/命令切换
  13.                    TFT_WR      BIT      P4.5;           //写控制
  14.                    TFT_RD      BIT      P4.4;           //读控制
  15. //=============================================================================
  16. // 2.0寸屏幕
  17.                                    DAT_X_H_B       EQU      20H;           //     高8位   结束位
  18.                                    DAT_X_L_B       EQU      21H;           //     低8位          结束位

  19.                                    DAT_Y_H_B       EQU      22H;           //     高8位   结束位
  20.                                    DAT_Y_L_B       EQU      23H;           //     低8位          结束位

  21.                                    DIP_VH               EQU      24H;                横屏 竖屏
  22.                                    DAT_H           EQU      25H;                高8位
  23.                                    DAT_L           EQU      26H;                低8位         
  24. //-------------------------------------------------------------------------
  25. //-------------------------------------------------------------------------
  26.                        ORG 0000H;
  27.                        LJMP START;

  28.                        ORG 0100H;
  29. //-------------------------------------------------------------------------
  30. START:                            MOV P0M0,#00000000B;
  31.                                        MOV P0M0,#00010000B;               P0.4强推       
  32.                                            MOV P4SW,#70H;           P4.4 P4.5 P4.6变成IO口
  33.                                 MOV SP,#60H
  34. //--------------------------------------------------------------------  
  35.                                    SETB TFT_LED;                      开启屏幕背光
  36.                        SETB TFT_RD;                                 用不到 拉高
  37. //屏幕设置
  38.                                            LCALL REGISTER_SETTINGS;  配置屏幕  写入预置数据                                          
  39. //--------------------------------------------------------------------
  40. MAIN:
  41. // 显示数字
  42.                                            LCALL DISP_GBK_0816;
  43. // 显示文字
  44.                                        LCALL DISP_GBK_1616;
  45.                                        LCALL DISP_GBK_3232;
  46. // 显示线条
  47.                                    LCALL SET_CS
  48. // 显示图片
  49.                                            LCALL DISP_Y_1_SET_1;                             设置横向显示坐标 第一个字符的横向起始位和结束位
  50.                                        LCALL DISP_X_1_SET_1;                             设置纵向显示坐标 第一个字符的纵向起始位和结束位
  51.                                        MOV R0,#4;                                                         要显示的字符纵向起始位   以要显示的字符高度算
  52.                                        LCALL DISP_INC_32_Y;                  连续计算                                       
  53.                                        MOV R0,#10;                                                         要显示的字符纵向起始位   以要显示的字符宽度算
  54.                                        LCALL DISP_INC_16_X;                  连续计算                                       
  55.                                        LCALL LCD_Set_X_Y;                    设置显示区域
  56.                        LCALL DIP_PICTURE;
  57. // 填充颜色
  58.                                            LCALL DISP_Y_1_SET_1;                             设置横向显示坐标 第一个字符的横向起始位和结束位
  59.                                        LCALL DISP_X_1_SET_1;                             设置纵向显示坐标 第一个字符的纵向起始位和结束位
  60.                                        MOV R0,#6;                                                         要显示的字符横向起始位   以要显示的字符宽度算
  61.                                        LCALL DISP_INC_32_X;                  连续计算
  62.                                        LCALL LCD_Set_X_Y;                    设置显示区域

  63.                                            LCALL DIP_COLOUR;

  64.                        LJMP $;
  65. //======================================================================================
  66. //======================================================================================

  67. //--------------------------------------------------------------------
  68. //--------------------------------------------------------------------
  69. $INCLUDE (DIP_INIT.ASM)                                         
  70. $INCLUDE (SET_DIP.ASM)                                         
  71. $INCLUDE (DELAY.ASM)                                         
  72. $INCLUDE (SET.ASM)
  73. $INCLUDE (ZK.ASM)
  74. $INCLUDE (DISP_GBK_3232.ASM)
  75. $INCLUDE (DISP_GBK_1616.ASM)
  76. $INCLUDE (DISP_GBK_0816.ASM)
  77.                                    END;
复制代码

51hei截图20221214222627.jpg (53.7 KB, 下载次数: 59)

51hei截图20221214222627.jpg

51hei截图20221214222737.jpg (33.06 KB, 下载次数: 54)

51hei截图20221214222737.jpg

1.jpg (41.04 KB, 下载次数: 56)

1.jpg

3.jpg (229.07 KB, 下载次数: 56)

3.jpg

2.0寸 测试显示字符 图片 线条.7z

39.1 KB, 下载次数: 11, 下载积分: 黑币 -5

评分

参与人数 1黑币 +70 收起 理由
admin + 70 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:279787 发表于 2022-12-16 14:01 | 只看该作者
厉害,这个驱动还用汇编写;但是为了方便移植,还是用C好一点。
回复

使用道具 举报

板凳
ID:126422 发表于 2022-12-16 21:53 | 只看该作者
请教楼主,这个与ILI9341驱动上有什么区别?
回复

使用道具 举报

地板
ID:261025 发表于 2022-12-16 22:28 | 只看该作者
lijn 发表于 2022-12-16 21:53
请教楼主,这个与ILI9341驱动上有什么区别?

命令不一样   设置字符坐标只设置起始位   和设置坐标有关的程序都要修改  研究明白了也没多大区别
回复

使用道具 举报

5#
ID:261025 发表于 2022-12-16 22:32 | 只看该作者
oliver2 发表于 2022-12-16 14:01
厉害,这个驱动还用汇编写;但是为了方便移植,还是用C好一点。

不会C  修改一点就出错  有时候提示的错误和真正的错误位置相差十万八千里  不知道错在哪   汇编错哪提示哪  一步一步的很好排除
回复

使用道具 举报

6#
ID:126422 发表于 2022-12-20 17:15 | 只看该作者
418854190 发表于 2022-12-16 22:28
命令不一样   设置字符坐标只设置起始位   和设置坐标有关的程序都要修改  研究明白了也没多大区别

谢谢,先下载慢慢学习。
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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