AVR单片机绘图函数库(Syany).doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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

文档评论(0)

hhuiws1482 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档