LCD显示文字的函数-ARM体系-2440

发布者:superstar11最新更新时间:2019-09-16 来源: eefocus关键字:LCD  显示文字  ARM体系 手机看文章 扫描二维码
随时随地手机看文章

/*

*lcd显示汉字

*输入参数:

* x:开始位置横坐标

* y:开始位置纵坐标

* color:字体颜色

* ch[]:文字

*

*/

 

void Draw_Text16(int x, int y, int color, const unsigned char ch[])  

{  

    unsigned short i, j ;  

    unsigned char mask, tem ;  

    for(i=0; i<16; i++)  

    {  

        mask= 0x80 ;  

        tem = ch[i*2] ; //俩个字节一组16位,取第一个字节  

        for(j=0; j<8; j++)  

        {  

            if(tem & mask)  

            {  

                PutPixel(x+j, y+i, color) ;  

            }  

            mask = mask >> 1 ;  

        }   

          

        mask = 0x80 ;  

        tem = ch[i*2 + 1] ;  

        for(j=0; j<8; j++)  

        {  

            if(tem & mask)  

            {  

                PutPixel(x+j+8, y+i, color) ;  

            }  

            mask = mask >> 1 ;  

        }  

    }  



/* 

 * 画点

 * 输入参数:

 *     x、y : 象素坐标

 *     color: 颜色值

 *         对于16BPP: color的格式为0xAARRGGBB (AA = 透明度),

 *     需要转换为5:6:5格式

 *         对于8BPP: color为调色板中的索引值,

 *     其颜色取决于调色板中的数值

 */

void PutPixel(UINT32 x, UINT32 y, UINT32 color)

{

    UINT8 red,green,blue;

 

    switch (bpp){

        case 16:

        {

            UINT16 *addr = (UINT16 *)fb_base_addr + (y * xsize + x);

            red   = (color >> 19) & 0x1f;

            green = (color >> 10) & 0x3f;

            blue  = (color >>  3) & 0x1f;

            color = (red << 11) | (green << 5) | blue; // 格式5:6:5

            *addr = (UINT16) color;

            break;

        }

        

        case 8:

        {

            UINT8 *addr = (UINT8 *)fb_base_addr + (y * xsize + x);

            *addr = (UINT8) color;

            break;

        }

 

        default:

            break;

    }

}


关键字:LCD  显示文字  ARM体系 引用地址:LCD显示文字的函数-ARM体系-2440

上一篇:LCD显示图片的函数-ARM体系-2440
下一篇:触摸屏驱动-JZ2440

推荐阅读最新更新时间:2024-11-10 14:33

TQ2440实验板OV9650测试程序的详解
我买的是TQ2440实验板,LCD是480*272。实验板给的测试程序是针对320x240的,下面给出详细注解,并且改成480*272显示。修改后的程序在板子上成功运行。 程序中的注解只是我作为一个初学者的角度来理解的,有什么不对的地方还望指教。 /* * TQ2440 camera test program * * preview : 480*272 overlay on 480*272 16bpp LCD * 原测试程序针对320x240 屏幕,以下代码我改成480*272 * * TFT LCD size : 480*272 */ #include sys/time.h //时间类型 #incl
[单片机]
iPhone 8s延用LCD屏 设计追随iPhone X
虽然iPhone X销量不错,并且凭借着OLED屏受到了外界的广泛关注,但Rosenblatt Securities的分析师确认为,iPhone 8之后苹果依旧会推出LCD屏新机。之所以这么认为的原因在于,OLED屏iPhone X售价太高,让不少用户望而却步,而相对来说LCD屏能以更低的售价满足用户。   但分析师表示,尽管苹果在2018年推出的新机型(我们暂且称其为iPhone 8s),会采用LCD屏幕,但外观设计会跟随iPhone X。小编觉得,其原因可能是,为了保证外观的创新性同时降低价格,给消费者更多的选择空间。   而按照此前凯基证券分析师郭明池的看法,2018年苹果会推出两款OLED屏iPhone和一款LCD屏iP
[手机便携]
2017彩电业变革转型成主旋律 OLED如夜空中最耀眼的明星
  当日历一页页的翻过,风云变幻的2017年彩电市场也将尘埃落定。在激烈竞争背后,我们也是时候从极其复杂多变的市场中总结这一年彩电行业的变化。下面就随嵌入式小编一起来了解一下相关内容吧。   总的来看,2017年彩电行业依然是暗藏涌动,行业激烈竞争、产品推陈出新、渠道细分争夺、传统企业与新兴企业不断交锋,在行业不景气的大背景下,产业链各方在困境中求突破谋发展,各种变革转型的声音成为了2017年彩电业主旋律,而 OLED 则犹如夜空中最耀眼的明星,为变革中的彩电行业指明了方向。 OLED 壁纸电视    彩电市场经历史上最差三季度  OLED 却逆势上涨   据奥维云网(AVC)发布的《2017Q3中国彩电市场报告》
[嵌入式]
U-boot在S3C2440上的移植详解(四)
一、移植环境 主 机:VMWare--Fedora 9 开发板:Mini2440--64MB Nand,Kernel:2.6.30.4 编译器:arm-linux-gcc-4.3.2.tgz u-boot:u-boot-2009.08.tar.bz2 二、移植步骤 在这一篇中,我们首先让开发板对CS8900或者DM9000X网卡的支持,然后再分析实现u-boot怎样来引导Linux内核启动。因为测试u-boot引导内核我们要用到网络下载功能。 7)u-boot对CS8900或者DM9000X网卡的支持。 u-boot-2009.08版本已经对CS8900和DM9000X网卡有比较完善的代码支持(代码在drivers/ne
[单片机]
U-boot在S3C<font color='red'>2440</font>上的移植详解(四)
发个12864LCD程序学习一下
//实验目的:熟悉12864LCD的使用 //12864LCD带中文字库 //编程让12864LCD显示公司LOGO和公司名字 //硬件设置: //关断所有拨码开关。 #include p30f6014.h //dsPIC30F6014标准头文件 _FOSC(CSW_FSCM_OFF & XT_PLL4); //4倍频晶振,Failsafe 时钟关闭 _FWDT(WDT_OFF); //关闭看门狗定时器 _FBORPOR(PBOR_OFF & MCLR_EN); //掉电复位禁止,MCLR复位使能。 _FGS(CODE_PROT_OFF); //代码保护禁止 #defin
[单片机]
AVR M16实验之九 LCD12864
/********************************************************************** * 文件名称: main.c * 程序作者: kidcao1987 * 程序版本: V1.0 * 功能描述: 接好LCD12864,用在LCD12864上显示,这里建议再外接上电源。 CEPARK-M16开发板 12864液晶测试 程序设计: 曹佃生!! www.cepark.com * 编译器:WinAVR-20090313 * 芯片:ATmega16,外部11.0592MHZ晶振 * 技术支持:http://bbs.cepark.com **********************
[单片机]
LCD人机交互功能的便携式高精度数据采集系统设计
在许多传统行业中,高精度温度 数据采集 系统是不可缺少的。近年来,随着高精度ADC价格的不断下降以及其功能的不断完善,研制廉价的多路、快速、高精度温度采集系统成为了可能。美国德州仪器公司(TI)推出的带24位ADC的微处理器MSC1210,特别适合于测量高精度温度、压力 传感器 等输出的微弱信号。本文以MSC1210作为测量、信号处理以及通讯的核心,设计了高精度温度采集系统模块。该系统测量通道易于扩充,测量精度高,可以快速地进行高精度数据测量。 系统总体方案设计 本系统的硬件部分主要由前端数据采集、处理电路和后端数据处理、LCD电路组成。两部分通过RS-232串行接口进行通信。系统的总体方案构图如图1所示。 图1
[单片机]
带<font color='red'>LCD</font>人机交互功能的便携式高精度数据采集系统设计
s3c2440裸机-电阻触摸屏编程(2.触摸屏TS控制器)
触摸屏接口模式 Normal Conversion Mode: 正常转换模式,一般情况下可以配置ADCCON和ADCDAT0来读取数据。 Separate X/Y position conversion Mode: x,y坐标分离转换格式,x坐标会写入ADCDAT0, y坐标会写入ADCDAT1,所以会产生2次中断开分开完成x,y的坐标转换。 Auto(Sequential) X/Y Position Conversion Mode 自动转换模式,当触摸屏按下后,会一次性对x,y方向的坐标进行转换,x坐标会写入ADCDAT0, x坐标会写入ADCDAT1。会产生一次中断进行x,y坐标的自动转换。 Waiting
[单片机]
s3c<font color='red'>2440</font>裸机-电阻触摸屏编程(2.触摸屏TS控制器)
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved