datasheet

AVRWARE++开发笔记1:综述

2019-07-13来源: eefocus关键字:AVRWARE++

    从今天开始撰写AVRWARE++开发笔记,用以使用AVRWARE++程序架构,对Atmel公司的AVR系列单片机进行快速开发。对于开发笔记的任何问题,大家都可以进行留言探讨。


    1、简介

    AVRWARE++是一套开源的基于层次化软件设计思想的,用于Atmel公司AVR系列单片机开发的软件架构。相比较其它的软件架构,其具有的特点在于:

    a、采用层次化软件设计思想进行单片机程序设计;

    b、完备的单片机内部外设驱动程序库;

    c、可扩展的单片机外部芯片(模块)驱动程序库;

    d、提供硬件映射层,使得用户逻辑与硬件驱动分开,增加了系统的可读性、可扩展性、可移植性并有利于单片机程序设计的多人协作。

    e、与MSP430WARE++(一款基于TI公司MSP430系列单片机的程序架构)在架构上完全兼容,可以相互移植,混合开发。


    2、层次化软件设计思想

    一般来说,单片机程序设计包含底层驱动程序的编写和应用层程序的设计等多部分组成,这就是所谓的层次化设计思想。底层驱动主要面向片内集成功能模块以及外围扩展的元器件,负者对硬件进行工作模式设置、获取或发送各种数据对各类执行元件或机构实施实际控制等,应用层程序则通过恰当的算法,进行资源调度、系统调度、数据运算、逻辑推演和运筹决策等。由于硬件品种繁多层出不穷,使得底层驱动的编制较为复杂,相比而言,应用层的编写需要更多的知识、经验和技巧。

   AVRWARE++提供的软件开发框架大幅度屏蔽了硬件的复杂性,应用此开发框架进行单片机程序开发,用户不需熟悉硬件的结构及内部细节即可开发出结构优良的单片机程序。而且该开发框架提供所有编译前的源代码,所以读者也可根据此源代码进行程序开发的学习,以增长自身的技能。


    3、软件架构

    AVRWARE++提供6层架构用于程序开发,自上而下分别为:逻辑层(0_LogicLayer)、硬件映射层(1_AbstractionLayer)、协议层(2_ProtocolLayer)、外部模块层(3_ExternalModuleLayer)、中间层(4_MiddleLayer)和内部外设层(5_InternalPeripheralLayer),如下图所示。各层功能介绍如下:

 图片 

     

    a、逻辑层(0_LogicLayer)

    逻辑层专注于用户逻辑设计,采用AVRWARE++程序架构进行程序设计,可以做到逻辑层与硬件的无关性,说的直白一些就是在逻辑层中开不到寄存器等和硬件相关的程序代码,而只是一些和逻辑相关的函数调用,最大限度的增强程序的可读性和可移植性。

    b、硬件映射层(1_AbstractionLayer)

    硬件映射层起到承上启下的作用,实际上它是“原理图到程序代码”的直译,采用AVRWARE++程序架构进行硬件映射层设计是极简单并富有条理性的事物,用户可以在后续的文章中感受到这一点,“原理图直译程序代码”完成逻辑与硬件的分隔。

    c、协议层(2_ProtocolLayer)

    协议层主要引进现在已供认完善的、开源的协议代码,例如TCP/IP,modbus、miniXML等,此层可扩展,并受芯片容量的限制。

    d、外部模块层(3_ExternalModuleLayer)

    外部模块层提供线路板上与单片机相连接的芯片或模块的驱动程序,此层可扩展,并已做到代码与单片机的无关性,可以进行跨单片机的程序移植。

    e、中间层(4_MiddleLayer)

    中间层提供靠近底层,与硬件无关的中间代码,例如IIC。

    f、内部外设层(5_InternalPeripheralLayer)

    内部外设层提供单片机内部外设的完备驱动程序。


    4、预计写作的文章

    a、AVRWARE++开发笔记1:综述

    b、AVRWARE++开发笔记2:开发环境的建立

    c、AVRWARE++开发笔记3:开发板硬件原理介绍

    d、AVRWARE++开发笔记4:蜂鸣器的驱动(实例1)

    e、AVRWARE++开发笔记5:8路直接I/O口控制LED灯(实例2)

    f、AVRWARE++开发笔记6:74HC595串行控制LED灯(实例3)

    h、AVRWARE++开发笔记7:应用全局函数控制LED灯(实例4)

    i、AVRWARE++开发笔记8:基本IO输入实验(实例5)

    j、AVRWARE++开发笔记9:矩阵键盘输入实验(实例6)

    k、AVRWARE++开发笔记10:LED数码管显示实验(实例7)

    l、AVRWARE++开发笔记11:实时时钟显示实验(实例8)

    m、AVRWARE++开发笔记12:异步串行口通讯实验(实例9)

    n、AVRWARE++开发笔记13:温度显示实验(实例10)

    o、AVRWARE++开发笔记14:ADC转换实验(实例11)

    p、AVRWARE++开发笔记15:DAC转换实验(实例12)


