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

    浏览量

    45748
  • 开发板
    +关注

    关注

    25

    文章

    4881

    浏览量

    97001
  • ATmega32
    +关注

    关注

    2

    文章

    33

    浏览量

    21040
收藏 人收藏

    评论

    相关推荐

    ARM开发板与树莓派的比较

    处理器 ARM开发板通常采用不同的ARM处理器,如Cortex-A系列、Cortex-M系列等,而树莓派则主要使用博通的ARM处理器。树莓派的处理
    的头像 发表于 11-05 11:11 30次阅读

    迅为瑞芯微RK3588开发板深度剖析丨首选的性能

    何处? 在2022年,北京迅为电子推出了基于RK3588处理器的iTOP-RK3588开发板,一经发布迅速成为了广大用户心中的首选。所以借着这个机会,和大家共同讨论下RK3588强在哪里?以及北京迅为
    发表于 10-17 10:49

    基于全志V853处理器的智能辅助驾驶算法介绍

    全志V853处理器,是专为智慧视觉领域设计的AI处理器,配备了高效的NPU算力和丰富的外设接口,能够提供稳定的AI边缘计算支持;同时,基于V853处理器这一性能优势,全志还为客户提供了一整套完整的智能辅助驾驶算法。
    的头像 发表于 09-14 09:23 522次阅读
    基于全志V853<b class='flag-5'>处理器</b>的智能辅助驾驶算法介绍

    迅为RK3588开发板深度剖析丨首选的性能

    何处? 在2022年,北京迅为电子推出了基于RK3588处理器的iTOP-RK3588开发板,一经发布迅速成为了广大用户心中的首选。所以借着这个机会,和大家共同讨论下RK3588强在哪里?以及北京迅为
    发表于 09-03 15:49

    linux开发板与树莓派的区别

    操作系统的微型计算机,主要用于教育、编程、媒体播放等领域。 硬件配置 Linux开发板:Linux开发板的硬件配置因厂商和型号而异,通常包括处理器、内存、存储、网络接口等。 树莓派:树莓派的硬件配置相对固定,包括
    的头像 发表于 08-30 15:34 592次阅读

    linux开发板和单片机开发的区别

    硬件架构 Linux开发板和单片机开发在硬件架构上有很大的区别。Linux开发板通常基于ARM、x86其他处理器架构,具有较高的
    的头像 发表于 08-30 15:30 542次阅读

    米尔基于NXP iMX.93开发板的M33处理器应用开发笔记

    资源MYD-LMX9X开发板(米尔基于NXPiMX.93开发板)3.软件资源Windows7及以上版本软件:IAREmbeddedWorkbench4.板载固件调试
    的头像 发表于 06-29 08:01 1189次阅读
    米尔基于NXP iMX.93<b class='flag-5'>开发板</b>的M33<b class='flag-5'>处理器</b>应用<b class='flag-5'>开发</b>笔记

    【正点原子i.MX93开发板试用连载体验】第一篇:开箱

    处理器的高性能嵌入式开发板,适用于Linux多任务、RTOS实时控制和轻量级AI应用场景。该开发板采用双核[Cortex-A55@1.7GHz]和M33@250MHz的配置,并集成了0.5 TOPS
    发表于 06-20 14:06

    RK3562开发板:安卓Linux开发从入门到精通(一)

    Rockchip新一代64位处理器RK3562设计的评估,(Quad-coreARMCortex-A53,主频最高2.0GHz)可应用于物联网网关、平板电脑、智
    的头像 发表于 03-28 08:31 881次阅读
    RK3562<b class='flag-5'>开发板</b>:安卓Linux<b class='flag-5'>开发</b>从入门到精通(一)

    KEGV-P-002开发板雷卯防雷防静电推荐图

      一、产品介绍 KEGV-P-002 Linux开发板是一款基于RK3399处理器开发板,具有强大的性能和丰富的接口。这款开发板具有以下特点:
    的头像 发表于 01-23 15:53 428次阅读
    KEGV-P-002<b class='flag-5'>开发板</b>雷卯防雷防静电推荐图

    riscv开发板推荐

    、灵活和可扩展的指令集,使得各种芯片设计人员可以根据自己的需求来自定义处理器设计,而无需受到专有指令集的限制。因此,越来越多的开发者开始使用RISC-V进行各种应用的开发和研究。 在选
    的头像 发表于 01-07 16:43 1441次阅读

    EGO1开发板的硬件规格、软件支持、应用场景及优势

    的硬件设计和制造工艺,具备以下主要硬件规格: 1.1 处理器:EGO1采用64位四核ARM Cortex-A53处理器,在保证高性能的同时,还能节约功耗。 1.2 内存:板载1GB DDR3 RAM,可以满足多线程运行以及大容量运行程序的需求。 1.3 存储:EGO1提供
    的头像 发表于 12-21 15:49 2434次阅读

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

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

    瑞萨系列-RZ/G2UL处理器核心-米尔开发板

    MYC-YG2UL核心开发板基于RZ/G2UL处理器,通用64位工业MPURZ/G2UL是瑞萨一款高性能处理器;内核Cortex-A55@1.0GHz CPU、Cortex-M33
    发表于 11-10 11:04 0次下载

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

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