(完整版)单片机倒计时秒表毕业课程设计

合集下载

秒表(跑表)-课程设计-单片机

秒表(跑表)-课程设计-单片机

第一章设计的内容、要求及目的1.1设计内容本课题以单片机为核心,要求设计和制作一个秒表,实现计时功能。

开始时,全显示“0”,自行设计按钮,要求第1次按下按钮后就开始计时,计时精度最好为0.01秒;第2次按按钮后,计时停止,此时可读取计时数值;第3次按按钮后,计时归零,全显示“0”。

此为基本要求,学生可根据自己的创意添加相应扩张,完善或者添加部分功能。

1.2设计要求1.设计方案要合理、正确;2.系统硬件设计;3.完成必要元器件选择;4.系统软件设计及调试;5.写出设计报告。

1.3目的及意义要求通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课程的应用进一步的了解。

同时要求掌握定时器、外部中断的设置和编程原理。

此外,还希望通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。

该实验通过单片机的定时器/计数器定时和计数原理,设计简单的秒表计时系统,拥有正确的计时、暂停、清零功能,并同时可以用数码管或者液晶显示器显示,在现实生活中应用广泛,比如说体育项目中的跑步竞赛计时,因此具有现实意义。

第二章 系统方框图与工作原理2.1 系统方框图秒表系统主要由单片机、显示电路,控制按钮等组成。

硬件系统比较简单,其系统方框图如下:图1 系统构成框图2.2 系统工作原理秒表系统比较简单,因此,实施了相应扩展,显示器采用了液晶显示器取代LED 数码管显示器。

同时,添加一个控制按钮,实现可计10个计数值的功能。

主要硬件部分与逻辑功能如下: 秒表系统主要用到的是一个内部定时器,如T0,每隔10MS 产生一次中断,实现秒表计时的“跑动”;一个外部中断,用于控制按钮,控制的实现由软件判定来实现;此外,就是一个显示电路,由内存读取需要显示的数值传输给显示器循环显示。

主要逻辑和控制均由51单片机的软件编程来实现。

对于内部定时器,为了保证计时要求,保证计时精度,步进定为10MS,51单片机系统内部定时器T0产生中断,定时时间为10MS,每次中断重写计数初值。

单片机秒表课程设计

单片机秒表课程设计

单片机课程设计学生姓名_____________________ 专业班级_____________________ 学号________________________1课程设计的目的及要求1.1 课程设计的目的1.2 课程设计的任务1.3 课程设计的要求2设计的方案及论证2.1方案设计2.2方案选择2.3方案确定 3硬件电路设计4软件设计4.1主要模块流程图4.2程序的主要模块5电路仿真6电路的焊接与调试6.1电路的焊接6.2电路的调试7总结11 参考文献12 附录1:总体电路原理图13 附录2:元器件清单14 附录3:编码程序15-LX. —1—刖言近年来随着科技的飞速发展,单片机的应用正在不断的走向深入, 同时带动着传统控制检测日新月异更新。

在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面的知识是不够的,还要根据具体的硬件结构,以及针对具体的应用对象的软件结合,加以完善。

人们在日常生活中,有很多时候要精确地计算时间,但往往因为人为因素造成人们不愿意看到的误差。

本设计利用AT89C51单片机的定时器/计数器定时和记数的原理,使其能精确计时。

计时精度达到0.01s,P1 口P2 口接数码管显示功能,P3.4、P3.5、P3.6、P3.7分别接四个按钮开关,分别实现开始、暂停、清零、保存、读取的功能。

显示电路由两个四位共阴极数码管组成。

电子秒表精确度的提高,使它的运用越来越广泛,它解决了传统的由于计时精度不够造成的误差和不公平性是各种体育竞赛的必备设备之一。

1课程设计的目的及要求1.1课程设计的目的(1)掌握51单片机的基本使用方法和相关电子器件的应用。

(2)掌握键盘的使用,灵活运用中断。

(3)掌握Proteus的仿真与调试。

(4)秒表具有启动/停止、保存、读取、复位功能。

(5)单片机为控制核心,实现方案设计、电路的设计、程序设计,并在PROTEUS电子设计平台实现仿真。

