AVR学习笔记-AVR单片机教程

发布者:RainbowPromise最新更新时间:2013-01-09 来源: 21ic 关键字:AVR  学习笔记  单片机教程 手机看文章 扫描二维码
随时随地手机看文章

AVR学习笔记一、基本输出实验(电路原理图)

本实验包括七个例程:1、点亮LED试验,2、流水灯试验,3、蜂鸣器试验,4、1位数码管显示试验,5、四位数码管显示试验,6、1602液晶显示试验,7、12864液晶显示实验。

AVR学习笔记二、基本输入和外部中断实验

本实验包括二个例程:1、检测按键,实现按键控制LED的亮灭,2、外部中断实验,利用中断检测按键,并在数码管上显示。

AVR学习笔记三、定时记数器0实验

本实验包括五个例程:1、定时/计数器0的计数实验,2、定时/计数器0的定时实验,3、定时/计数器0的比较匹配(CTC)实验,4、定时/计数器0的快速PWM实验,5、定时/计数器0的相位修正PWM实验。

AVR学习笔记四、定时记数器1实验

由于在定时/计数器0的实验中我们已经学会了定时/计数器的定时、计数、PWM等基本功能的使用方法。而单片机中的定时/计数器的基本功能大致上是一样的。主要区别只是在于对不同寄存器的设置。所以在定时/计数器1的实验中我们不再重复这些基本功能。在本实验中主要有两个实例。虽然例子只有两个,但这两个例子却有很大的实用价值,我们可以慢慢体会;这两个例子主要内容是:

1、定时/计数器1的输入捕捉功能:利用定时/计数器的输入捕捉功能实现外部按键的检测,并计算两个按键按下的间隔时间。输入捕捉功能可以用来进行外部信号的周期测量,这是一个很重要的功能。

2、定时/计数器1的两通道比较匹配功能:通过对电路板做一个小小的改动,我们实现了用两通道比较匹配功能驱动电路板上的D10、D11(1红、1绿两种颜色的LED)两个二极管同时实现了渐明渐暗的变化效果。很有意思的一个试验。本实验在电路板上的改动是:讲PD4、PD5两个端口引出两根导线连接到PD0、PD1两个端口上。另外需要注意的是:本实例用的是内部8M晶体,而前面的所有实例使用的都是内部1M晶体。所以需要修改WINAVR(GCC)中的makefile中的晶体的值,而在下载程序的时候,也需要修改相应的熔丝位配置。

AVR学习笔记五、异步串行通信(USART)实验

在本实验中包含三个实例:

1、发送单个字节的实验;

2、将接收到的数据原样发送回去的实验。

3、一个完整的数据收发实验

AVR学习笔记六、模拟比较器和ADC实验

本实验包含两个例子:

1、模拟比较器实验:通过测量PA0口的电压,如果电压高于1.22V,则点亮LED2,如果低于1.22V则点亮LED1.

模拟比较其实一个很有用的功能,它可以用来检测系统电源电压,还可以进行模数转换。

2、模数转换ADC实验:通过测量PA0口的模拟电压值,将测得的电压值通过串口发送到计算机,通过串口助手显示电压值。

AVR学习笔记七、基于DS18B20的温度测量实验

本实验包括3个例子,分别是:

1、利用DS18B20实现简单的温度测量。在这个例子中主要是学习了DS18B20的基本操作时序,DS18B20的基本操作时序是十分严格的,如果不按照规定的时序操作,是读不出来数据的。而弄清了操作时序后,一切都会变得简单。[page]

2、利用寄生电源供电方式对DS18B20进行操作,不但实现了温度的读取,还实现了对DS18B20的RAM区的读写操作。利用寄生电源的优点在于可以不必给DS18B20单独配备电源,从而能够更好的实现远程测温。

3、利用匹配指令实现多点测温。通过发送指定的DS18B20的ROM序列号,实现对连接的多个DS18B20中的一个进行读写。实现基本的多点测温试验。

AVR学习笔记八、基于DS1302的实时时钟

本实验包括1个例子:

1、利用DS1302实现简单的实时时钟。在这个例子中主要是学习了DS1302的基本操作时序,以及DS1302的控制指令

AVR学习笔记九、基于AT24C16的I2C总线实验

本实验包括3个例子,分别是:

