近几个月有点空闲时间,看到Arduino比较好玩,就开始学习,近来想做个数控电源,想用Arduino  por  mini做主控,TFT屏做显示,找到一个ILI9341的库,但该库只支持英文字符显示,搜了很久,也许本人比较笨,英文很差,没找到合用的库,又想显示汉字,实在没办法,只好自已照冬瓜画葫芦乱编了一个,请各位高人指点指点。TFT屏为2.2吋SPI接口,刷屏比较慢,有明显的闪烁,本来用5V的,但出现白屏,只好改为3.3V。本程序只解决中文显示,其他东西还没时间编。

[pre lang="arduino" line="1" file="ILI9341"]/*

本程序是在TFT2.h库的基础上,参考库文件中ASCII字符显示一段胡乱而编----chbhbgtx;

*/

#include

#include

#include

int inPin_A = 0;

int inPin_B = 1;

/******汉字字库**********/

static const byte hanzi24x24[][72]={

//"0 数",

{0x00,0x40,0x42,0x4C,0x58,0xC0,0xFF,0xFE,

0x62,0x58,0x4E,0x64,0x44,0x00,0xF0,0xFF,

0x4E,0x42,0xC0,0xC0,0x60,0x60,0x40,0x00,

0x00,0x48,0x48,0x44,0xC3,0xE1,0x7F,0x57,

0x41,0xC3,0xE6,0x48,0x04,0x03,0x3F,0xE0,

0x00,0x80,0xFF,0x3F,0x00,0x00,0x00,0x00,

0x00,0x40,0x40,0x62,0x23,0x35,0x14,0x08,

0x0E,0x1F,0xB1,0x80,0x40,0x20,0x30,0x1D,

0x0F,0x0F,0x18,0x30,0x70,0x20,0x20,0x00},

//"1 控",

{0x00,0x40,0x40,0x40,0xFF,0xFE,0x42,0x60,

0x00,0xC0,0xF8,0x10,0x90,0x11,0x13,0x1E,

0x14,0x90,0x10,0x50,0x30,0x38,0x10,0x00,

0x00,0x20,0x60,0x30,0xFF,0xFF,0x08,0x08,

0x24,0x50,0x4C,0x46,0x43,0x41,0xC1,0xC0,

0x40,0x40,0x61,0x67,0x4E,0x1C,0x00,0x00,

0x00,0x20,0x20,0xE0,0x7F,0x3F,0x00,0x00,

0x20,0x20,0x20,0x20,0x20,0x20,0x3F,0x3F,

0x20,0x20,0x20,0x20,0x30,0x30,0x20,0x00},

//"2 电",

{0x00,0x00,0x00,0xF0,0xE0,0x20,0x20,0x20,

0x20,0x20,0xFF,0xFE,0x22,0x20,0x20,0x20,

0x20,0xF0,0xF0,0x20,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0xFF,0xFF,0x84,0x84,0x84,

0x84,0x84,0xFF,0xFF,0x84,0x84,0x84,0x84,

0x84,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x03,0x01,0x00,0x00,0x00,

0x00,0x00,0x3F,0x7F,0x60,0x60,0x60,0x60,

0x60,0x61,0x60,0x60,0x60,0x7E,0x30,0x00},

//"3 源",

{0x00,0x40,0xC0,0x86,0x1C,0x08,0xC0,0x00,

0xFE,0xFC,0x04,0x04,0xE4,0xC4,0x44,0x7C,

0x54,0x44,0x44,0xE4,0xE6,0x46,0x04,0x00,

0x00,0x80,0x83,0xC1,0xF0,0x0F,0x00,0x80,

0xFF,0x7F,0x00,0x00,0xBF,0x1F,0x12,0xF2,

0xF2,0x12,0x12,0x7F,0x3F,0x00,0x00,0x00,

0x00,0x00,0x00,0x1F,0x3F,0x40,0x38,0x0F,

0x23,0x10,0x18,0x0E,0x23,0x21,0xE0,0x7F,

0x3F,0x00,0x01,0x02,0x06,0x1C,0x38,0x00},

// "4 压",

{0x00,0x00,0x00,0x00,0xFC,0xF8,0x08,0x08,

0x08,0x08,0x08,0x08,0xE8,0xC8,0x48,0x08,

0x08,0x08,0x08,0x0C,0x0C,0x08,0x00,0x00,

0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0x08,

0x08,0x08,0x08,0x08,0xFF,0xFF,0x08,0x08,

0x48,0xC8,0x8C,0x0C,0x08,0x00,0x00,0x00,

0x00,0x40,0x30,0x1E,0x07,0x21,0x20,0x20,

0x20,0x20,0x20,0x20,0x3F,0x3F,0x20,0x20,

0x20,0x21,0x27,0x23,0x30,0x30,0x20,0x00},

//"5 流",

{0x00,0x80,0x00,0x04,0x0C,0x38,0x10,0xC0,

0x10,0x10,0x10,0xD0,0x71,0x36,0x1E,0x14,

0x50,0x90,0x90,0x18,0x18,0x10,0x00,0x00,

0x00,0x01,0x07,0x8E,0xC0,0x38,0x07,0x00,

0x02,0xF6,0xE7,0x26,0x02,0xF2,0xE2,0x22,

0x02,0xF2,0xE3,0x27,0x0E,0x00,0x00,0x00,

0x00,0x01,0x01,0x3F,0x7F,0x80,0x40,0x20,

0x1E,0x0F,0x01,0x00,0x00,0x7F,0x3F,0x00,

0x00,0x3F,0x7F,0x60,0x60,0x7E,0x30,0x00},

//"6 设",

{0x00,0x00,0x00,0x02,0x06,0x1C,0x38,0x00,

0x00,0x00,0x80,0xFE,0x7C,0x04,0x04,0x04,

0x04,0xFE,0xFE,0x84,0x80,0xC0,0x80,0x00,

0x00,0x02,0x02,0x02,0xFF,0xFF,0x02,0x00,

0x02,0x09,0x89,0x38,0xC8,0x08,0x08,0x08,

0xC8,0xF8,0x3D,0x0D,0x09,0x01,0x00,0x00,

0x00,0x00,0x00,0x10,0x3F,0x9F,0x8C,0x44,

0x42,0x21,0x20,0x10,0x19,0x0F,0x06,0x0F,

0x19,0x30,0x30,0x60,0x60,0x20,0x20,0x00},

//"7 置",

{0x00,0x00,0x00,0x00,0x7F,0x3E,0x22,0x22,

0x22,0x3E,0x3E,0xE2,0xE2,0x3E,0x3E,0x22,

0x22,0x22,0x7F,0x3F,0x82,0x80,0x00,0x00,

0x00,0x01,0x01,0x01,0x01,0x01,0xFD,0xF9,

0x49,0x49,0x4F,0x4F,0x49,0x49,0x49,0x49,

0xFD,0xFD,0x09,0x01,0x01,0x01,0x01,0x00,

0x00,0x40,0x40,0x40,0x40,0x40,0x7F,0x7F,

0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,

0x7F,0x7F,0x40,0x40,0x60,0x60,0x40,0x00},

//"8 测",

{0x00,0x40,0xC2,0x86,0x1C,0xCC,0x00,0xFC,

0x08,0x08,0xE8,0x48,0x08,0xFC,0xFC,0x08,

0x00,0xF8,0x10,0x00,0xFE,0xFC,0x04,0x00,

0x00,0x80,0x83,0xE1,0x1C,0x03,0x00,0xFF,

0x00,0x00,0xFF,0x00,0x00,0xFF,0xFF,0x00,

0x00,0xFF,0x00,0x00,0xFF,0xFF,0x00,0x00,

0x00,0x00,0x3F,0x7F,0x00,0x80,0x40,0x23,

0x18,0x0C,0x07,0x00,0x04,0x1B,0x31,0x60,

0x00,0x23,0x20,0xE0,0x7F,0x3F,0x00,0x00},

//"9 定",

{0x00,0x00,0xC0,0xFC,0x10,0x10,0x10,0x10,

0x10,0x10,0x11,0x13,0x1E,0x14,0x10,0x10,

0x10,0x90,0x50,0x70,0x38,0x18,0x10,0x00,

0x00,0x00,0x00,0x02,0x02,0xF2,0xE2,0x22,

0x02,0x02,0x02,0xFE,0xFE,0x82,0x82,0x82,

0x82,0xC2,0xC2,0x83,0x03,0x02,0x00,0x00,

0x00,0x40,0x20,0x18,0x0E,0x07,0x03,0x0C,

0x18,0x30,0x60,0x7F,0x7F,0x60,0x60,0x60,

0x60,0x60,0x60,0x60,0x60,0x20,0x20,0x00}

};

