




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、摘要摘要随着科学技术的发展和微型计算机技术的广泛应用,数据采集监测已成为日益重要的检测技术。在现代工业中,多路数据采集已被广泛应用于工业和农业等等场合,因此对数据采集系统的许多方面,如采样率、分辨率、存储深度、数字信号处理速度、抗干扰能力等方面提出了越来越高的要求。目前常用的方式是在pc机中安装数据采集卡,它采集速率高,数据传输速度快,但是安装不方便,价格高,所以设计一种安装方便、价格低的实用数据采集系统很有必要。结合单片机的相关知识本论文设计和完成了基于atmega16avr单片机的多路数据采集系统的设计。系统可以采集多路信号,如电压、电流、频率和开关量等,在显示模块上准确显示,可以经过改进
2、应用在监控多路温度、湿度和压力等场合。系统的实现是利用mega16自带adc转换的强大功能,将模拟量等数据采集并传送到主机,然后送到12864液晶显示器上显示。多路数据采集系统最多可采集8路模拟数据,通过键盘可以选择采集相应的数据。另外,本装置还可以通过rs232接口与电脑连接,数据送到电脑后可以显示在屏幕上,有广大的应用前景。关键词单片机; 液晶显示器; 电位器; 数据采集abstractwith the development of science and technology and the range of micro-computer technology applications
3、becoming wider and wider, data collection has become increasingly important to monitor the detection technology. in modern industry, multi-channel data acquisition has been widely used in industry and agriculture, and so on. so the demand in many areasof the data collection system, such as the sampl
4、ing rate, resolution, memory depth, digital signal processing speed, anti-interference capability is geting increasingly high.now the commonly used method is to install data acquisition cards in pc, these cards have a high rate of collection and data transmission .but it is not convenient to install
5、.so it is necessary to design a inexpensive and practical data acquisition system . with the knowledge of mcu i have designed and completed a thesis on atmega16 avr microcontroller chip to control the multi-channel data acquisition system design. the purpose of this design is collecting multiple sig
6、nals, such as voltage, current, frequency and volume switch, accurately display module that can be improved in the application of multi-monitor temperature, humidity and pressure, and other occasions. its own system using the power of conversion, data acquisition and will be sent it to the host,then
7、 to 12864 lcd display.at most it can get up to 8 channels to collect information,which canrely on the keyboard to choice a kind of idea. in addition, the device can also connect rs232 interface with the computer. data can display on the screen after senting back to computer. there are a majority of
8、the application. keywords mcu; liquid crystal display; potentiometers; data acquisition不要删除行尾的分节符,此行不会被打印45- -目录目录摘要iabstractii第1章 绪论11.1 课题背景11.2 数据采集技术与特点11.2.1 数据采集技术分析11.2.2 数据采集的的特点21.3 数据采集技术的发展状况21.3.1 数据采集的的研究现状2第2章 系统总体方案设计62.1 系统方案论证62.1.1 电源模块的选择62.1.2 显示模块的选择62.1.3 键盘模块的选择72.2 系统总体方案设计9第
9、3章 系统硬件设计103.1 总体设计部分103.2 硬件电路设计部分113.2.1 mega16单片机113.2.2 输入电路设计113.2.3 12864液晶显示电路设计223.2.4 max232和串行口插座电路设计273.2.5 系统原理图29第4章 系统软件设计304.1 软件设计思想304.2 主程序设计304.3 a/d转换程序的设计314.4 串口程序设计324.5 显示程序设计34结论36致谢37参考文献38附录39附录千万不要删除行尾的分节符,此行不会被打印。在目录上点右键“更新域”,然后“更新整个目录”。打印前,不要忘记把上面“abstract”这一行后加一空行第4章 系
10、统软件设计第1章 绪论1.1 课题背景数据采集系统是结合基于计算机的测量软硬件产品来实现灵活的、用户自定义的测量系统,是指从传感器和其它待测设备等模拟和数字被测单元中自动采集信息的过程。在计算机广泛应用的今天,数据采集的重要性是十分显著的。它是计算机与外部物理世界连接的桥梁。各种类型信号采集的难易程度差别很大。实际采集时,噪声也可能带来一些麻烦。数据采集时,有一些基本原理要注意,还有更多的实际的问题要解决。随着电子技术的不断进步,芯片处理速度大幅提高,同时,接口技术的发展和软件的进步越来越快,当今的数据采集效率在各方面的应用都得到了飞速的提升数据采集。网络化制造系统中的信息化终端是在车间环境中
11、实施网络化制造的关键装置之一,而数据采集系统是实现制造企业整个生产过程的信息集成,实施综合自动化,以及网络化制造中设备层远程监控的基础。在实际应用中,数据采集常常和工业控制联系在一起,形成一套完整的数据采集监控系统。由于各种工业现场条件不同,对现场的数据采集与控制功能的要求也不尽相同,而且各种信息化终端采用的体系结构和设计方案都有很大的差异,因此如何在各种信息化终端的基础上灵活扩展数据采集与控制模块来满足现场需要具有很大的研究意义。1.2 数据采集技术与特点1.2.1 数据采集技术分析 在现有的资料中,多路数据采集系统一般由cpu模块、数据采集模块、数据输出模块、时钟模块、液晶显示模块、rs-
12、232通讯模块、can总线模块、devicenet模块、电源模块组成。主要设计了模拟量采集接口电路、cpu外围电路、通讯模块接口电路。其中典型的有为实现数据的定时采集和按时间日期保存数据而扩展了一片实时时钟日历芯片ds12887;为便于输入各种数据而扩展了键盘接口管理器件sk5278;为便于实时显示采集的数据及人机交互而扩展了中文液晶图文显示器;为便于将采集的数据传送给上位计算机进行数据的处理分析而使用max232扩展了rs-232接口,而大部分功能都由单片机芯片中实现。1.2.2 数据采集的的特点单片机系统采集的信号有模拟电压信号、模拟电流信号、pwm信号、数字逻辑信号等。现在,绝大多数传感
13、器的信号都是模拟量,电流和电压。所以模拟信号的采集应用最为广泛,处理过程也相对复杂。相对于模拟信号,pwm信号和数字逻辑信号的采集比较直接,单片机能够直接处理这类信号,无需额外的器件进行信号转换。1.3 数据采集技术的发展状况随着计算机技术的飞速发展和普及,数据采集系统迅速得到广泛应用,它渗透到工业、地质、医疗器械、通讯、遥感遥测等各个领域,为获取信息提供了良好的基础。在生产过程中应用这一系统,可实现对生产现场各种参数的采集、监视和记录,为安全生产、提高产品质量、以及降低成本和减少损失提供信息和手段。1.3.1 数据采集的的研究现状常用的数据采集系统有两种。一是以mcu为核心的数据采集系统,即
14、mcu+a/d形式。它的主要构成通常包括传感器、模拟多路开关、程控放大器、采样保持器,a/d转换器、mcu及特殊外设等组成部分。这类系统具有价格低廉、体积小、结构简单、功能强大、应用灵活、稳定可靠等许多优点,因而得到了人们充分的关注并发展成熟起来,现己广泛应用于工业控制、仪器仪表以及简单的通讯设备中;而且,由于功能的添加和技术改进,它们在这些领域还占有相当的数量。这种数据采集系统注重的是数据采集和控制的实时性,除了进行一些简单的数字处理之外,一般不进行大规模的数据存储,这是由单片机本身的架构所决定的。对于一些比较复杂的应用场合,比如通讯和控制领域,这种基于mcu的数据采集系统的应用就受到限制。
15、合具备相应能力的数据采集和控制的硬件模块。但是,由于各种信息化终端采用的体系结构和设计方案各有不同,要让信息化终端针对每种现场需求量身定制数据采集与控制模块不大现实,因为这需要针对不同的现场要求开发不同的硬件和软件,这样会大大增加产品的开发周期和成本,同时也不利于信息化终端的抗干扰和可靠性的设计。因此,如何在降低成本,保证信息化终端的可靠性,又能够灵活的适应各种工业现场对数据采集与控制功能不同要求的前提下,为各种信息化终端开发出能够灵活扩展的通用数据采集与控制模块成为本文重点研究的内容。目前关于多路数据采集系统已经有很多较为成熟的课题,集成度也很高。数据采集技术是一种广泛应用于信号检测、信号处
16、理、仪器仪表等领域的电子技术。目前,低速、低分辨率的数据采集技术已相当成熟,因而系统的组建也相对容易,而近年来,随着数字化技术的不断发展,数据采集技术呈现出速度更高、通道更多、数据量更大的发展态势,这种高速、高分辨率的数据采集系统存在很多实际技术问题,其关键技术在于高速a/d技术、抗干扰技术、数据的存储和传输技术、信号调理技术和接口技术等。随着pxi总线系统的产生,为研制作为自动测试系统的基本模块数据采集模块提供了非常理想的环境。二是以计算机为控制核心的数据采集系统,可归结为 pc+数据采集板卡的形式。自从ibm公司的个人计算机问世以来,pc及其兼容机的应用范围越来越广泛。它不再仅仅局限于科学
17、计算和事务管理,而是与基于pc的各种内总线的接口卡结合,逐渐被应用到实时数据采集等测控领域中。用于工业控制的pc采用了标准总线,包括工控标准总线std、传输位总线bit-bus, can总线、pc总线等总线系统。目前的数据采集板/卡一般都采用pc总线,可以插入主机内形成内插式工作方式。这些总线技术利用pc机强大的数据处理能力、丰富的软硬件资源,为数据的应用提供了非常有利的条件: a.用户环境好,系统投运时对操作人员的培训期短; b.软件开发便利,有许多成熟的支持程序和应用程序可利用和借鉴; c.维护支持环境好。 与前一种数据采集系统相比,pc+数据采集卡方式的数据采集和处理的速度比较快;但是p
18、c的接口资源有限,而且需要对接口卡的硬件资源进行合理配置,扩展难度较大。虽然后来推出的即插即用接口标准 (pci和isa pnp ),由基本输入输出系统和操作系统自动完成对接口卡的资源配置,使得功能扩展接口卡的使用变得相对简单方便,但仍然存在如下一些问题。第一,卡的配置必须停机,并且需要打开pc机箱进行安装和拆卸,使用仍然存在很大的不方便之处。第二,接口卡设备驱动程序的安装、调试,甚至正常运行过程都需要各种技术支持,特别是接口卡作为一种硬件设备插入pc后,要占用pc的各种硬件资源,其安装配置过程仍然需要人工干预。当扩展卡较多时,常常会出现因一块或多块插卡无法合理配置而不能正常工作的情形,严重时
19、甚至导致整个系统崩溃。第三,接口卡的质量高低、兼容性、以及驱动程序的可靠性直接影响计算机的寿命和系统的稳定性。 第四,对于笔记本电脑等小型pc很难对插卡接口进行扩展。 随着科学技术的进步发展,数据采集装置的性能不断提高。简单的说,数据采集装置已经历了四不发展阶段: (1)初期阶段 它由电磁机械结构的继电器多路开关,低性能的a/d转换器,以及由数字寄存译码电路及打印机组成的数据处理部件三者构成,而同步控制器是简单的顺序控制器。 (2)早期阶段 逐渐形成专用装置,通称巡回检测装置,各部件性能有较大改进,如输入切换开关的半导体化,控制器的功能复杂化,a/d转换器精度的提高等等,使这种装置的应用性能不
20、断提高,获得大量推广。(3)中期阶段 上述装置均为服务于某一特定测量对象的专用设备而缺少通用性,因而人们采用了更先进的应答式控制方式,创造了通用性很强,能适用于许多对象的装置。但无论是早期或中期的装置,都是结构复杂、体积庞大、价格昂贵、阻碍了更广泛的应用。 (4)近期阶段 由于计算机和微电子技术的发展,使数据采集装置进入了一个全新的阶段。有较早的上架安装演进到今天功能强大的模块化数据采集装置,它不但性能好、实用性强、功能多、并且体积小。具有代表性的是基于isa, pci, gpib, vxi, pxi等总线的数据采集模块,辅以软件便构成了功能强大的虚拟仪器。 本文由五章组成。第一章综述了数据采
21、集技术的简介、技术、特点和发展状况。第二章介绍系统的总体设计方案,其中包括有关设计的总体工作流程、系统方案的论证和总的系统框图。第三章介绍各硬件电路的设计。在本章中简要的介绍了atmega16单片机的功能、内部结构和外围电路,12864液晶显示屏、max232、db9针串行口各引脚的定义、时序图和与单片机的电路连接。第四章介绍软件的设计。本章主要是介绍c语言的应用和优势,描述了液晶显示、键盘、串口、读写时间的程序和画出各部分的程序框图。第五章对本设计的工作进行了概括和总结。第2章 系统总体方案设计2.1 系统方案论证2.1.1 电源模块的选择方案一:双电源供电。将继电器驱动电源与单片机及其周边
22、电路电源完全隔离,利用光电耦合器传输信号。方案二:所有器件采用单一5v电源。这样供电比较简单。经过上述分析,拟采用方案二,电源电路如图2-1所示。d1bridge10.1ufc30.1ufc4220uf/16vc1220uf/16vc2t1trans eqvinvoutgnd1lm7805gnd220v+-+5v图 2-1 电源电路 2.1.2 显示模块的选择方案一:通过单片机,直接驱动led。led应用可分为两大类:一是led单管应用,包括背光源led,红外线led等;另外就是led显示屏。led显示屏是由发光二极管排列组成的一显示器件。它采用低电压扫描驱动,优点是:使用寿命长、成本低、亮度
23、高、故障少、视角大、电路结构简单、可视距离远等。 缺点是:体积大,功耗和散热量高(led与lcd的功耗比大约为10:1)、占用的io口数量多,编程比较复杂。方案二:通过单片机,直接驱动lcd。其工作原理就是利用液晶的物理特性:通电时排列变得有序,使光线容易通过;不通电时排列混乱,阻止光线通过。 lcd的好处有: 与led相比,lcd的优点主要包括零辐射、低功耗、散热小、体积小、图像还原精确、字符显示锐利、占用的io口数量少等。 缺点是:价格昂贵。经过上述分析,在本设计中,显示电压时最少要用四个led,这样最少也需要12个io口,如果用lcd显示只需要3个io口,还有就是从编程的角度考虑,lcd
24、的编程比较简单和易于管理,拟采用方案二。2.1.3 键盘模块的选择方案一:矩阵式键盘。矩阵式键盘由行线和列线组成,按键位于行、列线的交叉点上,其结构如图2-4所示。图 2-4矩阵式键盘电路矩阵式键盘中,行、列线分别连接到按键开的两端,行线通过上拉电阻接到5v上。当无键按下时,行线处于高电平状态;当有键按下时,行、列线将导通,此时,行线电平将由与此行线相连的列线电平决定。这是识别按键是否按下的关键。然而,矩阵键盘中的行线、列线和多个键相连,各按键按下与否均影响该键所在行线和列线的电平,各按键间将相互影响,因此,必须将行线、列线信号配合起来作适当处理,才能确定闭合键的位置。由图可知,一个44的行、
25、列结构可以构成一个含有16个按键的键盘,显然,在按键数量较多时,矩阵式键盘较之独立式按键键盘要节省很多i/o口。方案二:独立式按键。单片机控制系统中,往往只需要几个功能键,此时,可采用独立式按键结构。独立式按键电路如图2-3所示。独立式按键是直接用i/o口线构成的单个按键电路,其特点是每个按键单独占用一根i/o口线,每个按键的工作不会影响其它i/o口线的状态。此外,上拉电阻保证了按键断开时,i/o口线有确定的高电平。当i/o口线内部有上拉电阻时,外电路可不接上拉电阻。独立式按键软件常采用查询式结构。先逐位查询每根i/o口线的输入状态,如某一根i/o口线输入为低电平,则可确认该i/o口线所对应的
26、按键已按下,然后,再转向该键的功能处理程序。独立式按键电路配置灵活,软件结构简单,但每个按键必须占用一根i/o口线。 图 2-3 独立式按键电路经过上述分析,本设计单片机所用按键少,拟采用方案二。2.2 系统总体方案设计本次多路数据采集系统的设计,主要是以atmega16单片机为控制核心,由多路模拟量输入、频率量输入、开关量输入、12864液晶显示模块、键盘模块、max232转换模块和单片机七个部分组成。本设计主要研究的是从采集多路输入量,然后通过单片机送入12864液晶屏上准确显示,由于采集信号时有干扰,为了能够获得更准确的结果,本设计采取了前端调整电路,同时,还可以通过按键控制采集指定的那
27、路信号。系统框图如图2-4。多路模拟量输入主控制器atmega16l12864液晶显示模块max232 转换模块频率量输入开关量输入computer键盘电路图 2-4 系统框图第3章 系统硬件设计3.1 总体设计部分本系统应具有如下功能:(1)可实现模拟量8路单端输入,通道循环扫描;(2)可程控量程转换;(3)可选的多种触发方式;其主要性能指标如下:(1)8通道单端信号输入,最高采样率200ksps;(2)分辨率:10bits;(3)准确度:0.01%;(4)输入信号电压范围:0-+o.1v, 0-+1v, 0-+2v及0-+5v四种方式可程控选择。电路设计的原则有以下几点:(1)软硬结合。在
28、单片机应用系统中,许多硬件能完成的功能也可以由软件完成。用软件来实现的硬件功能可以减少硬件电路,但响应时间则比硬件实现要长的多,而且占用许多cpu的执行时间,且部分算法的实现往往非常复杂。在考虑硬件软化是需要考虑这些因素。(2)选用典型的芯片促进硬件系统的标准化和模块化。(3)全面规划系统资源,再进行系统开发是要考虑系统的扩展,以利于系统的二次开发。(4)信号兼容性。考虑设计好的单元电路之间接口信号的类型,如ttl信号与rs-232信号的转换、高速信号与低速信号的缓冲等等。根据以上原则,进行硬件设计。3.2 硬件电路设计部分3.2.1 mega16单片机本设计选用atmega16单片机作为系统
29、的cpu。atmega16是基于增强的avr risc结构的低功耗8位cmos微控制器。由于其先进的指令集以及单时钟周期指令执行时间,atmega16的数据吞吐率高达1mipsmhz,从而可以缓减系统在功耗和处理速度之间的矛盾。avr内核具有丰富的指令集和32个通用工作寄存器。所有的寄存器都直接与算逻单元(alu)相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。这种结构大大提高了代码效率,并且具有比普通的cisc微控制器最高至10倍的数据吞吐率。产品特性: (1)131条指令,大多数指令执行时间为单个时钟周期(2)32个8位通用工作寄存器(3)全静态工作(4)工作于16mhz
30、时性能高达16mips(5)只需两个时钟周期的硬件乘法器atmega16还配有16k字节的系统内可编程flash(具有同时读写的能力,即rww),512字节eeprom,1k字节sram,32个通用i/o口线,32个通用工作寄存器,用于边界扫描的jtag接口,支持片内调试与编程,三个具有比较模式的灵活的定时器/计数(t/c),片内/外中断,可编程usart,有起始条件检测器的通用串行接口,8路10位具有可选差分输入级可编程增益(tqfp封装)的adc,具有片内振荡器的可编程看门狗定时器,一个spi串行端口,以及六个可以通过软件进行选择的省电模式。工作于空闲模式时cpu停止工作,而usart、两
31、线接口、a/d转换器、sram、t/c、spi端口以及中断系统继续工作;掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止工作;在省电模式下,异步定时器继续运行,允许用户保持一个时间基准,而其余功能模块处于休眠状态;adc噪声抑制模式时终止cpu和除了异步定时器与adc以外所有i/o模块的工作,以降低adc转换时的开关噪声;standby模式下只有晶体或谐振振荡器运行,其余功能模块处于休眠状态,使得器件只消耗极少的电流,同时具有快速启动能力;扩展standby模式下则允许振荡器和异步定时器继续工作。本芯片是以atmel高密度非易失性存储器技术生产的。片内isp flash允许程
32、序存储器通过isp串行接口,或者通用编程器进行编程,也可以通过运行于avr内核之中的引导程序进行编程。引导程序可以使用任意接口将应用程序下载到应用flash存储区(application flash memory)。在更新应用flash存储区时引导flash区(boot flash memory)的程序继续运行,实现了rww操作。通过8位risccpu与系统内可编程的flash集成在一个芯片内,atmega16成为一个功能强大的单片机,为许多嵌入式控制应用提供了灵活而低成本的解决方案。jtag接口符合jtag标准的边界扫描功能支持扩展的片内调试功能。通过jtag接口实现对flash、eepro
33、m、熔丝位和锁定位的编程外设特点:(1)两个具有独立预分频器和比较器功能的8位定时器/计数(2)一个具有预分频器、比较功能和捕捉功能的16位定时器/计数(3)具有独立振荡器的实时计数器rtc(4)四通道pwm(5)8路10位adc,8个单端通道(6)tqfp封装的7个差分通道2个具有可编程增益(1x,10x,或200x)的差分通道:面向字节的两线接口两个可编程的串行usart可工作于主机/从机模式spi串行接口具有独立片内振荡器的可编程看门狗定时器片内模拟比较器atmega16的引脚图如图3-1。图3-1 atmega16的芯片图引脚说明如下:vcc:数字电路的电源gnd:地端口a(pa7pa
34、0): 端口a做为a/d转换器的模拟输入端。端口a为8位双向i/o口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口a处于高阻状态。端口b(pb7pb0): 端口b为8位双向i/o口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口b处于高阻状态。端口b也可以用做其他不同的特殊功能。端口c(pc7pc0): 端口c为
35、8位双向i/o口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口c处于高阻状态。如jtag接口使能,即使复位出现引脚pc5(tdi)、pc3(tms)与pc2(tck)的上拉电阻被激活。端口c也可以用做其他不同的特殊功能。端口d (pd7pd0): 端口d为8位双向i/o口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起
36、振,端口d处于高阻状态。端口d也可以用做其他不同的特殊功能。reset:复位输入引脚。持续时间超过最小门限时间的低电平将引起系统复位。持续时间小于门限间的脉冲不能保证可靠复位。xtal1: 反向振荡放大器与片内时钟操作电路的输入端。xtal2:反向振荡放大器的输出端。avcc: avcc是端口a与a/d转换器的电源。不使用adc时,该引脚应直接与v连接。使用avcc时应通过一个低通滤波器与vcc连接。aref: a/d的模拟基准输入引脚。结构综述avr结构的方框图 图3-2 avr结构的方框图为了获得最高的性能以及并行性,avr采用了harvard结构,具有独立的数据和程序总线。程序存储器里的
37、指令通过一级流水线运行。cpu在执行一条指令的同时读取下一条指令(在本文称为预取)。这个概念实现了指令的单时钟周期运行。程序存储器是可以在线编程的flash。快速访问寄存器文件包括32个8位通用工作寄存器,访问时间为一个时钟周期。从而实现了单时钟周期的alu操作。在典型的alu操作中,两个位于寄存器文件中的操作数同时被访问,然后执行运算,结果再被送回到寄存器文件。整个过程仅需一个时钟周期。寄存器文件里有6个寄存器可以用作3个16位的间接寻址寄存器指针以寻址数据空间实现高效的地址运算。其中一个指针还可以作为程序存储器查询表的地址指针。这些附加的功能寄存器即为16位的x、y、z寄存器。alu支持寄
38、存器之间以及寄存器和常数之间的算术和逻辑运算。alu也可以执行单寄存器操作。运算完成之后状态寄存器的内容得到更新以反映操作结果。程序流程通过有/无条件的跳转指令和调用指令来控制,从而直接寻址整个地址空间大多数指令长度为16位,亦即每个程序存储器地址都包含一条16位或32位的指令。 tdi端口c,bit5 tdi,jtag测试数据输入:串行输入数据移入指令寄存器或数据寄存器(扫描链)。当jtag接口使能,该引脚不能作为i/o引脚。tdo端口c,bit4 tdo,jtag测试数据输入:串行输入数据移入指令寄存器或数据寄存器(扫描链)。当jtag接口使能,该引脚不能作为i/o引脚。td0引脚在除ta
39、p状态情况外为三态,进入移出数据状态。tms端口c,bit3 tms,jtag测试模式选择:该引脚作为tap控制器状态工具的定位。当jtag接口使能,该引脚不能作为i/o引脚。tck端口c,bit2 tck,jtag测试时钟:jtag工作在同步模式下。当jtag接口使能,该引脚不能作为i/o引脚。计数器单元8位t/c的主要部分为可编程的双向计数单元。图3-3计数器单元方框图。 图3-3 计数器单元方框图信号说明(内部信号):count使tcnt0加1或减1。direction选择加操作或减操作。clear清除tcnt0(将所有的位清零)。top表示tcnt0已经达到了最大值。bottom表示t
40、cnt0已经达到了最小值(0)。根据不同的工作模式,计数器针对每一个clk实现清零、加一或减一操作。clk可以由t0t0内部时钟源或外部时钟源产生,具体由时钟选择位cs02:0确定。没有选择时钟源时 (cs02:0=0)定时器即停止。但是不管有没有clk,cpu都可以访问tcnt0。cpu写操t0作比计数器其他操作(如清零、加减操作)的优先级高。计数序列由t/c控制寄存器(tccr0)的wgm01和wgm00决定。计数器计数行为与输出比较oc0的波形有紧密的关系。t/c溢出中断标志tov0根据wgm01:0设定的工作模式来设置。tov0可以用于产生cpu中断。bit7foc0:强制输出比较fo
41、c0仅在wgm00指明非pwm模式时才有效。但是,为了保证与未来器件的兼容性,在使用pwm时,写tccr0要对其清零。对其写1后,波形发生器将立即进行比较操作。比较匹配输出引脚oc0将按照com01:0的设置输出相应的电平。要注意foc0类似一个锁存信号,真正对强制输出比较起作用的是com01:0的设置。foc0不会引发任何中断,也不会在利用ocr0作为top的ctc模式下对定时器进行清零的操作。读foc0的返回值永远为0。bit6,3wgm01:0:波形产生模式。这几位控制计数器的计数序列,计数器的最大值top,以及产生何种波形。t/c支持的模式有:普通模式,比较匹配发生时清除计数器模式(c
42、tc),以及两种pwm模式。 bit5:4com01:0:比较匹配输出模式这些位决定了比较匹配发生时输出引脚oc0的电平。如果com01:0中的一位或全部都置位,oc0以比较匹配输出的方式进行工作。同时其方向控制位要设置为1以使能输出驱动器。当oc0连接到物理引脚上时,com01:0的功能依赖于wgm01:0的设置。table39给出了当wgm01:0设置为普通模式或ctc模式时com01:0的功能。bit2:0cs02:0:时钟选择。用于选择t/c的时钟源。通过t/c寄存器可以直接对计数器的8位数据进行读写访问。对tcnt0寄存器的写访问将在下一个时钟阻止比较匹配。在计数器运行的过程中修改t
43、cnt0的数值有可能丢失一次tcnt0和ocr0的比较匹配。输出比较寄存器包含一个8位的数据,不间断地与计数器数值tcnt0进行比较。匹配事件可以用来产生输出比较中断,或者用来在oc0引脚上产生波形。bit1ocie0:t/c0输出比较匹配中断使能。当ocie0和状态寄存器的全局中断使能位i都为”1”时,t/c0的输出比较匹配中断使能。当t/c0的比较匹配发生,即tifr中的ocf0置位时,中断服务程序得以执行。bit0toie0:t/c0溢出中断使能。当toie0和状态寄存器的全局中断使能位i都为”1”时,t/c0的溢出中断使能。t/c0产生出,即tifr中的tov0位置位时,中断服务程序得
44、以执行。bit1ocf0:输出比较标志0。当t/c0与ocr0(输出比较寄存器0)的值匹配时,ocf0置位。此位在中断服务程序里硬件清零,也可以对其写1来清零。当sreg中的位i、ocie0t/c0比较匹配中断使能ocf0都置位时,中断服务程序得到执行。bit0tov0:t/c0溢出标志。当t/c0溢出时,tov0置位。执行相应的中断服务程序时此位硬件清零。此外,tov0也可以通过写1来清零。当sreg中的位i、toie0t/c0溢出中断使能)tov0都置位时,中断服务程序得到执行。在相位修正pwm模式中,当t/c0在0x00改变记数方向时,tov0置位。串行外设接口串行外设接口spi允许at
45、mega16和外设或其他avr器件进行高速的同步数据传输。atmega16有一个10位的逐次逼近型adc。adc与一个8通道的模拟多路复用器连接,能对来自端口 a 的 8 路单端输入电压进行采样。单端电压输入以 0v (gnd) 为基准。器件还支持 16 路差分电压输入组合。两路差分输入 adc1、 adc0 与 adc3、 adc2有可编程增益级,在 a/d 转换前给差分输入电压提供 0db(1x)、20db(10x) 或 46db(200x)的放大级。七路差分模拟输入通道共享一个通用负端 adc1),而其他 adc 输入可做为正输入端。如果使用 1x 或 10x 增益,可得到 8 位分辨率
46、。如果使用 200x 增益,可得到 7 位分辨率。adc包括一个采样保持电路,以确保在转换过程中输入到adc的电压保持恒定。adc 由 avcc 引脚单独提供电源。 avcc 与 v之间的偏差不能超过 0.3v。标称值为 2.56v的基准电压,以及 avcc,都位于器件之内。基准电压可以通过在aref引脚上加一个电容进行解耦,以更好地抑制噪声。2. atmega16单片机的晶体振荡器xtal1和xtal2分别为用作片内振荡器的反向放大器的输入和输出,如图3-5所示。这个振荡器瓷谐振器。熔丝位ckopt 用来选择这种放大器模式的其中之一。当 ckopt被编程时振荡器在输出引脚产生满幅度的振荡,这
47、种模式适合于噪声环境,以及需要通过 xtal2 驱动第二个时钟缓冲器的情况,而且这种模式的频率范围比较宽。当保持 ckopt为未编程状态时,振荡器的输出信号幅度比较小,其优点是大大降低了功耗,但是频率范围比较窄,而且不能驱动其他时钟缓冲器。对于谐振器, ckopt 未编程时的最大频率为8 mhz,ckopt 编程时为16mhz。c1和c2的数值要一样。3. atmega16单片机的复位复位 复位时所有的 i/o 寄存器都被设置为初始值,程序从复位向量处开始执行。复位向量处的指令必须是绝对跳转jmp指令,以使程序跳转到复位处理例程。如果程序永远不会使能中断,则中断向量可以由一般的程序代码所覆盖。
48、复位源生效时 i/o 端口立即复位为初始值,不需要任何时钟的辅助。当所有的复位信号消失之后,延迟计数器被激活,从而延长了内部复位,并使得在 mcu正常工作之前电源达到稳定的电平。延迟计数器的溢出时间通过熔丝位 cksel 由用户设定。复位源atmega16有5个复位源:(1)上电复位。电源电压低于上电复位门限v时,potmcu复位。(2)外部复位。引脚reset上的低电平持续时间大于最小脉冲宽度时mcu复位。(3)看门狗复位。看门狗使能并且看门狗定时器溢出时复位发生。(4)掉电检测复位。掉电检测复位功能使能,且电源电压低于掉电检测复位门限v时botmcu即复位。(5)jtagavr复位。复位寄
49、存器为1时mcu复位。图3-5是单片机的连接图。图3-5 单片机的连接图3.2.2 输入电路设计op07构成同相放大器,对输入信号进行一级放大。r2、c1构成一阶低通滤波器,对输入信号中的噪声进行滤波。放大器的电压增益:低通滤波器的截止频率:图3-6 调整电路模拟输入端采用电位器。如图3-7。图3-7 模拟输入端3.2.3 12864液晶显示电路设计液晶显示模块是 12864点阵的汉字图形型液晶显示模块,可显示汉字及图形,内置国标gb2312 码简体中文字库(16x16 点阵)、128 个字符(8x16 点阵)及 64x256 点阵显示 ram(gdram)。可与 cpu 直接接口,提供两种界
50、面来连接微处理机:8-位并行及串行两种连接方式,本设计中采用串行方式,如图3-8是12864与atmega16串行接口电路图,图3-4是12864串行连接时序图。 图3-8液晶屏的串行接口图3-9串行连接时序图1.引脚说明,如表3-2所示:表3-2 12864引脚说明引脚方向名称说明1-vss电源负极2-vdd电源正极 (+5v)3-volcd 偏压输入(悬空)4h/lrs(cs)数据/命令选择端(片选信号输入)5h/lr/(std)读/写控制信号(串行数据输入)6h/le(sclk)使能信号(串行移位脉冲输入)7-14i/odb0-db7数据0-数据715h/lpsbh:并行数据模式l:串行
51、数据模式16、18-ncnc17h/l/rst复位端(l:复位)19-bla背光源正极20-blk背光源负极2.12864指令集12864点阵汉字图形型液晶显示模块的有一套用户指令集,这套指令集的具体功能介绍如下:(1)清除显示(指令代码为 01h):功能为清除显示屏幕,把 ddram 位址计数器调整为“00h”。(2)位址归位(02h):功能为把 ddram 位址计数器调整为“00h”,游标回原点,该功能不影响显示 ddram。(3)点设定(07h/04h/05h/06h):功能为设定光标移动方向并指定整体显示是否移动。 i/d=1 光标右移,i/d=0 光标左移; sh=1且ddram为写
52、状态,整体显示移动,方向由 i/d 决定(i/d=1 左移,i/d=0 右移);sh=0 或 ddram 为读状态,整体显示不移动。(4)显示状态 开/关(08h/0ch/0eh/0fh):功能为d=1,整体显示开;c=1,游标开;b=1,游标位置开。(5)游标或显示移位控制(10h/14h/18h/1ch):功能10h/14h表示光标左/右移动;18h/1ch表示整体显示左/右移动,光标跟随移动,ac 值不变。(6)功能设定(36h/30h/34h):功能为dl=1(必须设为 1);re=1,表示扩充指令集动作;re=0,表示基本指令集动作。“re”为基本指令集与扩充指令集的选择控制位元,当
53、变更“re”位元后,往后的指令集将维持在最后的状态,除非再次变更“re”位元,否则使用相同指令集时,不需每次重设“re”位元。(7)设定 cgram 位址(40h-7fh):功能为设定cgram位址到位址计数器(ac)。(8)设定ddram位址(80h-9fh):功能为设定ddram位址到位址计数器(ac)。(9)读取忙碌状态(bf)和位址(bf=1, 状态忙):功能为读取忙碌状态(bf)可以确认内部动作是否完成,同时可以读出位址计数器(ac)的值。当模块在接受指令前,微处理顺必须先确认模块内部处于非忙碌状态,即读取 bf标志时 bf需为0,方可接受新的指令;如果在送出一个指令前并不检查 bf
54、 标志,那么在前一个指令和这个指令中间必须延迟一段较长的时间,即是等待前一个指令确实执行完成。(10)写资料到 ram:功能为写入资料到内部的 ram。(11)读出ram的值:功能为从内部 ram 读取资料。(12)待命模式(01h):功能为进入待命模式,执行其他命令都可终止待命模式。(13)卷动位址或 iram 位址选择(02h/03h):功能为sr=1,允许输入卷动位址;sr=0,允许输入 iram 位址。(14)反白选择(04h05h):功能为选择 4 行中的任一行作反白显示,并可决定反白的与否。(15)睡眠模式(08h/0ch):功能为sl=1,脱离睡眠模式 ;sl=0,进入睡眠模式。
55、(16)扩充功能设定(36h/30h/34h):功能为re=1,扩充指令集动作;re=0,基本指令集动作 ;g=1,绘图显示开;g=0,绘图显示关。(17)设定 iram 位址或卷动位址(40h-7fh):功能为sr=1,ac5ac0为垂直卷动位址;sr=0,ac3ac0写iconram位址。(18)设定绘图ram位址(80h-ffh):功能为设定 gdram 位址到位址计数器(ac)。3.12864显示步骤显示资料ram提供 642 个位元组的空间,最多可以控制4 行16 字(64 个字)的中文字型显示,当写入显示资料 ram 时,可以分别显示cgrom、hcgrom 与 cgram 的字型
56、;st7920a可以显示三种字型,分别是半宽的hcgrom字型、cgram字型及中文cgrom字型,三种字型的选择,由在ddram 中写入的编码选择,在 0000h0006h的编码中将自动的结合下一个位元组,组成两个位元组的编码达成中文字型的编码(a140d75f)。3.2.4 max232和串行口插座电路设计1max232芯片说明由于电脑和单片机的电平是不一样的,因此两者要进行数据交换,必须采用相应的电平转换电路。用的最多的就是rs232通讯方式,采用max232芯片即可完成。uarto使用的rs232电平转换芯片是美信公司生产的max232cpe, max232cpe引脚图如图3-10所示。图3-10 max23
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 船舶用纺织品考核试卷
- 呼伦贝尔民族风情园旅游策划及概念性规划
- 狂犬病预防知识课件
- 耕地保护知识考试试题及答案
- 初级车工考试试题及答案
- 阜阳叉车考试试题及答案
- 电工证书考试试题及答案
- 干部宪法考试试题及答案
- 父亲班会课件
- 二级司炉考试试题及答案
- 武夷山市社区工作者招聘真题2024
- 2025河南郑州航空港科创投资集团社会招聘40人笔试参考题库附带答案详解
- 2025苏州市室内设计合同范本
- 《经络穴位的理论与实践》
- 工程合同挂靠协议书范本
- 沈阳市东北大学非教师岗位招聘考试真题2024
- 高校宿管培训
- 建筑施工行业安全生产责任保险
- 2025年护士执业资格真题答案解析
- 2025年03月国家卫生健康委统计信息中心公开招聘人才派遣1人笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 行政管理本科毕业论文-数字政府建设背景下的行政文化转型探析
评论
0/150
提交评论