幸运时时彩平台

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单片机控制发光二极管
点亮ARV单片机开发板上的一个LED灯原理图: 分析:上面的截图就是单片机和LED灯的连接原理图,其中J6是一个排阻,起到限流的作用,防止LED电流过大而烧坏。排阻的内部就是一组并联的电阻:bubuko.com,布布扣提示:算一下这个排阻的电阻的大小,二极管的工作电流是3mA,工作电压时1.7V,VCC的电压时5V。所以电阻上的电流是3mA,电压是3.3V,所以电阻的阻值是1.1KΩ。因为所有的二极管都是通过一个限流电阻共阳极的,所以只需要在Q端给一个低电平就能点亮这个发光二极管。Q端的电平通过一个573锁存器受控于D端的电平高低,也就是单片机的PB端口。这样我们就能通过写程序控制PB端口的高低电平来实现二极管的亮灭
发表于 2020-07-25
<font color='red'>AVR单片机</font>控制发光二极管
AVR单片机教程——串口接收
;   uart_print_string("What?n");    }}while循环的周期是多少呢?没有delay语句,是不是循环在很快地扫描呢?不是,uart_scan_string_n函数一直等待直到串口接收到了规定量的数据。实际上,这一系列串口接收的函数的功能非常受限——程序必须等待数据到来,不能错过它,这与scanf等函数从缓冲区读取数据不同。当然,单片机系统中的串口输入(以及输出)也可以实现缓冲区,并且是一种实用并常用的做法,但这要涉及到中断,是以后的内容。你可以试着利用数据手册以及其他资源实现一个带缓冲的串口输入输出。在avr-gcc中,使用中断要先#include
发表于 2020-07-22
AVR单片机教程——定时器中断
本文隶属于AVR单片机教程系列。中断,是单片机的精华。中断基础当一个事件发生时,CPU会停止当前执行的代码,转而处理这个事件,这就是一个中断。触发中断的事件成为中断源,处理事件的函数称为中断服务程序(ISR)。中断在单片机开发中有着举足轻重的地位——没有中断,很多功能就无法实现。比如,在程序干别的事时接受UART总线上的输入,而uart_scan_char等函数只会接收调用该函数后的输入,先前的则会被忽略。利用中断,我们可以在每次接受到一个字节输入时把数据存放到缓冲区中,程序可以从缓冲区中读取已经接收的数据。AVR单片机支持多种中断,包括外部引脚中断、定时器中断、总线中断等。每一个中断被触发时,通过中断向量表跳转到对应ISR
发表于 2020-07-22
AVR单片机教程——蜂鸣器
引子定时/计数器(简称定时器)是单片机编程中至关重要的一部分,再简单的单片机也会带有定时器。也许你会觉得我们已经在delay函数中接触过定时器了,然而并不是,它只是软件地通过“浪费时间”来实现延时。我们接触定时器在数码管中,segment_auto函数可以自动完成动态扫描,好像在main函数背后又开了一个线程,两者并行执行一样。这就用到了定时器中断。中断是一种必要的程序流程控制方法,但这两讲我们先聚焦于利用定时器来输出波形。本讲中,我们用定时器来输出一定频率的方波,让蜂鸣器发出声音。定时/计数器ATmega324PA提供了3个定时器:定时器0、定时器1、定时器2。其中,定时器0和2都是8位的,定时器1是16位的;定时器1支持输入
发表于 2020-07-22
为什么选用AVR单片机来学习单片机
  电子技术的迅猛发展,尤其单片机更广泛地应用于军事、工业、家用电器、智能玩具、便携式智能仪表等领域,使产品功能、精度和质量大幅度提高,电路简单、故障率低、可靠性高且成本低廉。ATMEL公司把51内核与其擅长的FLASH制造技术相结合,推出可重复擦写1000次以上低功耗的89C51/52/1051/2051等产品,取代其它8751系列,称霸单片机市场数年。于1997年,由ATMEL挪威设计中心的A先生与V先生,利用ATMEL的FLASH新技术, 共同研发RISC(Reduced Instruction Set CPU) 精简指令集高速嵌入式8位单片机,简称AVR。  学习单片机为什么选用AVR单片机?  一、进入
发表于 2020-07-22
AVR单片机扫盲
1、  AVR单片机采用RISC架构,8051单片机采用CISC架构。前者速度为后者的2~4倍,为流水线操作指令2、  AVR单片机有32个通用寄存器(地址在RAM区从$0000开始到$001F),其中有6个(最后6个)合并为3个16位的X,Y,Z寄存器,用来存放地址指针,Z寄存器还可以寻址程序存储器3、  哈佛结构,131条机器指令4、  延迟开机功能5、  内部自带RC振荡器,可提供1/2/4/8MHZ的工作时钟6、  FLASH+EEPROM+SRAM+SPI+USART+TWI+PWM+RTC+10位ADC+模拟比较器+JTAG7、  堆栈指针向下增长
发表于 2020-07-13
小广播
何立民专栏 单片机及嵌入式宝典

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

换一换 更多 相关热搜器件
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 sonata9.com, Inc. All rights reserved
500万彩票 亿信彩票网址多少 五分时时彩 河北11选5走势图 500万彩票 500彩票网 亿信彩票开户 幸运时时彩平台 亿信彩票网站 河北11选5开奖