单片机秒表课程设计 (3)

单片机秒表课程设计 (3)

单片机秒表课程设计1. 引言秒表是一种常用的计时工具,可以用来测量时间的精确度。

在本课程设计中,我们将使用单片机来设计一个简单的秒表。

本文档将详细介绍该秒表的设计思路、硬件和软件实现以及测试结果。

2. 设计思路我们的设计目标是实现一个简单的秒表,包括计时、暂停和复位功能。

我们将采用基于单片机的设计,使用定时器和中断来实现计时。

具体的设计思路如下:•使用微控制器作为核心控制单元,我们选择XXXX型号的单片机。

•使用定时器模块来计时,通过设置定时器的计数频率来控制计时的精确度。

•使用外部中断按钮来控制计时的开始、暂停和复位操作。

•使用LED显示屏来显示计时结果。

3. 硬件设计3.1 硬件连接在硬件设计方面,我们需要将单片机与其他外部设备进行连接。

具体的连接方式如下:•将定时器模块的输出引脚连接到单片机的计时输入引脚。

•将外部中断按钮连接到单片机的中断输入引脚。

•将LED显示屏的控制引脚连接到单片机的输出引脚。

3.2 硬件组成本设计所需要的硬件组成如下:•单片机:XXXX型号微控制器•定时器模块•外部中断按钮•LED显示屏4. 软件设计4.1 主程序框架主程序的框架如下:#include <reg51.h>// 定义全局变量和标志位// 定时器中断函数// 外部中断中断函数// 主程序入口void main() {// 初始化定时器和中断// 循环检测按钮状态,并执行相应操作}4.2 定时器中断函数定时器中断函数用于实现计时功能,其主要逻辑如下:1.获取当前的计数值,并进行相关处理。

2.更新LED显示屏上的计时数据。

4.3 外部中断函数外部中断函数用于响应按钮的按压操作,其主要逻辑如下:1.判断按钮的按下类型,根据不同的按压类型执行相应的操作(开始、暂停或复位)。

2.根据操作类型更新相应的标志位。

4.4 功能函数除了定时器中断函数和外部中断函数之外,还可以编写一些功能函数来实现计时、暂停和复位等功能。

单片机秒表课程设计

单片机秒表课程设计

单片机 秒表 课程设计一、课程目标知识目标:1. 学生能理解单片机的基本原理,掌握秒表编程的基本知识。

2. 学生能描述单片机内部定时器的功能和工作原理。

3. 学生能运用所学知识,编写出功能完整的秒表程序。

技能目标:1. 学生能运用C语言进行单片机程序设计,具备一定的编程能力。

2. 学生能够通过实验,学会使用开发板和编程软件进行程序下载和调试。

3. 学生能够通过团队协作,解决实际编程过程中遇到的问题。

情感态度价值观目标:1. 学生培养对单片机编程的兴趣,激发创新意识和实践欲望。

2. 学生在学习过程中,形成积极思考、主动探究的良好学习习惯。

3. 学生通过团队协作,培养沟通能力和团队精神,学会共同解决问题。

课程性质:本课程为实践性课程,以单片机基础知识为背景,结合秒表实例,培养学生的编程能力和实际操作能力。

学生特点:学生已具备一定的单片机基础知识和C语言编程能力,对实际操作感兴趣,喜欢动手实践。

教学要求:教师需结合课程目标,采用任务驱动法,引导学生主动参与,注重培养学生的动手能力和团队协作能力。

教学过程中,关注学生个体差异,给予个性化指导,确保学生能够达到预期的学习成果。

通过课程学习,使学生在知识、技能和情感态度价值观方面得到全面提升。

二、教学内容1. 理论部分:a. 单片机基础知识回顾:主要包括单片机内部结构、工作原理及常用寄存器的作用。

b. 定时器原理讲解:详细介绍单片机内部定时器的工作原理,包括计数器、定时器的设置和使用方法。

c. C语言编程基础:复习C语言在单片机编程中的应用,重点讲解与秒表编程相关的语法和技巧。

2. 实践部分:a. 秒表功能需求分析:明确秒表的功能需求,包括开始、停止、计次、清零等功能。

