当前位置:文档之家› 电子秒表课程设计报告

电子秒表课程设计报告

电子秒表课程设计报告
电子秒表课程设计报告

西安郵電學院

控制系统课程设计报告书

系部名称:信息与控制系

学生姓名:XXX

专业名称:测控技术与仪器

班级:测控XXXX

2010年9月13日至

时间:

2010 年9月26日

电子秒表的设计

一、设计要求

设计一个电子秒表,与通用秒表功能类似,有启动,暂停、复位等键。计时长长度为300秒,需显示百分秒。

二、 设计方案分析

1.方案设计

数字电子秒表具有显示直观、读取方便、精度高等优点,在计时中广泛使用。本设计用单片机组成数字电子秒表,力求结构简单、精度高为目标。

本系统采用C51系列单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合硬件电路如电源电路,晶振电路,复位电路,显示电路,以及一些按键电路等来设计计时器,将软、硬件有机地结合起来。其中软件系统采用汇编语言编写程序,硬件系统利用PROTEUS 强大的功能来实现,简单切易于观察,在仿真中就可以观察到实际的工作状态。

本设计利用STC89C51单片机的定时器/计数器定时和计数的原理,使其能精确计时。利用中断系统使其能实现开始暂停的功能。根据要求知道秒表设计主要实现的功能是计时和显示。因此设置了两个按键和LCD 显示时间,两个按键分别是开始、停止和复位按键。利用这两个建来实现秒表的全部功能,而LCD 则能显示最多4.59.99秒的计时。电路原理图设计最基本的要求是正确性,其次是布局合理,最后在正确性和布局合理的前提下力求美观。硬件电路图按照图1.1进行设计。

图1.1 数字秒表硬件电路基本原理图

本设计中,数码管显示的数据存放在内存单元31H -33H 中。其中31H 存放分钟变量,32H 存放秒钟变量,33H 存放10ms 计数值,即存放毫秒位数据,每一地址单元内均为十进制BCD 码。由于采用软件动态扫描实现数据显示功能,显示用十进制BCD 码数据的对应段码存放在ROM 表中。显示时,先取出31H -33H 某一地址中的数据,然后查得对应的显示位,并从P1口输出,就能显示该地址单元的数据值。

计时通过1INT 中断完成,定时溢出中断周期为1ms ,当一处中断后向CPU

发出溢出中断请求,每发出一次中断请求就对毫秒计数单元进行加一,达到10次就对十毫秒位进行加一,依次类推,直到4.59.99秒重新复位。

再看按键的处理。这两个键可以采用中断的方法,也可以采用扫描的方法来识别。复位键主要功能在于数值复位,对于时间的要求不是很严格。而开始和停止键则是用于对时间的锁定,需要比较准确的控制。因此可以对复位按键采取扫描的方式。而对开始和停止键采用外部中断的方式。

设计中包括硬件电路的设计和系统程序的设计。其硬件电路主要有主控制器,显示电路和回零、启动、查看、停表电路等。主控制器采用单片机ATC89C51,显示电路采用LCD显示计时时间,两个按键均采用触点式按键。

2.背景知识介绍

2.1 单片机相关知识

本课题在选取单片机时,充分借鉴了许多成形产品使用单片机的经验,并根据自己的实际情况,选择了ATC89S51。

ATC89C52单片机采用40引脚的双列直插封装方式。图1.2为引脚排列图,40条引脚说明如下:

主电源引脚Vss和Vcc

①Vss接地

②Vcc正常操作时为+5伏电源

外接晶振引脚XTAL1和XTAL2

①XTAL1内部振荡电路反相放大器的输入端,是外接晶体的一个引脚。当采用外部振荡器时,此引脚接地。

②XTAL2内部振荡电路反相放大器的输出端。是外接晶体的另一端。当采用外部振荡器时,此引脚接外部振荡源。

图1.2 STC89C52单片机引脚图

控制或与其它电源复用引脚RST/VPD,ALE/PROG,PSEN和EA/Vpp

①RST/VPD 当振荡器运行时,在此引脚上出现两个机器周期的高电平(由低到高跳变),将使单片机复位在Vcc掉电期间,此引脚可接上备用电源,由VPD向内部提供备用电源,以保持内部RAM中的数据。

②ALE/PROG正常操作时为ALE功能(允许地址锁存)提供把地址的低

字节锁存到外部锁存器,ALE 引脚以不变的频率(振荡器频率的1/6)周期性地发出正脉冲信号。因此,它可用作对外输出的时钟,或用于定时目的。但要注意,每当访问外部数据存储器时,将跳过一个ALE脉冲,ALE 端可以驱动(吸收或输出电流)八个LSTTL电路。对于EPROM型单片机,在EPROM编程期间,

此引脚接收编程脉冲(PROG功能)

③P S E N外部程序存储器读选通信号输出端,在从外部程序存储取指令(或数据)期间,PSEN在每个机器周期内两次有效。PSEN同样可以驱动八LSTTL输入。

④EA/Vpp、EA/Vpp为内部程序存储器和外部程序存储器选择端。当

EA/Vpp为高电平时,访问内部程序存储器,当EA/Vpp为低电平时,则访问外

部程序存储器。对于EPROM型单片机,在EPROM编程期间,此引脚上加21伏EPROM编程电源(Vpp)。

输入/输出引脚P0.0 - P0.7,P1.0 - P1.7,P2.0 - P2.7,P3.0 - P3.7。

①P0口(P0.0 - P0.7)是一个8位漏极开路型双向I/O口,在访问外部存储器时,它是分时传送的低字节地址和数据总线,P0口能以吸收电流的方式驱动八个LSTTL负载。

②P1口(P1.0 - P1.7)是一个带有内部提升电阻的8位准双向I/O口。能驱动(吸收或输出电流)四个LSTTL负载。

③P2口(P2.0 - P2.7)是一个带有内部提升电阻的8位准双向I/O口,在访问外部存储器时,它输出高8位地址。P2口可以驱动(吸收或输出电流)四个LSTTL负载。

④P3口(P3.0 - P3.7)是一个带有内部提升电阻的8位准双向I/O口。能驱动(吸收或输出电流)四个LSTTL负载。

AT89C51具有以下标准功能:8k字节Flash,256字节RAM,32 位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89C52可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。CPU是单片机的核心部件。它由运算器和控制器等部件组成。

(1)运算器

运算器的功能是进行算术运算和逻辑运算。可以对半字节(4位)、单字节等数据进行操作。例如能完成加、减、乘、除、加1、减1、BCD码十进制调整、比较等算术运算和与、或、异或、求补、循环等逻辑操作,操作结果的状态信息

送至状态寄存器。

AT89C51运算器还包含有一个布尔处理器,用来处理位操作。它是以进位标志位C为累加器的,可执行置位、复位、取反、等于1转移、等于0转移、等于1转移且清0以及进位标志位与其他可寻址的位之间进行数据传送等位操作,也能使进位标志位与其他可移位寻址的位之间进行逻辑与、或操作。

(2)程序计数器PC

程序计数器PC用来存放即将要执行的指令地址,共16位,可对64K程序存储器直接寻址。执行指令时,PC内容的低8位经P0口输出,高8位经P2口输出。

(3)令寄存器

指令寄存器中存放指令代码。CPU执行指令时,由程序存储器中读取的指令代码送入指令寄存器,经译码后由定时与控制电路发出相应的控制信号,完成指令功能。

本设计采用ATMEL的AT89C51微处理器,主要基于以下几个因素:

①AT89C51为51内核,仿真调试的软硬件资源丰富。

②性价比高,货源充足。

③功耗低,功能强,灵活性高。

④ DIP40封装,体积小,便于产品小型化。

⑤为EEPROM程序存储介质,1000次以上擦写周期,便于编程调试。

⑥工作电压范围宽:2.7V-6V,便于交直流供电。

2.2 TC1602

LCD 的构造是在两片平行的玻璃当中放置液态的晶体,两片玻璃中间有许多垂直和水平的细小电线,透过通电与否来控制杆状水晶分子改变方向,将光线折射出来产生画面。比CRT要好的多,但是价钱较其贵。

1)LCD的特点

低压微功耗

平板型结构

被动显示型(无眩光,不刺激人眼,不会引起眼睛疲劳)

显示信息量大(因为像素可以做得很小)

易于彩色化(在色谱上可以非常准确的复现)

无电磁辐射(对人体安全,利于信息保密)

长寿命(这种器件几乎没有什么劣化问题,因此寿命极长,但是液晶背光寿命有限,不过背光部分可以更换)

1602的管脚功能

三、硬件设计

本系统中,硬件电路主要有电源电路,晶振电路,复位电路,显示电路,以及一些按键电路等。

1.单片机简介

本系统设计采用C51系列单片机。

ST89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容(由于在微机原理中学过C-51的具体知识,这里不再详细说明)。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ST89C51是一种高效的微控制器。

2.电源电路

