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

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

3天内不再提示

基于ATmega162的智能仪器设计

电子工程师 来源:网络整理 作者:佚名 2018-02-15 22:33 次阅读

ATmega 162是ATMEL公司推出的一款基于AVRRISC的低功耗CMOS的8位单片机。ATmega 162通过在一个时钟周期内执行一条指令,可以达到接近1 MIPS/MHz的性能,从而使得设汁人员可以在功耗和执行速度之间取得平衡。AVR核将32个通用工作寄存器和丰富的指令集连接在一起。所有的工作寄存器都与ALU算术逻辑单元直接相连,允许在一个时钟周期内执行的单条指令,同时访问两个独立的寄存器。这种结构提高了代码效率,使AVR得到了比普通CISC单片机高将近10倍的性能。本文采用ATmega 162开发了键盘一液晶显示器、无位置传感器两相直流无刷电机和异步串行通讯口实现数据的采集和发送3个系统。实验证明,采用ATmega 162开发的这些系统性能可靠、成本较低、软件设计灵活、硬件接口功能丰富,为今后系统升级创造了良好条件。

2 ATmega162的结构及特点

ATmega162具有35个可编程的I/O口线,有40脚PDIP,44脚TQFP及44脚MLF等多种封装。4个8位双向I/O口A,B,C,D,一个带内部上拉电阻的3位双向I/O口。每个端口都有对应的3个I/O端口寄存器,分别是数据寄存器PORTx、方向寄存器器DDRx和输入引脚寄存器PINx.当DDxn写入0时,对应的Pxn配置为输入引脚,置PORTxn为1时,配置该引脚的内部上拉电阻有效。当DDxn为1时,对应的Pxn配置为输出引脚,PORTxn中的数据为外部引脚的输出电平,即为1,端口引脚被强制驱动为高,输出高电平(输出电流);清零PORTxn,端口引脚被强制拉低,输出低电平(吸入电流)。在复位过程中,即使是在系统时钟还未启振的情况下,端口为三态口。还可以作为地址/数据复用口,提供ATmega162的许多特殊接口功能。C口提供JTAG接口的功能。在允许JTAG接口状态下,引脚PC7(TDD,PC5(TMS)和PC4(TCK)的内部上拉电阻总是处于有效方式(包括复位时)。

ATmega162具有以下特点:16 kB的同时具有读写能力的在线编程FLASH;512 B E2PROM;1 kB SRAM存储器;35个通用I/O口;1个外部存储器接口;32个通用工作寄存器;1个具有边界扫描功能的JTAG接口;支持在线编译、编程以及仿真调试;支持对FLASH,E2PROM、芯片熔丝位和保密锁定位的编程;4个具有比较模式的灵活的定时器/计数器,2个具有比较模式的带预分频器的8位定时器/计数器,2个带预分频器,具有比较和捕获模式的16位定时器/计数器,具有独立振荡器的实时计数器;6个PWM通道;内外中断源;上电复位和可编程的电压检测电路;内部可校准的RC振荡器;2个可编程的UART接口;具有内部时钟的可编程的看门狗定时器;SPI串行接口;BOOT区具有独立的加密位,可通过片内的引导程序实现在系统编程,写操作时真正可读;全静态操作;片内带有执行时间为2个时钟周期的硬件乘法器;以及5种可通过软件选择的节电模式。

ATmega 162采用了ATMEL的高密度非易失性内存威廉希尔官方网站 生产,片内FLASH可以通过SPI接口+通编程器,或通过JTAG接口,或使用自引导BOOT程序进行编程和自编程。利用自引导BOOT程序,可以使芯片在工作过程中通过任一硬件串行通讯接口下载应用程序,并写入到FLASH的应用程序区中(IAP)。在更新FLASH的应用程序区代码时,处在FLASH的BOOT区中的自引导程序将继续执行,实现了同时读写的功能。由于将增强的RISC8位CPU与在系统编程和在应用编程的FLASH存储器集成在一个芯片内,ATmega 162成为功能强大的单片机,为多嵌入式控制应用提供了灵活而低成本的解决方案。

2.1 ATmega162与其他同类器件的比较

在控制领域使用最平凡的CPU无非就3种:51系列、AVR系列、PIC系列。而ATMEL公司新推出的90系列单片机内含高速闪存FLASH,是基于增强精简指令RISC(Reduced Instruction Set CPU)结构的单片机,简称AVR单片机,该系列单片机在吸收PIC及8051单片机的优点的基础上,做出了重大的改进。

由于本设计中的主CPU需要对温度数据进行运算及转换,因此一般的51系列CPU是很难胜任的,而且在图形显示中加入了星星闪动的动画和LOADING的读取数据的动画,所以更是要求主CPU有极快的运算速度和程序的可复制性的优点。故经过多种方案的比较后,最后决定选用AVR系列中的ATmega162作为主CPU,同时ATmega162拥有2个串行通信口,完全可以满足与计算机的通信。

2.2温度检测器件的比较

做温度的检测可以有很多种方法,比较常用的就是用一个A/D转换器再接一个温度传感器,而我们惯用的A/D传感器是0809(8路A/D转换器),传感器就可以根据自己的实际情况来选择了,一般选择的原则是要满足测量温度的范围,精度和灵敏度。就本设计来说,需要测量的温度范围是室温(0~100℃),精度可以是1℃,灵敏度1 s左右就可以了。所以并没选用0809来做,而是在市面上选择了一个常用来做环境温度检测用的集成芯片——DS18B20,封装是TOP92的,使用单总线来传输数据。从成本的角度来看18B20一片是15元左右,比AD0809的价格便宜近一半,而且还可以省去购买传感器的钱,当然是在可以满足测量要求的前提下。

3 ATmega162的设计应用

根据设计任务要求,本设计使用AVR单片机中的ATmega162作为主控制CPU,使用89C2051作为辅助CPU来采集数字温度传感器DS18B20传送出来的温度值,并通过8位端口的连接,传送温度值给ATmega162,从而实现多路温度值的采集。再通过ATmega162运算处理,实现多路温度的数字显示,同时还可以显示其相应的温度柱状图。

ATmega162可以在线仿真和在线固化,当需要在线仿真时应把仿真器的TCK,TDO,TMS,TDI脚分别上拉4.7 kΩ的电阻后和ATmega162对应的引脚连接起来。再把仿真器的NSRST与ATmega162的RST连接,仿真器的VTRES和ATmega162的VCC连接,并把仿真器和ATmega162共地。当程序在线仿真时,其程序已经自动固化到CPU中了,这样就避免了像89C51那样出现固化失败的问题,系统框图如图1所示。


图1 系统框图


3.1 ATmega162与键盘及液晶显示器的设计

本设计中ATmega162采用的是3.686 4 MHz外接晶振。复位方式选用的是上电复位,AVR有3种复位方式(上电复位、外部复位、看门狗复位),因为考虑到工作电压不稳定的因素,采用上电复位其复位电路可以确保只有当VCC达到一个安全电平时,器件才能开始工作。

键盘是各种CPU不可缺少的输入工具,通过他可以输入程序和数据,从而实现人机对话。键盘的按键排成3×4的矩阵形式,I/O口线PC1~PC3为输入(设置为0),作为键盘的列扫描线;PC4~PC7为输出(设置为1),作为键盘的行扫描线,并上拉电阻。当判别有键按下时,延时去除键的机械抖动,再次判别闭合键的位置,若确实有键按下,计算键值并返回。

ATmega162的PA口的8位和液晶屏的数据端相连,把ATmega162的DDRA设置为0xFF,这样PA口只能为输出。而PB口是对液晶屏的控制,其PB0与RS相连,PB1与RW相连,PB2与复位端RST相连,PB3与使能端E相连作使能控制,PB4,PB5分别与液晶屏幕的片选CSB,CSA相连。PD口与89C2051的P1口相连,作为温度数据的输入口,其DDRD也为0x00,同时PD1和PD2作为串行通信口分别与MAX232的TIN1和TIN2相连接。PE0和PE1口作为控制温度传感器检测信号的输出,PE2作为温度检测完成信号的检测,因此DDRE为0x07.

本设计中ATmega 162的PA口作为数据端与液晶屏的DB0到DB7相连,PB0与RS相连作为写状态,PB1与RW相连控制读状态,PB2与RST相连作为液晶屏复位控制,PB3与E相连是用来控制液晶屏的使能端,当数据及指令都正确写入液晶屏,ATmega 162置PB3为高电平时液晶屏开始执行写入的程序并调用新写入的数据,PB4、PB5和PB6分别与液晶屏的CSA、CSB和CSC相连,他们分别作为中间、左边和右边显示屏的片选,都是低电平有效。当需要在中间屏幕写,如显示数据时,ATmega 162先把PB4置为低电平,再置RS为高电平,接着是拉低RW的电压,然后把数据放在PA口上好让液晶屏能接收到,最后打开使能端E,这样一次数据传输就完成了。进行32次循环输入,就可以把一个16×16汉字输入到液晶屏里了。

值得注意的是,在使用仿真器时必须先把接AT-mega162的电路板加电后才能给仿真器上电,然后才使用AVR Studio进行在线仿真,否则是无法正确连接的。

在选择系统时钟源时,要正确配置熔丝位,熔丝位决定着系统采用时钟源的方式,不能通过普通的编程在MCU运行时更改,在调试之前应根据所选时钟源形式和唤醒方式,在仿真系统中正确配置熔丝位,使时钟源与熔丝位匹配。

3.2 DS18B20温度传感器设计

DS18B20作温度检测时使用的是单总线方式来传送指令和数据,这就要求传送时要有绝对精确的频率,对于18B20来说指令的精确度要达到微秒级,而如果AT-mega 162使用C语言来编写,程序是达不到这么精确的,因此本设计加入了89C2051,使用汇编语言来专门编写18B20的控制程序。两个CPU的通信是直接连接的,因为AT-mega 162可以设置端口的工作方向(由DDR值决定)。

89C2051的P1口和ATmega162的PD口连接,用作数据交换,89C2051的P3.0和P3.4与ATmega162的PE0和PE1分别相连作为ATmega162对89C2051进行温度采集的控制。89C2051的P3.7与ATmega162的PE2连接作为89C2051对ATmega162发出读数据指令端。在本设计中,可以接多个温度传感器,现只连接了两个,其数据端口分别连接到89C2051的P3.1和P3.5.

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

    关注

    1

    文章

    54

    浏览量

    15076
收藏 人收藏

    评论

    相关推荐

    ATMEL AVR单片机ATMEGA8L-8AU/ATMEGA8L-8PU/ATMEGA16L-8PU

    88V-10AUATMEGA128-16AUATMEGA128L-8AUATMEGA128A-AU ATMEGA162V-8AIATMEGA162V-8AUATMEGA162-16AUATMEGA169PV-8AUATMEGA169V-8AUATMEGA324PV-10AU AT
    发表于 02-23 12:11

    ATmega系列单片机最新报价

    16MHZ 64QFN 否 下 载 询价 ATMEGA162V-8MUR MCU AVR 16KB FLASH 8MHZ 44QFN 否 下 载 询价 ATMEGA162-16MUR MCU AVR
    发表于 03-19 17:19

    基于MODBUS的多路电能采集器电路

    求一个基于MODBUS的多路电能采集器电路。芯片是ATmega162,电能表用PC机模拟,需要JTAG接口。跪求各位大神赐教!!
    发表于 04-14 11:33

    求助:ATMEGA162熔丝扩展位写不进去

    第一次使用ATmega162,熔丝扩展位默认为FF,但是一旦烧写程序或者写入了其他熔丝位,熔丝扩展位全变成0,而且无法改变,写入1显示写入成功,但是读出还是0,但是熔丝位高低字节都可以正常写入,试了五六片全都是一样的情况求高手解答如果写入atmega162的熔丝扩展位
    发表于 11-16 08:13

    ATMEGA162两串口通信乱码

    因为需要两串口,初次接触162,才发现不是想象的那样顺。让串口接收的数据立即让另一个发出去,protues仿真结果只有80和00,想请高手指点迷津,下面是程序:#include"
    发表于 08-23 23:15

    请教jtag接头与MAX232的连接方法

    我画了一个基于atmega162单片机测量温湿度的电路图,但是其中10pin的jtag接头与MAX232的连接上出现了问题,请教大佬,是不是应该用10pin的jtag接头的第一二管脚分别去连接
    发表于 02-09 15:04

    如何设计一款基于ATmega162智能仪器

    本文通过基于ATmega162介绍了他的特点和在温度检测中的应用实例,ATmega162具有其他AVR系列大部分产品的功能,又具有独特威廉希尔官方网站 ,配置全、功能强、可靠性高、速度高、抗干扰性好、低功耗
    发表于 02-23 07:40

    atmega162.pdf

    The ATmega162 is a low-power CMOS 8-bit microcontroller based on the AVRenhanced RISC architecture.
    发表于 04-07 15:16 172次下载

    基于ATmega162的自重构机器人控制模式

    本文通过对自重构机器人的特点和总体结构进行分析,提出一种基于ATmega162 的部分主从分布式控制模式,该模式利用ATmega162 的外扩存储器功能实现扩展总线,从而对自重构机器人上
    发表于 06-18 10:49 39次下载

    基于Lab Windows/CVI的压力测量控制系统的设计

    设计了一个基于Lab Windows/CVI 的压力测量控制系统,人机交互界面友好,大大提高了压力测量的有效性和准确性。系统由上、下位机两部分构成,下位机是ATmega162为控制核心的压力
    发表于 08-05 11:53 32次下载

    基于单片机的光伏系统人机界面的设计

    针对光伏并网逆变器系统对人机界面的功能要求,设计了基于AVR单片机ATmega162的液晶显示人机界面,实现了按键的扫描,LCD显示、与PC机和DSP通讯等功能。详细介绍了系统的硬件
    发表于 08-17 09:06 24次下载

    AVR芯片替换与移植手册

    128 AVR082  Replacing ATmega161 By ATmega162 AVR083  Replacing ATmega16 3By ATm
    发表于 01-16 10:12 70次下载

    自已动手制作AVR单片机仿真器

    JtagICE 是一款经典的仿真器。它支持的芯片清单为:ATmega128, ATmega128L,ATmega16, ATmega162, ATm
    的头像 发表于 02-16 11:16 6333次阅读

    ATmega162ATmega162V 8位微控制器的数据手册免费下载

    ATMega162是一款基于AVR增强型RISC架构的低功耗CMOS 8位微控制器。通过在一个时钟周期内执行强大的指令,ATMega162的吞吐量接近每兆赫1英里/秒,使系统设计者能够优化功耗与处理速度的关系。
    发表于 10-23 08:00 7次下载
    <b class='flag-5'>ATmega162</b>和<b class='flag-5'>ATmega162</b>V 8位微控制器的数据手册免费下载

    ATMEGA162的PCB原理图免费下载

    本文档的主要内容详细介绍的是ATMEGA162的PCB原理图免费下载。
    发表于 09-25 17:50 0次下载
    <b class='flag-5'>ATMEGA162</b>的PCB原理图免费下载