基于单片机智能秒表设计
基于单片机的秒表的实现设计报告
![基于单片机的秒表的实现设计报告](https://img.taocdn.com/s3/m/8362a6aa2b160b4e777fcf21.png)
目录一、课程设计目的 (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、项目概述数字秒表是采用数字电路制成的实现对时间的测量,数字秒表是通信设备、视频等科研生产领域并不可少的测量仪器。
基于单片机的秒表设计
![基于单片机的秒表设计](https://img.taocdn.com/s3/m/155fab767fd5360cbb1adb00.png)
摘要摘要数字电子秒表具有显示直观、读取方便、精度高等优点,在计时中广泛使用。
本设计用单片机组成数字电子秒表,力求结构简单、精度高为目标。
设计中包括硬件电路的设计和系统程序的设计。
其硬件电路主要有主控制器,计时与显示电路和回零、启动和停表电路等。
主控制器采用单片机AT89S51,显示电路采用共阴极LED数码管显示计时时间。
文中设计了一种以单片机为控制核心的数字秒表。
该数字秒表采用C语言开发,通过数码管显示计时结果。
关键字:AT89S51;数字秒表;LED数码管显示ABSTRACTDigital electronic stopwatch display intuitive, read the convenient, high precision of advantages, widely used in time. The design of digital electronic stopwatch by single chip, and strive to simple structure, high precision for the target. Design including the design of the system hardware circuit and the design of the program. The main hardware circuit is the main controller, timing and display circuit and back to zero, start and stop watch circuit, etc. Lord AT89S51 single-chip controller, show circuit of the cathode LED digital pipe display time clock. This paper designs a with the single chip processor as the core to control the digital stopwatch. The digital stopwatch using C language development, through the digital pipe display the time.K ey words:AT89S51 Digital stopwatch The LED digital display目录摘要 (I)ABSTRACT (II)前言 (IV)1绪论 (1)1.1单片机的背景 (1)1.2 单片机的应用领域 (2)2 总体方案的设计 (4)2.1系统的组成模块 (4)2.2工作原理 (4)3系统的硬件电路设计 (6)3.1单片机的选择 (6)3.2 显示电路的选择与设计 (9)3.3 按键电路的选择与设计 (11)3.4 时钟电路的选择与设计 (11)3.5 复位电路的选择与设计 (14)4 系统的软件电路设计 (16)4.1 程序设计思想 (16)4.2 主程序设计 (16)4.3 中断程序设计 (18)4.4 系统的程序设计 (21)结论 (25)参考文献 (26)致谢 (27)附录 (28)前言前言秒表计时器是电器制造,工业自动化控制、国防、实验室及科研单位理想的计时仪器,它广泛应用于各种继电器、电磁开关,控制器、延时器、定时器等的时间测试。
基于51单片机的数字秒表课程设计、毕业设计论文
![基于51单片机的数字秒表课程设计、毕业设计论文](https://img.taocdn.com/s3/m/8ca149fb55270722182ef794.png)
基于51单片机的数字秒表课程设计、毕业设计论文三、课题名称基于51单片的数字秒表设计二、目的和意义1、通过本次课程设计可以灵活运用单片机的基础知识,依据课程设计内容,能够完成从硬件电路图设计,到电路搭建焊接,再到软件编程及系统调试实现系统功能,完成课程设计,加深对单片机基础知识的理解,并灵活运用,将各门知识综合应用。
2、本次课程设计还可以通过上网查询器件资料,培养对新知识新技术的独立的学习能力和应用能力。
3、在这次课程设计中,我们运用到了很多一切所学的知识和一些很有用的软件和工具,如keil4编程软件、Proteus仿真软件、Visio软件、等。
4、通过独立完成一个小的数字秒表系统设计,从硬件设计到软件设计,增强分析问题、解决问题的能力,为日后的毕业设计及科研工作奠定良好的基础。
5、掌握51单片机软件编程知识、实现功能、设计方法,及KEIL软件使用方法;6、应用所学模拟电子线路的知识,掌握电路的设计与应用;7、熟悉PROTEUS的设计与仿真;8、STC——ISP的使用方法;9、掌握焊接电子元器件的方法以及查阅元件功能与参数的方法、步骤。
三、设计目标或任务要求1 、设计目标以单片机为核心,设计数字秒表。
通过硬件电路设计,软件设计,电路搭建,作品调试。
最后完成本次课程设计。
2 、设计要求1、计时范围:0~59分59.59秒,整数四位数和小数两位数显示;2、计时精度10毫秒;3、复位按钮,计时器清零,并做好下次及时准备;4、可以对三个对象(A、B)计时,具有启/停控制;5、设开始、停止A、停止B、显示A、显示B、复位按钮。
四、任务分析、设计方案1、任务分析数字电子秒表具有显示直观、读取方便、精度高等优点,在计时中广泛使用。
本设计用单片机组成数字电子秒表,力求结构简单、精度高为目标。
设计中包括硬件电路的设计和系统程序的设计。
其硬件电路主要有主控制器,计时与显示电路和回零、启动和停表电路等。
主控制器采用单片机89C52显示电路采用共阳极LED数码管显示计时时间。
基于单片机的秒表课程设计
![基于单片机的秒表课程设计](https://img.taocdn.com/s3/m/6b473289f5335a8103d22052.png)
基于单片机的秒表课程设计————————————————————————————————作者:————————————————————————————————日期:基于单片机的秒表课程设计姓名:班级:学号:专业:指导老师:年月日目录1、总体设计方案简介1.1设计课程任务1。
2系统分析1。
3系统方案1.4方案论证2、硬件设计2。
1控制芯片的介绍2.2硬件接线2。
2。
1硬件接线接口2。
2。
2硬件接线图3、软件设计3.1程序设计思路3.2流程图3.3源程序3.4仿真结果4、元件清单5、心得体会基于单片机的秒表课程设计摘要本设计的成品是在单片机最小系统的基础上增加显示电路和控制电路来完成数字式秒表的硬件电路的。
电子秒表电路主要由AT89S51单片机最小系统电路、七段数码管动态显示电路和控制电路组成,它能实现八段数码显示和计时,能通过控制电路控制时间的暂停和开始。
关键字:AT89S51 数码管最小系统1总体设计方案简介1。
1设计课题任务设计一个具有特定功能的数字式秒表。
用AT89C52设计一个2位LED 数码显示“秒表”,显示时间为00-59,另设计一个“开始”按钮和一个“复位”按钮。
按键说明:按“开始"按键,开始计数,数码管从00开始每秒自动加一;按“复位”按键,系统清零,数码管显示00。
1.2系统分析设计的电路主要是能多次计时,计时的多少通过显示电路出来,设计框图如图所示;控制部分技术和存储部显示部分1.3系统方案利用AT89C52单片机设计数显定时器。
此方案采用AT89C52单片机系统来实现。
AT89C52芯片内含8KB 的EEPROM ,不需要外扩展存储器,可是系统整体结构更为简单。
设计框图如图所示;1.4方案论证此方案是以AT89C52芯片为中心控制系统,可实现计时、清零等功能,大大提高了系统的智能化,也是的系统所测结果精度大大提高。
所以此方案可行。
2硬件设计2。
1控制芯片的介绍AT89S52是一种低功耗、高性能的片内含有4KB 快闪可编程/擦除只读存储器,的8位CMOS 微控制器,使用高密度、非易失存储技术制造,并外部控制开关AT89C52单 片 机七段数码显示与80S52引脚和指令系统完全兼容。
基于单片机的秒表设计
![基于单片机的秒表设计](https://img.taocdn.com/s3/m/e3846ae0bb4cf7ec4afed0d9.png)
题目:基于单片机的秒表设计姓名:学号:专业班级:指导老师:所在学院:年月日摘要本设计是一个利用单片机控制的多功能秒表系统,它是基于51系列的单片机进行的系统设计。
它采用AT89C51单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合显示电路、电源电路、LED数码管以及键盘电路来设计计时器。
将软、硬件有机地结合起来,使得系统能够实现四位LED显示,最大显示时间为9分59.9秒,每毫秒自动加1,一个开始暂停按键、一个复位按键。
其突出的优点:体积小、场外作业、功耗最低、宜用电池作为电源、硬件结构紧凑、简单和软件设计灵活.当今时代,是一个新技术层出不穷的时代。
在电子领域,尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统正以前所未见的速度被单片机智能控制系统所取代。
单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。
单片机的出现是现代科技发展的一个重要的里程碑。
由于单片机的集成度高、功能强,通用性好,特别是它具有体积下、重量轻、能耗低、价格便宜等优点,使单片机迅速得到推广应用,目前已成为测量控制应用系统中的优选机种和新电子产品的关键部件。
目录1 概述 (4)1.1设计任务 (4)1.2设计要求 (4)2 系统总体方案及硬件设计 (5)2.1系统总体方案 (5)2.2硬件电路设计 (6)3 软件设计 (10)3.1软件设计概述 (10)3.2程序流程图 (10)3.3子程序模块设计 (12)4 Proteus软件真 (13)4.1软件功能简介 (13)4.2 Proteus运行流程 (14)5课程设计会 (16)参考文献 (16)附1:源程序代码 (17)附2:系统原理图 (20)-3 -1 概述1.1 设计任务设计一个单片机控制的秒表系统。
利用单片机的定时器/计数器定时和记数的原理,结合显示电路、LED数码管以及按键来设计计时器。
将软、硬件有机地结合起来,使得系统能够正确地进行计时,数码管能够正确地显示时间。
单片机课程设计_基于单片机的数字秒表设计
![单片机课程设计_基于单片机的数字秒表设计](https://img.taocdn.com/s3/m/30ced46ab80d6c85ec3a87c24028915f814d846a.png)
单片机课程设计_基于单片机的数字秒表设计在当今科技迅速发展的时代,电子设备的应用无处不在,其中数字秒表作为一种常见的计时工具,具有广泛的应用场景,如体育比赛、科学实验、工业生产等。
本次课程设计旨在基于单片机技术实现一个数字秒表,通过对硬件电路的设计和软件程序的编写,掌握单片机系统的开发流程和方法,提高实践动手能力和解决问题的能力。
一、设计要求1、能够实现秒表的启动、暂停、复位功能。
2、计时精度达到 001 秒。
3、能够通过数码管显示计时结果。
二、系统方案设计1、硬件设计单片机选型:选用常见的 STC89C52 单片机作为核心控制器,其具有性能稳定、价格低廉、易于编程等优点。
显示模块:采用 8 位共阴极数码管作为显示器件,通过动态扫描的方式实现数字的显示。
按键模块:设置三个独立按键,分别用于启动、暂停和复位操作。
时钟模块:使用单片机内部的定时器/计数器产生精确的时钟信号,实现计时功能。
2、软件设计主程序:负责系统的初始化、按键扫描和计时处理等。
中断服务程序:利用定时器中断实现 001 秒的定时,更新计时数据。
三、硬件电路设计1、单片机最小系统包括单片机芯片、晶振电路和复位电路。
晶振频率选择 12MHz,为单片机提供时钟信号。
复位电路采用上电复位和手动复位相结合的方式,确保系统能够可靠复位。
2、显示电路将 8 位数码管的段选引脚通过限流电阻连接到单片机的 P0 口,位选引脚通过三极管连接到单片机的 P2 口。
通过动态扫描的方式,依次点亮每个数码管,实现数字的显示。
3、按键电路三个按键分别连接到单片机的 P10、P11 和 P12 引脚,采用低电平有效。
当按键按下时,相应引脚的电平被拉低,单片机通过检测引脚电平的变化来判断按键的操作。
四、软件程序设计1、主程序流程系统初始化后,进入主循环。
在主循环中,不断扫描按键状态,如果检测到启动按键按下,则启动计时;如果检测到暂停按键按下,则暂停计时;如果检测到复位按键按下,则将计时数据清零。
基于51单片机的秒表设计报告
![基于51单片机的秒表设计报告](https://img.taocdn.com/s3/m/e4fd9f05f78a6529647d5310.png)
课程名称:微机原理课程设计题目:基于51单片机的秒表设计随着社会的发展,单片机已经渗透到我们生活中的各个领域,广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等。
本设计就是由单片机STC89C52RC芯片和四位一体LED数码管为核心,辅以必要的电路,构成了一个单片机电子秒表。
秒表是一种常用的测试仪器,它可以用在百米赛跑等需要精确计时的地方,为人们的生活提供了很大的方便。
该单片机电子秒表布置合理,全部器件分布在7*9cm洞洞板上,看起来小巧精简。
采用的是单片机内部定时/计数器计时,走时非常精确而且不易出错。
0.56英寸的四位数码管发出红光,可以直观地显示时间。
一个控制按键就可以控制秒表的计数与停止,按一下控制键,秒表工作状态就由计时变为计时变为停止或停止变为计时,按一下清零键就可以清零,操作非常简单。
由于是四位数码管,它的计时周期为100秒,显示满刻度为99:99秒,从左往右数共四位,前两位显示整数部分,后两位显示小数部分,中间两个个秒闪灯(秒闪灯一直亮)。
关键词:秒表,51单片机,C语言一、设计任务与要求 (18)1.1 设计任务 (18)1.2 设计要求 (18)二、方案总体设计 (19)2.1 方案一 (19)2.2 方案二 (19)2.3 系统采用方案 (19)三、硬件设计 (21)3.1 单片机最小系统 (21)3.2 数码管显示模块 (21)3.3 系统电源 (22)3.4 整体电路 (22)四、软件设计 (24)4.1 keil软件介绍 (24)4.2 系统程序流程 (24)五、仿真与实现 (27)5.1 proteus软件介绍 (27)5.2 仿真过程 (27)5.3 实物制作与调试 (29)5.4 使用说明 (30)六、总结 (32)6.1设计总结 (32)6.2经验总结 (20)七、参考文献 (21)一、设计任务与要求1.1 设计任务1).对更多小器件的了解2).巩固51单片机和C语言的知识,熟悉单片机和C语言的实际操作运用3).掌握仿真软件的运用和原理图的绘制4).加深焊接的技巧,提高焊接的能力5).熟悉调试方法和技巧,提高解决实际问题的能力6).熟悉设计报告的编写过程1.2 设计要求1).清零键进行清零2).一个独立按键进行停止与运行的操作3).秒闪灯一直亮二、方案总体设计设计一个基于51单片机的秒表。
基于单片机的秒表设计
![基于单片机的秒表设计](https://img.taocdn.com/s3/m/abefcbae6aec0975f46527d3240c844769eaa0b8.png)
基于单片机的秒表设计基于单片机的秒表设计引言在现代生活中,计时设备已经成为了我们日常生活中的必需品。
无论是体育比赛、工程控制还是交通调度,都需要精确的计时功能。
传统的机械秒表虽然精度高,但操作复杂,不易携带。
为了解决这一问题,基于单片机的秒表设计应运而生。
本文将详细介绍秒表的设计原理、实现方案以及实验验证。
原理分析单片机内部有一个高精度振荡器,通过晶振和电容等元件构成的电路,产生具有一定频率的方波信号。
该信号送入单片机内的计数器,计数器对单位时间内方波的个数进行计数,从而得到时间信息。
单片机将这些时间信息进行处理和存储,并通过输出设备展示给用户。
设计方案基于单片机的秒表设计主要包括以下几个部分:1、电路连接:通过单片机内部的计数器和外部的晶振、电容等元件构成计时电路。
2、程序编写:编写程序实现计时、暂停、清零等功能。
3、输出显示:通过液晶显示屏等设备将计时的结果展示给用户。
实验验证为了验证基于单片机的秒表的准确性和稳定性,我们进行了一系列实验。
实验结果表明,该秒表在各种环境条件下均能保持较高的精度和稳定性。
对比其他方案相比于传统的机械秒表,基于单片机的秒表具有更高的精度和稳定性。
同时,基于单片机的秒表可以通过程序实现复杂的功能,如计时、暂停、清零等,更加方便实用。
结论基于单片机的秒表设计具有高精度、多功能、易操作等优点,在实际生活中具有广泛的应用价值。
通过单片机内部的高精度振荡器和外部的晶振、电容等元件构成的计时电路,实现了秒表的计时功能。
通过程序编写实现了计时、暂停、清零等功能,并通过液晶显示屏等设备将计时的结果展示给用户。
实验结果表明,该秒表在各种环境条件下均能保持较高的精度和稳定性。
基于单片机的秒表相比于传统的机械秒表具有更高的精度和稳定性,同时可以通过程序实现复杂的功能,更加方便实用。
单片机秒表课程设计 (3)
![单片机秒表课程设计 (3)](https://img.taocdn.com/s3/m/77007d70366baf1ffc4ffe4733687e21ae45ff44.png)
单片机秒表课程设计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 功能函数除了定时器中断函数和外部中断函数之外,还可以编写一些功能函数来实现计时、暂停和复位等功能。
基于单片机的智能秒表设计
![基于单片机的智能秒表设计](https://img.taocdn.com/s3/m/dee1d3ed9b89680203d82587.png)
当 2 H 的值 为 l , 0 时 由人 工 设 置初 值 , 由寄存 器 R 并 4一
R 0存放设置状态 ( 1 。其 中 L D 最 大数 字显示到 表 ) E 1 5 而其他数码管最大数字显示到 9 即秒表的最大值为 , ,
要设计 2 个按键 K , 2 按键 K 起停智能秒表 ; 1I : < 。 按键 K :
收 稿 日期 :0 2
基 金 项 目 : 川 理 工 学 院人 才 引进 科 研 启 动 项 目( 四 作者简介 : 跃荣( 雷
)
., , ) 男 四川 自贡 人 , 级 实验 师 , 要 从 事 信 号 与 信 息 处 理 、 子 和 电 工 方 面 的研 究 。 高 主 电
第 2 卷 第5期 3
第2 3卷 第 5期
21 0 0年 1 0月
四川理工学院学报 ( 自然科 学版)
Junl f ih a n esyo c n e& E g er g N tr c neE io ) ora o eunU i r t f i c S v i S e n i ei ( a a Si c dt n n n ul e i
一
晶8 吾 电T . 按单 . 键X 振片 路0 D r1 L机 蓠 l 一 5
图 1 系 统 框 图
个 学 习与 应用 单 片机 的高 潮 正 在工 厂 、 校 及 企 业 单 学
自设初 始 值 ( 1.0 S 2 .0 S 5 .9 S , 启 动 计 如 0O 0 ,00 0 ,99 9 ) 并
位大规模地兴起 。已经渗透到生活的各个领域 , 几乎很 难找到哪个领域没 有单片机 的踪迹 。计算机 的 网络通 讯与数据传 输 , 业 自动化过 程 的实 时控 制和数 据处 工
基于单片机的简易秒表设计
![基于单片机的简易秒表设计](https://img.taocdn.com/s3/m/48729c58dd3383c4ba4cd202.png)
• 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)。
基于51单片机的秒表设计
![基于51单片机的秒表设计](https://img.taocdn.com/s3/m/79dc04249ec3d5bbfc0a74b9.png)
目录一,设计目标 (3)二,系统硬件设计 (4)三,系统软件设计 (7)四,系统调试与设计结果 (12)五,单片机实训小结 (13)设计目标近年来随着科学技术的发展,单片机的应用范围越来越广,也成为很多专业的必修课。
本文简单阐述了基于单片机的秒表设计。
本设计的主要特点是计时精度达到0.01秒,可以用来为各种体育竞赛计时等。
本设计的数字秒表采用AT89S52单片机为主要器件,利用其定时器的原理,结LED数码管以及外部中断电路来设计计时器。
将软硬件结合起来,使得系统能实现0~99.99秒的计时,计时精度位0.01秒。
当按下一个键1时,开始显示数字,即计时开始,再按下键2时,暂停计时并显示刚才的结果,这个时候如果再按键1,则继续计时,也就是显示的数字包括刚才的数据。
按下键3时,数据清零。
系统硬件设计1、1 总体方案的设计数字秒表具有显示直观、读取方便、精度高等优点,在计时中广泛应用。
本设计中用单片机和数码管组成数字秒,力求结构简单。
设计中包括硬件电路的设计和系统程序的设计。
硬件电路主要有主控制器、控制按钮与显示电路组成。
主控制器采用单片机AT89S52,显示电路采用四位共阴极数码管显示计时时间。
本设计利用AT89S52单片机的定时器,使其能精确计时。
利用键盘上的独立按键实现开始计时和暂停以及清零。
P0口输出段码数据,P2.0~P2.2连上译码器作为位选。
设计的基本要求是正确性。
计时器采用T0中断实现,定时溢出中断周期为1ms,当溢出中断后向CPU 发出溢出中断请求,每发出10次中断请求就对10ms位(即最后一位)加一,达到100次就对100ms位加一,以此类推,直到99.99s为止。
1.2 单片机的选择本设计在选取单片机时,充分借鉴了许多成型产品使用单片机的经验。
并根据自己的实际情况,选用了ATMEL公司的AT89S52。
ATMEL公司的89系列单片机以其卓越的性能、完善的兼容性、快捷便利的电擦写操作、低廉的价格完全替代了87C51/62和8751/52,低电压、低功耗,有DIP、PLCC、QFP封装,是目前性能最好、价格最低、最受欢迎的单片机之一。
基于单片机的秒表系统设计
![基于单片机的秒表系统设计](https://img.taocdn.com/s3/m/2bef6bde76a20029bd642d7f.png)
基于单片机的秒表系统设计组员:一.设计内容: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外接晶体振荡器构成内部振荡方式。
由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。
基于某单片机的秒表设计
![基于某单片机的秒表设计](https://img.taocdn.com/s3/m/598fbc49a31614791711cc7931b765ce04087a5d.png)
基于某单片机的秒表设计一、设计要求与方案选择(一)设计要求1、能够精确到 001 秒的计时精度。
2、具备启动、暂停、复位等基本功能。
3、能够通过数码管或液晶显示屏显示计时结果。
(二)方案选择在单片机的选择上,考虑到成本、性能和易用性等因素,我们选用了_____单片机。
该单片机具有丰富的资源和良好的稳定性,能够满足秒表设计的需求。
对于计时方式,采用内部定时器中断来实现精确计时。
通过设置合适的定时器初值和中断时间间隔,可以达到 001 秒的计时精度。
在显示方案上,经过比较数码管和液晶显示屏的优缺点,最终决定使用_____液晶显示屏。
它具有显示内容丰富、功耗低、可视角度大等优点,能够清晰地显示秒表的计时结果。
二、硬件设计(一)单片机最小系统单片机最小系统包括单片机芯片、晶振电路和复位电路。
晶振电路为单片机提供稳定的时钟信号,复位电路用于系统的初始化和异常情况下的恢复。
(二)按键电路为了实现秒表的启动、暂停和复位功能,设计了三个独立按键。
通过检测按键的按下状态,将相应的信号传递给单片机进行处理。
(三)显示电路选用的液晶显示屏通过数据总线和控制总线与单片机相连。
单片机通过向显示屏发送指令和数据,实现计时结果的显示。
(四)电源电路为整个系统提供稳定的电源供应,确保系统正常工作。
三、软件设计(一)主程序流程主程序首先进行系统初始化,包括单片机内部资源的配置、液晶显示屏的初始化等。
然后进入一个无限循环,在循环中不断检测按键状态,并根据按键操作执行相应的功能,如启动计时、暂停计时、复位计时等。
(二)定时器中断服务程序定时器中断服务程序用于实现精确计时。
在中断服务程序中,对计时变量进行累加,当计时达到 1 秒时,将秒数加 1,并对毫秒数进行清零,从而实现秒表的计时功能。
(三)按键处理程序按键处理程序通过检测按键的按下和释放状态,判断用户的操作意图,并将相应的标志位置位或清零,以供主程序进行处理。
(四)显示程序显示程序负责将计时结果转换为相应的字符,并发送到液晶显示屏进行显示。
单片机秒表课程设计
![单片机秒表课程设计](https://img.taocdn.com/s3/m/ee8eae2cb94ae45c3b3567ec102de2bd9605de8d.png)
单片机秒表课程设计设计目的本文档旨在介绍一个基于单片机的秒表课程设计方案,通过该课程设计,学生可以学习和掌握单片机的基本原理和应用,同时加深对计时器和中断的理解和应用能力。
课程设计内容本课程设计将通过以下几个步骤来实现一个基本的秒表功能:1.硬件准备:准备一个支持单片机编程的开发板、显示屏模块和按钮模块。
2.程序框架:编写程序框架,初始化单片机的引脚和外设,并定义相关的变量和常量。
3.显示模块:编写程序代码,实现显示屏的驱动,在屏幕上显示计时的时间。
4.按钮模块:编写程序代码,实现按钮的驱动,用于开始、停止和复位秒表。
5.计时功能:编写程序代码,实现秒表的计时功能,包括计时开始、计时停止和计时复位等操作。
6.中断处理:利用中断技术,实现定时中断,以精确计时,并实现按钮的中断处理功能。
7.调试和测试:将程序烧录到开发板上,进行调试和测试,确保秒表功能正常运行。
操作流程以下是使用该秒表的基本操作流程:1.程序启动:按下按钮模块上的启动按钮,秒表开始计时并在显示屏上显示计时时间。
2.计时中:显示屏上的时间会实时更新,秒表将一直计时。
3.计时停止:按下按钮模块上的停止按钮,秒表停止计时,但显示屏上的时间保持不变。
4.计时复位:按下按钮模块上的复位按钮,秒表归零,并在显示屏上显示零。
软件设计以下是软件设计的关键部分:程序框架#include <reg51.h>// 定义所使用的引脚和外设sbit startButton = P0^0; // 启动按钮sbit stopButton = P0^1; // 停止按钮sbit resetButton = P0^2; // 复位按钮sbit display = P1; // 显示屏// 定义所使用的变量和常量unsigned char hour; // 时unsigned char minute; // 分unsigned char second; // 秒unsigned int count; // 计数器// 函数声明void init();void displayTime();// 主函数void main(){init();// 主循环while(1){displayTime(); }}// 初始化函数void init(){// 初始化引脚和外设// ...// 初始化变量和常量 hour = 0;minute = 0;second = 0;count = 0;}// 显示时间函数void displayTime(){// 显示时间的代码// ...}显示模块使用该模块可以将计时的时间显示在屏幕上,具体实现需要根据显示屏的驱动方式来编写代码。
基于单片机的秒表设计
![基于单片机的秒表设计](https://img.taocdn.com/s3/m/d41ef0b7c9d376eeaeaad1f34693daef5ef71324.png)
基于52单片机的秒表设计1 单片机的应用领域目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种职能IC卡,名用豪华车辆的安全保障系统,摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。
更不用说自动控制领域的机器人、智能仪表、医疗器械了。
因此,的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。
单片机广发应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分为如下几个范畴:1.1 在智能仪器仪表上的应用单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用与仪器仪表中,结合不同类型的传感器,可实现诸如电压、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。
采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。
例如精密的测量设备(示波器,各种分析仪)。
1.2在工业控制中的应用用单片机可以构成形式多样的控制系统、数据采集系统。
例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二极管控制系统等。
1.3在家用电器中的应用可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭煲、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子称量设备,五花八门,无所不在。
1.4在计算机网络和通信领域中的应用现代的单片机普遍具备通信接口,可以很方便的与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上实现了单片机智能控制,从手机、电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可以兼得移动电话,集群移动通信,无线电对讲机等。
基于单片机的秒表设计
![基于单片机的秒表设计](https://img.taocdn.com/s3/m/f6708bdbd5d8d15abe23482fb4daa58da0111c9c.png)
基于单片机的秒表设计一、设计需求分析在设计基于单片机的秒表之前,首先需要明确其功能和性能需求。
一般来说,秒表应具备以下基本功能:1、计时功能:能够精确地测量时间,最小计时单位通常为毫秒。
2、启动/停止功能:用户可以通过按键控制秒表的启动和停止。
3、复位功能:将秒表的计时数据清零,以便重新开始计时。
4、显示功能:能够清晰地显示计时结果,通常采用数码管或液晶显示屏。
此外,为了提高用户体验,还可以考虑增加一些扩展功能,如记录多个计时数据、设置计时上限、具备暂停功能等。
二、硬件设计1、单片机选型在选择单片机时,需要考虑其性能、资源和成本等因素。
常见的单片机如 STM32、Arduino 等都可以满足秒表的设计需求。
以 STM32 为例,其具有丰富的定时器资源和高速的处理能力,能够实现高精度的计时。
2、计时模块计时功能的实现通常依靠单片机内部的定时器。
通过设置定时器的工作模式和计数周期,可以精确地测量时间间隔。
例如,使用 STM32的通用定时器,设置为向上计数模式,并根据系统时钟频率和预分频系数计算出定时器的溢出时间,从而实现毫秒级的计时。
3、按键输入模块为了实现秒表的启动、停止和复位操作,需要设计按键输入电路。
可以使用普通的机械按键或触摸按键,将按键的信号连接到单片机的GPIO 引脚,并通过编程检测引脚的电平变化来响应按键操作。
4、显示模块显示模块用于将计时结果直观地展示给用户。
常见的显示方式有数码管显示和液晶显示屏显示。
数码管显示简单直观,但显示内容有限;液晶显示屏则可以显示更多的信息,并且具有更好的可读性。
在选择显示模块时,需要根据实际需求和成本进行综合考虑。
5、电源模块为整个系统提供稳定的电源是保证秒表正常工作的关键。
可以使用电池供电或通过 USB 接口连接外部电源。
在设计电源模块时,需要考虑电源的电压、电流和稳定性等因素。
三、软件设计1、主程序流程主程序主要负责初始化各个模块、检测按键操作和处理计时数据。
基于单片机的电子秒表的设计
![基于单片机的电子秒表的设计](https://img.taocdn.com/s3/m/fdaa572b2af90242a895e5ae.png)
电子秒表的设计一、设计目的掌握定时器使用方法,掌握单片机管理键盘、显示器的方法。
二、技术指标12.按键启动、停止秒表计数。
三、设计方案基本定时时间为100us。
中断10000次为1秒。
秒和分逢60进1。
1/1000秒不显示,做四舍五入处理。
参考实验十八电子钟程序。
设计任务设计任务:利用LAB6000单片机实验箱实现数字秒表设计1.设计电子秒表,精度为0.01秒2.具有启动、停止、清零功能3.每到1秒蜂鸣提示,此功能可关闭。
基本定时时间为100us。
中断10000次为1秒。
秒和分逢60进1。
1/1000秒不显示,做四舍五入处理。
利用数码管扫描显示,将数据显示在数码管上。
程序是从左边开始显示,然后显示下一位,四位显示完后返回。
不断的循环扫描,由于扫描时间小于20ms,人眼有时间暂留现象,能看到同时亮。
还利用了键盘扫描程序,能够设置键盘按钮控制程序,本课程设计利用了15个按键,0~9十个数字输入按键,一个开始按键,一个暂停按键,一个复位清零按键,一个控制输入按键。
程序流程图程序模块功能1、主程序Start:设置初始化,包括初值的设置,计数器的设置和中断的设置。
2、中断程序T0Int、T1Int:分别实现正数计时和倒数计时功能。
3、数码管扫描及显示程序DisplayLED:利用数码管扫描显示,将数据显示在数码管上。
4、键盘扫描及读键值程序TestKey、GetKey:利用了键盘扫描程序,设置键盘按钮控制,一个开始按键,一个暂停按键,一个复位清零按键,一个控制输入按键。
程序清单OUTBIT equ 08002h ; 位控制口OUTSEG equ 08004h ; 段控制口IN equ 08001h ; 键盘读入口LEDBuf equ 60h ; 显示缓冲Minute equ 40hSecond equ 41hNSecond equ 42hMSecond equ 43hC100us equ 44hTick equ 100T100us equ 206org 0000hljmp Startorg 000bhajmp t0intorg 1bhajmp t1intT0Int:push PSWpush ACCdec C100usmov a, C100usjnz Exitmov C100us,#Tickinc Msecondmov a,Msecondcjne a,#10,Exitmov Msecond,#0mov a,Nsecondcjne a,#10,Exitmov Nsecond,#0inc Secondmov a, Secondcjne a, #60, Exitmov Second, #0inc Minutemov a, Minutecjne a, #60, Exitmov Minute, #0pop ACCpop PSWretiT1Int: push PSW ;恢卸? 倒数计时 push ACCdec C100usmov a, C100usjnz Exitmov C100us,#TickDEC Msecondmov a,Msecondcjne a,#0,Exitmov Msecond,#9DEC Nsecondmov a,Nsecondcjne a,#0,Exitmov Nsecond,#9mov a, Secondcjne a, #0, ExitJZ WWWW: CLR TR1SETB P1.0mov r4,#255qq1: call displayleddjnz r4,qq1CLR P1.0Exit:pop ACCpop PSWretiDelay: ; 延时子程序mov r7, #0DelayLoop:djnz r7, DelayLoopdjnz r6, DelayLoopretLEDMAP: ; 八段管显示码db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h db 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71h DisplayLED:mov r0, #LEDBufmov r1, #6 ; 共6个八段管mov r2, #00100000b ; 从左边开始显示Loop:mov dptr, #OUTBITmov a, #0movx @dptr, a ; 关所有八段管 mov a, @r0mov dptr, #OUTSEGmovx @dptr,amov dptr, #OUTBITmov a, r2movx @dptr, a ; 显示一位八段管 mov r6, #1call Delaymov a, r2 ; 显示下一位rr amov r2, ainc r0djnz r1, LoopretTestKey:mov dptr, #OUTBITmov a, #0 ;movx @dptr, a ; 输出线置为0 mov dptr, #INmovx a, @dptr ; 读入键状态cpl aanl a, #0fh ; 高四位不用retKeyTable: ; 键码定义db 16h, 15h, 14h, 0ffhdb 13h, 12h, 11h, 10hdb 0dh, 0ch, 0bh, 0ahdb 0eh, 03h, 06h, 09hdb 0fh, 02h, 05h, 08hdb 00h, 01h, 04h, 07hGetKey:mov dptr, #OUTBITmov P2, dphmov r0, #Low(IN)mov r1, #00100000bmov r2, #6KLoop:mov a, r1 ; 找出键所在列cpl amovx @dptr, acpl arr amov r1, a ; 下一列movx a, @r0cpl aanl a, #0fhjnz Goon1 ; 该列有键入djnz r2, KLoopmov r2, #0ffh ; 没有键按下, 返回 0ffh sjmp Exit1Goon1:mov r1, a ; 键值 = 列 X 4 + 行mov a, r2dec arl arl amov r2, a ; r2 = (r2-1)*4mov a, r1 ; r1中为读入的行值 mov r1, #4LoopC:rrc a ; 移位找出所在行jc Exit1inc r2 ; r2 = r2+ 行值djnz r1, LoopCExit1:mov a, r2 ; 取出键码mov dptr, #KeyTablemovc a, @a+dptrmov r2, aWaitRelease:mov dptr, #OUTBIT ; 等键释放clr amovx @dptr, amov r6, #10call Delaycall TestKeyjnz WaitReleasemov a, r2retToLED:mov dptr, #LEDMapmovc a, @a+dptrretStart:mov LEDBuf,#3fhmov LEDBuf+1,#0bfhmov LEDBuf+2,#3fhmov LEDBuf+3,#0bfhmov LEDBuf+4,#3fhmov LEDBuf+5,#3fhmov TMOD, #00100010b ; 模式2, 定时器 mov TH0, #T100usmov TL0, #T100usmov TH1, #T100usmov TL1, #T100usmov IE, #10001010b ; EA=1, IT0 = 1mov Minute, #0mov Second, #0mov NSecond, #0mov MSecond, #0mov C100us, #Tickclr p1.0MLoop: call DisplayLEDcall loopdcall Testkeyjz MLoopcall Getkeycjne a,#11h,L0call ssajmp Mloopl0: cjne a,#15h,L1setb TR0L1: cjne a,#16h,L2clr TR0clr cmov a,C100ussubb a,#50jc L4ljmp MLoopL2: cjne a,#0ffh,L3mov Minute, #0mov Second, #0mov NSecond, #0 mov MSecond, #0 mov C100us, #Tick ljmp MLoopL4: ljmp NLoopL3:ljmp MLoop NLoop: inc Msecondmov a,Msecondcjne a,#10,MLoop mov Msecond,#0inc Nsecondmov a,Nsecondcjne a,#10,MLoop mov Nsecond,#0inc Secondmov a, Secondcjne a, #60, MLoop mov Second, #0inc Minutemov a, Minutecjne a, #60, MLoop mov Minute, #0retLoopd: mov a, Minutemov b, #10div abcall ToLEDmov LEDBuf, amov a, bcall ToLEDorl a, #80hmov LEDBuf+1, a mov a, Secondmov b, #10div abcall ToLEDmov LEDBuf+2, a mov a, bcall ToLEDorl a, #80hmov LEDBuf+3, a mov a, NSecondcall ToLEDmov LEDBuf+4, a mov a, MSecondcall ToLEDmov LEDBuf+5, a RETDLOOP: call DisplayLEDcall loopdcall Testkeyjz DLoopcall GetkeyCJNE A,#15H,l000 setb TR1L000: cjne a,#16h,L222 clr TR1clr cmov a,C100ussubb a,#50jc L444ljmp DLoopL222: cjne a,#0ffh,L333mov Minute, #00 mov Second, #00 mov Nsecond,#0mov MSecond, #0 mov C100us, #Tick ljmp startL444: ljmp ELoopL333: ljmp DLoop ELoop: dec Msecondmov a,Msecondcjne a,#0,DLoopmov Msecond,#9dec Nsecondmov a,Nsecondcjne a,#0,DLoopmov Nsecond,#9dec Secondmov a, Secondcjne a, #00, DLoop retss: call testkeyjz sscall getkeymov ledbuf+2,acall toledss1: call testkeyjz ss1call getkeymov ledbuf+3,acall toledMOV A,LEDBUF+2MOV B,#10MUL ABADD A,LEDBUF+3mov Minute, #0MOV SECOND,Amov NSecond, #9 mov MSecond, #9 mov C100us, #Tick qq: call displayledcall DLOOPretend硬件资源分配表。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机课程设计说明书
课题名称: ________基于单片机的秒表设计__________________________________
第一部分:问题描述
1、项目概述
对于生活在现代生活中的人类来说,科技的飞速发展使得人类的生活有了巨大的进步。
科技的快速发展使得人类对生活质量的要求越来越高。
例如在对时间的控制控制中,人类目前不仅仅满足于知道当前的时间,更要对其进行各类精准的控制方能使其发挥出最大的效果。
而在时间的了解过程中,最常见的无非就是钟表与秒表。
钟表是人类认识时间的工具,而秒表则是人类对时间的精准控制。
2、工作原理
该秒表以单片机定时器产生中断,由此精准控制时间。
同时外部接有二位一体的数码管,能实现10ms的延时控制,同时该秒表设置有暂停与复位功能,是集多功能与一身的新时代秒表设计。
系统的设计分为硬件设计与软件设计,硬件设计是电路能实现的平台。
软件则是决定系统功能走向,其中,硬件电路分为电源电路、显示电路、单片机最小系统电路。
软件则分为显示程序、定时中断程序和按键控制三大块。
第二部分:硬件设计
3、系统框图
根据以上2.1所介绍的系统功能,可以绘制出如下图2-1的系统功能框图。
由框图可以很明确看出各个功能模块之间的输出与输出关系。
4、所用原件清单
1STC89C51单片机一个
2LED显示屏1个
3按键1个
4晶振、电阻电容若干个
(第一天作业)
5、硬件连接图
6、元器件封装及三维图
(第二天作业)
第三部分:软件设计
7、系统流程图
在本次的秒表设计中,主程序先进入定时器初始化子函数,定义定时/计数器工作在定时器模式,并定义为定时器0、工作方式1。
由于是采用中断的服务程序,因此只需要单片机主函数中while不断循环扫描按键即可。
按下按键,则不断刷新显示值。
8、软件代码
#include <reg51.h>
#define uchar unsigned char
sbit P20=P2^0;
sbit P21=P2^1;
sbit P22=P2^2;
sbit P23=P2^3;
sbit P24=P2^4;
sbit P25=P2^5;
sbit P27=P0^7;
sbit KS=P1^0; //开始
sbit KR=P1^1; //复位
uchar time,xs,ge,shi,bai,qian,wan,shiwan;
uchar code tab[ ]= {
0x3F,/*0*/
0x06,/*1*/
0x5B,/*2*/
0x4F,/*3*/
0x66,/*4*/
0x6D,/*5*/
0x7D,/*6*/
0x07,/*7*/
0x7F,/*8*/
0x6F,/*9*/
};
void delay_ms(unsigned int ms) //1ms延时
{
uchar a;
while(ms--)
for(a=123;a>0;a--);
}
//void display();
void T0intinit( ) //定时器T0初始化
{
TMOD=0x01;
TH0=(65536-10000)/256; //10ms定时TL0=(65536-10000)%256;
EA=1;
ET0=1;
}
void display( )
{
P25=0;
P0=tab[ge];
delay_ms(1);
P25=1;
P24=0;
P0=tab[shi];
delay_ms(1);
P24=1;
P23=0;
P0=tab[bai]|0x80;
delay_ms(1);
P23=1;
P22=0;
P0=tab[qian];
delay_ms(1);
P22=1;
P21=0;
P0=tab[wan]|0x80;
delay_ms(1);
P21=1;
P20=0;
P0=tab[shiwan];
delay_ms(1);
P20=1;
}
void main()
{
T0intinit( );
while(1)
{
display( );
while(!KS) //开始/暂停键
{
display( );
if(KS)
TR0=!TR0;
}
while(!KR) //清零键
{
display( );
if(KR)
TR0=0;
qian=0;
bai=0;
shi=0;
ge=0;
}
if(bai==10)
{
bai=0;
qian++;
}
if(qian==6)
{
qian=0;
wan++;
}
if(wan==10)
{
wan=0;
shiwan++;
}
if(shiwan==6)
{
shiwan=0;
TR0=0;
}
}
}
void T0int( ) interrupt 1 //定时器T0中断方式1
{
TH0=(65536-10000)/256; //重装10ms定时常数
TL0=(65536-10000)%256;
ge++;
if(ge==10)
{
ge=0;
shi++;
}
if(shi==10)
{
shi=0;
bai++;
}
}
(第三天作业)
第四部分:设计系统测试与评价
9、系统测试
(包含系统运行状态示意图及系统运行方式说明)10、设计中存在的问题及研究展望
(第四天作业,制作PPT)
第五部分:个人风采与感言
个人风采:
(寸照、课堂、讨论、答辩照片)
学员感言:(心得体会与建议,文体不限)
本人签名
作业要求:
1、文件名称,班级-学号后两位-姓名-日期;
2、提交作业时间为当天晚上10点前或第二天早上6点钟之前;
3、每天都要随机抽取学员作业讲解、点评。