AVR单片机教程——EasyElectronics Library v1.0手册

2019-12-31来源: eefocus关键字:AVR单片机  EasyElectronics  Library  v1  0手册

1. 概述

1.1 背景

EasyElectronics Library v1。0是开发板EasyElectronics配套的库。

EasyElectronics是一款基于AVR单片机的开发板,以板载资源丰富、使用简便为特色。

1.2 库组织结构

库由C语言编写,release中包含若干头文件与一个静态库文件。

在头文件中,ee.h直接或间接地包含了所有其他头文件。

用户手动include ee.h中没有直接include的头文件是不推荐的,但也不会报错。

1.3 版本号

本手册对应的库版本号为1。0。

版本号由两位构成,前一位为主版本号,当库有结构性的变化或不与先前版本兼容时,此位+1;后一位为副版本号,当库中加入少量新内容时,此位+1。

对于修正版本,版本号不变,不另行通知。

 

2. 库函数

1. bit.h

bit。h定义了用于位操作的宏函数,适用于8或16位整数。

set_bit(r, b):将r的第b位置为1。

reset_bit(r, b):将r的第b位置为0。

read_bit(r, b):读取r的第b位,若为1则返回(1 << b),否则返回0。

cond_bit(c, r, b):若c为真,则将r的第b位置为1,否则置为0。

clock(r, b):将r的第b位置为1后立即置为0。

flip(r, b):将r的第b位取反。

BIT_MASK(n, b):返回从第b位开始的高n位全1的二进制数。

2. delay.h

delay.h定义了延时函数。

void delay(uint16_t _time):延时_time毫秒。

 

3. pin.h

pin.h定义了引脚操作的函数。

pin_t:类型别名,可以表示引脚。

PIN_NULL:宏常量,表示空引脚。所有接受pin_t参数的函数如果接受PIN_NULL参数,则不会执行任何动作,返回void或0。

PIN_?:宏常量,?为0~9或A~F,pin_t类型,表示对应引脚。

INPUT:宏常量,表示输入。

OUTPUT:宏常量,表示输出。

void pin_mode(pin_t _pin, bool _mode):_mode应为上述2个宏之一,将_pin引脚设为_mode模式。

LOW:宏常量,输入模式下表示高阻态,输出模式下表示低电平。

HIGH:宏常量,输出模式下表示高电平。

PULLUP:宏常量,输入模式下表示上拉。

void pin_write(pin_t _pin, bool _level):_level应为上述3个宏之一,将_pin引脚设为_level状态。

PIN_BIT(p):宏函数,内部使用。

void pin_write_multi(pin_t _pin, uint8_t _mask, uint8_t _value):内部使用。

void pin_flip(pin_t _pin):将_pin引脚电平翻转。

bool pin_read(pin_t _pin):返回_pin引脚电平是否为高。

4. tone.h

tone.h定义了输出指定频率方波的函数。

TODO

5. pwm.h

pwm。h定义了输出PWM波形的函数。

TODO

6. uart.h

uart.h定义了串口收发的函数。

TODO

7. adc.h

adc.h定义了ADC操作的函数。

TODO

8. led.h

led。h定义了板载LED操作的函数。

LED_COUNT:宏常量,LED的个数。

void led_init():初始化LED。

LED_RED:宏常量,表示红色LED。

LED_YELLOW:宏常量,表示黄色LED。

LED_GREEN:宏常量,表示绿色LED。

LED_BLUE:宏常量,表示蓝色LED。

LED_OFF:宏常量,表示LED不亮。

LED_ON:宏常量,表示LED亮。

void led_set(uint8_t _which, bool _on):_which应为上述表示LED的宏,_on应为上述表示LED状态的宏,将_which设为_on的状态。

void led_flip(uint8_t _which):_which应为上述表示LED的宏,将_which的状态翻转。

void led_on():点亮所有LED。

void led_off():关闭所有LED。

9. rgbw.h

rgbw.h定义了驱动板载RGBW LED的函数。

RGBW_COUNT:宏常量,RGBW LED的颜色数。

RGBW_RED:宏常量,表示红色LED。

RGBW_GREEN:宏常量,表示绿色LED。

RGBW_BLUE:宏常量,表示蓝色LED。