电源电路是系统最基本的部分,任何电路都离不开电源部分,由于三端集成稳压器件所组成的稳压电源线路简单,性能稳定,工作可靠,调整方便,已逐渐取代分立元件,在生产中被广泛采用,由于是小系统,我们采用7809电源提供+5V稳压电压。

3.晶体振荡电路

MCS--51单片机内部的振荡电路是一个高增益反相放大器,引线 XTAL1和XTAL2分别为反向振荡放大器的输入及内部时钟工作电路的输入和来自反向振荡器的输出,该反向放大器可以配置为片内振荡器。

这里,我们选用51单片机12MHZ的内部振荡方式,电路如下:电容器C1,C2起稳定振荡频率,快速起振的作用,C1和C2可在20-100PF之间取,这里取30P

图2 晶体振荡电路

4.复位电路

采用上电+按键复位电路,上电后,由于电容充电,使RST持续一段高电平时间。当单片机已在运行之中时,按下复位键也能使用使RST持续一段时间的高电平,从而实现上电加开关复位的操作。这不仅能使单片机复位,而且还能使单片机的外围芯片也同时复位。当程序出现错误时,可以随时使电路复位。

电路图如下:

图3 复位电路

5.显示电路

显示电路既可以选用液晶显示器,也可以选用数码管显示。我们采用的是数码管显示电路。用2个共阳极LED显示,LED是七段式显示器,内部有7个条形发光二极管和1个小圆点发光二极管组成,根据各管的亮暗组合成字符。

在用数码管显示时,我们有静态和动态两种选择,静态显示程序简单,显示稳定,但是占用端口比较多;动态显示所使用的端口比较少,可以节省单片机的I/O口。

在设计中,我们采用LED动态显示,用P0口驱动显示。由于P0口的输出级是开漏电路,用它驱动时需要外接上拉电阻才能输出高电平。

电路图如下所示:

图4 显示电路

6.键盘电路

在按键电路中,我们可以在I/O口上直接接按键,或者通过I/O口设计一个键盘,然后通过键盘扫描程序判断是否有键按下等。键盘扫描电路节省I/O口,但编程有些复杂,在这里,由于我们所用的按键较少,且系统是一个小系统,有足够的I/O口可以使用,为了使程序简化,我们采用按键电路,用部分P3口做开关,P3.3为开始停止,P3.4为清零,用外部中断INT1开始,另外用软件法消

四、软件设计

4.1软件设计概述

在软件设计中,一般采用模块化的程序设计方法,它具有明显的优点。把一个多功能的复杂的程序划分为若干个简单的、功能单一的程序模块,有利于程序的设计和调试,有利于程序的优化和分工,提高了程序的阅读性和可靠性,使程序的结构层次一目了然。

应用系统的程序由包含多个模块的主程序和各种子程序组成。各程序模块都要完成一个明确的任务,实现某个具体的功能,在具体需要时调用相应的模块即可。

功能描述:用LCD1602液晶显示"秒表",显示时间为0.00.00—4.59.99秒,每秒自动加1;一个"开始""暂停"键,一个"清零"键。

4.2主程序流程图

这里采用顺序结构,通过对按键的扫描,判断要实现什么功能。如下所示:

五、 测试数据及设计结果

1、按下INT1管脚的开关时,显示数据,如下图所示

D 7

D 6D 5D 4D 3D 2D 1D 0

E R W R S V S S V D D V E E

2、按下T0管脚的开关时,数据清零,如下图所示

D 7

D 6D 5D 4D 3D 2D 1D 0

E R W R S V S S V D D V E E

六、调试中出现的错误及解决方法

(1) 实验中遇到的问题及解决方法

问题:LCD 显示模糊

原因:VEE 接高电平,LCD 的对比度太低,从而无法正常显示数据。 解决方法:将VEE 接地,提高了LCD 的对比度,数据显示清晰。

(2)实验心得 ①XXX

接到题目时,发现是关于电子秒表的设计,先在网上查阅了一些有关电子秒表设计的材料,熟悉了设计思想与工作原理,并且具体的分析了单片机、数码管显示器的工作过程,从理论上分析了该工作过程。

在理解了该系统的工作原理并完成电路图的设计与仿真后,开始焊接电路板,在焊接时通过查阅,熟悉了各个管角的焊接原则,在焊接过程中,考虑到数码管布线相对较多,所以换用作LCD ,焊接相对简单。

电路板焊接完成后,将程序考入单片机后开始测试,刚开始时LCD 显示器无数据显示,经过对电路板各模块的重新测试,发现并无问题,经过和同学的探讨,发现LCD 的VEE 管脚接高电平时,因对比度低,导致LCD 无数据显示;而当VEE 接低电平时,因对比度高,LCD 正常显示。

通过此次课程设计,熟悉了电子秒表的设计思想,在实践中测试电路、分析数据、排除故障,最终实现了设计要求。虽然这次课程设计相对简单,但并未一次性成功,所以同样需要严谨的态度。在整个过程中不但增强了自己的学习能力,还提高了自己的团队合作能力,这些能力在以后的工作中是很重要的!

②XXX

上周三开始焊接设计好久的电路板,到今天基本已经完成了主要的焊接,初步总结一下这几天的心得。

1. 焊接cup 时,首先要检查cpu 的各个管脚,保证没有弯曲或者错位,不然焊上去之后就比较难搞了。然后将CUP 各个管脚跟pcb 板上的焊盘仔细的对齐(一定要保证顺序,cup 右上角O 标记顺时针方向的第一个管脚为1),然后用电烙铁轻轻烫一下管脚,由于CPU 管脚和焊盘上均有少量的残锡,可以将CPU 固定住,然后用电烙铁依次将管脚压平。接下来最关键的步骤:补锡。先在cup 管脚的一端点少量焊锡,然后将一排管脚涂满松香,快速而缓慢的划过管脚......

2. 焊接电路要有分块化的思想,首先焊接电源模块,然后测试各个供电电压;然后焊接CPu模块,最后成功后焊接引出的管脚。

3. 晶振(Crystal)即为石英振荡器,是一种机电器件,是用电损耗很小的石英晶体经精密切割磨削并镀上电极焊上引线做成。这种晶体有一个很重要的特性,如果给他通电,他就会产生机械振荡,反之,如果给他机械力,他又会产生电,这种特性叫机电效应。他们有一个很重要的特点,其振荡频率与他们的形状,材料,切割方向等密切相关。由于石英晶体化学性能非常稳定,热膨胀系数非常小,其振荡频率也非常稳定,由于控制几何尺寸可以做到很精密,因此,其谐振频率也很准确。根据石英晶体的机电效应,我们可以把它等效为一个电磁振荡回路,即谐振回路。他们的机电效应是机-电-机-电....的不断转换,由电感和电容组成的谐振回路是电场-磁场的不断转换。在电路中的应用实际上是把它当作一个高Q 值的电磁谐振回路。由于石英晶体的损耗非常小,即Q 值非常高,做振荡器用时,可以产生非常稳定的振荡,作滤波器用,可以获得非常稳定和陡削的带通或带阻曲线。

总体来说,这次的电路焊接还是比较顺利的。因为设计图设计的很好,所以在焊接结束后,板子的功能也全都如愿的顺利实现了。

③XXX

这学期的课程设计,是利用单片机设计一些简单控制系统的相关实验,每个班有四个题目,我们分到的题目是:利用STC89C52单片机设计电子秒表,通过LCD显示器显示百、分、秒,通过按键实现计时、暂停、清零等功能,并且最大计时时间为300秒(即计时范围为0.00.00-4.59.99)。

刚刚拿到题目时,就听周围的同学说,这次课设我们的“电子秒表”是最简单,课程设计的第一天老师就要求每个组必须选一位组长,并且每组组员必须分工合作,我有幸被选为组长。老师讲完后,我就针对每位组员的具体情况进行工作分配,我负责查资料和电路的设计及部分编程、张雪珍同学负责编程、张辛超同学负责焊电路板、夏沅睿同学负责写实验报告,大家分头行动,气乐融融。

在电路设计初期,我对于如何设计“电子秒表”有点困惑,不了解百分秒的意思,为了让自己心里有个底,我先在图书馆找了相关书籍,并且在网上查了一些“秒表”的制作实例,在资料查询、分析并请教同学后,我发现直接用STC89C52和液晶显示屏1602设计最简单。

确定了用什么器件后,我查了STC89C52的相关知识,它们的引脚图和各引脚的功能,以及其相关控制字,尤其是LCD1602的控制字及其初始化和显示编程。查清楚了个器件的功能后,我开始设计电路图。电路很简单,最难的是软件编程部分。硬件焊接方面,我们组的张辛超同学当仁不让,我给他说了我的想法后,他称焊接没问题,而且通过以前的课程设计我也见识过他的焊功,对他的硬件焊接很有信心。这个问题解决了,在数字的显示方面遇到点麻烦,老师要求我们用LED显示,但要按老师要求的去做,完全显示就要接5个数码管,这根本在PCD板上会很难焊,后来结合实际情况,我们借了一个LCD液晶显示屏,用个底座就完全OK了。这样不仅硬件焊接简单,对于编程也简单了许多。

