#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/mman.h>
#include "lcd.h"
#include "zimo.h"
void display_hanzi(int x0,int y0,char zimo[],int w,int h)
{
int dian; //点的编号 0 -- w*h-1
int color;
for(dian=0;dian<w*h;dian++)
{
//要知道这个bit为属于哪8个点
int xb=dian/8;
//要知道这个bit 属于这8个点的第几bit位
int bit=7-dian%8;
if(zimo[xb]&(1<<bit))
{
//此bit为1
color=0x000000;
}
else
{
//此bit为0
color=0xffffff;
}
int x,y; //点的坐标
x=x0+dian%w;
y=y0+dian/w;
lcd_draw_point(x,y,color);
}
}
void display_dian(int x0,int y0)
{
/*-- 文字: . --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
unsigned char dian[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x0C,0x00,0x00,0x00,0x00,0x00};
display_hanzi(x0,y0,dian,8,16);
}
void display_shuzi(int x0,int y0,int a)
{
char n0[] = {0x00,0x00,0x00,0x18,0x24,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x24,0x18,0x00,0x00};
char n1[] = {0x00,0x00,0x00,0x08,0x38,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x3E,0x00,0x00};
char n2[] = {0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x02,0x04,0x08,0x10,0x20,0x42,0x7E,0x00,0x00};
char n3[] = {0x00,0x00,0x00,0x3C,0x42,0x42,0x02,0x04,0x18,0x04,0x02,0x42,0x42,0x3C,0x00,0x00};
char n4[] = {0x00,0x00,0x00,0x04,0x0C,0x0C,0x14,0x24,0x24,0x44,0x7F,0x04,0x04,0x1F,0x00,0x00};
char n5[] = {0x00,0x00,0x00,0x7E,0x40,0x40,0x40,0x78,0x44,0x02,0x02,0x42,0x44,0x38,0x00,0x00};
char n6[] = {0x00,0x00,0x00,0x18,0x24,0x40,0x40,0x5C,0x62,0x42,0x42,0x42,0x22,0x1C,0x00,0x00};
char n7[] = {0x00,0x00,0x00,0x7E,0x42,0x04,0x04,0x08,0x08,0x10,0x10,0x10,0x10,0x10,0x00,0x00};
char n8[] = {0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x24,0x18,0x24,0x42,0x42,0x42,0x3C,0x00,0x00};
char n9[] = {0x00,0x00,0x00,0x38,0x44,0x42,0x42,0x42,0x46,0x3A,0x02,0x02,0x24,0x18,0x00,0x00};
switch (a)
{
case 0:
{
display_hanzi( x0, y0, n0,8,16);
break;
}
case 1:
{
display_hanzi( x0, y0, n1,8,16);
break;
}
case 2:
{
display_hanzi( x0, y0, n2,8,16);
break;
}
case 3:
{
display_hanzi( x0, y0, n3,8,16);
break;
}
case 4:
{
display_hanzi( x0, y0, n4,8,16);
break;
}
case 5:
{
display_hanzi( x0, y0, n5,8,16);
break;
}
case 6:
{
display_hanzi( x0, y0, n6,8,16);
break;
}
case 7:
{
display_hanzi( x0, y0, n7,8,16);
break;
}
case 8:
{
display_hanzi( x0, y0, n8,8,16);
break;
}
case 9:
{
display_hanzi( x0, y0, n9,8,16);
break;
}
}
}
//显示4位的数据 中间有小数点
void display_data4(int x0,int y0,int num)
{
display_shuzi(x0,y0,num/1000);
display_shuzi(x0+8,y0,(num%1000)/100);
display_dian(x0+16,y0);
display_shuzi(x0+24,y0,(num%100)/10);
display_shuzi(x0+32,y0,num%10);
}
//显示6位的数据 中间有小数点
void display_data6(int x0,int y0,int num)
{
display_shuzi(x0,y0,num/100000);
display_shuzi(x0+8,y0,(num%100000)/10000);
display_shuzi(x0+16,y0,(num%100000)%10000/1000);
display_dian(x0+24,y0);
display_shuzi(x0+32,y0,(num%1000)/100);
display_shuzi(x0+40,y0,(num%100)/10);
display_shuzi(x0+48,y0,num%10);
}
/*-- 文字: 智 --*/
/*-- 宋体26; 此字体下对应的点阵为:宽x高=35x35 --*/
/*-- 宽度不是8的倍数,现调整为:宽度x高度=40x35 --*/
char zhi[40*35/8]={0x00,0x00,0x00,0x00,0x00,0x01,0xC0,0x00,0x00,0x00,0x01,0xE0,0x00,0x00,0x00,0x03,
0xC0,0x80,0x00,0x00,0x03,0x81,0xCE,0x06,0x00,0x03,0xFF,0xEF,0xFF,0x00,0x07,0x3C,
0x0E,0x0F,0x00,0x07,0x3C,0x0E,0x0F,0x00,0x0E,0x3C,0x0E,0x0F,0x00,0x1C,0x38,0x4E,
0x0F,0x00,0x00,0x38,0xEE,0x0F,0x00,0x3F,0xFF,0xFE,0x0F,0x00,0x18,0x38,0x0E,0x0F,
0x00,0x00,0x7C,0x0E,0x0F,0x00,0x00,0x7F,0x0F,0xFF,0x00,0x00,0xF7,0xCE,0x0F,0x00,
0x00,0xE3,0xEE,0x0E,0x00,0x01,0xC1,0xEC,0x0C,0x00,0x03,0xF0,0xE0,0x70,0x00,0x0F,
0x7F,0xFF,0xF8,0x00,0x3C,0x70,0x00,0xF0,0x00,0x30,0x70,0x00,0xF0,0x00,0x00,0x70,
0x00,0xF0,0x00,0x00,0x70,0x00,0xF0,0x00,0x00,0x70,0x00,0xF0,0x00,0x00,0x7F,0xFF,
0xF0,0x00,0x00,0x70,0x00,0xF0,0x00,0x00,0x70,0x00,0xF0,0x00,0x00,0x70,0x00,0xF0,
0x00,0x00,0x70,0x00,0xF0,0x00,0x00,0x7F,0xFF,0xF0,0x00,0x00,0x70,0x00,0xF0,0x00,
0x00,0x70,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
/*-- 文字: 能 --*/
/*-- 宋体26; 此字体下对应的点阵为:宽x高=35x35 --*/
/*-- 宽度不是8的倍数,现调整为:宽度x高度=40x35 --*/
char zhi0[40*35/8]={0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0xF0,0x1E,0x00,0x00,0x00,
0xF0,0x1F,0x00,0x00,0x01,0xE0,0x1E,0x18,0x00,0x03,0xCE,0x1E,0x3C,0x00,0x03,0x87,
0x1E,0x7E,0x00,0x07,0x03,0x9F,0xF0,0x00,0x1E,0x03,0xDF,0xC2,0x00,0x3F,0xFF,0xFE,
0x03,0x00,0x1F,0xF9,0xFE,0x03,0x00,0x1C,0x00,0xDE,0x03,0x00,0x00,0x00,0x1E,0x07,
0x80,0x0C,0x07,0x0F,0xFF,0x80,0x0F,0xFF,0x8F,0xFF,0x80,0x0E,0x07,0x80,0x00,0x00,
0x0E,0x07,0x00,0x00,0x00,0x0E,0x07,0x1C,0x00,0x00,0x0F,0xFF,0x1E,0x1C,0x00,0x0E,
0x07,0x1C,0x1E,0x00,0x0E,0x07,0x1C,0x7E,0x00,0x0E,0x07,0x1C,0xF8,0x00,0x0E,0x07,
0x1D,0xE0,0x00,0x0F,0xFF,0x1F,0x80,0x00,0x0E,0x07,0x1E,0x00,0x00,0x0E,0x07,0x1C,
0x03,0x00,0x0E,0x07,0x1C,0x03,0x00,0x0E,0x07,0x1C,0x03,0x00,0x0E,0x07,0x1C,0x03,
0x80,0x0E,0x07,0x1E,0x03,0x80,0x0E,0x7F,0x1F,0xFF,0xC0,0x0E,0x1F,0x0F,0xFF,0x80,
0x0E,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
/*-- 文字: 家 --*/
/*-- 宋体26; 此字体下对应的点阵为:宽x高=35x35 --*/
/*-- 宽度不是8的倍数,现调整为:宽度x高度=40x35 --*/
char zhi1[40*35/8]={0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x00,0x00,0x00,0x01,0xE0,0x00,0x00,0x00,
0x00,0xF0,0x00,0x00,0x06,0x00,0xF0,0x00,0x00,0x06,0x00,0x60,0x07,0x00,0x07,0xFF,
0xFF,0xFF,0x80,0x0E,0x00,0x00,0x0F,0x80,0x1E,0x00,0x00,0xCE,0x00,0x3E,0x00,0x01,
0xFC,0x00,0x1F,0xFF,0xFF,0xF0,0x00,0x00,0x83,0xC0,0x00,0x00,0x00,0x07,0x80,0x20,
0x00,0x00,0x0F,0x80,0x70,0x00,0x00,0x3F,0xC0,0xF8,0x00,0x00,0x79,0xE3,0xF0,0x00,
0x01,0xE1,0xE7,0x80,0x00,0x07,0x83,0xFF,0x00,0x00,0x1E,0x07,0xFB,0x00,0x00,0x30,
0x1F,0x3B,0x00,0x00,0x00,0x3C,0x7B,0x80,0x00,0x00,0xF8,0xFD,0x80,0x00,0x01,0xE1,
0xFD,0xC0,0x00,0x07,0x83,0xFC,0xE0,0x00,0x3E,0x07,0x9C,0xF0,0x00,0x10,0x1F,0x1C,
0x7C,0x00,0x00,0x3C,0x1C,0x3F,0x00,0x00,0xF8,0x3C,0x1F,0xC0,0x03,0xE0,0x3C,0x0F,
0x00,0x0F,0x8F,0x7C,0x00,0x00,0x7C,0x07,0xF8,0x00,0x00,0x60,0x01,0xF0,0x00,0x00,
0x00,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
/*-- 文字: 居 --*/
/*-- 宋体26; 此字体下对应的点阵为:宽x高=35x35 --*/
/*-- 宽度不是8的倍数,现调整为:宽度x高度=40x35 --*/
char zhi2[40*35/8]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x1C,0x00,0x03,
0xFF,0xFF,0xFE,0x00,0x03,0x80,0x00,0x1C,0x00,0x03,0x80,0x00,0x1C,0x00,0x03,0x80,
0x00,0x1C,0x00,0x03,0x80,0x00,0x1C,0x00,0x03,0xFF,0xFF,0xFC,0x00,0x03,0x80,0x30,
0x1C,0x00,0x03,0x80,0x3C,0x18,0x00,0x03,0x80,0x3C,0x00,0x00,0x03,0x80,0x38,0x00,
0x00,0x03,0x80,0x38,0x03,0x00,0x03,0x80,0x38,0x0F,0x00,0x03,0xFF,0xFF,0xFF,0x80,
0x03,0xE0,0x38,0x00,0x00,0x03,0x80,0x38,0x00,0x00,0x03,0x80,0x38,0x00,0x00,0x07,
0x80,0x38,0x00,0x00,0x07,0x80,0x38,0x30,0x00,0x07,0x38,0x38,0x38,0x00,0x07,0x3F,
0xFF,0xFC,0x00,0x07,0x3C,0x00,0x78,0x00,0x07,0x3C,0x00,0x78,0x00,0x0E,0x3C,0x00,
0x78,0x00,0x0E,0x3C,0x00,0x78,0x00,0x0C,0x3C,0x00,0x78,0x00,0x1C,0x3C,0x00,0x78,
0x00,0x18,0x3F,0xFF,0xF8,0x00,0x38,0x3C,0x00,0x78,0x00,0x70,0x3C,0x00,0x70,0x00,
0x60,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
/*-- 文字: 系 --*/
/*-- 宋体26; 此字体下对应的点阵为:宽x高=35x35 --*/
/*-- 宽度不是8的倍数,现调整为:宽度x高度=40x35 --*/
char zhi3[40*35/8]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0x07,0xFC,0x00,0x00,
0x01,
没有合适的资源?快使用搜索试试~ 我知道了~
GEC6818开发板实现开关灯、播放音乐和显示温湿度,光照强度、烟雾(传感器是GY-39)
共25个文件
c:7个
h:6个
bmp:5个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 5 下载量 84 浏览量
2023-06-17
21:54:43
上传
评论 6
收藏 5.73MB ZIP 举报
温馨提示
使用GEC6818开发板,在开发板上显示温湿度,光照强度和烟雾值;还设计了音乐播放功能,可以触屏控制播放、暂停、上一首、下一首;可以触屏控制小灯开关(需要驱动);程序用C语言编写;使用交叉编译,编译环境是Linux;将我的main和图片歌曲导入开发板即可使用;
资源推荐
资源详情
资源评论
收起资源包目录
GEC6818开发板实现开关灯、播放音乐和显示温湿度,光照强度、烟雾(传感器是GY-39).zip (25个子文件)
GEC6818开发板实现开关灯、播放音乐和显示温湿度,光照强度、烟雾(传感器是GY-39)
lcd.h 138B
.vscode
settings.json 62B
lcd.c 593B
pwm.ko 103KB
cgq.c 3KB
ts.c 857B
bmp.h 108B
zimo.c 10KB
3.bmp 117KB
4.bmp 117KB
drv.h 112B
cgq.h 233B
zimo.h 297B
5.bmp 29KB
led_drv.ko 76KB
3.mp3 662KB
2.mp3 703KB
1.bmp 1.1MB
main 21KB
1.mp3 4.23MB
main.c 3KB
ts.h 75B
drv.c 514B
2.bmp 29KB
bmp.c 2KB
共 25 条
- 1
资源评论
- TYtrack5342024-04-29发现一个超赞的资源,赶紧学习起来,大家一起进步,支持!
- uu200212212024-03-21感谢资源主的分享,很值得参考学习,资源价值较高,支持!
- m0_744226362024-03-27非常有用的资源,可以直接使用,对我很有用,果断支持!
- m0_620626382023-12-27资源内容详细,总结地很全面,与描述的内容一致,对我启发很大,学习了。
- 明镜翼2023-07-31资源不错,内容挺好的,有一定的使用价值,值得借鉴,感谢分享。
小风飞子
- 粉丝: 322
- 资源: 1500
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功