b. 程序设计:引导学生运用所学知识,编写秒表的程序代码。

c. 程序下载与调试:教授学生如何将编写好的程序下载到开发板上,并进行调试和优化。

3. 教学大纲:a. 第一课时:回顾单片机基础知识,讲解定时器原理,明确秒表功能需求。

单片机数字秒表课程设计

单片机数字秒表课程设计

单片机数字秒表课程设计一、课程目标单片机数字秒表课程设计旨在通过实践操作,使学生在知识与技能、过程与方法、情感态度价值观三方面得到全面发展。

1. 知识目标:(1)掌握单片机的基本原理和结构;(2)了解数字秒表的工作原理;(3)熟悉C语言编程和单片机编程环境。

2. 技能目标:(1)能够运用所学知识设计并实现一个简单的数字秒表;(2)培养动手实践能力,提高问题解决能力;(3)提高团队协作和沟通表达能力。

3. 情感态度价值观目标:(1)激发学生对单片机及电子技术的学习兴趣,培养科技创新精神;(2)培养学生严谨的科学态度和良好的学习习惯;(3)增强学生的自信心和成就感,培养克服困难的意志。

课程性质:本课程为实践性课程,注重理论联系实际,强调动手能力培养。

学生特点:本课程针对初中年级学生,他们在前期的学习中已具备一定的电学基础和编程知识,对新鲜事物充满好奇心。

教学要求:教师需结合学生特点,以引导为主,注重启发式教学,充分调动学生的积极性和主动性,将课程目标分解为具体的学习成果,便于教学设计和评估。

二、教学内容根据课程目标,教学内容主要包括以下几部分:1. 单片机原理及结构:涉及单片机的内部组成、工作原理、引脚功能等,对应教材第二章内容。

2. 数字秒表原理:介绍数字秒表的基本工作原理,包括计时、计数、显示等,对应教材第四章内容。

3. C语言编程:复习C语言基础知识,重点掌握数组、循环、函数等编程技巧,对应教材第五章内容。

4. 单片机编程环境:学习如何使用编程软件(如Keil)进行程序编写、编译和下载,对应教材第六章内容。

5. 实践操作:设计并实现一个简单的数字秒表,分小组进行实践操作,培养动手能力。

教学大纲安排如下:第一周:回顾单片机原理及结构,学习数字秒表原理;第二周:复习C语言基础知识,学习单片机编程环境;第三周:编写数字秒表程序,进行调试;第四周:分组实践,完成数字秒表的设计与制作。

教学内容具有科学性和系统性,确保学生在掌握理论知识的基础上,通过实践操作提高综合能力。

单片机倒计时课程设计

单片机倒计时课程设计

单片机倒计时课程设计一、课程目标知识目标:1. 理解单片机的基本原理,掌握其内部结构和功能。

2. 学会编写简单的C语言程序,实现对单片机的控制。

3. 掌握倒计时功能的实现方法,理解其工作原理。

技能目标:1. 能够运用所学知识,设计并实现一个具有倒计时功能的小程序。

2. 培养学生的动手实践能力,提高问题解决和团队协作能力。

3. 提高学生编程和调试程序的能力,培养良好的编程习惯。

情感态度价值观目标:1. 激发学生对单片机及编程的兴趣,培养自主学习、持续探究的热情。

2. 培养学生面对问题时的耐心、细心和信心,形成积极向上的学习态度。

3. 增强学生的团队协作意识,培养尊重他人、共同进步的价值观。

课程性质分析:本课程为实践性较强的课程,结合单片机原理和编程技巧,培养学生动手实践能力和问题解决能力。

学生特点分析:本课程针对的是初中或高中年级的学生,他们对单片机有一定的基础认识,具备基本的编程知识,但实践能力有待提高。

教学要求:1. 课程内容要紧密结合课本,确保学生能够将所学知识应用到实际操作中。

2. 教学过程中注重启发式教学,引导学生主动思考、发现问题、解决问题。

3. 重视团队协作,培养学生的沟通能力和合作精神。

4. 教学评估关注学生的实际操作能力、编程技巧和团队协作表现。