硬件电路设计好了,开始软件编程和仿真,软件仿真我是在Proteus软件上仿真的。由于我们的编程能力不是很强,我和组员张雪珍一起研究程序,遇到不懂、不会的地方就查阅资料,或者请教其他编程能力比较强的同学,经过三天的编程调试,最终在周四我们的电路和程序完全没问题,电路也就确定了。

周三我和组员张辛超在实验室焊接电路。他焊接电路,我在旁边订正,由于电路比简单,经过近三个小时的“奋战”终于焊接完工,焊接过程中我、也充分见识到了张辛超同学的焊接功底。

焊接完成,周四开始调试,给89C51烧进程序,将芯片全部装好,接通电源发现LCD上什么都不显示,我仔细检查才发现LCD的第3管脚接高电平了,这导致LCD的对比度太低,无法正常数字,经更正后显示完全正常,正式请老师验收、答辩。

通过这次课程设计使我懂得,脚踏实地,认真严谨,实事求是的学习态度,不怕困难、坚持不懈、吃苦耐劳的精神是我在这次设计中最大的收益。我想这是一次意志的磨练,是对我实际能力的一次提升,也会对我未来的学习和工作有很大的帮助。在这次课程设计中也使我和同学关系更进一步了,同学之间互相帮助,有什么不懂的大家在一起商量,听听不同的看法对我们更好的理解知识。

通过这次课设更大程度上锻炼了我的团队合作精神和领导能力。对我以后的学习生活有很大的帮助,它使我相信了“人的潜力是无限的”这句话,也使我懂得:只要用心,一定会发现每个人身上都有闪光点,只要正确运用,对别人可以增强他们的自信心,对自己会快速正确的完成任务。总之,对他人和自己都有莫大的帮助。

④XXX:

这次课程设计我们组的题目是设计一个电子秒表,有启动,暂停、复位等键。计时最长长度为300秒,需显示百分秒。据说是相对简单的题目。

分好组后我们每人都有分工,我的主要任务就是完成课程设计报告,基本算是后期工作,所以刚开始我们一起查资料讨论方案。在设计电路初期,由于我们没有设计经验,通过查阅一些资料,我们的设计渐渐有了头绪,基本确立设计方案和流程图。就是LED显示屏驱动电路的设计是个比较头疼的问题,接线非常复杂,焊电路板就会比较麻烦。后来实验室提供LCD液晶显示屏,就好办了许多,解决了这个问题。我们很快确定了电路以及需要的器件,然后就是编程和仿真,开始时也遇到了很多的问题,经过静下心来思考,和同学讨论,理清了思路,慢慢修改,终于仿真成功了。

布线时,对电路的设计、布局要先有一个好的构思,才显得电路板美观、大方,在张辛超同学的努力下,做得还挺工整。电路板焊好后,检查了没有错误,将程序考入单片机后开始测试,刚开始时LCD显示器无数据显示,经过对电路板各模块的重新测试,发现并无问题,向别的同学请教,发现LCD的VEE管脚接高电平时,因对比度低,导致LCD无数据显示;而当VEE接低电平时,因对比度高,LCD可以清晰显示。

通过这次设计,我学到了很多知识,将学习的理论知识通过实验融会贯通,让我对它的理解更加深刻。由于这次课程设计不仅设计编程方面的知识,还涉及了其它学科的知识,例如PROTEUS等的基本知识。总之,通过这次课程设计,不仅加深了我对单片机理论方面的理解,将理论更好的运用的实践方面,而且锻炼了我们各方面的能力,培养了坚强的毅力和做事的耐心和细心,同时也认识到在团队工作中需要有合作精神,我想这会为今后自己踏上工作岗位、更好地融入新的团队打下良好的基础。

附录:(程序)

; 定义计时单元地址

MIN EQU 31H ;存放分钟变量

SEC EQU 32H ;存放秒钟变量

DEDA EQU 33H ;存放10ms计数值

; 按键端口状况值

K1_N EQU 34H ;存放按键当前端口状况值

K1_P EQU 35H ;存放按键上次端口状况值

K1_C EQU 37H ;存放按键计数单元

X EQU 36H ;LCD 地址变量

; 按键引脚定义

K1 EQU P3.3 ;按键1引脚定义

K2 EQU P3.4 ;按键2引脚定义

;LCD 引脚定义

RS EQU P3.5 ;LCD RS引脚定义

RW EQU P3.6 ;LCD RW引脚定义

E EQU P3.7 ;LCD RS引脚定义

ORG 0000H ;程序由地址0开始执行

JMP MAIN

ORG 0BH ;定时器0中断地址设置

JMP T0_INT

;―――――――――――――主程序――――――――――――――MAIN: ;开始

MOV SP,#60H ;堆栈指针指向60H

CLR E ;E=0,禁止读/写LCD

ACALL SET_LCD ;调LCD控制子程序

ACALL INIT ;初始化变量

MOV K1_P,#01H ;按键上次端口设置1

ACALL INIT_TIMER ;调用初始化定时器

ACALL MEU ;调用工作菜单子程序

LOOP:ACALL CONV ;时间计数处理

ACALL LOOP1 ;调用清零键子程序

ACALL KEY ;判断是否有键按下

JZ LOOP ;无键按下转LOOP

MOV K1_P,K1_N ;交换数据

ACALL KEY0 ;调用按键功能子程序

JMP LOOP ;跳LOOP处循环

; 初始变量清零子程序

INIT: ;初始变量清零

CLR A ;A清为零

MOV K1_C,A ;K1_C 初始为0

MOV DEDA,A ;百分秒DEDA初始为0 MOV SEC,A ;秒SEC初始为0

MOV MIN,A ;分MIN初始为0

MOV K1_N,A ;K1_N初始为0

MOV K1_P,A ;K1_P初始为0

CLR TR0 ;启动中断

RET ;―――――――――――――――――――――

;定时器初始化设置子程序

INIT_TIMER: ;定时器初始化

MOV TMOD,#00000001B ;定时器0模式1

MOV IE, #10000010B ;开通中断

MOV TL0,#LOW(65536-10000);定时初值装入低位

MOV TH0,#HIGH(65536-10000);定时初值装入高位

RET

;中断服务程序

T0_INT: ;定时器T0中断程序

PUSH ACC ;入栈保护

MOV TL0,#LOW(65536-10000) ;重加载

MOV TH0,#HIGH(65536-10000)

INC DEDA

MOV A,DEDA ;10ms 计数值加1

CJNE A,#100,TT

MOV DEDA,#0

INC SEC ;秒加1

MOV A,SEC

CJNE A,#60,TT

INC MIN ;分加1

MOV SEC,#0

MOV A,MIN

CJNE A,#05,TT

MOV DEDA,#0 ;百、分、秒单元清0

MOV SEC,#0

MOV MIN,#0

TT: POP ACC ;出栈

RETI ;中断程序返回;―――――――――――――――――――――

;判断键是否按下子程序

LOOP1:

JB K2,LOOP2 ;判清零键是否按下

JMP MAIN ;跳转主程序处

LOOP2: RET

; 判断K1键是否按下

KEY:

CLR A ;A清零

MOV K1_N,A ;A值送入K1_N

MOV C,K1 ;K1值送入C

RLC A ;同进位标志左移一位

ORL K1_N,A ;两个位作逻辑OR运算

MOV A,K1_N ;K1_N值送入A

XRL A,K1_P ;有键按下,A 中内容不为零RET

;功能键子程序

;K1键第一次按功能子程序

KEY0:

MOV A, K1_P ;K1_P值送入A

JB ACC.0,KEY3 ;A的0位是1,转KEY3

INC K1_C ;K1_C加1

MOV A, K1_C ;K1_C值送入A

CJNE A,#01H,KEY1 ;K1键是否第一次按?

MOV DPTR,#MENU1 ;是,存入MENU1信息

MOV A,#1 ;设置第一行显示

CALL LCD_PRINT ;调用显示字符子程序

SETB TR0 ;启动中断

RET

;K1键第二次按功能子程序

KEY1:

MOV A,K1_C ;K1_C值送入A

CJNE A,#02H,KEY2 ;K1键是否第二次按?

MOV DPTR,#MENU2 ;是,存入MENU2信息

MOV A,#1 ;设置第一行显示

CALL LCD_PRINT ;调用显示字符子程序

CLR TR0 ;停止中断

RET ;

;K1键第三次按功能子程序

KEY2:

MOV A, K1_C ;K1_C值送入A

CJNE A, #03H,KEY3 ;K1键是否第三次按?

MOV DPTR,#MENU3 ;是,存入MENU3信息

MOV A, #1 ;设置第一行显示