1、利用模拟I2C接口的方法实现对AT24C16的读写,并通过LED的亮灭指示读出的数据是否正确。

2、利用AVR的硬件TWI接口,使用查询法实现对AT24C16的读写,并通过LED的亮灭指示读出的数据是否正确。

3、利用AVR的硬件TWI接口,使用中断法实现对AT24C16的读写,同时将读取的数据发送到计算机串口,并通过LED的亮灭指示读出的数据是否正确。

在I2C总线接口的学习中,我对学习板做了一些小小的改动,分别给SDA和SCL加了外接的4.7K上拉电阻,大家看程序的时候请一定注意。

AVR学习笔记十、基于数码管显示的流转灯

本实验利用数码管编写一个简单的程序实现流转灯效果。实例效果是:首先逐段显示字符“0”,然后让字符“0”的所有段流动起来。最后让字符“0”亮灭变化。整个程序循环执行,达到简单模拟广告灯的效果。

AVR学习笔记十一、AVR内部EEPROM的读写实验

实验利用WINAVR自带的EEPROM读写函数实现对AVR单片机内部EEPROM的读写,并通过学习板上的8个LED等显示读取的数据是否正确。同时也进行了掉电后再上电,然后读取EEPROM内容是否正确保存。

需要特别注意的是:在做这个实验的时候,熔丝位需要正确设置,应当选择熔丝位为“执行芯片擦除时保留EEPROM的内容”即EESAVE=0。

AVR学习笔记十二、AVR内部的看门狗操作实验

本实验利用WINAVR自带的看门狗操作函数进行试验,利用LED的亮灭演示看门狗及时复位/没有及时复位的情况。

关键字:AVR  学习笔记  单片机教程 引用地址:AVR学习笔记-AVR单片机教程

上一篇:MSP430单片机Timer_B和Timer_A的异同
下一篇:51及AVR单片机最小系统使用说明

推荐阅读最新更新时间:2024-03-16 13:15

