单片机应用技术任务11 控制秒表的启停与清零

合集下载

秒表课程设计

秒表课程设计

《单片机技术》课程设计说明书数字式秒表院、部:电气与信息工程学院学生姓名:刘贝贝指导教师:肖冬瑞职称讲师专业:电气工程及其自动化班级:电气本1305班学号:1330120504完成时间:2016年6月湖南工学院《单片机技术》课程设计课题任务书学院:电气与信息工程学院专业:电气工程及其自动化指导教师肖冬瑞学生姓名刘贝贝课题名称数字式秒表内内容及任务一、设计任务设计一个具有特定功能的数字式秒表。

二、设计内容1、秒表的硬件系统(1)、单片机最小系统模块(2)、供电模块(3)、显示模块(4)、键盘模块2、秒表的软件系统(1)、系统监控程序模块(2)、显示程序模块(3)、键盘程序模块三、设计要求该数字式秒表上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。

该数字式秒表应具有开始、暂停、连续、清零和停止功能。

主主要参考资料[1]李广弟.单片机基础[M].第3版.北京:北京航空航天大学出版社,2003.6.[2]李全利.单片机原理及应用(C51编程)[M].北京:高等教育出版社,2012.12.[3]马忠梅.单片机的C语言应用程序设计[M].第4版.北京:北京航空航天大学出版社,2003.6.[4]李光飞.单片机C程序设计指导[M].北京:北京航空航天大学出版社,2003.01.[5]李光飞.单片机课程设计实例指导[M].北京:北京航空航天大学出版社,2004.9.教教研室意见见教研室主任:(签字)年月日摘要本次课程设计的数字电子秒表系统采用AT89S52单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合显示电路、LED数码管以及外部中断电路来设计。

将软、硬件有机地结合起来,使得系统能够实现LED显示,0~99.99秒,计时精度为0.01秒,能正确地进行计时。

其中软件系统采用汇编语言编写程序,包括主程序,显示程序,中断服务程序,延时程序,按键程序等,并在KEIL中调试运行,硬件系统利用PROTEUS来实现,简单且易于观察,在仿真中就可以观察到实际的工作状态。

单片机秒表设计程序及原理图

单片机秒表设计程序及原理图

单片机秒表系统设计引言:中国使用单片机的历史只有短短的30年,在初始的短短五年时间里发展极为迅速。

纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC卡、电子宠物等,这些都离不开单片机。

以前没有单片机时,这些东西也能做,但是只能使用复杂的模拟电路,然而这样做出来的产品不仅体积大,而且成本高,并且由于长期使用,元器件不断老化,控制的精度自然也会达不到标准。

在单片机产生后,我们就将控制这些东西变为智能化了,我们只需要在单片机外围接一点简单的接口电路,核心部分只是由人为的写入程序来完成。

这样产品的体积变小了,成本也降低了,长期使用也不会担心精度达不到了。

所以,它的魔力不仅是在现在,在将来将会有更多的人来接受它、使用它。

据统计,我国的单片机年容量已达3亿片,且每年以大约20%的速度增长,但相对于世界市场我国的占有率还不到1%。

特别是沿海地区的玩具厂等生产产品多数用到单片机,并不断地辐射向内地。

所以,学习单片机在我国是有着广阔前景的。

一、单片机秒表系统设计目的及内容1、利用单片机定时器/计数器中断设计秒表,从而实现秒、十分之一秒的计时。

2、综合运用所学的《单片机原理与应用》理论知识,通过实践加强对所学知识的理解,具备设计单片机应用系统的能力。

3、通过本次系统设计加深对单片机掌握定时器、外部中断的设置和编程原理的全面认识复习和掌握,对单片机实际的应用作进一步的了解。

4、通过本次系统设计,增强自己的动手能力。

认识单片机在日常生活中的应用的广泛性,实用性。

本系统利用单片机的定时器/计数器定时和记数的原理,通过采用proteus仿真软件来模拟实现。

模拟利用AT89C51单片机、LED数码管以及控件来控制秒表的计数以及计数的开启/暂停/继续与复位!其中有两个数码管用来显示数据,一个数码管显示秒(两位),另一个数码管显示十分之一秒,十分之一秒的数码管计数从0~9,满十进一后显示秒的数码管的数字加一,并且十分之一秒显示清零重新从零计数。

基于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个按键值则跳回按键查询状态。

(完整版)基于51单片机的秒表设计1

(完整版)基于51单片机的秒表设计1

实训报告题目秒表系统的设计年级专业班级学号姓名地点日期目录一,目⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 3 二,系硬件⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 4 三,系件⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯7 四,系与果⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯12 五,片机小⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯13设计目标最近几年来跟着科学技术的发展,单片机的应用范围愈来愈广,也成为好多专业的必修课。