CALL LCD_PRINT ;调用显示字符子程序

SETB TR0 ;启动中断

RET

;K1键第四按功能子程序

KEY3:

MOV A,K1_C ;K1_C值送入A

CJNE A,#04H,KEY4 ;K1键是否第四次按?

MOV DPTR,#MENU4 ;是,存入MENU4信息

MOV A,#1 ;设置第一行显示

CALL LCD_PRINT ;调用显示字符子程序

CLR TR0 ;启动中断

KEY4:

RET ;子程序返回;―――――――――――――LCD显示――――――――――――――; LCD控制子程序

SET_LCD: ;

CLR E

ACALL INIT_LCD ;初始化LCD

MOV R5,#10

ACALL DELAY

MOV DPTR,#LMESS1 ;指针指到显示消息1

MOV A,#1 ;显示在第一行

ACALL LCD_PRINT ;调用显示字符子程序

MOV DPTR,#LMESS2 ;指针指到显示消息2

MOV A,#2 ;显示在第二行

ACALL LCD_PRINT ;调用显示字符子程序

RET

LMESS1: DB " ",0 ;LCD 第一行显示消息

LMESS2: DB "TIME ",0 ;LCD 第二行显示消息

;LCD初始化子程序

INIT_LCD:

MOV A,#38H ;设置8位、2行、5x7点阵

ACALL WR_COMM ; 调用写指令子程序

ACALL DELAY1 ;调用延时子程序

MOV A,#0CH ;开显示,光标不闪烁

ACALL WR_COMM ;调用写指令子程序;

ACALL DELAY1 ;调用延时子程序

MOV A,#01H ;清除LCD 显示屏

ACALL WR_COMM ;调用写指令子程序;

ACALL DELAY1 ;调用延时子程序

RET

;写指令子程序

WR_COMM:

MOV P1,A

CLR RS ;RS=0,选择指令寄存器

CLR RW ;RW=0,选择写模式

SETB E ;E=1,允许读/写LCM

ACALL DELAY1 ;调用延时子程序

CLR E ;E=0,禁止读/写LCM

RET

;写数据子程序

WR_DA TA:

MOV P1,A

SETB RS ;RS=1,选择数据寄存器

CLR RW ;RW=0,选择写模式

SETB E ;E=1,允许读/写LCD

ACALL DE ;调用延时子程序

CLR E ;E=0,禁止读/写LCD

ACALL DE ;调用延时子程序

RET

;清除该行LCD 的字符

CLR_LINE: MOV R0,#24

CL1: MOV A,#' '

ACALL WR_DATA

DJNZ R0,CL1

RET

;LCD 存入工作菜单

MEU:

MOV DPTR,#MENU0 ;存入工作菜单

MOV A,#1 ;第一行

CALL LCD_PRINT

RET

; 工作菜单

MENU0: DB " SECOND-CLOCK 0 ",0

MENU1: DB " BEGIN COUNT 1 ",0

MENU2: DB " PAUST COUNT 2 ",0

MENU3: DB " BEGIN COUNT 3 ",0

MENU4: DB " PAUST COUNT 4 ",0

;菜单显示子程序

;一行、二行显示字符

LCD_PRINT:

CJNE A,#1,LINE2 ;判断是否为第一行

LINE1:

ACALL CLR_LINE ;清除该行字符数据

MOV A, #80H ;设置LCD 的第一行地址

ACALL WR_COMM ;写入命令

JMP FILL

LINE2:

ACALL CLR_LINE ;清除该行字符数据

MOV A,#0C0H ;设置LCD 的第二行地址ACALL WR_COMM

FILL: CLR A ;填入字符

MOVC A,@A+DPTR ;由消息区取出字符

CJNE A,#0,LC1 ;判断是否为结束码

RET

;写入数据

LC1: ACALL WR_DATA

INC DPTR ;指针加1

JMP FILL ;继续填入字符

RET

;转换数据子程

CONV: ;转换为ASCII 码并显示

MOV X,#5 ;设置位置

ACALL SKOW_LINE2 ;显示数据

INC X ;

MOV A,#':' ;

MOV B,X ;

ACALL LCDP2 ;

MOV A,MIN ;加载分钟数据

INC X ;设置位置

ACALL SKOW_LINE2 ;显示数据

INC X ;

MOV A,#':' ;

MOV B,X ;

ACALL LCDP2 ;

MOV A,SEC ;加载秒数数据

INC X ;设置位置

ACALL SKOW_LINE2 ;显示数据

INC X ;

MOV A,#':' ;

MOV B,X ;

CALL LCDP2 ;

MOV A,DEDA ;加载秒数数据

INC X ;设置位置

ACALL SKOW_LINE2 ;显示数据

RET ;

;在LCD 的第二行显示数字

SKOW_LINE2:

MOV B,#10 ;设置被除数

DIV AB ;结果A存商数,B存余数

ADD A,#30H ;A为十位数,转换为字符

PUSH B ;B放入堆栈暂存

MOV B,X ;设置LCD 显示的位置

ACALL LCDP2 ;由LCD 显示出来

POP B ;出栈

MOV A,B ;B为个位数

ADD A,#30H ;转换为字符

INC X ;LCD 显示位置加1

MOV B,X ;设置LCD 显示的位置

ACALL LCDP2 ;由LCD 显示出来

RET

;在LCD的第二行显示字符

LCDP2:

PUSH ACC ;

MOV A,B ;设置显示地址

ADD A,#0C0H ;设置LCD的第二行地址

CALL WR_COMM ;写入命令

POP ACC ;由堆栈取出A

CALL WR_DATA ;写入数据

RET

;延时10MS

DELAY:

MOV R6,#50

D1:MOV R7,#100

DJNZ R7,$

DJNZ R6,D1

DJNZ R5,DELAY

RET

;延时5MS子程序

DELAY1:

MOV R6,#25

DEY: MOV R7,#100

DJNZ R7,$

DJNZ R6,DEY

RET

;延时500微秒

DE:

DJNZ R7,$

RET

END ;程序结束

Proteus电路图

数字电子秒表课程设计

西安航空职业技术学院 电子技术实践课程设计报告 课设题目:数字电子秒表 所属系部:电子工程系 指导老师: 作者: 专业:电子信息工程技术 西安航空职业技术学院制 西安航空职业技术学院 课程设计任务书 题目:数字电子秒表 任务与要求: 1、设计数字电子秒表原理图。 2、用6个数码管显示分、秒、毫秒。 3、计时误差不得超过1s;具有清零、启动计时、暂停计时及继续 计时等控制功能。 4、画出总体电路图。 5、安装自己设计的电路,按照自己设计的电路,在通用板上焊接。 焊接完毕后,应对照电路图仔细检查,看是否有错接、漏接、 虚焊的现象。 6、调试电路。 时间:2010年11月29 日至 2010年12 月10 日共2周

所属系部:电子工程系 指导单位或教研室:电子信息教研室 西安航空职业技术学院制 摘要: 采用现代数字电路设计方法和EDA技术,即自顶向下的设计方法,应用protues开发平台进行设计并仿真验证和硬件测试。从总体设计框图开始,将设计任务逐步分解,直到可以用标准的集成电路部件实现,然后将各部件联结成系统,通过protues集成开发平台进行设计的分析综合和时序仿真验证。最后,在分析时序仿真结果的基础上,对设计进行进一步的修改和完善,已达到对设计电路正确运行且学会运用protues电路设计与仿真的目的。 关键词: 555定时器;LED;暂停计时 Abstract: Adopt modern digital circuit design method and EDA technique, namely the top-down design methods, application protues development platform design and simulation validation and hardware test. From the beginning, overall design diagram design task decomposed step by step, until can use standard of integrated circuit components, and then will realize connecting components into system, through protues integrated development platform design of comprehensive analysis and time-series simulation prove. Finally, by analyzing the timing simulation results, on the basis of design for further revised and perfected, reached the correct operation of circuit design and learn to use protues circuit design and simulation of purpose. Key words: 555 timing, Leds, Suspended timing 目录 1 设计方案的选择 (1) 2 总体框架设计 (2) 3 分步电路设计 (3) 3.1控制电路的设计 (3) (3) (3) 3.2数码管显示电路 (4)

数字秒表的设计与实现实验报告

电子科技大学《数字秒表课程设计》 姓名: xxx 学号: 学院: 指导老师:xx

摘要 EDA技术作为电子工程领域的一门新技术,极大的提高了电子系统设计的效率和可靠性。文中介绍了一种基于FPGA在ISE10.1软件下利用VHDL语言结合硬件电路来实现数字秒表的功能的设计方法。采用VHDL硬件描述语言,运用ModelSim等EDA仿真工具。该设计具有外围电路少、集成度高、可靠性强等优点。通过数码管驱动电路动态显示计时结果。给出部分模块的VHDL源程序和仿真结果,仿真结果表明该设计方案的正确,展示了VHDL语言的强大功能和优秀特性。 关键词:FPGA, VHDL, EDA, 数字秒表

