/*
*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
推荐阅读最新更新时间: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
[单片机]
发个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
[单片机]
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
[单片机]