- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
AVR单片机绘图函数库(Syany)
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 BufferYSize 64L
Buffer
您可能关注的文档
- ABB PH REDOX分析仪AX400系列.pdf
- AB-8大孔树脂对葡萄籽原花青素的吸附过程.pdf
- ABC存货管理法之应用分析.pdf
- AB触摸屏PV600系列订货号.doc
- ACEL ZnS:Cu发光体内的Cu^+迁移与发光的老化.pdf
- A75MA-G55主板实用指南.doc
- ACM必做50题的解题-二分图.docx
- ACM-ICPC知识体系.ppt
- Acess vba函数.pdf
- AD DXP输出Bom清单步骤.doc
- 人力资源管理实务 活页式 课件 工作领域二 人力资源规划.pptx
- 《网页设计与制作(活页式)》 教案 项目8 婚庆网站首页.docx
- 工作领域一 人力资源管理导论.pptx
- 新视野大学英语(第四版)读写教程3(思政智慧版)课件 B3U5 China’s space dream Section B.pptx
- 乳品工艺学 课件 第6章(3)乳酸菌饮料的生产.pptx
- 乳品工艺学 课件 第5章 (1-2)巴氏杀菌乳+ESL乳.pptx
- 会计信息系统应用 教案 项目6 UFO 报表管理系统.docx
- 卓越研究生英语(理工篇)综合教程1 课件 B1U6 Feeding the future.pptx
- 《网页设计与制作(活页式)》 教案 项目2HTML5简介.docx
- 乳品工艺学 课件 第9章(4)冰淇淋的质量标准及控制.pptx
文档评论(0)