RGBW_WHITE:宏常量,表示白色LED。

rgbw_pin:pin_t类型数组,存储RGBW LED的颜色对应的引脚。

void rgbw_init(pin_t _r, pin_t _g, pin_t _b, pin_t _w):初始化RGBW LED,4个参数分别为红、绿、蓝、白LED的引脚。

void rgbw_set(uint8_t _which, uint8_t _value):_which应为上述表示LED的宏,_value为亮度值。对于4~7号引脚,_value为亮度;对于其他引脚,_value≥128则LED亮。

RGBW_COLOR(r, g, b, w):宏函数,接受4个0~3的数,生成一个表示颜色的数。

void rgbw_color(uint8_t _color):_color应为RGBW_COLOR生成的数,使RGBW LED显示相应的颜色。

void rgbw_off():关闭RGBW LED。

10. segment.h

segment。h定义了驱动板载2位7段数码管的函数。

TODO

11. buzzer.h

buzzer.h定义了驱动板载蜂鸣器的函数。

TODO

12. button.h

button.h定义了读取板载按键状态的函数。

BUTTON_COUNT:宏常量,按键个数。

BUTTON_?:宏常量,?为0~3,表示按键。

void button_init(pin_t _button2, pin_t _button3):_button2与_button3分别为按键2和3连接的引脚,可以为PIN_NULL。初始化按键操作。

bool button_down(uint8_t _index):返回第_index个按键是否被按下。

bool button_pressed(uint8_t _index):对于每个_index值,返回从前一次调用开始对应按键是否被按下。

13. switch.h

switch.h定义了读取板载开关状态的函数。

TODO

14. rotary.h

rotary。h定义了读取板载旋转编码器输入的函数。

TODO

15. pot.h

pot.h定义了读取板载电位器输入的函数。

TODO

16. ldr.h

ldr.h定义了读取板载光敏电阻输入的函数。

TODO

17. dac.h

dac。h定义了驱动板载10位DAC的函数。

TODO

18. exout.h

exout。h定义了驱动板载74HC595扩展输出的函数。

TODO

19. exin.h

exin.h定义了读取板载74HC165扩展输入的函数。

TODO

20. lcd.h

lcd.h定义了驱动连接到板载接口上的1602 LCD模块的函数。

TODO


关键字:AVR单片机  EasyElectronics  Library  v1  0手册 编辑:什么鱼 引用地址:http://news.nvwayi.com/mcu/ic484239.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:avr单片机熔丝位设置方法及步骤及设置注意事项
下一篇:AVR单片机教程——串口发送

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

