0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何为Atmega16或Atmega32处理器开发自己的开发板

454398 来源:wv 2019-09-30 08:41 次阅读

步骤1:电路板

如何为Atmega16或Atmega32处理器开发自己的开发板

两个电路板上都有电路,并且pdf文件包含这些电路板上的打印文件。您可以从这些图片中蚀刻板。压缩文件包含这些板上所有的Eagle文件。随意修改这些内容。

步骤2:蚀刻或铣削

有两种方法制作这些板,蚀刻或铣削。我不是化学家,所以我使用了最后一个选项。我是从这些出色的指令中学而来的,所以如果有人也有nc-mill并且想用它来制造这些电路板,请告诉我,我将发送G代码。

《物体高度= “ 344” width =“ 425”》

《嵌入高度=“ 344” src =“//www.youtube.com/v/47LjZ4XLYWA” type =“ application/x-shockwave-flash” width = “ 425” wmode =“ transparent”》

步骤3:焊接

下面的图片将显示组件的名称及其在板上的位置。

第4步:测试

在测试我们的开发板之前,我们将需要AVR编程器电缆。这是有关编程电缆的很好的指导。我们只需要6根电线。 SCK,MISO,MOSI,RST,接地和+ 5V,这就是为什么我的连接器只有6个引脚的原因。重要! SCK,MISO,MOSI和RST信号需要390 Ohm电阻器,这些电阻器通常焊接在板上,但是我想节省板上的空间,这就是电阻器位于电缆内的原因。没有这些电阻,将无法进行编程。

我们还必须在rs232模块和主板之间做一条电缆。

图片中还有几条“测试线”,当我们准备使用时,这些线真的很有用

步骤5:编程和简单测试程序

下一步,我们将需要一些用于测试董事会的“测试”程序。结果重要!我们必须从PORTC禁用JTAG,否则我们将无法使用LCD模块,因此这是必要的。

Linux操作中,可以使用avrdude命令执行该操作:

avrdude -p m16 -c stk200 -U lfuse:w:0xe4:m -U hfuse:w:0xd9:m

此命令禁用JTAG并设置和使用8Mhz内部振荡器。我们的板上有外部晶体,但是人们使用不同大小的晶体,因此此命令对所有人都安全。如果您想使用外部晶体,这里是计算正确保险丝的站点。

重要!进行熔丝编程时要小心。如果您设置了错误的保险丝值,则处理器将无法工作。有一种方法可以通过外部脉冲恢复它,但是希望您不必这样做=)

简单的测试程序:

#include(avr/io.h)

int main(void )

{

DDRA = 0xff;//将端口设置为输出

DDRB = 0xff;

DDRC = 0xff;

DDRD = 0xff;

PORTA = 0x00;//禁用所有上拉电阻

PORTB = 0x00;

PORTC = 0x00;

PORTD = 0x00;

}

现在是时候给电路板加电并将这个小的测试程序发送到Winavr或您想使用的产品

现在,我们可以测试我们的端口是否正常工作。将一端从电线连接到一个led针头,然后逐步触摸每个端口的另一端。 led应该每次发光。如果不发光,则说明焊接有问题。记住还要测试每个led都可以工作。

步骤6:测试串行端口

如果一切正常,则该测试rs232模块了。有一个小程序可以测试我们的TX和RX是否工作。

在Linux中的用法:

创建名为Makefile的文件,并在文件中的文本下方复制。

Makefile代码假定您正在使用Atmega16并且您的编程电缆为stk200

请记住,请为您的串行端口/dev/ttyS0

CC =/usr/bin/avr-gcc

CFLAGS = -g -Os -Wall设置正确的权限-mcall-prologues -mmcu = atmega16 -std = gnu99

OBJ2HEX =/usr/bin/avr-objcopy

AVRDUDE =/usr/bin/avrdude

TARGET = test

程序:$(TARGET ).hex

$(AVRDUDE)-p m16 -P/dev/parport0 -c stk200 -u -U flash:w:test.hex

%.obj:%.o

$(CC) $(CFLAGS)$ 《-o $ @

%。hex:%.obj

$(OBJ2HEX)-R .eeprom -O ihex $ 《$ @

clean:

rm -f * .hex * .obj * .o

下载atteched文件serial.c,并将其放在Makefile所在的文件夹中。

给开发板加电,并在rs232模块和主板之间插入电缆。模块上的LED现在应该点亮。将测试线放在PA0引脚和某些LED引脚之间。

使用您的终端,并转到test.c和Makefile所在的文件夹。将ISP编程器连接到板上。现在是时候在处理器中发送代码了,它是通过终端命令执行的:制作

下载名为GTKterm(Serial Port Terminal)的软件。Fedora:yum install gtkterm

Ubuntu:sudo apt-get install gtkterm

启动GTKterm并将其格式化为使用9600Kbs的速度,8个数据位,1个停止位,无奇偶校验,无溢出。

如果一切正常,则应写“ works!”。在GTKterm屏幕上,当您按下“ z”按钮时,当您按下“ x”按钮时,板上的LED应该打开,当您按下“ c”时,其LED应该关闭。

步骤7:LCD模块测试

现在是时候测试我们的LCD模块了。我附上了用于控制LCD屏幕的出色软件。我从Scienceprog.com下载了代码,并对其进行了少许修改。使用此代码对处理器进行编程,然后将LCD模块插入板上。