/********** 24x24点 汉字显示 ************/

/*

hanzi:汉字在字库中位置;poX, poY:显示坐标;size :汉字大小;fgcolor:颜色

下面一段是我照冬瓜画葫芦乱编的,其实有些语句我自已都不是很明白,见笑,请高手注释。

*/

void TFT_write_hanzi(INT8U hanzi, INT16U poX, INT16U poY,INT16U size, INT16U fgcolor)

{

for (int i =0; i<24; i++ )

{

INT8U temp = hanzi24x24[hanzi];

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

{

if((temp>>j)&0x01)

{

Tft.fillRectangle(poX+i*size, poY+j*size, size, size, fgcolor);

}

}

}

for (int i =24; i<48; i++ )

{

INT8U temp = hanzi24x24[hanzi];

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

{

if((temp>>j)&0x01)

{

Tft.fillRectangle(poX+(i-24)*size, poY+8*size+j*size, size, size, fgcolor);

}

}

}

for (int i =48; i<72; i++ )

{

INT8U temp = hanzi24x24[hanzi];

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

{

if((temp>>j)&0x01)

{

Tft.fillRectangle(poX+(i-48)*size, poY+8*size*2+j*size, size, size, fgcolor);

}

}

}

}

void setup()

{

TFT_BL_ON;             // turn on the background light

Tft.TFTinit();             //init TFT library

//"数控电源"

INT16U poX_1 = 20;

INT16U poY_1 = 5;

INT16U size_1 = 2;

TFT_write_hanzi(0, poX_1, poY_1,size_1, GREEN);

TFT_write_hanzi(1, poX_1+24*size_1*1+4, poY_1,size_1, GREEN);

TFT_write_hanzi(2, poX_1+24*size_1*2+4, poY_1,size_1, GREEN);

TFT_write_hanzi(3, poX_1+24*size_1*3+4, poY_1,size_1, GREEN);

//"测定电压"

INT16U poX_2 = 5;

INT16U poY_2 = 65;

INT16U size_2 = 1;

TFT_write_hanzi(8, poX_2, poY_2,size_2, GREEN);

TFT_write_hanzi(9, poX_2+24*size_2*1+4, poY_2,size_2, GREEN);

TFT_write_hanzi(2, poX_2+24*size_2*2+4, poY_2,size_2, GREEN);

TFT_write_hanzi(4, poX_2+24*size_2*3+4, poY_2,size_2, GREEN);

Tft.drawString("V",215,110,3,YELLOW);

//"设定电压"

INT16U poX_4 = 5;

INT16U poY_4 = 155;

INT16U size_4 = 1;

TFT_write_hanzi(6, poX_4, poY_4,size_2, GREEN);

TFT_write_hanzi(9, poX_4+24*size_4*1+4, poY_4,size_4, GREEN);

TFT_write_hanzi(2, poX_4+24*size_4*2+4, poY_4,size_4, GREEN);

TFT_write_hanzi(4, poX_4+24*size_4*3+4, poY_4,size_4, GREEN);

Tft.drawString("15.17",110,157,3,CYAN);

Tft.drawString("V",215,157,3,YELLOW);

//"测定电流"

INT16U poX_6 = 5;

INT16U poY_6 = 190;

INT16U size_6 = 1;

TFT_write_hanzi(8, poX_6, poY_6,size_2, GREEN);

TFT_write_hanzi(9, poX_6+24*size_6*1+4, poY_6,size_6, GREEN);

TFT_write_hanzi(2, poX_6+24*size_6*2+4, poY_6,size_6, GREEN);

TFT_write_hanzi(5, poX_6+24*size_6*3+4, poY_6,size_6, GREEN);

Tft.drawString("A",215,240,3,YELLOW);

//"设定电流"

INT16U poX_8 = 5;

INT16U poY_8 = 290;

INT16U size_8 = 1;

TFT_write_hanzi(6, poX_8, poY_8,size_2, GREEN);

TFT_write_hanzi(9, poX_8+24*size_8*1+4, poY_8,size_8, GREEN);

TFT_write_hanzi(2, poX_8+24*size_8*2+4, poY_8,size_8, GREEN);

TFT_write_hanzi(5, poX_8+24*size_8*3+4, poY_8,size_8, GREEN);

Tft.drawString("1.345",115,290,3,CYAN);

Tft.drawString("A",215,290,3,YELLOW);

}

