这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 怎么把图片转换为用于LCD12864显示的hex文件?

共7条 1/1 1 跳转至

怎么把图片转换为用于LCD12864显示的hex文件?

助工
2013-01-05 17:39:18     打赏
求高人指点。



关键词: 怎么     图片     转换     用于     LCD12864     显示         

高工
2013-01-05 17:55:55     打赏
2楼
看anmko的进程贴。里边有

高工
2013-01-05 18:23:57     打赏
3楼
我给你一个软件:
单片机图片取模工具+注册码Image2Lcd+V3.2.rar,很好用的~!

高工
2013-01-05 20:09:13     打赏
4楼
去下载个专门的转换软件,这一块的资源还是很丰富的哦

助工
2013-01-06 15:33:13     打赏
5楼
这个软件不能转换成hex文件的

助工
2013-01-06 15:43:29     打赏
6楼
Hex文件是可以烧写到单片机中,被单片机执行的一种文件格式,生成Hex文件的方式由很多种,可以通过不同的编译器将C程序或者汇编程序编译生成hex。 
  Hex文件如果用特殊的程序来查看(一般记事本就可以实现)。打开后可发现,整个文件以行为单位,每行以冒号开头,内容全部为16进制码(以ASCII码形式显示)。Hex文件可以按照如下的方式进行拆分来分析其中的内容: 
  例如: 
  :020000040000FA , 我把它看做 0x02 0x00 0x00 0x04 0x00 0x00 0xFA 
  第一个 0x02 为数据长度。 
  紧跟着后面的0x00 0x00 为地址。 
  再后面的0x04为数据类型,类型共分以下几类: 
  '00' Data Record//数据记录 
  '01' End of File Record//文件结束记录 
  '02' Extended Segment Address Record//扩展段地址记录 
  '03' Start Segment Address Record//开始段地址记录 
  '04' Extended Linear Address Record//扩展线性地址记录 
  '05' Start Linear Address Record//开始线性地址记录 
  然后,接着0x04后面的两个 0x00 0x00就是数据。最后一个0xFA是校验码。 
  HEX文件的每一行都是这样的格式: 
  
<0x3a>
[数据长度1Byte]
[数据地址2Byte]
[数据类型1Byte]
[数据nByte]
[校验1Byte]
<0x0d>
<0x0a>

  在例如: 
  :1000000018F09FE518F09FE518F09FE518F09FE5C0 
  按照上面的数据行格式分析如下: 
  
<0x3a>  
[数据长度1Byte] 10(十六进制)
[数据地址2Byte] 00 00
[数据类型1Byte] 00
[数据nByte] 18F09FE518F09FE518F09FE518F09FE5
[校验1Byte] C0
<0x0d>  
<0x0a>  

  每行中的数据并不是一定有的,第二个字节数据长度为0,那么这行就没有数据。 
  由于每行标识数据地址的只有2Byte,所以最大只能到64K,为了可以保存高地址的数据,就有了Extended Linear Address Record。如果这行的数据类型是0x04,那么,这行的数据就是随后数据的基地址。例如: 
  :020000040004F6 
  :1000000018F09FE518F09FE518F09FE518F09FE5C0 
  :1000100018F09FE5805F20B9F0FF1FE518F09FE51D 
  第一行,是Extended Linear Address Record,里面的数据,也就是基地址是0x0004,第二行是Data Record,里面的地址值是0x0000。那么数据18F09FE518F09FE518F09FE518F09FE5要写入FLASH中的地址为 (0x0004 << 16) | 0x0000,也就是写入FLASH的0x40000这个地址。同样,第三行的数据的写入地址为0x40010。当一个HEX文件的数据超过64k的时候,文件中就会出现多个Extended Linear Address Record。 
  End of File Record 行是每一个HEX文件的最后一行。例如: 
  :00000001FF 
  这样的一行数据内容是固定的,数据长度为0,地址为0。 
  校验值:每一行的最后一个值为此行数据的校验和。例如: 
  :1000000018F09FE518F09FE518F09FE518F09FE5C0 这行中的 0xC0 
  :1000100018F09FE5805F20B9F0FF1FE518F09FE51D 这行中的 0x1D 
  校验和的算法为:计算从0x3A 以后(不包括0x3A)的所有各字节的和模256的余数的补码即是校验字节。

高工
2013-01-06 20:50:55     打赏
7楼
可以自己去网上搜

共7条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]