- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
AVR学习工具细讲解
【高手坐堂】系列之万人学习51单片机!/thread-66169-1-1.html
【高手坐堂】系列之让我们学学AVR!/thread-66668-1-1.html
AVR讲座:
第一讲:AVR软件、工具、m16的基础知识第一步 安装ICCAVR第二步 安装stdio第三步 介绍avr c语言的语法1、一个简单的AVR程序#include iom16v.h #include macros.hvoid main(){ ??PORTA = 0x0F; //给PA口赋值,让PA口低四位为1,高四位为0 while(1)??;}本程序的作用是把PA口的值设为0x0F。 a、程序中以#号开头的语句#include iom16v.h 是包含特定的头文件,叫预处理指令,iom16v表示使用的是mega16,macros.h包含了必须的avr操作命令。b、C语言的程序是由函数构成的,如上面的那个void main(),前面的void表明函数没有返回值。每一个c程序里面里有且只有一个main()函数,系统启动后就从main()开始运行。c、函数内部的内容以大括号“{”和}扩起来,每句语句用分号“;”结束,若分号前面没有内容,编译之后也无任何操作语句。d、C程序中可以加入一些说明文字,单行以双斜扛“//”开始,如果是多行,就用/*开始,以“*/”结束,如 /*注释 */ 。e、函数可以有参数,一律放在小括号内。f、利用C语言可以轻松的对AVR的设备组件进行操作,如程序中的PORTA = 0x0F;g、任何一个AVR C程序都必须是一个无限循环,否则程序会沿着程序存储区一直运行,直至溢出程序存储区,程序从头运行。 2、AVR C语言的基本字符、标识符和关键字avr c语言和普通c语言一样,基本字符有阿拉伯数字0~9;大小写拉丁字母a~z和A~Z;一些选定的可打印字符,如"~!@#¥%^&*()_-+={}[],.;<>/?|\";空格符、换行符和制表符这三种空白符起到分割成分和编排格式的作用。对系统对象命名,称为标识符。标识符由数字、字母、下划线组合的字符串序列构成,字母区分大小写。如下都是合法的表示符:AVR_IO PORTA CSR IT0 temp1注意:不能以数字开头的字符串做标识符。比如 1abc 是不合法的。 C语言的合法标识符有一部分被编译器保留作为特殊用途,这样的标识符称为关键字。C语言的关键字有:(以字母先后为序)auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while注意,原则上除关键字外,可以使用任何有效的标识符。但实际上,根据系统不同,有些特殊标识符具有特殊含义,不应被使用。在AVR里,一些端口的名称、寄存器的名称已经被系统定义,最好不要改变其定义,如PORTA DDRA TIMASK 等。 3、数据类型C语言严格规定数据类型,AVR资源有限,如果数据类型选用不好,资源很快就会耗尽。如,尽量不要使用浮点类型的运算,1.2*1.2的浮点数运算至少要占用mega16的百分之十以上的空间。选择数据类型时需要注意不要操作数据能表示的范围,比如要表示60000,就不能用char,必须用int。整数类型的类型名前可加修饰符unsigned和signed,表示无符号数和有符号数,其中unsigned可以省略,默认表示无符号数,一般来说,尽量使用无符号数可以节约资源。以下三种为整数类型:1、整数类型:一般类型的整型 int,16位二进制编码,表示的数0~65536,及216。有符号类型,signed int 表示范围-32768~32767。2、长整型类型:长整型(long int)类型的二进制编码是32位。有符号的长整型类型(long)表示范围-231~231-1;无符号的类型(unsigned long)的表示范围为0~232-1。3、超长整数类型:超长整数类型(long long)的二进制编码是64位。有符号的长整型类型(long)表示范围-263~263-1;无符号的类型(unsigned long)的表示范围为0~264-1。以下为实数类型(浮点数类型):1、单精度浮点数类型:float,用32位二进制数表示。2、双精度浮点数类型:long double,用64位二进制数表示。字符类型和字符串字符类型的类型名为ch
原创力文档


文档评论(0)