幸运时时彩平台

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.sonata9.com/mcu/ic484239.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

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

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

推荐阅读

巧用avr单片机设计轮胎内径测量系统
。将光栅尺读头与激光测距仪固定在机械横梁上,运用步进电机控制横梁的运动,分别对模具不同层面的内径进行测量。    系统采用AVR单片机实现控制步进电机和光栅尺数据读取,通过接收上位机的控制命令,AVR单片机控制步进电机运动,数显表数据和激光控制器位移数据自动经串口发送给上位机,从而完成对模具内径的自动测量。    1 系统组成    基于AVR的轮胎内径测量系统主要由AVR单片机、上位机、光栅尺、数显表、激光测距仪、驱动器、步进电机、电子手轮、行程开关等组成。其功能框图如图1所示。    单片机选用的是爱特梅尔公司的ATmega16;上位机采用研华公司
发表于 2020-01-09
巧用avr单片机设计轮胎内径测量系统
AVR单片机汇编器的部分伪指令详解
伪指令不属于单片机的指令系统,而是由汇编器提供的指令,用于调整存储器中程序的位置、定义宏、初始化存储器等。AVR单片机的汇编器共提供18条伪指令(见附表)。其中,ORG、DB、DW、EQU读者比较熟悉,这里不再赘述。下面对部分伪指令加以说明。BYTE-保存单字节数据到SRAM中。BYTE伪指令仅用在数据存储器。为提供数据保存的位置,在BYTE前应有标号。在由CSEG、ESEG定义的代码段和E2PROM段中不能使用BYTE伪指令。格式LABEL:.BYTE表达式CSEG-定义程序存储器代码段的起始位置一个汇编文件可以包括若干个代码段,汇编时这些代码段被连成一个代码段。在代码段中不能使用BYTE伪指令。格式.CSEGDSEG-定义
发表于 2020-01-09
AVR单片机汇编器的部分伪指令详解
AVR单片机8位数码管显示的程序实现(两种方法介绍)
本文为大家介绍两个AVR单片机8位数码管显示的程序实现。AVR单片机595驱动8位数码管的显示的电路实现主程序代码#include >#include //GCC中的延时函数头文件#include “hc595.h”//unsigned char Led_Disbuf[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; //共阴极unsigned char Led_Disbuf[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; //共阳极unsigned char ComBuf
发表于 2020-01-09
AVR单片机8位数码管显示的程序实现(两种方法介绍)
为什么要选择AVR单片机?
什么是AVR单片机?AVR单片机有什么优点?为什么要选择AVR单片机?AVR单片机是ATMEL公司研制开发的一种新型单片机,它与51单片机、PIC单片机相比具有一系列的优点:1:在相同的系统时钟下AVR运行速度最快;2: 芯片内部的Flsah、EEPROM、SRAM容量较大;3:所有型号的Flash、EEPROM都可以反复烧写、全部支持在线编程烧写(ISP);4:多种频率的内部RC振荡器、上电自动复位、看门狗、启动延时等功能,零外围电路也可以工作;5:每个IO口都可以以推换驱动的方式输出高、低电平,驱动能力强;6:内部资源丰富,一般都集成AD、DA模数器;PWM;SPI、USART、TWI、I2C通信口;丰富的中断源等。目前支持
发表于 2020-01-09
如何让你的AVR单片机功耗超低
了俩小时,发现咋掉电休眠模式后电流还是800多uA,记得以前只有1uA左右的,咋回事?因为经过时间比较长了,重新看了有关休眠的PDF文档资料,完了,自说自话的加了句关闭全部外设的命令,就是功耗抑制寄存器PRR全部置位,发现电流还是大,第二天早上,偶调试了下,电流还是大,后来想想会不会这种垃圾杂牌铝电解漏电流太大,结果拆掉,休眠时的总功耗就3uA,其实,掉电休眠后,AVR的M48PA总消耗电流大约是0.5uA,LDO1uA左右,外围还有个AD欠压检测电流,大约消耗1uA左右,整体全部加起来大约就是2.5-3uA之间。达到预期目的接着,休眠唤醒后,发现键盘工作老不正常,查看原来的程序,除了扫描的矩阵阵列I/O口变化了,其他没啥变化
发表于 2020-01-09
如何让你的AVR单片机功耗超低
AVR复习笔记--AVR单片机SPI多机通讯【包括数据回传与接收】
VR复习笔记—SPI多机通信最近决定复习下AVR单片机,其实也是为了借此复习下几种简单的通信协议,包括串口,SPI,I2­C等。本来以为一两个晚上就能搞定的事儿,没想到竟耗费了一周晚上空余的时间。当然主要是这次的要求要提高点,实现SPI的多机通信,不但要发数据还要回传数据。实际中还是遇到了比我想象中要大的多的困难。即使是现在的实现方式也不是很理想。下面是spi部分的代码,由于spi接收发送用的同一终端,感觉使用起来形式不怎么样,还是采用了轮询标志位的方式#include "spi.h"static char mode=1;void spi_init(char flag){    char
发表于 2020-01-07
AVR复习笔记--AVR单片机SPI多机通讯【包括数据回传与接收】
小广播
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 sonata9.com, Inc. All rights reserved
幸运时时彩官网 幸运时时彩 北京pk10 幸运时时彩平台 亿信彩票手机官网 山东十一运夺金开奖结果 天津11选5分布走势图 北京pk10 诚信网投开户 安徽快3走势