void loop()

{

float vol_1B = 0;

float vol_2B = 0;

for (int i = 0 ;i < 256; i ++)

{

int reading_A = analogRead(inPin_A);

float vol_1A = 3.25 * ( reading_A / 1023.0) ;

vol_1B =  vol_1B + vol_1A;

int reading_B = analogRead(inPin_B);

float vol_2A = 2 * ( reading_B / 1023.0) ;

vol_2B =  vol_2B + vol_2A;

}

float vol_1 = vol_1B / 256;

float vol_2 = vol_2B / 256;

Tft.fillScreen(45,200,90,150,BLACK);

Tft.fillScreen(45,200,225,280,BLACK);

if (vol_1 < 10.0)

{

Tft.drawFloat(vol_1,2,75,95,5,GREEN);//显示测定电压

}

else

{

Tft.drawFloat(vol_1,2,45,95,5,GREEN);//显示测定电压

}

Tft.drawFloat(vol_2,3,45,230,5,GREEN);//显示测定电流

delay(500);

}

[/code]

connection.JPG

(10.96 KB, 下载次数: 34)

2013-12-28 15:04 上传

接口

IMG_0437b.gif

(278.73 KB, 下载次数: 24)

2013-12-28 15:18 上传

2013-12-28 15:06 上传

点击文件名下载附件