本文简单论述了鉴于单片机的秒表设计。

本设计的主要特色是计时精度达到 0.01 秒,能够用来为各样体育比赛计时等。

本设计的数字秒表采纳AT89才 51 单片机为主要器件,利用其准时器的原理,结LED数码管以及外面中止电路来设计计时器。

将软硬件联合起来,使得系统能实现 0~99.99 秒的计时,计时精度位 0.01 秒。

当按下一个键 1 时,开始显示数字,即计时开始,再按下键 2 时,暂停计时并显示方才的结果,这个时候假如再按键 1,则持续计时,也就是显示的数字包含方才的数据。

按下键 3 时,数据清零。

系统硬件设计1 、1整体方案的设计数字秒表拥有显示直观、读取方便、精度高等长处,在计时中宽泛应用。

本设计顶用单片机和数码管构成数字秒,力争构造简单。

设计中包含硬件电路的设计和系统程序的设计。

硬件电路主要有主控制器、控制按钮与显示电路构成。

主控制器采纳单片机AT89才 51,显示电路采纳四位共阴极数码管显示计不时间。

本设计利用 AT89才 51 单片机的准时器,使其能精准计时。

利用键盘上的独立按键实现开始计时和暂停以及清零。

P0口输出段码数据, P2.0~P2.2 连上译码器作为位选。

设计的基本要求是正确性。

计时器采纳 T0 中止实现,准时溢出中止周期为1ms,当溢出中止后向CPU 发出溢出中止恳求,每发出10 次中止恳求就对 10ms位(即最后一位)加一,达到 100 次就对 100ms位加一,以此类推,直到99.99s 为止。

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

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

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

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

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

2、计时精度达到 001 秒。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

《单片机技术应用》课程标准

《单片机技术应用》课程标准

《单片机技术应用》课程标准课程名称:单片机技术应用适用专业:电气技术应用专业一、课程性质《单片机技术应用》前叙课程是:电工电子综合课程、机床电气控制、电机与变压器,单片机技术应用课程是将综合应用上述课程的知识,让学生掌握单片机小型控制系统的设计、调试、维护方法,为后继《机电一体化设备》课程和顶岗实习做准备。

二、课程设计思路大部分的单片机控制设备属于机电一体系统,单片机岗位群的典型工作是从事单片机应用系统进行设计、制作和维护的。

具体工作包括:1.根据产品开发需要设计单机片系统,包括总体设计方案、硬件电路设计、软件程序开发;2.撰写相关的技术文档,包括进行材料表的整理和归档,作业文件的编写。

3.参与产品的可靠性测试、转产和生产的支持。

岗位要求从业者熟悉单片机的相关知识,可以熟练运用单片机做应用开发;具有能熟练应用单片机开发软件的能力;了解相关硬件调测仪器的使用方法和测试仪器:万用表、数字示波器、逻辑分析仪等;根据岗位对从业者的知识技能、工作的情感态度要求,单片机课程教学应当围绕岗位的要求、岗位的组成环节来提出教学的能力目标和知识系统的构建方式。

《单片机技术应用》是机电技术应用三年制中职专业设置的必修课程之一,是一门集合了电力电子知识、传感器知识和自动控制知识于一体的课程。

课程从工作过程分析出发,根据企业机电岗位岗位,职业能力需求,使课程的目标、内容、设计和评价贴近真实的工作岗位的需求,培养学生胜任实际工作岗位的能力。

工作项目是课程实施的载体,《单片机技术应用》课程的工作项目的内容选取应当具备以下特点:选用典型的单片机控制系统作为开展教学活动的载体;工作项目中应当使用岗位常用的编译软件;工作项目应当尽量使用单片机控制系统常用的器件,例如:主流单片机芯片、各种传感器、电机;工作项目中应当包含典型单片机技术应用的安装、调试、维护和维修各个完整的工作过程。

《单片机技术应用》本课程开设一学期,教学课时数为80学时,4学分。

单片机原理与应用实验报告5——秒表定时器实验

单片机原理与应用实验报告5——秒表定时器实验

大连理工大学软件学院《单片机原理与应用》实验报告姓名:学号:班级:姓名:学号:班级:组号:实验箱编号:实验时间:月日实验室:嵌入式实验室实验台:Embest Edukit-III平台指导教师:侯刚成绩:实验五:秒表定时器实验一、实验目的和要求题目:秒表定时器实验实验目的1. 学习单片机的基本接口技术。

2. 学习74HC595、74HC138使用及与51单片机的控制方法。

实验要求1.通过按键控制,完成数码管的显示计数控制。

2. 用汇编语言设计程序,完成8个数码管的显示控制。

当按下INT 按钮时,数码管开始快速计时,高五位为秒数,低三位为ms 数,每1ms 刷新一次显示内容。