具有浮点单元的32位AVR微控制器系列(Atmel)
爱特梅尔公司(Atmel® Corporation)在德国慕尼黑Electronica 2010展会上宣布推出首个带有浮点单元(floating point unit, FPU)的32位AVR®微控制器(MCU)系列。新推出的AVR UC3 C MCU系列瞄准工业控制应用,具有高处理能力、真正的5V运作、高速通信和先进的安全性与可靠性的独特组合,并且采用一系列小型和微型封装供货。 IEEE 754-1985标准兼容FPU能够提高爱特梅尔AVR UC3 CPU 的计算性能、精度和动态范围。其固有的浮点计算可让设计工程师利用功能齐全的工具套件来设计传感器和控制器应用。此外,先进的数学计算有助于增强马达控制、机器人和音频等广泛应用的信
[单片机]
基于可编程数字电位器的AVR嵌入式单片机剖析
1 引言 AVR嵌入式单片机具有丰富的硬件、软件资源,其中的串行I2C接口能满足很多应用场合的要求,两个AVR单片机通过I2C总线直接连接就可实现单片机相互通信;AVR单片机还可以和任何具有I2C总线接口的外设直接连接而无须其它硬件电路支持。而X9221系列可编程数字电位器在智能测试设备上应用非常广泛,通过I2C总线可以简单地构成单片机与各种外设之间乃至与计算机之间的通信,建立友好的人机界面联系。硬件设计简单、灵活,只需要将所有设备的SDA和SCL信号线分别并联在一起并加上拉电阻即可,有助于提高设备的自动化水平、可靠性、稳定性及电气装配的工艺性。AVR单片机和X9221系列可编程数字电位器都有内置的E2ROM单元,可以非常方便地为
[单片机]
基于可编程数字电位器的<font color='red'>AVR</font>嵌入式<font color='red'>单片机</font>剖析
单片机C语言教程(二)
上一课我们的第一个项目完成了,可能有懂C语言的朋友会说, 这和PC机上的C语言没有多大的区别呀 。 的确没有太大的区别,C语言只是一种程序语言的统称,针对不同的处理器相关的C语言都会有一些细节的 改变。 编写PC机的C程序时,如要对硬件编程你就必须对硬件要有一定的认识,51单片机编程就更是如此,因它 的开发应用是不可与硬件脱节的,所以我们先要来初步认识一下51苾片的结构和引脚功能。MSC51架构的芯片 种类很多,具体特点和功能不尽相同(在以后编写的附录中会加入常用的一些51芯片的资料列表),在此后 的教程中就以Atmel公司的AT89C51和AT89C2051为中心对象来进行学习,两者是AT8
[单片机]
<font color='red'>单片机</font>C语言<font color='red'>教程</font>(二)
51单片机功能模块学习笔记 — 数码管
1. 共阳数码管的基本连接方式 如上图所示,当数码管的公共段连接到电源时,就被称为共阳数码管。那么,相应的共阴数码管就是公共段连接到地的一类数码管。 2.数码管的显示原理 根据数码管的显示原理:可分为共阴数码管和共阳数码管 如上图所示,左图所有的二极管的公共段都被连接到地,如果我们想要在a-dp上有所显示,就应该在对应端口送“1”。同理,如果我们想要使得共阳数码管上显示某些特定的字符,就应该在对应位送“0”。 根据这个原理,我们可以算出0-F对应的共阴数码管和共阳数码管显示的十六进制字符。我们可以将所有字符放在一个数组里面,以便查询。 下列是共阴极数码管和共阳数码管段码的常用码表总结: unsigned char
[单片机]
AVR开发 Arduino方法(二) 中断子系统
在了解中断子系统之前,首先要了解中断的概念。你正在看书,这时电话响了,你会怎么做呢?相信大多数人会这样:先标记看到的位置,接完电话回来后继续阅读。这就是一个现实生活中中断的例子,我们把“电话响了”成为中断源。Arduino UNO R3的主处理器ATMega328P拥有26个中断源,如下表所示: 向量号 程序地址 中断源 中断定义 中断服务程序名称 1 0x0000 RESET 外部电平复位,上电复位,掉电检测复位,看门狗复位 2 0x0002 INT0 外部中断请求0 INT0_vect 3 0x0004 INT1 外部中断请求1 INT1_vect 4 0x0006 P
[单片机]
如何利用AVR单片机实现AT24C256的数据高速稳定的读取
最近刚买回一块AT24C256 EEPROM ,容量为32K Byte ,数据地址宽度为 16Bit ,支持IIC 1M (5V)400K (2.7V) 速度模式 ,利用AVR M16 片内IIC 可以高速稳定地读取数据! 经过调试的,与各位大虾分享分享。 程序如下:(winavr) #include #include #include #include #define FREQ 8 #include #include #include #define uchar unsigned char #define uint unsigned int #define ulong unsigned long //管脚定义 #defin
[单片机]
如何利用<font color='red'>AVR</font><font color='red'>单片机</font>实现AT24C256的数据高速稳定的读取
基于AVR单片机多任务嵌入式Internet系统设计
1 引言 目前,嵌入式系统已经广泛渗透到人们的工作、生活中。从家用电器、信息终端、手持通信设备到仪器仪表、制造工业、过程控制等领域,嵌入式设备已随处可见。另一方面,近几年来Internet技术的飞速发展给嵌入式应用带来了新的契机,在未来嵌入式系统中应用Internet技术具有很大的优势。 目前嵌入式Internet技术的实现主要有下面三种方式 : 第一种方式是EMIT技术,采用支持TCP/IP协议的高性能服务器作为网关(emGateway), 嵌入式设备通过RS-232、RS-485或者CAN总线等与网关服务器连接,间接通过服务器网关连接Internet。经过多年的发展EMIT技术已经在工业设备的网络化中得到了广泛
[单片机]
AVR调试和下载官方平台的建立
1、AVR Studio4 AVR Studio4是ATMEL官方发布的免费AVR下载、调试和仿真工具。里面集成了免费的汇编调试界面。他支持ATMEL公司几乎所有的下载和仿真工具。支持所有ATMEL的AVR系列8位单片机,包括从Tiny、Mega到Xmega系列。 如果您安装了AVR的GCC编译器,也就是winAVR,AVR Studio4会对其进行自动集成,从而成为AVR GCC集成开发环境。 2、ICCAVR ICCAVR是ATMEL官方推荐的第三方C编译器之一。拥有方便好用的代码生成器,以及傻瓜的配置方式(不需要复杂的优化设置),基本不存在因为优化而导致的代码失效问题,因而广受初学者的好评。虽然是商业软件,但其价格也
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved