基于单片机的秒表系统设计

合集下载

基于单片机的秒表的实现设计报告

基于单片机的秒表的实现设计报告

目录一、课程设计目的 (1)二、课程设计要求 (1)三、总体设计方案 (1)3.1、项目概述 (1)3.2、系统模块化设计及整体原理框图 (1)3.2.1、系统各模块简介 (1)3.2.2、系统整体连线图 (4)3.2.3、设计流程 (4)四、系统组成模块功能实现 (4)4.1、数码管参数的配置 (4)4.2设置定时计数器 (4)4.3暂停与复位 (5)4.4秒表的初始化操作 (6)五、系统功能整合及测试结果展示图 (7)六、未实现部分功能及展望 (7)6.1、未实现功能及期末期望 (7)6.2智能秒表的未来 (8)七、课程设计总结收获与致谢 (8)八、参考文献 (8)一、课程设计目的1、结合学习过的STC15单片机的相关基础知识,通过课程设计的实现,进一步了解该单片机的更深次的功能特性及相关操作。

2、通过项目实践了解AT89C51单片机系统各部分实现的基本思路和原理,完成各功能模块在单片机控制下的协调工作。

3、以个人为单位,独立完成课程设计,从需求分析到模块化功能实现、系统功能整合再到系统测试和最终实现,进一步培养工程模块化操作方法。

二、课程设计要求本系统使用7SEG-MPX6-CC数码管、搭载AT89C51型号的开发板以及排阻RESPACK-8模块、LED显示灯模块、按钮模块实现以下功能:1、数码管上显示已经开始的时间。

2、当秒表未开始时,LED-RED亮起,LED-GREEN不亮,显示屏亮起,显示数字为0;点击开始按钮,LED-RED不亮,LED-GREEN亮起,显示屏显示已经过的秒数;3、点击暂停按钮,LED-RED亮起,LED-GREEN不亮,显示屏处于暂停状态,不再记录秒数;点击复位按钮,LED-RED亮起,LED-GREEN不亮,显示屏显示数字为0三、总体设计方案3.1、项目概述数字秒表是采用数字电路制成的实现对时间的测量,数字秒表是通信设备、视频等科研生产领域并不可少的测量仪器。

基于单片机数字秒表系统的设计

基于单片机数字秒表系统的设计

目录1 引言 (2)1.1 单片机的发展概况 (2)1.2 数字秒表的描述与分析 (3)1.21问题描述 (3)2 设计目的及要求 (5)2.1 设计目的 (5)2.2 设计要求 (5)3 系统硬件电路设计 (6)3.1数字秒表电路设计 (6)3.2 电源电路 (8)3.3 单片机晶振电路 (8)3.4 单片机复位电路 (9)3.5数码管显示系统电路 (10)4 软件设计 (13)4.1实验程序 ......................................... 错误!未定义书签。

5 仿真结果 (18)总结 (21)参考文献 (22)1 引言1.1 单片机的发展概况单片机以其高可靠性、高性价比、低电压、低功耗等一系列优点,近几年得到迅猛发展和大范围推广,广泛应用于工业控制系统,数据采集系统、智能化仪器仪表,及通讯设备、日常消费类产品、玩具等。

并且已经深入到工业生产的各个环节以及人民生活的各层次中,如车间流水线控制、自动化系统等、智能型家用电器(冰箱、空调、彩电)等。

管脚图如图1所示。

图1 89C52单片机引脚图(1) 电源地组Vcc和Vss;VCC—(40)脚接+5V电压;VSS—(20)脚接地(2) 时钟电路组XTAL1和XTAL2(3) 控制信号组RST/ALE/PSEN和EA(4) I/O端口P0, P1, P2和P3近来,单片机的发展尤为迅猛,并且趋于高智能化、存储器大量化、更多的外围电路内装化以及工艺上的多元化等方向,广泛应用于单机应用领域、多机应用领域、自动控制领域和智能化控制领域等。

单片机应用系统的结构通常分为三个层次,即单片机、单片机系统和单片机应用系统。

单片机通常指应用系统主处理机,即所选择的单片机器件等。

单片机系统指按照单片机的技术要求和嵌入对象的资源要求而构成的基本系统。

时钟电路、复位电路和扩展存储器等与单片机共同构成了单片机系统。

单片机应用系统指能满足嵌入对象要求的全部电路系统。

基于51单片机的数字秒表课程设计

基于51单片机的数字秒表课程设计

电气与自动化工程学院卓越工程师培养计划暑期实训报告题目秒表系统的设计年级11级专业自动化班级卓越班学号*********姓名俞雷地点大学生创新实验室日期2012年8月12日~2012年8月20日目录一、单片机简介............................................................................- 2 -二、设计目标................................................................................- 3 -1、设计目的: (3)2、具体操作: (3)三、硬件设计................................................................................- 4 -原理图:. (4)四、系统的软件设计....................................................................- 5 -1、软件整体设计思路: (5)2、软件流程图: (5)3、程序: (6)(1)数码管秒表显示程序: ...................................................- 6 -(2)1602液晶秒表显示程序:............................................ - 13 -五、系统的调试及设计结果..................................................... - 18 -1602液晶——秒表显示效果图:. (18)LED数码管——秒表显示效果图: (18)六、创新实验室课程设计小结................................................. - 19 -一、单片机简介单片机以其高可靠性、高性价比、低电压、低功耗等一系列优点,近几年得到迅猛发展和大范围推广,广泛应用于工业控制系统,数据采集系统、智能化仪器仪表,及通讯设备、日常消费类产品、玩具等。

基于51单片机秒表的程序的设计[1]

基于51单片机秒表的程序的设计[1]

基于51单片机秒表的程序设计1.设计目的:(1)利用单片机定时器中断和定时器计数方式实现秒、分定时。

(2)通过LED显示程序的调整,熟悉8155与8051,8155与LED的接口技术,熟悉LED动态显示的控制过程。

(3)通过键盘程序的调整,熟悉8155与矩阵式键盘的接口技术,熟悉键盘扫描原理。

(4)通过阅读和调试简易秒表整体程序,学会如何编制含LED动态显示、键盘扫描和定时器中断等多种功能的综合程序,初步体会大型程序的编制和调试技巧。

2.设计步骤与要求(1)要求:以8位LED右边2位显示秒,左边6位显示0,实现秒表计时显示。

以4×4矩阵键盘的KE0、KE1、KE2等3键分别实现启动、停止、清零等功能。

(2)方法:用单片机定时器T0中断方式,实现1秒定时;利用单片机定时器1方式3计数,实现60秒计数。

用动态显示方式实现秒表计时显示,用键盘扫描方式取得KE0、KE1、KE2的键值,用键盘处理程序实现秒表的启动、停止、清零等功能。

(3)软件设计:软件整体设计思路是以键盘扫描和键盘处理作为主程序,LED动态显示作为子程序。

二者间的联系是:主程序查询有无按键,无按键时,调用二次LED动态显示子程序(约延时8ms)后再回到按键查询状态,不断循环;有按键时,LED动态显示子程序作为按键防抖延时被连续调用二次(约延时16ms),待按键处理程序执行完后,再回到按键查询状态,同时兼顾了按键扫描取值的准确性和LED动态显示的稳定性。

秒定时采用定时器T0中断方式进行,60秒计数由定时器1采用方式3完成,中断及计数的开启与关闭受控于按键处理程序。

由上述设计思路可设计出软件流程图如图1.1所示。

(5)程序编制:编程时置KE0键为“启动”,置KE1键为“停止”,置KE2键为“清零”,因按键较少,在处理按键值时未采用散转指令“JMP”,而是采用条件转移指令“CJNE”,每条指令后紧跟着一条无条件跳转指令“AJMP”,转至相应的按键处理程序,如不是上述3个按键值则跳回按键查询状态。

单片机课程设计_基于单片机的数字秒表设计

单片机课程设计_基于单片机的数字秒表设计

单片机课程设计_基于单片机的数字秒表设计在当今科技迅速发展的时代,电子设备的应用无处不在,其中数字秒表作为一种常见的计时工具,具有广泛的应用场景,如体育比赛、科学实验、工业生产等。

本次课程设计旨在基于单片机技术实现一个数字秒表,通过对硬件电路的设计和软件程序的编写,掌握单片机系统的开发流程和方法,提高实践动手能力和解决问题的能力。

一、设计要求1、能够实现秒表的启动、暂停、复位功能。

2、计时精度达到 001 秒。

3、能够通过数码管显示计时结果。

二、系统方案设计1、硬件设计单片机选型:选用常见的 STC89C52 单片机作为核心控制器,其具有性能稳定、价格低廉、易于编程等优点。

显示模块:采用 8 位共阴极数码管作为显示器件,通过动态扫描的方式实现数字的显示。

按键模块:设置三个独立按键,分别用于启动、暂停和复位操作。

时钟模块:使用单片机内部的定时器/计数器产生精确的时钟信号,实现计时功能。

2、软件设计主程序:负责系统的初始化、按键扫描和计时处理等。