当再次按下INT 按钮时,停止计数。

二、实验原理和内容实验内容:用汇编语言设计程序,完成8个数码管的显示控制。

当按下INT 按钮时,数码管开始快速计时,高五位为秒数,低三位为ms 数,每1ms 刷新一次显示内容。

当再次按下INT 按钮时,停止计数。

实验原理:1.根据原理图,分析工作原理,有P0进行取段码,P2.0 P2.1 P2.2进行取位码。

2.使用定时器进行计时。

根据所给开发板上的晶振频率,计算出计时器所付初值,设置计时器TO在模式下工作,每次计时100ms后,转入数码管显示中断处理程序。

3.实验板为共阴极数码管显示,将对应的显示0~9的电信号依次存储在“数组表”中。

4.使用key1,key2两个按键,按下key1,开始计时。

按下key2,计时停止。

5.根据实验要求,采用T0,T1两个定时器,其中T0用来增加时间显示,T1为按暂停键时为LED显示管循环上电所用。

6.每部分中断程序用寄存器间接寻址的方式获取显示数字的电信号量。

并进行循环上电,保证数字的亮度。

三、主要仪器设备及软件编程环境主要仪器:计算机编程软件,51电路开发板编程环境:uVision2 ,progisp烧写软件四、实验步骤与编程实验步骤:编写代码,编译,调试,烧写,完成实验。

单片机简易秒表正计时时间可设置

单片机简易秒表正计时时间可设置

单片机简易秒表正计时时间可设置秒表是一种用来测量时间流逝的仪器,广泛应用于体育比赛、科学实验和日常生活中。

在现代科技的推动下,秒表的功能和精准度都得到了极大提升。

本文将介绍一种单片机实现的简易秒表,能够进行正计时,并可设置计时时间。

用于实现秒表功能的单片机芯片有很多种,通常选择计时和定时功能强大的单片机,如STC89C52、AT89C51等。

这些单片机具有丰富的外设和强大的计时能力,非常适合实现秒表功能。

在开始设计之前,我们需要明确几个关键的功能要求。

首先是正计时功能,我们需要编写程序来实现从0开始的计时。

其次是计时时间可设置,即用户可以设置计时的起始时间和结束时间。

最后是计时的精确度,单片机通常使用定时中断来实现计时,我们需要考虑到时钟频率和定时器的精度,确保计时的准确性。

首先,我们需要连接单片机与显示器和按键开关。

单片机的引脚可以通过通用I/O口或专用的定时器引脚与显示器和按键开关相连接。

这里我们选择7段LED数码管作为显示器,用来显示计时结果。

按键开关用于设置计时时间。

接下来,我们需要编写程序来实现秒表的功能。

首先,初始化单片机的定时器和中断。

我们需要设置定时器的工作模式、时钟频率和计时的时间间隔。

然后,我们需要编写中断服务函数,该函数在定时器达到设定的时间时被调用。

在中断服务函数中,我们将对计时进行加法操作,并将结果显示在LED数码管上。

同时,我们还需要判断计时是否达到设置的结束时间,如果达到,则停止计时。

为了使用户可以设置计时时间,我们可以通过按键开关来实现。

当用户按下设定时间的键时,我们将进入设定模式,用户可以通过按键来设定起始时间和结束时间。

通过LED数码管来显示用户设置的时间。

最后,我们需要对秒表进行测试和调试,确保其功能的正常运行。

我们可以逐步测试每个功能点,如正计时功能、计时时间设置功能和计时精确度等。

通过串口输出调试信息,我们可以对程序进行调优和改进,提高秒表的性能和稳定性。

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