目录 第一章引言 (4) 第二章设计背景 (5) 2.1 方案设计 (5) 2.2 系统总体框图 (5) 2.3 -FPGA实验板 (5) 2.4 系统功能要求 (6) 2.5 开发软件 (6) 2.5.1 ISE10.1简介 (6) 2.5.2 ModelSim简介 (6) 2.6 VHDL语言简介 (7) 第三章模块设计 (8) 3.1 分频器 (8) 3.2 计数器 (8) 3.3 数据锁存器 (9) 3.4 控制器 (9) 3.5 扫描控制电路 (10) 3.6 按键消抖电路 (11) 第四章总体设计 (12) 第五章结论 (13) 附录 (14)

第一章引言 数字集成电路作为当今信息时代的基石,不仅在信息处理、工业控制等生产领域得到普及应用,并且在人们的日常生活中也是随处可见,极大的改变了人们的生活方式。面对如此巨大的市场,要求数字集成电路的设计周期尽可能短、实验成本尽可能低,最好能在实验室直接验证设计的准确性和可行性,因而出现了现场可编程逻辑门阵列FPGA。对于芯片设计而言,FPGA的易用性不仅使得设计更加简单、快捷,并且节省了反复流片验证的巨额成本。对于某些小批量应用的场合,甚至可以直接利用FPGA实现,无需再去订制专门的数字芯片。文中着重介绍了一种基于FPGA利用VHDL硬件描述语言的数字秒表设计方法,在设计过程中使用基于VHDL的EDA工具ModelSim对各个模块仿真验证,并给出了完整的源程序和仿真结果。

电子秒表课程设计

课程设计 题目 学院 专业 班级 姓名 指导教师 年月日

课程设计任务书 学生姓名:专业班级: 指导教师:工作单位: 题目:电子秒表的设计与制作 初始条件: (1)计数精度可达1/100秒 (2)可显示时间99.99秒 (3)具有开关可启动,暂停,清零功能 选作:设计可改变计时时间(最大59.99秒)的电路 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) (1)设计任务及要求 (2)方案比较及认证 (3)系统框图,原理说明 (4)硬件原理,完整电路图,采用器件的功能说明 (5)调试记录及结果分析 (6)对成果的评价及改进方法 (7)总结(收获及体会) (8)参考资料 (9)附录:器件表,芯片资料 时间安排: 6月16日~6月19日:明确课题,收集资料,方案确定 6月19日~1月21日:整体设计,硬件电路调试 6月21日~6月24日;报告撰写,交设计报告,答辩 指导教师签名:2014年 6月日

目录 摘要 (4) 电子秒表的设计与制造 (5) 1 课题分析 (5) 2系统设计方案的选择 (5) 3 电子秒表系统主体流程框图 (6) 4 单元电路的设计 (7) 4.1脉冲产生电路 (7) 4.2 计数电路 (8) .3 译码显示电路 (9) 4.4 控制电路 (10) 5 仿真测试 (10) 6 电子秒表设计原理图 (11) 7 结束语 (11) 参考文献 (12) 附录 (13) 附录一:选作:设计可改变计时时间的电路 (13) 附录二:74LS290功能表 (15) 附录三:74LS48功能表 (15)

摘要 电子秒表是一种数字显示计时装置,由于它走时准,设计简单,显示直观,因此被广泛运用于科学研究,体育运动,国防等方面。比如对物体速度,加速度的测量,体育比赛的时间的测量等。 数字电子秒表由组合逻辑电路和时序逻辑电路组成,555定时器组成多谐振荡器产生脉冲,在脉冲控制下的组合计数器电路通过一系列的触发产生数字信号,数字信号经译码器译码后输入到显示数码管显示时间。 电子秒表的广泛应用提高了人们的工作效率,随着电子技术的发展,电子秒表的精度,电路简易型等到了很大的提高,功能得到了完善。 关键词:秒表定时器效率

数字电子秒表课程设计报告

重庆机电职业技术学院课程设计说明书 设计名称:单片机原理设计 题目:数字电子秒表 学生姓名: X X 专业:电气自动化 班级: 1 班 学号: XXXXXXXXXXXXXXX 指导教师: X X X 日期: 2010 年 6 月 16 日

重庆机电职业技术学院 课程设计任务书 电气自动化专业2008 年级 1 班XX 一、设计题目 数字电子秒表设计 二、主要内容 利用独立式按键AN1(P0.0)启动定时器T0计时,AN2(P0.1)停止用于停止定 时器T0计时,使用2个八段数码管输出记时值,秒钟的计时时间范围在0~99秒内。 三、具体要求 3.1、实验电路连线 ①本实验中要把跳线JP1(板子右上角,LED灯正上方)跳到DIG上,J23(在黄色继电器右上方)接到右端;把跳线J9(紧贴51插座右方,蜂鸣器下方,RST复位键上方)跳到右端;把跳线J6跳到AN端,AN1(P0.0)~ AN4(P0.4),(J6在51插座右下方,4×4键盘左上方)。 3.2、实验说明 ①本实验中要将记时结果送2个数码管中显示,这可通过调用编写的显示子程序来实现,实现过程是:先将记时值一位一位的拆开,分别送到显示缓冲区(片内数据存储30H~35H设定为显示缓冲区用于存放段码数据, 其中32H~35H里面均存放0的段码0DFH)中去,然后调用显示子程序。②与定时器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。TMOD用于设置定时器/计数器的工作方式0-3,并确定用于定时还是用于计数。TCON主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。本实验中用定时器T0产生1秒钟基本时间单位,本系统fosc=11.0592MHz,当定时器T0工作在方式1(16位)时,最大定时时间为:216* 0.9216μs= 60397.9776μs;再利用软件记数,当T0中断17次时,所用时间为60397.9776*17=1026765.6192μs≈1s因此在T0中断处理程序中,要判断中断次数是否到17次,若不到17次,则只使中断次数加1,然后返回,若到了17次,则使电 子秒表记时值加1(十进制),请参考硬件实验四有关内容。③使用独立式按键 AN1(P0.0)~ AN2(P0.1)时要注意采用软件消抖动的方法,一般采用软件延时(10ms)的方法,即通过P0.0和P0.1的输入值的变化控制秒表的启动和停止。 3.3

电子秒表课程设计报告

电子信息工程专业10级学生单片机原理课程设计任务书 电子秒表的设计 一、设计要求 设计一个电子秒表,与通用秒表功能类似,有启动,暂停、复位等键。计时长长度为300秒,需显示百分秒。 二、设计方案分析

1.方案设计 数字电子秒表具有显示直观、读取方便、精度高等优点,在计时中广泛使用。本设计用单片机组成数字电子秒表,力求结构简单、精度高为目标。 本系统采用C51系列单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合硬件电路如电源电路,晶振电路,复位电路,显示电路,以及一些按键电路等来设计计时器,将软、硬件有机地结合起来。其中软件系统采用汇编语言编写程序,硬件系统利用PROTEUS强大的功能来实现,简单切易于观察,在仿真中就可以观察到实际的工作状态。 本设计利用STC89C52单片机的定时器/计数器定时和计数的原理,使其能精确计时。利用中断系统使其能实现开始暂停的功能。根据要求知道秒表设计主要实现的功能是计时和显示。因此设置了两个按键和LCD显示时间,两个按键分别是开始、停止和复位按键。利用这两个建来实现秒表的全部功能,而LCD 则能显示最多4.59.99秒的计时。电路原理图设计最基本的要求是正确性,其次是布局合理,最后在正确性和布局合理的前提下力求美观。硬件电路图按照图1.1进行设计。 图1.1 数字秒表硬件电路基本原理图 本设计中,数码管显示的数据存放在内存单元31H-33H中。其中31H存放分钟变量,32H存放秒钟变量,33H存放10ms计数值,即存放毫秒位数据,每一地址单元内均为十进制BCD码。由于采用软件动态扫描实现数据显示功能,显示用十进制BCD码数据的对应段码存放在ROM表中。显示时,先取出31H -33H某一地址中的数据,然后查得对应的显示位,并从P1口输出,就能显示该地址单元的数据值。 INT中断完成,定时溢出中断周期为1ms,当一处中断后向CPU 计时通过1 发出溢出中断请求,每发出一次中断请求就对毫秒计数单元进行加一,达到10次就对十毫秒位进行加一,依次类推,直到4.59.99秒重新复位。 再看按键的处理。这两个键可以采用中断的方法,也可以采用扫描的方法来识别。复位键主要功能在于数值复位,对于时间的要求不是很严格。而开始和停止键则是用于对时间的锁定,需要比较准确的控制。因此可以对复位按键采取扫描的方式。而对开始和停止键采用外部中断的方式。 设计中包括硬件电路的设计和系统程序的设计。其硬件电路主要有主控制 器,显示电路和回零、启动、查看、停表电路等。主控制器采用单片机STC89C52,

