欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    基于ATmega16的比赛专用秒表设计报告1.doc

    • 资源ID:3938223       资源大小:566KB        全文页数:30页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于ATmega16的比赛专用秒表设计报告1.doc

    XXXXXXX学院课程设计报告( 2011 - 2012年度第一学期)名 称: 单片机与嵌入式系统设计 题 目:基于ATmega16的比赛专用秒表设计学 号: 学生姓名: 指导教师: 成 绩: 日期:2011年12月25日基于单片机ATmega16的比赛专用秒表设计摘要:近几年来,人们越来越重视体育事业的发展,发展体育事业既可以促进本国人民练就强健体魄,又可以作为各国之间的竞争手段,体现各国实力。为了创造公平公正的体育竞争环境,必须对各种比赛项目的结果进行准确的记录。本文论述了基于AVR单片机的体育比赛专用秒表的设计与实现。该系统以AVR单片机ATmega16为硬件核心,通过内部计时器进行准确的计时,采用LCD显示屏作为辅助显示模块,显示记录的比赛成绩,当按下记录按键,会记录成绩,按下停止按键会显示记录的成绩。文中重点讲述系统的软硬件结构和功能特点,着重阐述了单片机及扩展电路的设计思路和实现方法。在目前的使用中,该系统能够可靠、稳定、准确的记录比赛时间,具有推广应用价值。关键词:AVR单片机;计时器;按键;LCD显示屏Design of the Competition Dedicated Stopwatch on ATmega16 AVR MicrocontrollerAbstract: In recent years, there is growing emphasis on sports development, sports development both for its own people trained to physical fitness, but also as a means of competition between countries, reflecting the national strength. In order to create a fair and just competitive sports environment, must be the result of a variety of events accurate records. This article discusses the AVR-based microcontroller dedicated sports stopwatch design and implementation. The system for the AVR microcontroller ATmega16hardware core, through the internal timer for accurate timing, using the LCD screen as a secondary display module, displaying the record game results, when the record button will record the results, press the stop button will be displayed record results. The article focuses on the structure and function of the system hardware and software features, focusing on the expansion of the circuit chip and the design ideas and implementation methods. Currently in use, the system can be reliable, stable and accurate record of playing time, with the application value.Keywords: AVR microcontroller; timer; buttons; LCD display 目 录摘要I第1章 绪 论11.1 课题目的及意义11.2 系统设计内容1第2章 系统概述32.1 系统设计主要原理32.2 系统硬件设计方案32.2.1 微控制器的选择32.2.2 显示方案的确定42.3 系统软件设计方案52.3.1 微控器软件设计方案6第3章 系统硬件设计实现93.1 主控制器最小系统93.1.1 ATmega16简介793.1.2 引脚图及引脚介绍103.1.3 单片机最小系统电路设计113.1.3.1 电源设计113.1.3.2 复位电路设计123.1.3.3 晶振电路设计133.1.3.4 串口通信电路设计143.2 LCD显示屏的显示电路设计15第4章 系统软件设计实现174.1 总体软件设计17总 结19参考文献20附录1 ATmega16的引脚图21附录2 系统设计部分程序22第1章 绪 论本章主要介绍本次设计的研究背景、目的与作用,以及在本次设计的主要内容和设计技术指标。1.1 课题目的及意义近年来随着计算机在社会领域的渗透,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。目前AVR单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。AVR单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,AVR单片机的应用如此广泛而又潜力,因而也不用质疑其生命力1。本课题需要完成一个完整系统的设计,涉及到电子技术、计算机应用等多学科知识,是一个硬软件相结合的设计性题目。本课题融知识性与趣味性于一体,提供了一个有力的了解小家电设计技术的平台,能提高检索文献资料的能力、电子系统设计的能力、实际动手的能力。而且可以通过这次设计,很好的掌握系统设计的工作流程、开发步骤;熟悉单片机开发的通用编程语言。1.2 系统设计内容本设计的题目是“基于单片机ATMega16的体育比赛专用秒表设计”。选择ATMega16单片机为系统的主控芯片,采用内部单片机计时器进行计时,通过按键进行控制记录数据和停止显示数据。 系统设计详细任务如下:(1)整体方案的确定:包括单片机的选型,用AVR单片机作为主控器,分析ATmegal16单片机与计时器等部件实现软、硬件接口的技术以及数据显示方案:熟悉湿度传感器工作原理,确定其与AVR单片机的接口设计方案。(2)数据显示模块设计:系统使用LCD显示,能够显示时间变化,并在按下停止先后显示出8组记录的数据。(3)AVR单片机最小系统的设计。实现所有的硬件、软件设计、系统整体调试、形成可以正常运行的产品为本次设计的最终目标。论文将从系统的设计总体方案;硬件、软件的设计实现等方面进行介绍。第2章 系统概述本章分为三个部分,主要介绍本次设计的系统的主要设计原理,给出硬件选择以及软件设计的最终方案。2.1 系统设计主要原理秒表是体育竞技中很重要的部分,根据采用的计时元件和记录方法的不同,其精度也不同,因而对时间数据采集的精度也不同,这样就给比赛的现场测试带来了很大的不便,我们在对计时器的研究和设计过程中查阅了大量的资料和成果,提出了能够实现精确测量并记录时间的系统设计方案。系统由单片机内部计时器进行计时,通过按键控制开始、记录数据和停止并显示数据,数据结果通过LCD显示屏进行显示,结果记录完之后可以选择清零重新计时。2.2 系统硬件设计方案2.2.1 微控制器的选择目前,再电子系统研究与设计中,常用的微控器有MC51单片机、PIC单片机、AVR单片机和ARM芯片。方案一:采用ARM作为微控器ARM 微处理器已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于ARM技术的微处理器应用约占据了32位RISC微处理器75以上的市场份额。但是,ARM技术往往需要第三方工具、软件的支持,且ARM系列处理器很少集成片上硬件资源,实际产品成本方面,ARM配置外设价格较高,PCB版也好设计,往往还需要考虑信号的完整性等,因此,对于初学者来说,使用起来不是很方便。方案二:采用PIC单片机作为微控器PIC单片机速度快,片内资源丰富,抗干扰能力强,价格便宜。但没有地址总线,不适宜做大系统,而且只能使用汇编指令,虽然筒单,但不适合写大程序。CPU采用RISC结构,分别仅有33,35,58条指令,采用Harvard双总线结构,运行速度快,低工作电压,低功耗,较大的输入输出直接驱动能力,一次性编程,小体积,适用于用量大、档次低、价格敏感的产品。方案三:采用AVR单片机作为微控器3AVR单片机采用的RISC优先选取使用频率最高的简单指令,避免复杂指令:并固定指令宽度,减少指令格式和寻址方式的种类,从而缩短指令周期,提高运行速度。AVR单片机的程序存储器和数据存储器是分离的,并且可对具有相同地址的程序存储器和数据存储器进行独立的寻址。在AVR单片机中,CPU执行当前指令时取出将要执行的下一条指令放入寄存器中,从而可以避免传统 MCS51系列单片机中多指令周期的出现。传统的MCS51系列单片机所有的数据处理都是基于一个累加器的,因此累加器与程序存储器、数据存储器之间的数据转换就成了单片机的瓶颈;在AVR单片机中,寄存器由32个通用工作寄存器组成,并且任何一个寄存器都可以充当累加器,从而有效地避免了累加器的瓶颈效应,提高了系统的性能。综上所述,AVR单片机与51单片机、PIC单片机相比运行效率高很多、芯片内部的Flsah、EEPROM、SRAM容量较大、全部支持在线编程擦写、每个I/O口都可以以推换驱动的方式输出高、低电平,驱动能力强、内部资源丰富,一般都集成AD、DA模数转换器;PWM;SPI、USART、TWI、I2C通信口;丰富的中断源等。现在比较流行的型号是ATmega8/16。所以,本设计选用ATmega16单片机作为主控芯片。2.2.2 显示方案的确定LED和LCD是目前普遍采用的两种显示技术。方案一:采用LED显示技术LED是发光二极管(Light Emitting Diode)的英文缩写,是一种固态的半导体器件,它可以直接把电转化为光。LED应用可分为两大类:一是LED单管应用,包括背光源LED,红外线LED等;另外就是LED显示屏。目前,中国在LED基础材料制造方面与国际还存在着一定的差距,但就LED显示屏而言,中国的设计和生产技术水平基本与国际同步。LED显示屏是由发光二极管排列组成的一显示器件。它采用低电压扫描驱动,具有耗电少、使用寿命长、成本低、亮度高、故障少、视角大、可视距离远等特点。方案二:采用LCD显示技术LCD是液晶显示屏的全称,主要有TFT、UFB、TFD、STN等几种类型的液晶显示屏。其主要特点是:低压应用,低驱动电压,固体化使用安全性和可靠性提高;平板化,又轻薄,节省了大量原材料和使用空间;低功耗,节省了大量的能源;品种多样,使用方便灵活、维修、更新、升级容易等许多特点。显示范围覆盖了从1英寸至40英寸范围内的所有显示器的应用范围以及投影大平面,是全尺寸显示终端;显示质量从最简单的单色字符图形到高分辨率,高彩色保真度,高亮度,高对比度,高响应速度的各种规格型号的视频显示器;显示方式有直视型,投影型,透视式,也有反射式。环保特性好,无辐射、无闪烁,对使用者的健康无损害。 简单地说,LCD与LED是两种不同的显示技术,LCD是由液态晶体组成的显示屏,而LED则是由发光二极管组成的显示屏。LCD显示器与LED显示器相比,LCD在亮度、功耗、重量等多方面,都更具优势。所以,在本设计中,采用LCD显示技术5。2.3 系统软件设计方案系统软件就是单片机应用软件。单片机应用软件主要实现时间的技术、按键的控制、LCD显示屏的显示等功能。系统软件部分的设计主要包括主程序和中断服务程序。其中主程序的功能是完成系统的初始化、按键的查询控制。中断服务程序根据中断源来编写需要执行的内容。系统的主程序流程图如下图图2-1所示:图2-1 系统主程序流程图2.3.1 微控器软件设计方案常用的单片机编程语言是汇编和C语言。方案一:使用汇编语言汇编语言(Assembly Language)是面向机器的程序设计语言。在汇编语言中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。汇编语言是面向具体机型的,它离不开具体计算机的指令系统,因此,对于不同型号的计算机,有着不同的结构的汇编语言,而且,对于同一问题所编制的汇编语言程序在不同种类的计算机间是互不相通的。汇编语言像机器指令一样,是硬件操作的控制信息,因而仍然是面向机器的语言,使用起来还是比较繁琐费时,通用性也差。汇编语言能够直接访问与硬件相关的存储器或I/O端口; 能够不受编译器的限制,对生成的二进制代码进行完全的控制;能够根据特定的应用对代码做最佳的优化,提高运行速度; 能够最大限度地发挥硬件的功能。但是还应该认识到,汇编语言是一种层次非常低的语言,它仅仅高于直接手工编写二进制的机器指令码,因此不可避免地存在一些缺点:编写的代码非常难懂,不好维护; 很容易产生Bug,难于调试;只能针对特定的体系结构和处理器进行优化;开发效率很低,时间长且单调;兼容性不好,与硬件关系非常紧密。因而不是很适合初学者的应用。方案二:使用C语言C语言的语法限制不太严格,对变量的类型约束不严格,影响程序的安全性,对数组下标越界不作检查等6。指针是C语言的一大特色,可以说C语言优于其它高级语言的一个重要原因就是因为它有指针操作可以直接进行靠近硬件的操作,但是C的指针操作也给它带来了很多不安全的因素。但是对于本次设计来还说,C语言具有以下优点:(1)简洁紧凑、灵活方便C语言一共只有32个关键字,9种控制语句,程序书写自由,主要用小写字母表示。它把高级语言的基本结构和语句与低级语言的实用性结合起来。C语言可以象汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。(2)运算符丰富C的运算符包含的范围很广泛,共有34个运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理。从而使C的运算类型极其丰富表达式类型多样化。(3)数据结构丰富C的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。能用来实现各种复杂的数据类型的运算。(4)C是结构式语言结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。(5)C语法限制不太严格,程序设计自由度大虽然C语言也是强类型语言,但它的语法比较灵活,允许程序编写者有较大的自由度。(6)C语言允许直接访问物理地址,可以直接对硬件进行操作因为既具有高级语言的功能,又具有低级语言的许多功能,能够象汇编语言一样对位、字节和地址进行操作,可以用来写系统软件。(7)C语言程序生成代码质量高,程序执行效率高一般只比汇编程序生成的目标代码效率低1020%。综合比较之后,本次设计采用方案二,即使用C语言作为微控制器的编程语言。第3章 系统硬件设计实现硬件是系统的载体与执行结构,硬件设计是本次设计的重点,主要设计传感器信号放大、采集、处理,显示处理,声光报警,执行电路设计,系统供电等多个部分。本章分为2节介绍系统的硬件设计实现。3.1 主控制器最小系统3.1.1 ATmega16简介7ATmega16单片机是1997年由ATMEL公司研发出的增强型内置Flash的RISC精简指令集高速8位单片机。该单片机具有AVR高性能、低功耗RISC结构,工作在8MHz时具有8MIPS的性能,同时片内16KB的在线可编程FLASH存储器,可擦除1000次以上,并且集成了512B的SRAM 和512 B在线可编程EEPROM。另一个显著的特点是自带8通道10位高精度的逐次逼近式A/D转换器,A/D引脚与PA口的引脚两者复用,可以通过程序指定来加以区别应用。另外,它还拥有很宽的工作电压范围,可以在2.76V之间正常运行,具备很强的适应性。AVR单片机具有良好的集成性能,采用低功率、非挥发的CMOS工艺制造,除具有低功耗、高密度的特点外,还支持低电压的联机Flash,EEPROM写入功能。AVR单片机还支持 Basic、C等高级语言编程。采用高级语言对单片机系统进行开发是单片机应用的发展趋势。对单片机用高级语言编程可很容易地实现系统移植,并加快软件的开发过程。ATmega16的主要性能参数及特性如下: 16K 字节可重擦写Flash闪存存储器,擦写寿命为10000次; 在16MHZ频率下速度为16MIPS的8位RISC结构单片机,内含硬件乘法器; 32个可编程的I/O口,40引脚PDIP封装,32个通用寄存器; 全静态工作; 8通道10位AD转换器,支持单端和双端差分信号输入,内带增益可编程运算放大器; 2个8位定时/计数器,1个16位定时/计数器,带捕捉、比较功能; 通过JTAG接口实现对Flash、EEPROM、熔丝位和锁定位的编程; 两个可编程的串行USART,可工作于主机/ 从机模式的SPI 串行接口。ATmega16可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式:空闲方式停止CPU的工作,但允许RAM、定时/计数器、串行通信口及中断系统继续工作;掉电方式保存RAM中的内容,但是振荡器停止工作并禁止其他所有部件工作到下一个硬件复位。3.1.2 引脚图及引脚介绍ATmega16的引脚图见附录1。VCC 电源正 GND 电源地端口A(PA7PA0) 端口A作为A/D 转换器的模拟输入端。端口A为8位双向I/O口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口A 处于高阻状态。端口B(PB7PB0) 端口B为8位双向I/O口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口B处于高阻状态。端口C(PC7PC0) 端口C为8位双向I/O口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口C 处于高阻状态。如果JTAG接口使能,即使复位出现引脚PC5(TDI)、PC3(TMS)与PC2(TCK)的上拉电阻被激活。端口D(PD7PD0) 端口D为8位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口D处于高阻状态。RESET 复位输入引脚。持续时间超过最小门限时间的低电平将引起系统复位。持续时间小于门限间的脉冲不能保证可靠复位。XTAL1 反向振荡放大器与片内时钟操作电路的输入端。XTAL2 反向振荡放大器的输出端。AVCC AVCC是端口A与A/D转换器的电源。不使用ADC时,该引脚应直接与VCC连接。使用ADC时应通过一个低通滤波器与VCC 连接。AREF A/D的模拟基准输入引脚。3.1.3 单片机最小系统电路设计在单片机硬件最小系统中,没有任何信号线的连接,只有电源到主板的电源连接,在判断的过程中通过电源指示灯及工作状态指示灯来判断这一核心组成部分是否可正常工作。ATmega16单片机的最小系统如下图图3-3所示。图3-3 单片机最小系统3.1.3.1 电源设计图3-4 ATmega16单片机电源单片机是一个电子器件,一个电子器件能够工作的第一个前提就是要有电源电源是一切电子器件工作的前提,对于单片机系统也不例外。AVR单片机最常用的电源电压是5V。ATmega16的电源电路设计如上图图3-4所示。3.1.3.2 复位电路设计ATmega16有5个复位源8:(1)上电复位电源电压低于上电复位门限VPOT时,MCU复位。上电复位(POR)脉冲由片内检测电路产生,POR电路保证器件在上电时复位。VCC达到上电门限电压后触发延迟计数器。在计数器溢出之前器件一直保持为复位状态。当VCC下降时,只要低于检测门限,RESET信号立即生效。(2)外部复位引脚RESET上的低电平持续时间大于最小脉冲宽度时MCU复位。外部复位由外加于RESET引脚的低电平产生。当复位低电平持续时间大于最小脉冲宽度时即触发复位过程,即使此时并没有时钟信号在运行。当外加信号达到复位门限电压VRST(上升沿)时,tTOUT延时周期开始。延时结束后MCU即启动。(3)看门狗复位看门狗使能并且看门狗定时器溢出时复位发生。看门狗定时器溢出时将产生持续时间为1个CK周期的复位脉冲。在脉冲的下降沿,延时定时器开始对tTOUT记数。(4)掉电检测复位掉电检测复位功能使能,且电源电压低于掉电检测复位门限VBOT时MCU即复位。BOD电路的开关由熔丝位BODEN控制。当BOD使能后(BODEN被编程),一旦VCC下降到触发电平以下(VBOT-,Figure 19),BOD复位立即被激发。当VCC上升到触发电平以上时(VBOT+,Figure19),延时计数器开始计数,一旦超过溢出时间tTOUT,MCU即恢复工作。(5)JTAG AVR复位复位寄存器为1时MCU复位。JTAG通过复位寄存器mcur,复位寄存器为1时MCU复位。通过JTAG指令AVR_RESET可以使JTAG复位寄存器置位,并引发MCU复位,并使 JTRF 置位。上电复位将使其清零,也可以通过写“0”来清除。本设计选用了最直接的复位形式,由于AVR单片机本身内部带有复位电路的优势,只需要接一个10K上拉电阻就可以完成复位电路的设计。为了可靠,可以加上一只0.1uF的电容以消除干扰和杂波,如下图图3-5所示:图3-5 单片机复位电路图S0RESETR010KC00.1uFD31N41483.1.3.3 晶振电路设计单片机内部的各种功能电路绝大多数是由数字电路构成的。数字电路的工作过程,尤其是时序逻辑电路的工作过程,离不开时钟脉冲信号,即时间基准信号,每一步细微的动作都是在一个共同的时间基准信号驱动之下完成的。作为时基发生器的时钟振荡电路,为整个单片机芯片内部各个部分电路的工作提供系统时钟信号,也在为单片机与其他外接芯片之间的通信以及与其他数字系统或者计算机系统之间通信,提供可靠的同步时钟信号。AVR单片机设计了4种类型的时基振荡方式可供选择:标准的晶体振荡器/陶瓷谐振器振荡方式XT;高频的晶体振荡器/陶瓷谐振器振荡方式HS(4MHz)以上;低频的晶体振荡器/陶瓷谐振器振荡方式LP(32.768kHz);外接电容元件的阻容振荡方式RC。在本设计中,由于需要考虑到通信时的波特率的设置,所以选用能产生较精确时钟的晶体振荡器(7.3728MHz)。晶振电路与单片机内部结构关系图如下图图3-6所示。为了由外部源驱动器件,当XTAL1被驱动时,XTAL2不能连接,如下图图3-7所示。XTAL2XTAL1GND外部时钟信号NC图3-6 晶振电路设计 图3-7 外部时钟驱动设置3.1.3.4 串口通信电路设计图3-8 串口通信电路使用串口的时候,需要连接跳线JP2,当1和2连接,3和4连接的时候处于PC与单片机通讯状态,当1和3连接,2和4不连接的时候,串口调试助手发什么数据,就能返回什么数据。3.2 LCD显示屏的显示电路设计设计中加入了LCD显示屏显示模块,用来实时显示相关数据的大小,以达到一个更加直观的效果。本设计采用了单片机直接驱动的方式来完成对测试数据的显示处理。LCD显示屏的显示电路设计电路图如下图图3-11所示:图3-11 LED数码管的显示电路设计电路图单片机I/O口输出引脚是PB口,为复用端口,在很大程度上节约了I/ O资源,简化了硬件的设计,使系统具有较高的集成度。第4章 系统软件设计实现系统软件包括单片机应用软件和PC机应用软件。单片机应用软件主要实现定时数据采集、数字信号处理、存储、显示、通信处理等功能;PC机应用软件主要是进一步处理下位机传输过来的数据,提供友好的监测界面,并进行数据的保存和历史查询等。4.1 总体软件设计系统软件设计总体流程框图如下图图4-1所示。图4-1 系统软件设计总体流程框图系统语言采用C语言编制,包括主程序和中断服务子程序。主程序的功能是完成系统的初始化、信号采集及处理、显示、湿度超限报警以及与上位机之间的通信。根据系统工作特点,程序采用结构化的软件设计方法。总 结本文论述了基于AVR单片机的比赛专用秒表的设计,实现了对时间的检测及记录存储。该设计有效地利用AVR单片机的内部资源,很好地把计时器模块、LCD显示模块组织起来,使得整个系统运行可靠,操作方便,测量误差在5%以内。实现了低功耗,高可靠性,操作方便。在目前的试用中,对该设计反映很好,它能够可靠、稳定、安全的记录时间,具有推广应用价值。从开始对整个题目的分析,到最后的设计完成整个系统的过程中,我对单片机技术和测控系统的原理及设计有了更深刻的认识。以ATmega16单片机为核心,结合接口电路理论和C语言知识设计出了本系统。在确定方案之后,对部分电路采取了试验版焊接测试,保证以后的电路可以实现联调。在基本确定了电路图之后,我们开始了对电路板的设计,考虑到整个产品要具良好的的集成性,我们将整个系统安置在一块板子上,并着重考虑了布局的设计、走线方式。在程序设计方面并没有遇到很大的问题,采取的是C语言完成所有的程序。但是在联机调试时仍遇到较大的问题,因为测试时仅对部分电路进行了测试,整机联调时并没有想象中的那么轻松。每个模块都单独编写程序进行调试,发现其中的硬件和软件问题,之后才进行修改、完善;当所有模块基本调试完成后,将所有的程序合成后进行整机联调。这样的调试是很费时间,加重了工作量,但是却保证了调试的质量。经过几个月的努力,虽然设计最终基本成功,但是整个系统也还有一些需要改进的地方。在设计过程中,我感觉学到了许多东西,并且把一些以前学的不好的知识又重新巩固了一遍,而且还加深了理解与认识。由于要查阅很多文献资料,还使我开阔了眼界,拓展了思路。实践中,更加熟练的掌握了Protel、Office等应用软件。通过完成设计,我初步明白了怎样把所学的知识运用到实践中来,终于能够做到学以致用,而且也使我的动手能力和实践能力有了很大的提高。 参考文献1 李泓. AVR单片机入门与实践M. 北京:北京航空航天大学出版社,2008:145-167.2 谭浩强. C程序设计(第三版)M. 北京:清华大学出版社,2005:37-55.3 丁化成. AVR单片机应用设计M. 北京:北京航空航天大学出版社,2002:24-31.4 赵亮. 单片机从入门到精通系列讲座(一)单片机最小系统及IO应用J. 电子制作,2008(2):75-78.5 张军. AVR单片机-C语言程序设计实例精粹M. 北京:电子工业出版社,2009:65-69.6 李广军. 微机系统原理与接口技术M. 成都:电子科技大学出版社,2005:87-101.7 刘斌儒,戴勇. 基于AVR单片机Mega16的电子时钟设计J. 国外电子元器件,2008(7):18-19.附录1 ATmega16的引脚图PIDP图示附录2 系统设计部分程序/* * 函数名称:void display() * 功 能:将时、分、秒等的数字装换为字符串并显示在LCD中 * 入口参数:无 * 出口参数:无 */ void display() /将时、分、秒等的数字装换为字符串并显示在LCD中 itoa(hour,str); strcat(time,str);strcatf(time,":"); /时间字符串中串上小时和':' itoa(minu,str);strcat(time,str);strcatf(time,":"); /时间字符串中串上分钟和':' itoa(sec,str);strcat(time,str);strcatf(time,":"); /时间字符串中串上秒数和':' itoa(t,str);strcat(time,str); /时间字符串中串上中断次数 lcd_clear(); /清屏 lcd_gotoxy(y1,x1); lcd_puts(time); /LCD上显示时间 strcpyf(time,""); / 清除本次时间,以备下次使用。 /* * 中断名称:计时器T/C0比较匹配清零中断 * 功 能:时间控制 */ interrupt TIM0_COMP void timer0_comp_isr(void)/ Place your code here if(+time_counter=10) time_counter=0; key_stime_ok = 1; / 到10ms if(+t=100) sec+;t=0; /定时时间为10ms,进100次中断为1s if(sec=60) minu+;sec=0; /秒数到60时,分钟数增1,秒数清零 if(minu=60) hour+;minu=0; /分钟数到60时,小时数增1,分钟数清零 display(); /在LCD上显示计时时间 /* * 中断名称:外部中断INT0 * 功 能:记录数据 */interrupt EXT_INT0 void ext_int0_isr(void) /INT0 用于按键记录8组数据 S3 count+; if(count=1) itoa(hour,str1); strcat(timecunchu1,str1);strcatf(timecunchu1,":"); /时间字符串中串上小时和':' itoa(minu,str1);strcat(timecunchu1,str1);strcatf(timecunchu1,":"); /时间字符串中串上分钟和':' itoa(sec,str1);strcat(timecunchu1,str1);strcatf(timecunchu1,":"); /时间字符串中串上秒数和':' itoa(t,str1);strcat(timecunchu1,str1); else if(count=2) itoa(hour,str1); strcat(timecunchu2,str1);strcatf(timecunchu2,":"); /时间字符串中串上小时和':' itoa(minu,str1);strcat(timec

    注意事项

    本文(基于ATmega16的比赛专用秒表设计报告1.doc)为本站会员(laozhun)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开