LCD模块引脚连接:

1 = VSS(接地)

2 = VDD(5V)

3 = VO(接地)

4 = RS

5 = R/W

6 = E

11 = PC4

12 = PC5

13 = PC6

14 = PC7

我的LCD -module包含2个连接器(请参见图片),因为如果按原样放置模块,文本将上下颠倒。我将新的连接器镜像并粘贴到另一侧。现在,它可以双向使用。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ATmega16
    +关注

    关注

    5

    文章

    154

    浏览量

    45556
  • 开发板
    +关注

    关注

    25

    文章

    4426

    浏览量

    93950
  • ATmega32
    +关注

    关注

    2

    文章

    33

    浏览量

    20988
收藏 人收藏

    评论

    相关推荐

    方法|如何为开发板调试新的触摸屏

    方法|如何为开发板调试新的触摸屏
    的头像 发表于 11-30 11:30 466次阅读
    方法|如<b class='flag-5'>何为</b><b class='flag-5'>开发板</b>调试新的触摸屏

    基于ATmega16的便携式机车信号发生器的研制

    电子发烧友网站提供《基于ATmega16的便携式机车信号发生器的研制.pdf》资料免费下载
    发表于 11-07 10:30 0次下载
    基于<b class='flag-5'>ATmega16</b>的便携式机车信号发生器的研制

    基于Atmega16的室内照明控制系统设计方案

    电子发烧友网站提供《基于Atmega16的室内照明控制系统设计方案.doc》资料免费下载
    发表于 11-03 10:42 0次下载
    基于<b class='flag-5'>Atmega16</b>的室内照明控制系统设计方案

    基于ATmega32的遥控采摘机器人设计

    电子发烧友网站提供《基于ATmega32的遥控采摘机器人设计.pdf》资料免费下载
    发表于 10-24 11:37 0次下载
    基于<b class='flag-5'>ATmega32</b>的遥控采摘机器人设计

    采用ATMEGA16的两轮自平衡电动车设计

    电子发烧友网站提供《采用ATMEGA16的两轮自平衡电动车设计.pdf》资料免费下载
    发表于 10-11 09:19 0次下载
    采用<b class='flag-5'>ATMEGA16</b>的两轮自平衡电动车设计

    基于ATmega16L的LED旋转屏设计

    电子发烧友网站提供《基于ATmega16L的LED旋转屏设计.pdf》资料免费下载
    发表于 10-10 10:49 0次下载
    基于<b class='flag-5'>ATmega16</b>L的LED旋转屏设计

    基于STM32双处理器手机开发板教程

    该双处理器手机开发板,主控采用STM32407,协助处理器采用业界功耗最低的蓝牙MCUDA14580。搭载GPRS、摄像头、音频、蓝牙、触摸屏等外围电路。
    发表于 09-21 06:38

    Cortex™-M3处理器介绍

    本实验的目的是向您介绍意法半导体Cortex™-M3处理器,该处理器使用ARM®KEIL™MDK工具包,具有集成开发环境μ®。 我们将在Keil MCBSTM32C评估上使用串行线查
    发表于 09-04 08:01

    Cortex™-M4处理器介绍

    本实验的目的是向您介绍意法半导体Cortex™-M4处理器,该处理器使用ARM®KEIL™MDK工具包,具有集成开发环境μ®。 我们将使用串行线查看(SWV)和板载ST-Link/V
    发表于 09-04 07:47

    Arm Cortex-R82处理器技术参考手册

    在本手册中,以下术语指的是下面提供的描述。 核心A核心包括与数据处理单元、存储系统和管理、电源管理以及核心级调试和跟踪逻辑相关的所有逻辑。 在Cortex®-R82处理器环境中,CPU和内核可以互换
    发表于 08-17 08:02

    Arm Cortex-R82处理器技术参考手册

    Cortex®-R82处理器是一款中等性能的多核有序超标量处理器,适用于实时嵌入式应用。 Cortex®-R82处理器采用ARM®V8-R AArch64架构。 ARM®V8-R AArch64
    发表于 08-17 07:45

    ATMEGA128微处理器中文数据手册

    ATmega128 是一个很复杂的微处理器,其 I/O 数目为 AVR 指令集所保留的 64 个 I/O 的超 集。为了保持对 ATmega103 的兼容性, ATmega103 的
    发表于 08-16 18:11 1次下载

    GAUDIR HL-2000处理器介绍

    和HL-200 PClecard都包含一个GAUDIR HL-2000处理器,该处理器包含一个由八个完全可编程张量处理核心(TPC 2.0)组成的集群。TPC核心是C可编程的,为用户提供了最大的创新灵活性
    发表于 08-04 07:23

    Cortex-A9处理器技术参考手册

    Cortex-A9处理器是一款高性能、低功耗的ARM宏单元,具有L1缓存子系统,可提供完整的虚拟内存功能。Cortex-A9处理器实现ARMv7-A架构,在Jazelle®状态下运行32位ARM指令、16位和32位Thumb®指
    发表于 08-02 16:29

    具有7段显示的基于Atmega16的交通灯项目

    电子发烧友网站提供《具有7段显示的基于Atmega16的交通灯项目.zip》资料免费下载
    发表于 07-06 10:47 1次下载
    具有7段显示的基于<b class='flag-5'>Atmega16</b>的交通灯项目