基于AVR单片机和无线传感网络为基础的3D环境监测系统设计
1.概述1.1文档说明本设计文档作为“基于AVR32及Labview的3D环境监测及评估系统”的计划书,为项目开展的依据。也作为项目的说明。1.2项目背景本项目希望以AVR微控制器作为基础,配合Atmel公司所公开Zigbee协议栈,对现有的绿地进行全方位的数据采集工作,摒弃原先陈旧且缺乏合理性的绿化覆盖面积标准,而是采用3维立体坐标的方式,测量出每一小块区域各环境参数值的具体数值,绘出3D图像,以立体的环境改善状况作为分析绿地使用价值的有效指标,并通过测试所得的数据,指导根据不同区域的环境特征建立最为合适并具积极效果的绿化设施。本项目也将能够实现对于各项复杂的环境数据的统一数据采集工作,例如对温湿度、可吸入颗粒物、臭氧含量等指标
发表于 2020-01-20
基于AVR单片机和无线传感网络为基础的3D环境监测系统设计
基于AVR单片机的轮胎内径测量系统设计
上,运用步进电机控制横梁的运动,分别对模具不同层面的内径进行测量。系统采用AVR单片机实现控制步进电机和光栅尺数据读取,通过接收上位机的控制命令,AVR单片机控制步进电机运动,数显表数据和激光控制器位移数据自动经串口发送给上位机,从而完成对模具内径的自动测量。1 系统组成基于AVR的轮胎内径测量系统主要由AVR单片机、上位机、光栅尺、数显表、激光测距仪、驱动器、步进电机、电子手轮、行程开关等组成。其功能框图如图1所示。单片机选用的是爱特梅尔公司的ATmega16;上位机采用研华公司生产的ARK3360L工控机,它拥有多个RS232接口;激光测距仪采用的是日本基恩士公司的LK-G85激光测距传感器和LK-G3001V激光测距控制器
发表于 2020-01-20
基于AVR单片机的轮胎内径测量系统设计
基于AVR单片机的智能化防盗保护系统设计
,因此需要较复杂的控制逻辑,本文采用CPLD器件EPM7128来解决这一问题,通过软件编程简化硬件设计。处理器及外围控制电路处理器部分是系统的核心,它具有控制和处理两个功能。外围控制接口电路包括讯响部分、空调控制显示部分和串口电路。电源电路设计以尽量减小功耗为目的,整个系统采用了两种供电电源:3.3V 和 5V。3.3V稳压模块采用的是CZ1585CT,5V稳压模块采用的是MC7805T。由于现在稳压电源集成度比较高,电路组成也比较简单,在此就不给出原理图了。软件程序的设计由于整个系统有 单片机 的控制与数据处理,也有PC机的图形处理,还有接口逻辑设计,因此软件调试既包括AVR单片机程序调试,也包括PC机程序的调试,还有硬件逻辑的描述
发表于 2020-01-20
基于AVR单片机的智能化防盗保护系统设计
AVR单片机内部的复位功能解析
AVR单片机的复位:看门狗复位、上电复位、掉电复位看到大家对复位特别是AVR单片机内部的复位功能还不太清楚,现在这里简单说一下,希望在家能有个总体的认识。AVR单片机复位大概有:上电复位、掉电复位、看门狗超时复位、外部复位,这么四种。上电复位:就是在一通电的时候对单片机进行复位,这和我们外接RC复位电路的作用是一样的,AVR单片机内部带有上电复位功能。掉电复位:就是在单片机运行过程中电压突然跌落,这个时候单片机会出现很多不确定的现象,所以在这个时候需要将单片机复位,让它处于一个确定的状态。这就是BOD功能,一个非常实用的功能,AVR单片机带有这个功能。看门狗复位:这是我们常说的看门狗了,就是当程序进入某个地方长时间没有响应
发表于 2020-01-20
AVR单片机内部的复位功能解析
AVR单片机控制继电器吸合与断开的仿真设计
继电器(Relay),作用是用弱电控制强电。比如,我们用avr单片控制一个220V电压的灯泡,这就必须用到继电器。本课用avr单片机来控制继电器的吸合与断开。Proteus仿真实验器件:1 atmega128一块2 button,按键一个3 relay,通用继电器一个,并把继电器的Component Value设置为5V4 pnp三极管一个5 LAMP,灯泡一个改为220V6 resistor 1k7 DIODE 二极管一个这个程序实际上很简单,主要要学习继电器的用法,注意的是,继电器必须接一个二极管。仿真程序如下:#include#include#define int8u unsigned
发表于 2020-01-19
AVR单片机控制继电器吸合与断开的仿真设计
AVR单片机在工业控制系统中的应用
远离仪表机壳,实测结果电容效应几乎为零。从而乱码和花屏现象不再出现。2.6外部看门狗与外部时钟看门狗也称程序监视定时器。尽管 AVR单片机系统内也有该功能的设置,但在应用实践中发现当干扰严重时该功能会失效,即系统死机后单片机内部的看门狗也无法复位。故有必要在单片机外部单独设计看门狗电路。如图 5所示,由 MC4060芯片及外围电路构成一个看门狗电路。MC4060是一个带外接振荡的 14分频定时计数器,R18和 C2时间常数决定振荡频率。采用如图 5所示的参数时,该振荡频率经过 2秒左右时间后 14分频计数器将被记满,Q14由低电平变高电平经三极管 Q3构成的反相器使输出变为低电平,M16单片机被复位。程序正常运行时,会在
发表于 2020-01-19
AVR单片机在工业控制系统中的应用
小广播
何立民专栏 单片机及嵌入式宝典

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

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 nvwayi.com, Inc. All rights reserved
手机彩票送彩金 2019百家乐18元送彩金 澳客彩票 送彩金信誉娱乐平台 送彩金扎金花 澳客彩票 手机彩票送彩金 送彩金的娱乐场 白菜送彩金38网站大全 送彩金的博彩公司