589.42 KB, 下载次数: 152

c语言tft屏浮点数显示,编个可显示中文的TFT程序相关推荐

  1. c语言tft屏浮点数显示,LCD屏显示小数的程序与心得

    最近调程序用到了LCD屏,起初在论坛里找到了坛友分享的显示小数的程序,自己挪过去发现不好用,就在坛友的程序的基础上做了一些小的修改,能满足需求了,但是近几天发现该玩的程序有个BUG,比如说传入显示数据 ...

  2. ESP32-CAM拍照输出RGB565数据,wifi传输到stm32控制tft屏显示拍照图像

    ESP32-CAM拍照输出RGB565数据,wifi传输到stm32控制tft屏显示拍照图像 拍照采用安信可的ESP32-CAM,显示屏采用2.2寸,TFT SPI 240x320屏幕,使用stm32 ...

  3. 用STC单片机在TFT屏上显示二维码

    用STC8A单片机在TFT屏上显示二维码 概述 最近项目需要用单片机在TFT屏上显示二维码,将C++下显示二维码的代码经过改造,移值到C代码的单片机,成功运行,经多次测试能稳定运行,TFT屏显示部分, ...

  4. Arduino+esp8266+1.4寸TFT屏(st7735驱动)解决显示图片偏色以及屏幕边缘花边问题

    买回来的屏幕一跑例程出现这个情况? 原图: 屏幕显示: 首先偏色问题存在,且屏幕花边(没复现的出来,假装有). 解决方法: 主要问题出现在 Arduino\libraries\TFT_eSPI 这个库 ...

  5. micropython驱动tft_nRF52832-Bluefruit52学习之MicroPython开发(5)-- TFT屏驱动ST7789

    nRF52832技术交流群:680723714 nRF52832-Bluefruit52核心板详细介绍: https://blog.csdn.net/solar_Lan/article/details ...

  6. c语言的双精度浮点数,什么是双精度浮点数

    问题一:什么是单.双精度浮点数浮点就是小数点位置不确定,比如123.43,6557.521.在C语言中,一般单精度数据类型比如int,数据的范围是2的31次方,而双精度类型的整型比如long int的 ...

  7. 初学C语言中的浮点数

    文章目录 浮点数 C语言规定: 总结: 浮点数的输出 常用的库函数 应用技巧 科学记数法 浮点数 浮点数也称小数或实数, C语言中采用float 和double关键字来定义小数, float 称为单精 ...

  8. 如何显示计算机语言栏,如何显示语言栏 显示语言栏简单步骤介绍

    随着电脑的不断普及,现在越来越多人家中都用上了电脑,他们利用电脑辅助自己工作,同时也用电脑娱乐沟通.不过在使用电脑的过程中,也难免会难免一些令自己感到头痛的烦恼,就比如在使用电脑的时候语言栏消失不见了 ...

  9. 怎么把服务器信号投到笔记本电脑上,手把手教您,如何将笔记本电脑的信号画面无线投屏到投影机或电视上显示...

    原标题:手把手教您,如何将笔记本电脑的信号画面无线投屏到投影机或电视上显示 您的会议室是否还在面临着如下问题: 过去,您的会议室每次会议都需要花大量的时间提前准备,想要把电脑画面投屏到电视或者投影幕上 ...