二、教学内容1. 单片机基础理论:回顾单片机的内部结构、工作原理及功能,重点掌握时钟电路、I/O口控制、中断系统等基础知识。

相关教材章节:第一章 单片机概述,第三章 单片机内部结构及工作原理。

2. C语言编程:学习单片机编程基础,掌握C语言的基本语法和编程技巧,能编写简单的控制程序。

相关教材章节:第二章 单片机编程语言,第六章 C语言编程实例。

3. 倒计时程序设计:学习倒计时程序的设计方法,掌握定时器/计数器的工作原理,学会编写倒计时程序。

相关教材章节:第五章 定时器/计数器,第七章 常用程序设计实例。

4. 实践操作:结合所学知识,设计并实现一个具有倒计时功能的小程序,包括硬件连接、程序编写、调试与优化。

单片机课程设计秒倒计时

单片机课程设计秒倒计时

单片机课程设计秒倒计时概述在单片机课程设计中,秒倒计时是一个常见的实践项目。

本文将介绍如何使用单片机设计一个简单的秒倒计时电路,并使用Markdown文本格式进行说明。

硬件设备•单片机(例如STC89C52)•七段数码管•按钮•电阻、电容等基础元器件功能设计本文设计的秒倒计时电路具有以下功能: 1. 系统上电后,自动开始倒计时; 2. 使用按钮控制启动/暂停倒计时; 3. 使用按钮控制归零操作; 4. 显示倒计时的秒数。

硬件连接七段数码管将7个IO口分别连接到七段数码管的对应引脚,使用共阳极数码管时,将数码管的共阳极引脚连接到VCC,使用共阴极数码管时,将数码管的共阴极引脚连接到GND。

按钮使用一个按钮作为启动/暂停倒计时的按键,使用另一个按钮作为归零操作的按键。

将按钮引脚连接到单片机的GPIO口,并通过上拉电阻将按钮引脚连接到VCC。

软件设计引脚定义首先,需要定义单片机的输入输出引脚。

根据硬件连接,假设七段数码管的引脚分别连接到P0口,启动/暂停按钮连接到P1.0口,归零按钮连接到P1.1口。

可以使用以下代码进行引脚定义:// 引脚定义sbit LED = P0; // 七段数码管连接到P0口sbit KEY1 = P1^0; // 启动/暂停按钮连接到P1.0口sbit KEY2 = P1^1; // 归零按钮连接到P1.1口然后,需要设计倒计时的逻辑。

在每个时钟周期,需要判断是否需要启动/暂停倒计时,以及是否需要进行归零操作。

具体的倒计时逻辑可以使用以下代码实现:// 秒倒计时逻辑void countdown() {static unsigned int seconds = 60; // 倒计时的秒数,默认为60秒static bit running = 0; // 表示倒计时是否运行中,默认为停止状态if (running) {if (seconds > 0) {seconds--;} else {running = 0;}}if (KEY1 == 0) { // 按下启动/暂停按钮running = !running;delay(10); // 延时去抖动}if (KEY2 == 0) { // 按下归零按钮seconds = 60;running = 0;delay(10); // 延时去抖动}}最后,需要设计显示倒计时的逻辑。

单片机倒计时课程设计

单片机倒计时课程设计

单片机倒计时课程设计一、课程目标知识目标:1. 学生能理解单片机的基本原理和功能,掌握倒计时程序的设计方法;2. 学生能运用C语言编写简单的单片机倒计时程序,并理解程序各部分功能;3. 学生了解倒计时在实际应用中的意义,如定时控制、时间管理等。

技能目标:1. 学生能独立完成单片机倒计时程序的设计、编译和调试;2. 学生通过实际操作,提高动手能力,培养解决问题的能力;3. 学生学会使用编程软件和烧录工具,掌握基本的编程技巧。

情感态度价值观目标:1. 学生培养对单片机编程的兴趣,激发学习热情,树立自信心;2. 学生在团队协作中,培养沟通能力,学会分享和互助;3. 学生认识到编程在现实生活中的应用,提高对科技发展的关注,培养创新意识。

课程性质:本课程为实践性课程,以单片机倒计时程序设计为主线,结合C语言编程知识,培养学生的动手能力和实际应用能力。

学生特点:本课程面向初中或高中年级学生,学生对单片机编程有一定的基础,具备基本的C语言知识,喜欢动手实践。

教学要求:课程注重理论与实践相结合,强调学生在实践中掌握知识,教师需提供充分指导,关注学生的学习进度,确保课程目标的达成。

通过分解课程目标为具体学习成果,为后续教学设计和评估提供依据。

二、教学内容1. 单片机基础原理复习:回顾单片机的内部结构、工作原理,重点掌握时钟、计数器等基本组成部分。

2. C语言编程基础:巩固C语言基础知识,如数据类型、运算符、控制语句等,为编写倒计时程序打下基础。

3. 倒计时程序设计:a. 倒计时原理讲解,明确倒计时程序的基本思路和实现方法;b. 编写倒计时程序,包括初始化设置、计数器操作、中断处理等;c. 分析程序各部分功能,理解程序运行流程。

4. 实践操作:a. 使用编程软件(如Keil)进行程序编写、编译和调试;b. 利用烧录工具(如STC-ISP)将程序烧写入单片机;c. 观察并分析倒计时程序在实际运行中的表现,如准确性、稳定性等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计说明书课程名称:单片机技术设计题目:倒计时数字秒表设计院系:学生姓名:张三学号:*********专业班级:***********指导教师:李四年月日课程设计任务书倒计时秒表摘要:本次课程设计以AT89S52单片机为核心设计一个倒计时数字秒表,计数初值为59并开始每秒自动减1,当按键1按下时记录当前时间值,当按键2按下时显示当前记录值,显示过之后再次按下按键1时秒表复位为59。

本设计硬件部分包括电源电路、复位电路、按键电路、振荡电路、数码管显示电路五部分电路,软件程序部分有定时中断程序、外部中断程序、显示子程序和延时子程序等。

软件Proteus画出原理图并进行仿真,依照仿真成功的原理图接线,在万能版上把个个器件焊接好从而实现预期的功能。

关键词:倒计时AT89S52 74LS47 数码管目录1.设计背景 (5)1.1、设计课题的提出 (5)1.2、设计作用及意义 (5)2.设计方案 (6)2.1、可行方案选择 (6)2.2、可行方案比较 (6)3.方案实施 (7)3.1、硬件电路的实施 (7)3.2、软件程序的实施 (11)4.结果与结论 (13)4.1、Proteus仿真运行结果 (13)4.2、结论 (14)5.收获与致谢 (14)6.参考文献 (14)7.附件 (15)7.1、附件一(整体电路图) (15)7.1、附件二(元件清单图) (16)7.1、附件三(程序) (17)7.1、附件四(运行实物图) (22)1. 设计背景1.1设计课题的提出计时器日常生活中随处可见,我们手上的电子表,手机上的时间显示等,这些利用数字电路实现的装置,与机械时钟相比具有更高的准确性与直观性,且无机械装置,具有更长的使用寿命。

其中重要的组成部分就是计数器模块,是单片机中常见的模块,以计时器为基础还可以设计更多对日常生活密切相关的设备,诸如定时报警、按时自动打铃、时间程序自动控制、定时广播、自动启闭路灯、定时开关烘箱、甚至各种定时电器的自动启用等,都是以计时器为基础的。

为了更好的学习定时器模块,掌握基本计数器程序的设计,实现一个功能的基本流程,提高动手能力,更好的掌握所学的知识,我们在本次课程设计中提出了实现倒计时秒表的课题。

1.2设计作用及意义通过查阅资料、接口设计、程序设计、安装调试等环节,完成MCS-51单片机多种资源应用并具有综合功能的小系统目标板的设计与编程应用。

让我不仅能够将课堂上学到的理论知识与实际应用结合起来,而且能够对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,同时在软件编程、排错调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高,增进对单片机的感性认识,加深对单片机理论方面的理解,掌握单片机的内部功能模块的应用,如定时器计数器、中断、片内外存贮器、IO口、串行口通信等。

了解和掌握单片机应用系统的软硬件设计过程、方法及实现,强化单片机应用电路的设计与分析能力。

提高学生在单片机应用方面的实践技能和科学作风;培育学生综合运用理论知识解决问题的能力,实现理论结合实际,学以至用的原则。

用所学的知识和自身课外的拓展学习加深对专业课的理解和学习;锻炼综合运用电路设计及相关电子仪器、单片机软硬件结合的理论,结合生产实际分析和解决工作工程实际问题的能力,加固、加深和扩展有关电子类,汇编语言,相关电子电路和仿真软件方面的知识和能力。

通过本次课程设计,应加强培养如下能力:(1)加强自身独立的动手能力和思考解决问题的能力,提高创造能力;(2)学会使用软件Proteus画原理图和仿真调试。

2.设计方案2.1可行方案选择以AT89S52单片机为核心元件,利用两位7 段共阳极数码管作为显示器件。

在此设计中共接入2个两位一体7段共阳LED 数码管,来显示实时数字,其中1个用于显示十位,1个用于显示个位,通过查表指令分别动态显示个位和十位。

2个LED数码管显示范围可达到O--99 。

上电时,显示59并开始自动每秒自动减1,当按键1按下时记录当前时间值,当按键2按下时显示当前记录值,显示过之后再次按下按键1时秒表复位为59。

方案一利用查询端口实现记录通过不断的查询P2.4和P2.5的电平来判断是否记录当前时间值,当P2.4按下时记录当前时间但并不显示,当P2.5按下时则显示记录下的时间,当P2.5再次按下时则复位为59,等待下次计时。

用延时程序来实现1秒的延时,通过数据区来记录记录值,通过显示子程序来显示倒计时和记录值。

方案二利用中断实现记录本方案在方案一的硬件基础上采用74LS47译码器硬件译码来方便实现显示,同时利用单片机的外部中断0和外部中断1来实现记录和显示,把记录处理和显示处理做成分别做成外部中断0和外部中断1的中断服务程序,通过中断服务程序处理不同的动作。

利用T0做一个1秒的中断,从而实现倒计时。

另外通过数据区来记录记录值。

通过显示子程序来显示当前倒计时和记录值。

2.2方案的选取如果使用方案一需要不停的查询端口的电平,单片机还要不停的去执行显示程序,另外还要执行延时程序,单片机在同一个时刻只能做一件事情,所以会对记录造成较大的误差,所以方案一误差较大如果使用方案二,因为方案二是利用外部中断,所以不必不停查询端口电平,当按键按下时,即使程序处于显示程序中也可以立即中断去执行按键按下所需要的处理动作,由于定时1秒是采用定时器来实现,单片机可以边执行程序边实现定时,所以可以实现较精确的计时,另外外部中断均处于高级中断,可以较准确的记录记录值。

综上比较,本设计采用方案二作为此次课程设计的首选方案。

3. 方案实施3.1硬件电路的实施(1)整体设计框图本硬件设计总共包括五部分电路:显示电路、振荡电路、复位电路、电源电路、按键电路。

总体设计框图如图3.1所示。

图3.1 整体框图(2)电源电路本设计采用整流桥墩2W10进行整流,然后用电解电容进行滤波,用7805进行稳压,最后输出+5V稳压直流电源。

其中C1、C4为1000PF的电解电容,C2、C3为104瓷片电容,R1为1K的电阻。

其电路图如3.2所示。

图3.2 电源电路(3)振荡电路本模块用了一个11.0592HZ的晶振外加两个33pf的电容,电路图用如图3.3所示。

图3.3 振荡电路(4)复位电路复位电路图如图3.4所示,其中C3是带极性的电解电容,R1、R2是阻值为1K的电阻图3.4 复位电路(5)显示电路本设计的显示电路采用动态显示,动态显示,是指无论任何时刻只有一个LED数码管处于显示状态。

若要各个数码管能同时显示出与本位相应的显示字符,就必须采用动态的“扫描显示方式”。

即在某一时刻,只让某一位的位选线处于选通状态,而其它各位的位选线处于关闭状态,同时,段码线上输出相应位要有显示的字符的段码,这样,在同一时刻,2位数码管中只有被选通的那一位显示出字符。

如此循环下去就可以显示出要显示的字符。