流程图对应的程序代码如下:
系统中其他功能处理
#defined keyport P1 //1 P1为键盘控制口 bit keytreated; //2 定义按键已处理标志位 void main(void) //3 main函数 { unsigned char keyval; //4 keyval:按键的键值 //系统中软硬件初始化 5 keytreated=0; //6 键按下未处理 while(1) //7 死循环,循环体为语句8~语句21 { keyport=0ff; //8 键输入口写1,准备读按键输入 if(~keyport) //9 有键按下吗? { delay(); //10 延时10ms去抖动 keyport=0ff; //11 键输入口写1,准备读按键输入 if(~keyport) //12 有键按下吗? { if(!keytreated) //13 键按下未处理吗,是则进行以下处理 { keyval=scan(); //14 扫描键盘,获取按键的位置(键值) keyexplain(keyval); //15 对按键进行解释处理 keytreated=1; //16 置键按下已处理标志,阻止按键被重复处理 } //17 键按下处理结束 } } //第2次、第1次检测到有键按下处理结束 else keytreated=0; //20 第1次检测到无键按下,置键按下未处理标志 //系统中其他处理 21 } //22 死循环的循环体结束 } //23 main函数结束
S2键按下。程序中可以不单独使用scan函数获取键值。 ③在独立式键盘中,常用switch/case语句实现依键值进行按键功能
上图中,S0键未按下时,P0.0=1,S0按下后,P0.0=0。
3、独立式键盘接口
⑵键盘处理程序 键盘处理需要注意的问题是,要
开始 系统中软硬件初始化 Keytreated=0 N
防止一次按键按下被多次解释执行(连
击键除外)。 在main函数中处键盘流程如图所示 图中,keytreated为按键已处理
值为0。上电时,秒表停止计时,数码管显示0秒。
1、循环结构中的break语句与continue语句
⑴break语句 break语句常用在循环结构的循环体中,用来结束循环,使程序跳转
至循环结构之后的语句上。while语句的循环程序的一般形式:
表达式1 假
while(表达式1) { 语句块1; if(表达式2) 语句块2; } 语句块3;
置键按下未处理标志 (keytreated=0)
Байду номын сангаас
有键按下? Y 延时10ms去抖动 有键按下? Y 按键未处理? (Keytreated=0) Y 确定键按下的位置 (确定键值) 按键功能解释 置键按下已处理标志 (keytreated=1) N N
标志位,keytreated标志位与按键是
否按下控制按键解释的执行,防止一 次按键事件被多次解释处理。
3、独立式键盘接口
【说明】
①本程序为键盘处理通用结构,也适合于后面介绍的矩阵式键盘处 理。不同的键盘其获取键值和按键功能解释不同,在实际使用中需要根
据具体情况作适当变换。
②在独立式键盘中,按键的输入值中包含了按键的键值信息,即按 键的输入值实际上就是按键的编码值。输入值的某位为0,则表示对应
的按键按下。对于图5-15的电路,若P0口输入值为11111010B,则是S0、
态。
2、键盘处理的流程
软件去抖动的方法
开始 N
有键按下? Y 延时10ms
N
有键按下? Y
确定按键的位置(确定按健的键值) 按键功能解释
结束
3、独立式键盘接口
⑴接口电路
VCC STC89C51
P10 P11 P12 P13
S0 S1 S2 S3
电路的特点 按键的一端接地,另一端接并 行口的某一根I/O口线,I/O口线 外接上拉电阻。若并行口内部 有上拉电阻(如单片机的P1口), 可不接上拉电阻。采用这种电 路时,若某个键按下,则对应 的I/O口线输入为0。 左图中,S0键未按下时, P0.0=1,S0按下后,P0.0=0。
按下 抖动
稳定按下期
释放 抖动
2、键盘处理的流程
去抖动的方法:硬件去抖动和软件去抖动 硬件去抖动:采用R-S触发器组成的闩锁电路来去抖动。 软件去抖动:采取延时的方法来回避抖动期。具体方法是,检测到有 键按下或者有键释放后,延时5ms~15ms左右的时间,再去读按键输 入情况,此时抖动期已过,所读的按键输入是按键稳定按下或释放状
真 语句块1 表达式2 假 语句块2 真
break;
语句块3
break流程图
1、循环结构中的break语句与continue语句
⑵continue语句
continue语句只能用在循环结构的循 环体中,用来结束本次循环,使程序跳转 到循环条件判断处。while语句的循环程序 的一般形式如下
表达式2 表达式1 真 语句块1 真 假
控制秒表的启停与清零
任务要求
在任务10的基础上增加S0、S1、S2三个按键。S0键作启动键, 按S0键,启动秒表走时,秒表在当前显示秒数的基础上计时。例如,
当前数码管显示的是05,按S0键后,秒表在5秒的基础上计时,依次
显示06,07,……。S1键为停止键,按S1键,秒表停止走时,显示 时间一直保持不变。S2键为清0键,按S2键,秒表停止走时,显示数
while(表达式1) { 语句块1; if(表达式2) 语句块2; } 语句块3;
假 语句块2
continue;
语句块3
continue流程图
1、循环结构中的break语句与continue语句
【例】统计1~100之间能被7整除的数的个数。
void {
main(void) unsigned char i,j; j=0; for(i=1;i<=100;i++) { if(i%7!=0) j++; }
continue;
}
2、键盘处理的流程
单片机系统中所用的键盘有独立式键盘和矩阵式键盘两种。键盘接口 的基本任务主要有4个方面:⑴判断是否有键按下;⑵去抖动;⑶确定所 按下键的键值,即确定是何键按下;⑷对按键功能进行解释。 在一次按键操作中,由于按键的机械特性的原因,键按下或释放都 有一个弹跳的抖动过程,抖动的时间一般为5~15ms,其波形如下:
相关文档
最新文档