数字逻辑电路(数电)课程设计_电子秒表_VHDL实现(含完整源代码!!)

电子科技大学 UNIVERSITY OF ELECTRONIC SCIENCE AND TECHNOLOGY OF CHINA 数字逻辑设计 实验报告 实验题目:电子秒表 学生姓名: 指导老师:

一、实验内容 利用FPGA设计一个电子秒表,计时范围00.00 ~ 99.00秒,最多连续记录3个成绩,由两键控制。 二、实验要求 1、实现计时功能: 域值范围为00.00 ~ 99.00秒,分辨率0.01秒,在数码管上显示。 2、两键控制与三次记录: 1键实现“开始”、“记录”等功能,2键实现“显示”、“重置”等功能。 系统上电复位后,按下1键“开始”后,开始计时,记录的时间一直显示在数码管上;按下1键“记录第一次”,次按1键“记录第二次”,再按1键“记录第三次”,分别记录三次时间。 其后按下2键“显示第一次”,次按2键“显示第二次”,再按2键“显示第三次”,数码管上分别显示此前三次记录的时间;显示完成后,按2键“重置”,所有数据清零,此时再按1键“开始”重复上述计时功能。 三、设计思路 1、整体设计思路 先对按键进行去抖操作,以正确的得到按键信息。 同时将按键信息对应到状态机中,状态机中的状态有:理想状态、开始状态、3次记录、3次显示、以及其之间的7次等待状态。 因为需要用数码管显示,故显示的过程中需要对数码管进行片选和段选,因此要用到4输入的多路选择器。 在去抖、计时、显示的过程中,都需要用到分频,从而得到理想频率的时钟信号。 2、分频设计 该实验中有3个地方需要用到分频操作,即去抖分频(需得到200HZ时钟)、计时分频(需得到100HZ时钟)和显示分频(需得到25kHZ时钟)。 分频的具体实现很简单,需首先算出系统时钟(50MHZ)和所需始终的频率比T,并定义一个计数变量count,当系统时钟的上升沿每来到一次,count就加1,当count=T时就将其置回1。这样只要令count=1~T/2时clk=‘0’,count=T/2+1~T时clk=‘1’即可。 3、去抖设计 由于用按键为机械弹性开关,故当机械触点断开、闭合时,按键开关在闭合时不会马上稳定地接通,在断开时也不会马上断开,而是在闭合及断开的瞬

单片机 10秒秒表课程设计

赣南师范学院物理与电子信息学院 课程设计Ⅳ设计报告书 基于AT89S52单片机的 10秒秒表的设计 姓名:匡远熹 班级:09电子信息工程 学号:090802015 指导老师:刘小燕 时间:2012.1.01

目录 内容摘要 (1) 关键词................................................................. 错误!未定义书签。Abstract............................................................. 错误!未定义书签。Keywords............................................................. 错误!未定义书签。1绪论. (2) 2 系统设计 (2) 2.1 设计任务与要求 (3) 2.2 方案的选择与论证 (3) 3 系统硬件设计 (4) 3.1 AT89C52简介 (4) 3.2 时钟电路 (5) 3.3 复位电路 (5) 3.4 显示电路 (6) 3.5引脚控制 7 3.6 硬件元件清单 (7) 4软件设计与仿真 (7) 4.1主程序设计 (7) 4.2 仿真软件简介 (9) 4.3 仿真结果 (10) 4.4 系统调试 (11) 结束语 (12) 附录:程序清单 (14) 参考文献 (16)

内容摘要:本文阐述了基于单片机的数字电子秒表设计。本设计主要特点是计时精度达到0.1s,是各种体育竞赛的必备设备之一。本设计的数字电子秒表系统采用8051单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合显示电路、LED数码管设计计时器。其中软件系统采用C语言编写程序,包括显示程序,定时中断服务,延时程。硬件系统利用PROTEUS强大的功能来实现,简单切易于观察,在仿真中就可以观察到实际的工作状态。 关键字:秒表;单片机AT89S52;硬件;软件;仿真 Abstract:The design of the multi-function stopwatch system uses AT89S52 microcontroller as the central device, and use its timer / counter timing and the count principles, combined with display circuit, LED digital tube, as well as the external interrupt circuit to design a timer. Be able to correctly time at the same time to record a time, and the next time after the last time the time to search automatically added a second in which software systems using assembly language programming, including the display program, timing, interrupt service, external interrupt service routine, delay procedures, key consumer shaking procedures, and KEIL in the commissioning, operation, hardware system uses to achieve PROTEUS powerful, simple and easy to observe the cut in the simulation can be observed on the actual working condition. Keyword:Stopwatch;AT89S52 scm;Hardware;Software;Simulation

课程设计电子秒表

通信与信息工程学院 2015/2016 学年第 1 学期 课程设计II实验报告设计题目 电子秒表 任务要求基本要求 A.设计秒表功能,精度为0.01秒。 B.可同时记录和存储10个秒表数据(连续记录并显示已存储记录数,秒表记录数据查询和清除功能)。 发挥部分: A.设计PC和430之间的串行口通信程序(参考USB通信实验)和通信协议,通过USB串行口向PC机上报秒表数据。 实验设备 及软件 计算机;MSP-EXP430F5529开发板;IAR开发软件

目录 一.设计要求和原理说明 1.1 设计要求 A.设计秒表功能,精度为0.01秒。 B.可同时记录和存储10个秒表数据(连续记录并显示已存储记录数,秒表记录数据查询和清除功能)。 1.2 原理说明 本次课程设计利用430单片机的定时器/计数器定时和计数原理,实现电子秒表的精确计时。利用中断系统实现计数开始和数据记录,并在LED显示屏上显示。当接通电源即对开发板、按键和定时器初始化。初始状态下计时器显示00.00,当按下S2键时,外部中断I N T1向CPU发出中断请求,CPU转去执行外部中断1服务程序,即开启定时器。计时采用定时器T中断完成,秒表要求的精度为0.01秒,故设定定时溢出中断周期为10m s,当一处中断后向CPU发出溢出中断请求,每发出一次中断请求就对毫秒计数单元进行加一,达到10次就对十毫秒位进行加一。依次类推,直到99.99秒重新复位。 当按下S1键,停止内部中断,执行外部中断处理程序,即记录当前计时结果,并显示在LCD显示屏上。记录完成才允许其他中断。LCD屏一次允许显示十个数据,当记满十组数据时回到第一行继续显示后面的数据。 当再次按下S2键,数据清零。 二.系统硬件设计 2.1按键输入模块设计 本次设计具有三个功能:启动定时器,计时和清零。对S2键设计实现启动定时器和清零功能。对S1键设计实现计时功能。 当按下S2键时,外部中断I N T1向CPU发出中断请求,CPU转去执行外部中断1服务程序,即开启定时器。计时采用定时器T中断完成,秒表要求的精度为0.01秒,故设定定时溢出中断周期为10m s,当一处中断后向CPU发出溢出中断请求,每发出一次中断请求就对毫秒计数单元进行加一,达到10次就对十毫秒位进行加一。依次类推,直到99.99秒重新复位。 当按下S1键,停止内部中断,执行外部中断处理程序,即记录当前计时结果,并显示在LCD显示屏上。记录完成才允许其他中断。LCD屏一次允许显示十个数据,当记满十组数据时回到第一行继续显示后面的数据。 当再次按下S2键,数据清零。 2.2点阵LCD液晶显示模块 在该电路中,液晶为102×64点阵LCD,采用SPI模式实现数据的传输,在该电路中数据传输是单向的,数据只允许写入。在初始化时,调节命令中PM(0~63)的数值就可调节液晶显示对比度;该液晶背光为LED背光,通过

电子秒表课程设计

电子秒表课程设计报告 目录 一、设计要求 (2) 二、设计的目的与作用 (2) 三、设计的具体体现 (2) 1. 电子秒表的基本组成 (3) 2.电子秒表的工作原理 (3) 3.电子秒表的原理图 (4) 4. 单元电路设计 (4) 5.设计仿真与PCB制版 (12) 四、心得体会 (17) 五、附录 (18) 六、参考文献 (20)

一、设计要求 1.以0.01秒为最小单位进行显示。 2.秒表可显示0.01~59:59:99秒的量程。 3.该秒表具有清零、开始计时、停止计时功能。 二、设计方案 方案一:通过单片机来实现电子秒表 基于51单片机电子秒表,设计简单,而且技术准确,缺点是价格相比于数字电路实现的秒表技术要昂贵。 方案二:采用数字电路来实现秒表计数,优点是价格便宜,计数精确,反应较快,缺点是,电路芯片较多,设计电路复杂。 经过比较选择了较为经济适用的数字电路。 二、设计的目的与作用 1.培养我们运用有关课程的基础理论和技能解决实际问题,并进一步提高专业基本技能、创新能力。通过课程设计,学习到设计写作方法,能用文字、图形和现代设计写作方法系统地、正确地表达课程设计和研究成果。 2. 熟悉555方波振荡器的应用。 3.熟悉计数器的级联及计数、译码、显示电路的整体配合。