关键字:AVRWARE++

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

上一篇:AVRWARE++开发笔记2:开发环境的建立
下一篇:最后一页

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

推荐阅读

AVRWARE++开发笔记2:开发环境的建立

        本文详述AVRWARE++开发环境的建立方法,其主要开发软件有两个:Atmel Stdio和PROGISP。    1、Atmel Studio 6的系统需求    安装集成开发环境Atmel Studio 6,必须满足最小的硬件和软件要求,才能确保编译器以及其它程序功能的正常,应该具有:    a、Pentium-IV或兼容处理器的微型计算机,主频2.0GHz,内存512MB;    b、Windows XP/Win7操作系统;    c、1G硬盘空间; 
发表于 2019-07-13
AVRWARE++开发笔记2:开发环境的建立

AVRWARE++开发笔记3:III型测试板硬件原理

        本文只针对于初学者,高手请绕过!        AVRWARE++现有三种测试板供用户对软件架构进行评测,分别为I型、II型和III型,本文针对III型测试板,进行硬件原理介绍。    III型测试板相对于I型和II型来说,是一个简化版本,采用USB直接供电,具有以下模块:    a、蜂鸣器(长音);    b、8路直接I/O控制LED;    c、24路74HC595串行控制LED;    d、8路直接I/O键盘输入
发表于 2019-07-13
AVRWARE++开发笔记3:III型测试板硬件原理

AVRWARE++开发笔记4:调试III型测试板

    本文只针对于初学者,高手请绕过!    本文介绍III型测试板焊接完成后的调试步骤。    1、上电前准备    III型测试板焊接完成后,首先应仔细检查整个电路板是否有漏焊、虚焊或短路的情况发生,检查无误后,用万用表的测量二极管通断档,对如下图所示电路的C2和C4进行短路测试,如果发生短路现象,切不可上电。    短路故障排除步骤:    a、短路发生后,应首先检查C2、C4、C9和C11电容是否焊接正确,如果发生短焊现象,应重新焊接;    b、检查P2是否焊接正确,如果发生短焊现象
发表于 2019-07-13
AVRWARE++开发笔记4:调试III型测试板

AVRWARE++开发笔记5:蜂鸣器驱动实验

        本文只针对于初学者,高手请绕过!    1、实验目的    利用单片机的IO口,控制蜂鸣器,学会蜂鸣器的控制方法。     2、实验内容    编写一段程序,使蜂鸣器以1秒为间隔鸣叫。    3、硬件原理    蜂鸣器硬件原理图如下图所示,使用排线与端子P1相连,则单片机相应端口的第4引脚即与端子P1的BEEP引脚相连接(例如,使用排线将P10端子与P1端子相连接,则PD4引脚则连接到了BEEP引脚上,在这里需要注意的是,端口从0起排,而端子从1起排
发表于 2019-07-13
AVRWARE++开发笔记5:蜂鸣器驱动实验

AVRWARE++开发笔记6:8路直接I/O口控制LED灯实验

         本文只针对于初学者,高手请绕过!    1、实验目的    利用单片机的IO口,直接控制LED灯,学会LED灯的控制方法。     2、实验内容    编写一段程序,使LED0~7灯以200ms为间隔从两边同时向中间亮,最终全亮延时200ms然后熄灭。    3、硬件原理    8路直接I/O口控制LED灯硬件原理图如下图所示,使用排线与端子P4相连,则单片机相应端口的0-7引脚与端子P4的LED0-LED7引脚相连接(例如,使用排线将P
发表于 2019-07-13
AVRWARE++开发笔记6:8路直接I/O口控制LED灯实验

小广播

何立民专栏

单片机及嵌入式宝典

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

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved