基于ATmega162的智能仪器设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于ATmega162的智能仪器设计
ATmega 162是ATMEL公司推出的一款基于RISC的低功耗的8位。
ATmega 162通过在一个时钟周期内执行一条命令,可以达到临近1 /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个通道;内外中断源;上电复位和可编程的检测;内部可校准的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系列、系列。
而ATMEL公司新推出的90系列单片机内含高速闪存FLASH,是基于增加精简命令RISC(Reduced Instruction Set CPU)结构的单片机,简称AVR单片机,该系列单片机在汲取PIC及80的优点的基础上,做出了重大的改进。
因为本设计中的主CPU需要对温度数据举行运算及转换,因此普通的51系列CPU是很难胜任的,而且在图形显示中加入了星星闪动的动画和LONG的读取数据的动画,所以更是要求主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那样浮现固化失败的问题。
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举行在线仿真,否则是无法正确衔接的。
在挑选系统时钟源时,要正确配置熔丝位,熔丝位打算着系统采纳时钟源的方式,不能通过一般的编程在运行时更改,在调试之前应按照所选时钟源形式和唤醒方式,在仿真系统中正确配置熔丝位,使时钟源与熔丝位匹配。
3.2 DS18B20温度传感器设计
DS18B20作温度检测时用法的是单总线方式来传送命令和数据,这就要求传送时要有肯定精确的频率,对于18B20来说命令的精确度要达到微秒级,而假如AT-mega 162用法来编写,程序是达不到这么精确的,因此本设计加入了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。
4 结语
本文通过基于ATmega162介绍了他的特点和在温度检测中的应用实例,ATmega162具有其他AVR系列大部分产品的功能,又具有独绝技术,
配置全、功能强、牢靠性高、速度高、抗干扰性好、低功耗、高性价比、硬件结构容易、软件设计灵便、适用面广、价格低廉等优点,具
有一定的有用价值,在实际开发中将会发挥越来越大的作用。