4.建立分频的基本概念。 三、设计的具体体现 1.电子秒表的基本组成 电子秒表电路的基本组成框图如图所示,它主要由基本RS 触发器、多谐振荡器、计数器和数码显示器4个部分组成。 电子秒表电路的基本组成(方框图)如下: 图(1)电子秒表基本组成方框图 2.电子秒表的工作原理 由555定时器构成多谐振荡器,用来产生50Hz 的矩形波。第Ⅰ块计数器作5分频使用,将555输来的50Hz 的脉冲变为0.1秒的计数脉冲,在输出端Qd 取得,作为第2块计数器的始终输入,第2、第3块计数器QA 与CP2相连,都已接成8421码十进 基本RS 触发器 多谐振荡器 单稳态触发器 计数器 译码显示器

倒计时秒表课程设计

倒计时秒表课程设计

目录 一.设计目的 (1) 二.设计要求 (1) 三.总体设计 (1) 设计方案 (1) 硬件电路设计 (1) 1)C P U部分 (1) 2)晶振电路部分 (2) 3)L C D显示 (3) 4)键盘及蜂鸣器部分 (3) 软件程序设计 (4) 四.方案实施 (6) 单片机简介 (6) 4.2动态L C D液晶显示器显示 (6) 4.3 软件调试及调试方法 (8) 五.课程设计总结 (10) 六.参考文献 (10) 七.附件 (11) 源程序 (12) 总体电路图 (22)

一.设计目的 1熟悉整个项目的流程即单片机系统设计过程 2 学会使用各种仿真软件 3熟练的使用汇编语言编写小的应用程序 4 掌握系统的调试与安装 5提高学生的自学能力和动手能力 二.设计要求 1)可以实现正常秒表的所有功能,包括启动,暂停,复位等 2)可以自由设定倒计时时间(10s,20s,30s....),并进行倒计时(10s,20s,30s....) 3)显示方式自选 4)任选一款51单片机 5)扩展功能:在秒表基础上增加时钟功能;倒计时完成时加入报警单元,如声音,灯光等 三.总体设计 设计方案 1)方案讨论和设计:倒计时数字秒表的设计主要考虑以下几个问题:一,LCD液晶显示器如何显示数字0—9;二,如何用单片机来控制LCD的显示;三,单片机最小模式下的设计。处理好这些问题此设计才能完整,为此必须先了解LCD的显示原理和接线方法,再了解单片机的组成原理和控制方法。硬件电路的绘制和软件程序的编写是此次设计的关键和基础,只有硬件电路的设计是正确的、合理的,软件设计才可以根据硬件电路编程,以下的设计才能够进行。 2)主要任务:软件的调试和烧录 硬件电路设计 1)CPU部分 口是“调模式”num 10,num20,num30,num50,num100 口是“开始”倒计时端口 口是“关闭”(返回)轰鸣器口,在定时可以返回到模式状态。 口是给轰鸣器送触发信号口 口是“暂停”口

电子秒表课程设计报告

西安郵電學院 控制系统课程设计报告书 系部名称:信息与控制系 学生姓名:XXX 专业名称:测控技术与仪器 班级:测控XXXX 2010年9月13日至 时间: 2010 年9月26日

电子秒表的设计 一、设计要求 设计一个电子秒表,与通用秒表功能类似,有启动,暂停、复位等键。计时长长度为300秒,需显示百分秒。 二、 设计方案分析 1.方案设计 数字电子秒表具有显示直观、读取方便、精度高等优点,在计时中广泛使用。本设计用单片机组成数字电子秒表,力求结构简单、精度高为目标。 本系统采用C51系列单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合硬件电路如电源电路,晶振电路,复位电路,显示电路,以及一些按键电路等来设计计时器,将软、硬件有机地结合起来。其中软件系统采用汇编语言编写程序,硬件系统利用PROTEUS 强大的功能来实现,简单切易于观察,在仿真中就可以观察到实际的工作状态。 本设计利用STC89C52单片机的定时器/计数器定时和计数的原理,使其能精确计时。利用中断系统使其能实现开始暂停的功能。根据要求知道秒表设计主要实现的功能是计时和显示。因此设置了两个按键和LCD 显示时间,两个按键分别是开始、停止和复位按键。利用这两个建来实现秒表的全部功能,而LCD 则能显示最多4.59.99秒的计时。电路原理图设计最基本的要求是正确性,其次是布局合理,最后在正确性和布局合理的前提下力求美观。硬件电路图按照图1.1进行设计。 图1.1 数字秒表硬件电路基本原理图 本设计中,数码管显示的数据存放在内存单元31H -33H 中。其中31H 存放分钟变量,32H 存放秒钟变量,33H 存放10ms 计数值,即存放毫秒位数据,每一地址单元内均为十进制BCD 码。由于采用软件动态扫描实现数据显示功能,显示用十进制BCD 码数据的对应段码存放在ROM 表中。显示时,先取出31H -33H 某一地址中的数据,然后查得对应的显示位,并从P1口输出,就能显示该地址单元的数据值。 计时通过1INT 中断完成,定时溢出中断周期为1ms ,当一处中断后向CPU

数字电子技术课程设计电子秒表精选版

数字电子技术课程设计 电子秒表 Document serial number【KKGB-LBS98YT-BS8CB-BSUT-BST108】

数字电子技术课程设计报告题目:电子秒表的设计 专业: 班级: 姓名: 指导教师: 课程设计任务书学生班级:学生姓名:学号: 设计名称:电子秒表的设计 起止日期: 指导教师:周珍艮

目录 绪论- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 4 第一章、设计要求

设计任务及目的- - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - -5 系统总体框图- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 、设计方案分析- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -6 第二章、电路工作原理及相关调试 电路工作原理- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 7 相关调试- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- 11 第三章、实验总结 附录A 电子秒表原理图 附录B 相关波形 元件清单 参考文献 绪论 随着电子技术的发展,电子技术在各个领域的运用也越来越广泛,渗透到人们日常生活的方方面面,掌握必要的电工电子知识已经成为当代大学生特别是理工类大学生必备的素质之一。 电子秒表是日常生活中比较常见的电子产品,秒表的逻辑结构主要由时基电路、分频器、二一五一十进制异步加法记数器、数据选择器和显示

电子秒表课程设计

湖南人文科技学院 课程设计报告 课程名称:电子技术课程设计 设计题目数字电子秒表 系别: 专业: 班级: 学生姓名: 学号: 起止日期: 指导教师: 教研室主任:

摘要 本次设计的数字电子秒表以555定时器为核心,由多谐振荡电路,计数译码显示电路,控制电路三大主要模块构成。由NE555定时器组成的多谐振荡电路通过控制阻值产生10Hz,1Hz的脉冲;输入由74LS192芯片组成的计数电路、74LS48组成的译码电路在数码管FJS5101显示器上输出,以上部分组成计数译码显示电路;通过控制电路实现复位,置数功能,灵活启动停止。电路是采用外接电源来实现的。经过仿真、布线、制板等工作,数字秒表成形。本组在此次设计过程中主要是先分析设计要求,根据提出的设计要求选取合适的芯片,再用multisim 10 画出电路图,进行仿真。再用Prote 2004 Sp2绘制原理图和PCB图,并把PCB图转印到印制板上完成焊接和调试等工作。最终完成数字电子秒表的工作。 关键词:NE555定时器;74LS192计数器;74LS48译码器;控制电路

目录 1、方案论证与对比 (1) 1.1 方案一 (1) 1.2方案二 (2) 1.3方案的对比与选择 (2) 2、数字电子秒表总体方案的分析与设计 (3) 2.1电子秒表电路总图 (3) 2.2控制电路 (4) 2.3 脉冲产生原理 (5) 2.4计数译码显示单元 (7) 2.4.1 计数器 (8) 2.4.2 译码器 (9) 2.4.3 七段显示数码管 (11) 3、调试与检测 (12) 3.1调试方法 (12) 3.2调试故障的原因与排除 (13) 3.3调试结果 (14) 4、总结与致谢 (14) 5、参考文献 (16) 6、附录 (17) 附录一元件清单 (17) 附录二总电路的PCB图 (17) 附录三总电路的仿真图 (18)

电子秒表设计实验报告

淮阴工学院 《数字电子技术》课程实验期末考核 2014-2015学年第2学期实验名称:电子秒表电路的设计 班级: 学号: 姓名: 学院:电子与电气工程学院 专业:自动化 系别:自动化 指导教师:《数字电子技术》实验指导教师组成绩: 2015年07月

电子秒表电路的设计 一、实验目的 1 .学习数字电路中基本RS 触发器、单稳态触发器、时钟发生器及计数、译码显示等单元电路的综合应用。 2 .学习电子秒表的调试方法。 二、实验原理 图11 -1 为电子秒表的电原理图。按功能分成四个单元电路进行分析。