最新文章

  1. Blender2.9全流程创建逼真未来科幻蝙蝠汽车视频教程
  2. document.forms用法示例介绍
  3. HighNewTech:横向、纵向动图查看《Why资本寒冬》——根据中国四大行每年(2004年~2018年)贷款主要流向来看当下的资本寒冬
  4. 【CV论文解读】AAAI2021 | 在图卷积网络中超越低频信息
  5. Linux技巧:多核下绑定硬件/进程到不同CPU
  6. Excel使用技巧,补充中。。。
  7. Linux当前终端走代理ip
  8. 基于 HTML5 WebGL 的 3D 机房
  9. 智能优化算法:风驱动优化算法-附代码
  10. Layui layui-soul-able 组件 表格列进行拖拽
  11. dbmsjobs记录表 oracle_【Oracle学习笔记】定时任务(dbms_job)
  12. jpress连接不上mysql_win10+jdk+mysql+tomcat+jpress环境搭建与部署
  13. 桌面运维转网络要做什么准备,高级网工学习路线分享
  14. 这几个垂直类小众导航网站,你绝对不会想错过
  15. Windows提示:您的许可证即将过期
  16. 解读一淘网(etao)首页响应式兼容ie6~ie8实现方法
  17. 如何实现通过扫描二维码下载阿里云文件
  18. 认真总结 HTTP常见面试题(持续更新)
  19. 项目需求的重要性和开发步骤
  20. php布道师,百度智能小程序宣布“布道师”计划 昭原集团加入合作阵营

热门文章

  1. 基于DeepDive实现从股权交易公告获取企业与企业之间存在交易关系的概率--实践篇
  2. jq简单实现五星好评
  3. *.lwp文件如何打开
  4. GPS接收机(一)概述
  5. 团队-中国象棋游戏-设计文档
  6. 5 RRC Measurement -- GAP
  7. MeasurementStudio安装教程
  8. 【计算机图形学】实验报告1用OpenGL画线命令绘制一个多边构成图形或场景
  9. Python入门100例(三)
  10. CTF之代码审计汇总