中断服务程序:利用定时器中断实现 001 秒的定时,更新计时数据。

三、硬件电路设计1、单片机最小系统包括单片机芯片、晶振电路和复位电路。

晶振频率选择 12MHz,为单片机提供时钟信号。

复位电路采用上电复位和手动复位相结合的方式,确保系统能够可靠复位。

2、显示电路将 8 位数码管的段选引脚通过限流电阻连接到单片机的 P0 口,位选引脚通过三极管连接到单片机的 P2 口。

通过动态扫描的方式,依次点亮每个数码管,实现数字的显示。

3、按键电路三个按键分别连接到单片机的 P10、P11 和 P12 引脚,采用低电平有效。

当按键按下时,相应引脚的电平被拉低,单片机通过检测引脚电平的变化来判断按键的操作。

四、软件程序设计1、主程序流程系统初始化后,进入主循环。

在主循环中,不断扫描按键状态,如果检测到启动按键按下,则启动计时;如果检测到暂停按键按下,则暂停计时;如果检测到复位按键按下,则将计时数据清零。

基于单片机的秒表设计

基于单片机的秒表设计

基于单片机的秒表设计基于单片机的秒表设计引言在现代生活中,计时设备已经成为了我们日常生活中的必需品。

无论是体育比赛、工程控制还是交通调度,都需要精确的计时功能。

传统的机械秒表虽然精度高,但操作复杂,不易携带。

为了解决这一问题,基于单片机的秒表设计应运而生。

本文将详细介绍秒表的设计原理、实现方案以及实验验证。

原理分析单片机内部有一个高精度振荡器,通过晶振和电容等元件构成的电路,产生具有一定频率的方波信号。

该信号送入单片机内的计数器,计数器对单位时间内方波的个数进行计数,从而得到时间信息。

单片机将这些时间信息进行处理和存储,并通过输出设备展示给用户。

设计方案基于单片机的秒表设计主要包括以下几个部分:1、电路连接:通过单片机内部的计数器和外部的晶振、电容等元件构成计时电路。

2、程序编写:编写程序实现计时、暂停、清零等功能。

3、输出显示:通过液晶显示屏等设备将计时的结果展示给用户。

实验验证为了验证基于单片机的秒表的准确性和稳定性,我们进行了一系列实验。

实验结果表明,该秒表在各种环境条件下均能保持较高的精度和稳定性。

对比其他方案相比于传统的机械秒表,基于单片机的秒表具有更高的精度和稳定性。

同时,基于单片机的秒表可以通过程序实现复杂的功能,如计时、暂停、清零等,更加方便实用。

结论基于单片机的秒表设计具有高精度、多功能、易操作等优点,在实际生活中具有广泛的应用价值。

通过单片机内部的高精度振荡器和外部的晶振、电容等元件构成的计时电路,实现了秒表的计时功能。

通过程序编写实现了计时、暂停、清零等功能,并通过液晶显示屏等设备将计时的结果展示给用户。

实验结果表明,该秒表在各种环境条件下均能保持较高的精度和稳定性。

基于单片机的秒表相比于传统的机械秒表具有更高的精度和稳定性,同时可以通过程序实现复杂的功能,更加方便实用。

单片机秒表课程设计 (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 功能函数除了定时器中断函数和外部中断函数之外,还可以编写一些功能函数来实现计时、暂停和复位等功能。

基于单片机的简易秒表设计

基于单片机的简易秒表设计

• 207•ELECTRONICS WORLD ・技术交流1 前言生活中常见的定时有很多,如电视机定时关机、空调定时开关、微波炉定时加热等等。

单片机中的计数器除了可以作为计数之用外,还可以用作时钟,只要计数脉冲的间隔相等,则计数值就代表了时间的流逝。

基于单片机定时器的简易秒表结构简单,使用方便。

2 电路设计简易秒表电路采用单片机的定时/计数器产生1s 信号,设计一个简易秒表,最大显示60。

2个LED 显示器段选段并联在一起,与单片机的P0口连接;P2口与2个PNP 型三极管的基极连接,驱动LED 显示器的位选端。

LED 为共阳极数码管,显示方式为动态显示。

具体如图1所示。

图1 硬件电路图3 程序设计软件整体设计思路是以动态显示作为主程序,定时器定时时间为50ms ,定时器50ms 溢出一次,溢出20次后秒值加1,中断服务程序流程图如图2所示。

(1)程序1的运行结果是:数码管显示00~59,每1s 变化一次,显示效果直观而且时间较为准确。

(2)注意定时器预置数后,在中断服务程序中还要再次重装定时器初值。

(3)程序的编制过程中,在主程序中用到的寄存器,若在中断服务程序中又要用到,则需要现场保护,同时在中断结束时,恢复现场,如程序中的累加器A 。

另外还要注意IE 、TCON 、TMOD等特殊功能寄存器的使用。

图2 中断服务程序4 结语本设计以51单片机为控制核心,介实现了简易秒表的设计,具有硬件结构简单、扩展性强、驱动能力强等特点,具有较高的应用价值。

参考:张靖武,周灵彬,单片机原理、应用于PROTEUS 仿真[M].北京:电子工业出版社,2010;孙勤江,沈彬,基于单片机的信号发生器设计[J].石油和化工设备,2014(01):11-23;熊华波,单片机开发入门及应用实例[M].北京:北京大学出版社,2011。

杨凌职业技术学院自然科学研究基金项目“无线远程监控技术在设施农业中的应用”(A2018051)。

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

基于单片机的秒表系统设计
组员:
一.设计内容:
1.设计精度为0.1s的秒表系统
2.设置启动、暂停、清零按钮
3.秒表的最长计时长度为9:59:9,超过此长度,则报警
二.方案设计
1.总体方案
本设计是基于AT89C51单片机设计的,我们是分为几个模块来设计的。

首先对秒表的硬件进行了设计,它包括时钟电路设计、控制电路设计以及外部显示电路。

利用89C51单片机的定时器/计数器定时和记数的原理,结合显示电路、LED数码管以及外部中断电路来设计计时器。

计时精度为0.1s。

其次是软件进行了设计,软件系统采用汇编语言编写程序,包括显示程序,定时中断服务,外部中断服务程序,延时程序等。

这次的试验要求进行计时并且在数码管上显示时间,先要基本了解硬件内在结构,确定用p2并行端口进行数码管控制输入,使用P1.6,P1.5,P1.4 ,P1.3进行选择0.1秒位,秒位,十位秒位,分钟位,以P3.0为开始控制,P3.1为停止控制,以P3.2为清零控制。

本次实验设计的基本思路是要求借助AT89C51单片机做出一个0-9.59.9s 的秒表从十位秒到0.1位秒数这些计时的位数是存在一个内嵌的结构,就是0.1秒位满足条件然后进行跳位使秒位加一的过程,当0.1s到0.9s时该位自动清零并且秒位加一,秒位达到9时也自动清零并向十秒位加一。

当计数超过范围是所有数码管全部清零重新计数。

其次开始控制,停止控制,清零控制等功能,我们采用蜂鸣器进行提示,该信号由P1.0输出由7406非门与外加电源驱动,通过一个延时子程序加以控制。

最后就是根据硬件的条件进行编程,要求软硬件相互兼容。

2.硬件设计
本系统中,硬件电路主要有晶振电路,复位电路,显示电路以及一些按键控制电路。

(1)晶体振荡电路
利用12分频的晶振的一个机器周期为一微妙,通过循环延时产生0.1秒的延时,通过XTAL1和XTAL2外接晶体振荡器构成内部振荡方式。

由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。

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

振荡电路
(2)复位电路
采用上电加按键复位电路,也就是手动复位,上电后,由于电容充电,使RET持续一段高电平时间,当单片机运行时,按下复位键也能使RET持续一段时间的高电平,从而实现上电加开关复位的操作。

上电加复位电路
(3)按键控制电路
我们只需要实现秒表的启动、暂停、清零、复位功能。

用四个按键可以实现,因此采用按键电路。

利用部分P3口进行控制,用P3.0、P3.1、P3.2分别作为S1、S2、S3的电路接口。

按下S1时启动,按下S2时暂停,按下S3清零.
(4) LED显示电路
我们用LED数码管显示结果,用4个共阳极LED显示,用P2并行端口进行数码管的控制输入,使用 P1.6、P1.5、P1.4、P1.3进行选择0.1秒位、秒位、十秒位、分钟位。

电路原理图(网上参考图)
3.软件设计
主程序流程图
三.计划书
第一周(9月10日-16日):选好课题,熟悉任务要求。

第二周(9月17日-23日):总体方案设计 第三周(9月24日-30日):硬件设计,即画出电路原理图,软件设计,做好流程图就可以,列出实验所需清单。

第四周(10月1日-7日):国庆放假 第五周(10月8日-14日):完成软件编程,用C 语言或汇编都可以 第六周(10月15日-21日):完成系统的硬件组装,焊接实体电路 第七周(10月22日-28日):系统调试,改进、完善电路,整理实验设计报告
第八周(10月29日——):课堂考核
开 始
有进位吗?
初始化
有暂停指令吗?
Y
有清零指令吗?
0.1秒位加一
N N
N
Y
有进位吗? N
Y
秒位加一
十秒位加一
Y
有进位吗?
N
Y 声音提示
四.器材清单
AT89C51单片机(双列直插)×1
74LS244 芯片(双列直插)×1
7406芯片(双列直插)×5
晶振 12MHz ×1
电容(30pF)×2,
22pF ×1
电阻 470Ω×1
8.2kΩ×1
10 kΩ×5
按键开关×5
LED数码管×5
蜂鸣器×1
导线若干
五.源程序
HAOMIAO EQU 34H
MIAO EQU 35H
SHIMIAO EQU 36H
ORG 0000H
AJMP START
ORG 0030H
START: CLR C
SETB P1.6
SETB P1.5
SETB P1.4
MOV HAOMIAO,#0
MOV MIAO,#0
MOV SHIMIAO,#0
MOV DPTR,#TABLE
MOV A,#00H
MOVC A,@A+DPTR
CLR P1.6
MOV P2,A
MOV A,#00H
MOVC A,@A+DPTR
CLR P1.4
MOV P2,A
MOV DPTR,#TABLE1
MOV A,#00H
MOVC A,@A+DPTR
CLR P1.5
MOV P2,A
LCALL KAISHI
LCALL MAIN
SHIWEI : SETB P1.5
MOV DPTR,#TABLE ;十秒位显示
MOV MIAO,#0 ;使秒位从零位重新循环 INC SHIMIAO
MOV A,SHIMIAO
CLR C
SUBB A,#6
JZ START
AJMP MAIN
RET
TINGZHI: MOV A,#00H ;判断是否有清零指
MOV A,P3
ANL A,#04H
JZ START
MOV A,#00H ;判断是否有停止指令 MOV A,P3
CLR C
ANL A,#02H
LCALL YANSHI
JZ MAIN
LJMP TINGZHI
START1 : LJMP START
SHIWEI1: LJMP SHIWEI
MAIN : SETB P1.5
SETB P1.4
SETB P1.6
MOV A,#00H ; 判断是否有清零指令 MOV A,P3
ANL A,#04H
JZ START1
MOV A,#00H ; 判断是否有停止指令 MOV A,P3
CLR C
ANL A,#02H
JZ TINGZHI
MOV DPTR,#TABLE ; 0.1位秒显示
I NC HAOMIAO ;加一,可查下一位数据 MOV A, HAOMIAO ; 判断是否进位
CLR C
SUBB A,#10
JZ MIAOZHEN
LCALL YANSHI ;延时0.1秒
AJMP MAIN
RET ;继续计时MIAOZHEN:
SETB P1.4
MOV DPTR,#TABLE1 ;秒位显示
MOV HAOMIAO,#0 ;使0.1秒从零重新循环
INC MIAO ;加一,可查下一位数据 MOV A,MIAO ;判断是否进位
CLR C
SUBB A,#10
JZ SHIWEI1
LCALL SND
AJMP MAIN ;返回0.1秒计YANSHI: MOV R6,#30
DL2: MOV A,#00H ;判断是否有清零指令 MOV A,P3
ANL A,#04H
JZ START1
MOV DPTR,#TABLE
MOV A,SHIMIAO
MOVC A,@A+DPTR
CLR P1.6
MOV P2,A
ACALL YIHAOMIAO
SETB P1.6
MOV A,HAOMIAO
MOVC A,@A+DPTR
CLR P1.4
MOV P2,A
ACALL YIHAOMIAO
SETB P1.4
MOV DPTR,#TABLE1
MOV A,MIAO
MOVC A,@A+DPTR
CLR P1.5
MOV P2,A
ACALL YIHAOMIAO
SETB P1.5
DJNZ R6,DL2
RET
YIHAOMIAO:
MOV R7,#250
CV:NOP
NOP
DJNZ R7,CV
RET
KAISHI: MOV A,#0
MOV A,P3
ANL A,#01H
JNZ KAISHI
RET
SND: SETB P1.0
MOV R1,#1EH
DL: MOV R0,#0F9H
DL1: DJNZ R0,DL1
DJNZ R1,DL
CLR P1.0
RET
TABLE:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH, 6FH;0,1,2,3,4,5,6,7,8,9 TABLE1:DB0BFH,086H,0DBH,0CFH,0E6H,0EDH,0FDH, 087H,0FFH,0EFH
END。

相关文档
最新文档