1.基本RS 触发器 图11 -1 中单元I 为用集成与非门构成的基本RS 触发器。属低电平直接触发的触发器,有直接置位、复位的功能。 它的一路输出作为单稳态触发器的输入,另一路输出Q 作为与非门5 的输入控制信号。 按动按钮开关K 2(接地),则门1 输出=1 ;门2 输出Q =0 ,K 2 复位 后Q 、状态保持不变。再按动按钮开关K 1 , 则Q 由0 变为1 ,门5 开启, 为计数器启动作好准备。由1 变0 ,送出负脉冲,启动单稳态触发器工作。 基本RS 触发器在电子秒表中的职能是启动和停止秒表的工作。 2. 时钟发生器 图11 -1 中单元Ⅲ为用555 定时器构成的多谐振荡器,是一种性能较好的 时钟源。 调节电位器 R W ,使在输出端3 获得频率为50HZ 的矩形波信号,当基本RS 触发器Q =1 时,门5 开启,此时50HZ 脉冲信号通过门5 作为计数脉冲加于 计数器①的计数输入端CP 2 。

图11-2 单稳态触发器波形图图11-3 74LS90引脚排列 3.计数及译码显示 二—五—十进制加法计数器74LS90 构成电子秒表的计数单元,如图11 -1 中单元Ⅳ所示。其中计数器①接成五进制形式,对频率为50HZ 的时钟 取得周期为0.1S 的矩形脉冲,作为计数器②的脉冲进行五分频,在输出端Q D 时钟输入。计数器②及计数器③接成8421 码十进制形式,其输出端与实验装置上译码显示单元的相应输入端连接,可显示0.1 ~0.9 秒;1 ~9 秒计时。 注:集成异步计数器74LS90 74LS90 是异步二—五—十进制加法计数器,它既可以作二进制加法计数器,又可以作五进制和十进制加法计数器。

电子秒表课程设计

电子秒表 摘要 电子秒表是一种用数字电路技术实现时、分、秒计时的装置,无机械装置,具有较长的使用寿命,因此得到了广泛的使用。它从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。本次实验所做电子式秒表由信号发生系统和计时系统构成,并具有清零,暂停功能。由于需要比较稳定的信号,所以信号发生系统555定时器与电阻和电容组成的多谐振荡器构成,信号频率为100HZ。计时系统由计数器、译码器、显示器组成。计数器由74 LS160构成,由十进制计数器组成了一百进制和六十进制计数器,采用异步进位方式。译码器由74LS48构成,显示器由数码管构成。清零,暂停功能由RS触发器构成防抖动开关。具体过程为:由晶体震荡器产生100HZ脉冲信号先进入计数器,然后传入译码器,将4位信号转化为数码管可显示的7位信号,结果以“分”、“秒”、“10毫秒”依次在数码管显示出来。该秒表最大计时值为59分59.99秒,“10毫秒”为一百进制计数器组成,“分”和“秒”为六十进制计数器组成。 关键词:计时精度计数器显示器 Abstract Electronic stopwatch is the realization of a digital circuit technology,.It can realize the hour, minute, second timer.It does not have mechanical means and has a longer life, so it has been widely used. The principle is a typical digital circuit, which includes a combination logic circuit and a timing circuit. The experiments can be done by electronic stopwatch constituted by the signal system and timing system, and has cleared pause function. Due to the need of a more stable signal, the signal generating system is constituted by the 555 Timer with the resistors and capacitors, and the signal frequency is 100Hz. Timing system contains the counter, decoder, display. Counter 74 LS160 constituted by the decimal counter the decimal and sexagesimal counter, which uses asynchronous binary. The decoder from 74LS48 constitute display digital tube constitute Cleared, the pause function by the RS flip-flop. Its specific process: the 100Hz pulse signal generated by the crystal oscillator and first into the counter, and then the incoming decoder, a 4-bit signal is converted to 7-bit signal of the digital control can be displayed, the result by "minute", "second", "10 milliseconds" turn on the digital display. The stopwatch timing is 59 minutes, 59.99 seconds, 10 milliseconds is the 150 binary counter, "minute" and "second" is the six decimal counter. Keyword:Timing accuracy counter display

数字秒表课程设计报告

《电子技术》课程设计 题目:数字秒表设计 专业:电气工程系 班级:本电气自动化126 姓名:黎梓浩学号:11 指导老师:钟立华 小组成员:曾志辉麦照文黎梓浩成绩:

目录 摘要,关键词,引言 3 一.设计目的 3 二.设计总体框图4三.设计原理及说明 4 四.单元电路设计 5 五.器件选择9 六.设计电路图9 七.安装与调试9 八.设计心得与体会10 九.参考文献11十.附录(实物图、原理图)12

摘要:本文的数字秒表设计是利用数字电路,实现时、分、秒计时功能的装置。具有较长的使用寿命,因此得到了广泛的应用。 关键词:计时精确计数器显示器74LS160 引言:在科技高度发展的今天,集成电路和计算机应用得到了高速发展。尤其是计算机应用的发展。它在人们日常生活中已逐渐崭露头角,大多数电子产品多是有计算机电路组成,如:手机、mp3等。而且将来的不久他们的身影将会频繁的出现在我们身边。各种家用电器多会实现微电脑技术。电脑各部分在工作时多是一时间为基准的。本文就是基于计算机电路的时钟脉冲信号、状态控制等原理设计出的数字秒表。秒表在很多领域充当一个重要角色。在各种比赛中对秒表的精确度要求很高,尤其是一些科学实验,他们对时间精确度达到了几纳秒级别。 一.设计目的 1.了解数字秒表的主体电路的组成及工作原理; 2.熟悉集成电路及有关电子原件的使用; 3.学习和掌握数字电路中的时钟发生器及计数、译码显示等单元电路的综合应 用; 4.掌握电子电路一般设计方法和设计流程; 5.掌握protel等绘图软件的使用。

二.设计总体框图 三.设计原理及说明 数字秒表具有操作方便、使用简单、计数精准等使用优点,在日常生活中的到了广泛认可和使用。 数字秒表的设计属于中规模集成芯片设计。本设计中CP脉冲采用555多谐振荡方波脉冲,频率为100Hz。如果需要更精确的计数条件,可以选择石英晶振输入。主计时电路采用3片74LS160构成的同步清零计数器,毫秒计数级为100进制,即毫秒计数100次向上进1,依此类推,秒计数为60进制。输出为3片7448芯片匹配3枚共阴极数码管。其中最小计时精度为0.01S(即10mS),能满足一般的计时场合使用。最大计时时长为59秒9,超过1分钟重新从0开始计数。暂停功能采用阻断CP脉冲输入设置,具有较高的优先级。清零功能用与非门并联计数器同步清零(清零时控制脉冲为高,计数器内部清零脉冲为无效的高状态,计数器被强制清零),由双向开关控制,在任意时间可以使用(不管暂停与否)。

《电子设计自动化课程设计报告-简易数字秒表设计》

《电子设计自动化》 课程设计报告 学校: 专业: 班级: 姓名: 指导教师: 二00九年12 月16 日 目录

1.课程名称 (2) 2.设计任务和要求 (2) 2.1设计任务 (2) 2.2设计要求 (2) 3.方法选择与论证 (2) 3.1方案选择 (2) 3.2方案论证 (2) 4.方案的原理图 (3) 4.1方案原理图 (4) 4.2总体电路图,布线图以及说明 (5) 4.3单元电路设计及说明 (5) 5.电路调试 (8) 6.收获体会、存在问题和进一步的改进意见 (9) 第1页共8页

简易数字秒表 1.课程名称:《简易数字秒表》 2.设计任务和要求 2.1设计任务: 数字式秒表实现简单的计时与显示,按下启动键开始清零计时,按下停止键,计时停止。具有“ 分”(00—59)“秒”( 00—59)数字显示,分辨率为1 秒。计时范围从 00分 00 秒到 59 分 59 秒。 2.2设计要求: 阅读相关科技文献,上网搜索相关资料,设计多种方案设计,予以论证,最终选择最佳方案。 1、将提供的1024hz的方波源转换成1hz 的方波源。 2、秒表的范围为0-59分59秒。 3、最后用数码管显示。 3. 方法选择与论证 3.1.方案选择 在设计之初,我们有两个方案,都实现了59分59秒的结果,不过经过小组成员的讨论,一致选定采用方案二,该方案是在Proteus软件环境下实现的秒表计时功能,就制作上较方案一还是很不错的。 3.2. 方案论证 我们主要采用74LS90芯片和555计时器,74LS90 是二 -- 五十进制计数器,根据进制转换,很好的实现了六进制的功能,参考了各相关书籍及网上的一些资料,我们做好了现在的电路图,经过仿真,我们达到了预期的结果。 2

相关主题
文本预览
相关文档 最新文档