- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Syany绘图库
使用方法
方法1:作为系统库使用
要使用绘图库要按照上述说明正确包含本书提供的库文件.
将libgraph.h 复制到Winavr目录的\avr\include目录
libgraph.a复制到Winavr目录的\avr\lib\ 目录
在文件头部包含graph.h
#include graph.h
使用AVRX系统的makefile的修改 修改两处
在makefile增加一句加 亮显示为库文件所在的目录
# Define directories, if needed.
DIRAVR = f:/Soft/Mcu/winavr 设置WINAVR的安装目录
DIRAVRBIN = $(DIRAVR)/bin
DIRAVRUTILS = $(DIRAVR)/utils/bin
DIRINC = .
DIRLIB = $(DIRAVR)/avr/lib
GRAPHLIB = $(DIRAVR)/avr/lib/graph.a 增加一句加亮显示为库文件所在的目录
# Define programs and commands.
SHELL = sh
加亮为增加的部分
%.elf: $(OBJ)
@echo
@echo $(MSG_LINKING) $@
$(CC) $(ALL_CFLAGS) $(OBJ) $(GCCLIB) $(GRAPHLIB) --output $@ $(LDFLAGS)
修改完就可以和AVRX编译在一起生成可执行文件了。
正常C程序编译Makefile的修改
方法2:
把将graph.h 和graph.a复制到您所开发文件所在的目录 ,修改的唯一不同之处是
GRAPHLIB =graph.a 此处就不需要给出文件的位置了。
其余的修改和上面相同。
修改完就可以和AVRX编译在一起生成可执行文件了。
不使用AVRX系统的使用方法
把将graph.h 和graph.a复制到您所开发文件所在的目录
在主文件头部包含
#include“graph.h”
用Mfile生成您系统所需的Makefile,然后增加下面所示的内容。
GRAPHLIB = graph.a 增加的内容
#---------------- Linker Options ----------------
# -Wl,...: tell GCC to pass this to linker.
# -Map: create map file
# --cref: add cross reference to map file
LDFLAGS = -Wl,-Map=$(TARGET).map,--cref
LDFLAGS += $(EXTMEMOPTS)
LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(GRAPHLIB) $(MATH_LIB)
编译即可。
绘图库说明
Syany 绘图库 是作者在大学时的业余之作,用于AVRAtmega64以上的单片机的用于对单色液晶屏使用的绘图库,提供了常用的绘图函数,绘图库具有代码量小,执行速度快。
绘图库使用C语言开发,绘图函数不涉及到任何液晶屏硬件的信息,本绘图库适用于任何单色图形点阵的液晶屏的绘图操作。绘图库使用图形缓冲技术,绘图操作全部在内存中执行,然后用户需要编写相应的液晶屏驱动程序,将绘图缓冲的内容写入到液晶屏,即可完成对液晶屏的绘图的操作。这样做的好处时绘图库不受液晶屏型号和指令的限制,只要液晶屏能和AVR单片机接口,就可以使用本绘图库进行复杂的图形显示。这样设计唯一的缺点是占用了宝贵的内存空间。但是现在的AVR单片机内存都比较大,完全可以胜任较大内存的一些需求。有了绘图库的支持,任何设计计中使用单色液晶屏的绘图操作的实现提供了强大的后台支持,也大大的缩短了复杂界面的开发时间。
绘图库缓冲大小的计算,本绘图库针对单色图形点阵液晶屏而设计,因此液晶屏上的每一点只有两种状态:点亮和熄灭。用二进制亮用1表示,灭用0表示,这样液晶屏上的一个点(像素)对应图形缓冲中的一个位。每8个位组成一个字节。液晶屏显示区域的总像素为液晶屏横向的点数与液晶屏纵向的点数的乘积,需要缓冲的总字节数为总像素除以8。
缓冲区的定义为一个二维数组,定义为SBuffer [液晶屏的横向点数÷8][液晶屏纵向的行数]。绘图库的原点(0,0)坐标为SBuffer [0字节的最高位][0],按顺序写入液晶屏后0相当于液晶屏的左上角。缓冲的示意图如下
N=液晶屏横向点数÷8;M=液晶屏纵向的行数.
缓冲区大小的定义如下
#define BufferXSize 128L
#define
您可能关注的文档
最近下载
- 园长研修总结(3篇).docx VIP
- 东证期货-商品基本面量化框架系列-二-:黄金择时因子及多周期合成.pdf VIP
- 2024年9月8日贵州省黔西南州州直遴选(事业单位考聘)笔试真题及答案解析.doc VIP
- 安徽省综合评标评审专家入库、续聘考试试题(含答案).docx VIP
- 第2章金属材料组织-4-清华大学-工程材料.ppt VIP
- 第2章金属材料组织-3-清华大学-工程材料.ppt VIP
- 2025政治理论时政热点知识试题库(含+答案).docx VIP
- 2025人民防空防护设备产品选型目录.docx VIP
- 第2章金属材料组织-1-清华大学-工程材料.ppt VIP
- Unit 4 Plants around us课件(63张PPT)三年级上册(2024版).pptx VIP
文档评论(0)