虽然这些字符是不同时刻显示的,但由于LED数码管的余辉和人眼的“视觉暂留”作用,只要每位显示间隔足够短,则可以造成“多位同时亮的假象”,达到同时显示的效果。

动态显示的优点是硬件电路简单,显示器越多,优势越明显。

本次设计的显示电路有三部分组成:译码电路、驱动电路、LED数码管显示电路。

其中译码电路用的是芯片74LS47,74LS47是BCD-7段数码管驱动器,它的功能用于将BCD码转化成数码块中的数字,通过它解码,可以直接把数字转换为数码管的显示数字,从而简化了程序,节约了单片机的IO开销。

74LS47译码器原理:译码为编码的逆过程。

它将编码时赋予代码的含义“翻译”过来。

实现译码的逻辑电路成为译码器。

译码器输出与输入代码有唯一的对应关系。

74LS47是输出低电平有效的七段字形译码器,它在这里与数码管配合使用,其部分真值表如表3.1.1所示。

分析表格3.1.1易知74LS47为4-7译码器,并且是等数译码。

即当输入为0000即0时,数码管显示也为0,一次类推,当输入为1001即9时,数码管显示也为9。

驱动电路很简单,就是用两个9013即NPN型三极管去驱动共阳极数码管。

显示电路的第三部分数码管显示电路,本次设计用的是两位共阳极数码管。

显示电路模块用如图3.2所示。

图3.5 显示电路(6)按键电路本实验要求开关BUTTON1和BUTTON2按下时触发两个对应的中断,所以两个按键接到外部中断0和外部中断1管脚上。

其Proteus仿真电路图如图 3.6所示。

图3.6 按键电路3.2软件程序实施本程序采用定时器T0产生1秒定时来实现秒表的倒计时,采用外部中断0来记录不同的记录值,通过外部中断1来显示已经记录的记录值。

在主程序中初始化各个数值并且仅仅循环执行显示程序,有中断来时才转去做相应的中断服务程序。

(1)主程序流程图(2)外部中断0流程图(3)定时器TI流程图(4)T0定时器1秒中断(5)显示流程图4. 结果与结论4.1 Proteus仿真运行结果我们设计好系统后,首先在proteus上进行了仿真,仿真结果可以正常运行,当上电时秒表从59开始倒计时,每当按下BUTTON1时,系统会记录当前时间值,按下BUTTON2时系统会显示原来记录的时间值。

再次按下BUTTON1时系统会复位59等待下次倒计时,并且如果没有记录值,按下BUTTON2并不起作用。

硬件结果经过半天的焊接,我们把硬件焊好后上电结果表明,我们的设计要求都达到了,硬件结果和proteus仿真结果完全一样。

各项功能完整可用。

仿真图如附件所示。

4.2结论通过软件仿真和硬件运行,我们的系统完全的达到了设计要求。

5. 收获与致谢通过本次的课程设计,我认识和了解了基本的单片机设计的开发过程。

期间,我学会了分析课题的要求,查阅资料用怎样的元器件来实现,学会用Protues软件来绘制原理图,用汇编来编写源程序,最终仿真成功。

在用实际器件实现系统时,还学会了怎样合理布局元器件,学会2位数码管各个管脚的分布和接法,熟识了硬件驱动数码管动态显示的基本原理和程序编写,提高了将单个电子器件组合到一起构成所需电路系统的能力。

在课程设计期间也遇到很多问题,在使用74LS47的连线时忘记给译码器加电源,在仿真时,程序编写有语法错误,在焊接时电阻弄错,阻值过大结果数码管很暗,引脚焊接出错。

焊接完成通电调试时,按键不灵,经丁老师指导,在程序中添加去抖程序。

除此之外,组员之间相互配合,在整个过程中有过争论,有过互助,最终圆满完成任务。

在设计过程中,要是遇到问题,一定要有耐心,有错误就耐心查找,程序或实物系统出错就慢慢调试,要有永不服输的精神。

在此要特别感谢学校老师们为我们安排这次课程设计,为我们精心挑选课题,在万忙之中抽出时间指导我们,对于我们的问题,老师耐心的解答,一遍不行,再讲一遍。

相关文档
最新文档