- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
目录概述单片机最小系统及编译、下载软件的使用2.1.1单片机最小系统2.1.2编译软件2.2.1下载软件 Progisp的使用熟悉ATmega16的片上资源3.1.1会看芯片数据手册的重要性3.1.2中断3.1.3定时器/计数器的基本结构及工作原理3.1.4 PWM3.2外部中断3.3 USART3.4.1 A/D转换模块3.5 EEPROMATmega16实际应用4.1 外接按键4.2 驱动数码管4.3 液晶显示屏12864的使用4.4 基于DS18B20的温度测量4.5基于PWM的直流电机调速4.6步进电机的使用4.7舵机的使用4.8超声波测距及其应用倒车雷达4.9基于JZ863的无线串口通信4.10单片机与计算机间的通信第二章单片机最小系统及编译、下载软件的使用2.1.1单片机最小系统能让单片机工作的有最基本元器件构成的系统称为单片机最小系统。单片机最小系统通常包括:电源(+5V)复位电路:启动后让单片机从初始状态执行程序振荡电路:单片机是一种时序电路,必须施加脉冲信号才能工作。Mega16内部有RC震荡电路但相比外部的晶体震荡电路还是不够准确,另外它也可以使用外部晶振工作,两者之间的切换通过熔丝位(以后会讲)来选择在其内部有一个时钟产生电路只要接上两个电容和一个晶振即可正常工作。。。。。。。ATmega16 单片机最小系统的硬件电路图如下:如图所示为ATmega16最小系统电路图,图中标有相同代号的引脚表示连接在一起。图中ISP和JTAG为ATmega16的两种下载方式各自的引脚接口,ISP用于在线下载程序比较方便快捷,所用下载软件为progisp ;JTAG是在线仿真接口通过仿真器连接单片机进行程序的下载和仿真,所用软件为AVR Studio ;通常我门使用ISP下载就已经足够了,并且方便快捷很稳定好用,下载器也便宜;JTAG在需要仿真的时候用,它可以看见单片机各个引脚的输出值和输入值等,但JTAG实际定使用中不稳定有时候很容易出错电脑不识别下不进去程序等问题,个人偏好使用ISP.说明:此最小系统电路图中只画出了最简单的应用电路——流水灯,和最基本的能让单片机正常工作的外围电路及下载程序所必须的ISP和JTAG接口,如果你想焊一个电路板出来自己使用,其他的外围电路可以在日后使用当中自己再往上焊。2.1.2编译软件AVR单片机的编译软件有GCC AVR和ICC AVR等,通常使用较多的是ICC AVR,也比较好用,本书以ICC AVR6.31版本为例介绍编译软件的使用。编译步骤如下:新建一个工程启动ICC AVR,界面如图2-1-1所示。然后新建一个项目,选择Project项再选则New菜单项,则打开界面如图2-1-2所示。图2-1-1 ICCAVR主界面图2-1-2注:新安装的软件由于为建立过工程和文件界面与图2-1-1中所示不完全相同为了自己使用方便在保存工程时最好单独新建一个文件夹。接下来”文件名(N):”文本框中输入项目名称,保存为.prj格式。本书中此处保存为ATmega16.然后点击如图2-1-1中的File选项再选择New,界面此时会变为如图2-1-3所示2.新建一个C程序图2-1-3此时编写一个最简单的和前面最小系统版配套的C程序,如图2-1-4所示,程序如下/////////////////////////////////////////////////////////////////// AVR ATmega16 流水灯C程序//// 环境:ICC AVR 6.31 //// 日期:2011/09/14 //////////////////////////////////////////////////////////////////#include iom16v.h//包含单片机型号头文件#include macros.h //包含位操作头文件void delay(void) //自定义延时函数{ unsigned char i,j; for(i=0;i255;i++) for(j=0;j10;j++) ;}void cpu_init(void) //单片机初始化函数{ PORTA = 0x00; //PA口输出值都定义为0 DDRA = 0x00; //PA口输出允许关 PORTB = 0x00; //PB口输出值都定义为0 DDRB = 0x00; //PB口输出允许关 PORTC = 0x00;
文档评论(0)