基于单片机的多功能秒表系统课程设计
课程设计单片机秒表
课程设计单片机秒表一、教学目标本课程旨在通过学习单片机秒表的设计与实现,让学生掌握单片机的基本原理、编程方法和实际应用。
具体的教学目标如下:1.了解单片机的基本结构和工作原理;2.掌握C语言编程的基本语法;3.掌握单片机秒表的设计方法和步骤。
4.能够使用单片机开发工具进行程序编写和调试;5.能够独立完成单片机秒表的设计和实现;6.能够对单片机程序进行优化和升级。
情感态度价值观目标:1.培养学生的创新意识和团队合作精神;2.培养学生对新技术的敏感度和持续学习的兴趣;3.培养学生对社会和科学的负责任态度。
二、教学内容本课程的教学内容主要包括以下几个部分:1.单片机的基本原理:介绍单片机的结构、工作原理和编程语言;2.C语言编程:讲解C语言的基本语法和编程技巧;3.单片机秒表的设计:讲解单片机秒表的设计方法和步骤,包括硬件设计和软件编程;4.实践操作:安排实验室实践环节,让学生亲手操作单片机,完成秒表的设计和实现。
三、教学方法为了达到上述教学目标,我们将采用以下教学方法:1.讲授法:讲解单片机的基本原理和C语言编程基础知识;2.案例分析法:分析具体的单片机秒表设计案例,让学生了解实际应用;3.实验法:安排实验室实践环节,让学生亲手操作单片机,完成秒表的设计和实现;4.讨论法:学生进行小组讨论,培养团队合作精神和创新意识。
四、教学资源为了支持本课程的教学内容和教学方法,我们将准备以下教学资源:1.教材:选择合适的单片机和C语言编程教材;2.参考书:提供相关的参考书籍,供学生自主学习;3.多媒体资料:制作PPT和教学视频,帮助学生更好地理解教学内容;4.实验设备:准备单片机开发板和实验工具,让学生进行实践操作。
五、教学评估为了全面、客观地评估学生的学习成果,我们将采用以下评估方式:1.平时表现:通过课堂参与、提问和小组讨论等方式,评估学生的学习态度和积极性;2.作业:布置相关的编程练习和设计任务,评估学生的编程能力和设计水平;3.考试:安排期末考试,测试学生对单片机秒表设计和C语言编程知识的掌握程度。
基于单片机的电子秒表课程设计
目录第一章绪论 (3)1.1概述 (3)1.2设计目的 (3)1.3设计任务和内容 (3)第二章总体设计及核心器件简介 (4)2.1总体设计 (4)2.2MCS-51之80C51 (4)第三章单元电路模块设计 (6)3.1按键电路 (6)3.2时钟电路 (7)3.3LED数码管显示电路 (7)3.4复位电路 (9)3.5 总体功能介绍 (11)第四章软件编程设计 (12)第五章设计体会及总结 (13)参考文献 (14)附录一程序流程图 (15)附录二系统程序设计 (16)一、题目:基于单片机的电子秒表二、任务要求:本设计以MCS-51系列单片机为核心,采用常用电子器件设计,一个电源开关,两个按键,三位数码管显示,打开电源开关后显示8,每秒循环左移一位,按A键开始计时,实时显示所经历的时间,按B键停止计时并显示从开始到当前时刻的时间,要求精确到0.1秒,量程为0—99.9秒。
要求按键输入采用中断方式,按键A接INT0,B接INT1。
三、组内成员:XXXXXXXXXXXXXXXX四、指导老师:XXX2019.7.7第一章绪论1.1概述单片微型计算机简称单片机,又称微控制器,是微型计算机的一个重要分支。
单片机是20世纪七十年代中期发展起来的一种大规模集成电路芯片,是集CPU、RAM、ROM、I/O接口和终端系统与同一硅片的器件。
20世纪八十年代以来单片机发展迅速各类新产品不断涌现出现许多新产品,出现了许多高性能新型机种现已成为工业控制和各控制领域的支柱产业之一。
由于单片机功能功能强、体积小、可靠性好、价格便宜等独特优点因而受到人们的高度重视并取到了一系列的科研成果,成为传统工业技术改造和新产品更新换代的理想机种,并具有广阔的发展前景。
本设计运用所学的单片机知识,将单片机与普通秒表相结合设计了电子秒表,具有低功耗,保密性好等优良特点,具有广阔的市场前景1.2设计目的加强对单片机和C51语言的认识,充分掌握和理解设计各部分的工作原理、设计过程、选择芯片器件、模块化编程等多项知识。
单片机课程设计之秒表设计
单片机课程设计之秒表设计一、课程目标知识目标:1. 学生理解单片机的基本原理,掌握单片机编程基础知识;2. 学生掌握秒表设计的流程和关键步骤,了解计时器的工作原理;3. 学生熟悉并掌握单片机中断、定时器等相关知识,并能将其应用于实际项目中。
技能目标:1. 学生能够运用所学知识,独立设计并实现一个简单的秒表程序;2. 学生能够通过编程调试,解决在秒表设计过程中遇到的问题;3. 学生具备团队协作能力,能够与同学共同分析问题、讨论方案并完成项目。
情感态度价值观目标:1. 学生培养对单片机及电子制作的兴趣,激发创新精神和实践能力;2. 学生养成勤奋好学、独立思考的良好习惯,形成积极向上的学习态度;3. 学生在项目实践中,培养团队精神,学会相互尊重、沟通协作。
本课程针对单片机课程设计之秒表设计,结合学生年级特点,注重理论与实践相结合,培养学生的动手能力和实际操作技能。
通过课程学习,使学生能够掌握单片机基础知识,具备实际项目设计与实施能力,同时培养他们的团队协作和创新能力。
课程目标明确、具体,可衡量,有助于学生和教师在教学过程中清晰了解预期成果,并为后续教学设计和评估提供依据。
二、教学内容1. 单片机基础知识回顾:主要包括单片机的结构、工作原理、指令系统及编程基础;2. 定时器与中断:讲解单片机定时器的工作原理,中断处理过程,以及如何利用定时器实现精确计时;3. 秒表设计原理:分析秒表的功能需求,设计流程,以及所需硬件和软件资源;4. 程序设计:根据秒表设计原理,编写程序代码,实现秒表的开始、停止、计次、清零等功能;5. 硬件电路设计:介绍秒表所需硬件电路的设计方法,包括单片机、按键、显示屏等部分的连接;6. 调试与优化:教授学生如何对程序进行调试,找出并解决存在的问题,优化程序性能;7. 课外拓展:引导学生思考如何改进秒表功能,增加趣味性和实用性。
教学内容依据课程目标制定,涵盖单片机基础知识、定时器与中断、程序设计、硬件电路设计等方面,以确保内容的科学性和系统性。
基于单片机的秒表课程设计
基于单片机的秒表课程设计————————————————————————————————作者:————————————————————————————————日期:基于单片机的秒表课程设计姓名:班级:学号:专业:指导老师:年月日目录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引脚和指令系统完全兼容。
基于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 -一、单片机简介单片机以其高可靠性、高性价比、低电压、低功耗等一系列优点,近几年得到迅猛发展和大范围推广,广泛应用于工业控制系统,数据采集系统、智能化仪器仪表,及通讯设备、日常消费类产品、玩具等。
基于单片机的秒表设计单片机课程设计
显示电路由四位数码管组成,采用动态显示方式,因此有八位段控制端和四位位控制端,八位段控制接P0口,P0.0~P0.7分别控制数码显示管的a、b、c、d、e、f、g、dp显示,单片机的P0口没有集成上拉电阻,高电平的驱动能力很弱,所以需要接上拉电阻来提高P0的高电平驱动能力。四位位控制则由低位到高位分别接到P2.0~P2.3口,当P2.0~P2.4端口任意一个端口为高电平时,对应的数码管导通显示。
Keywords:AT89C51Microcontroller;Digital stopwatch;Digital tubes
第1章绪论
1.1 概述
人类最早使用的定时工具是沙漏或水漏,但在钟表诞生发展成熟之后,人们开始尝试使用这种全新的计时工具来改进定时器,达到准确控制时间的目的。
1876年,英国外科医生索加取得一项定时装置的专利,用来控制煤气街灯的开关。它利用机械钟带动开关来控制煤气阀门。起初每周上一次发条,1918年使用电钟计时后,就不用上发条了。定时器确实是一项了不起的发明,使相当多需要人控制时间的工作变得简单了许多。人们甚至将定时器用在了军事方面,制成了定时炸弹,定时雷管。现在的不少家用电器都安装了定时器来控制开关或工作时间。
基于单片机的秒表设计单片机课程设计
单片机课程设计
项目名称基于单片机的秒表设计
专业班级通信102班
学生姓名青瓜
指导教师…
2012年11月20日
摘要
本课程设计的数字电子秒表系统采用AT89C51单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合显示电路、LED数码管以及外部中断电路来设计计时器。将软、硬件有机地结合起来,使得系统能够实现五位LED显示,显示时间为0~99.99秒,计时精度为0.01秒,能精确地进行计时,并可以随时暂停和开始。软件系统采用C语言编写,包括显示程序,定时中断服务,外部中断服务程序,延时程序等,硬件系统利用PROTEUS强大的功能来实现,简单且易于观察,在仿真中就可以观察到系统实际的工作状态。
单片机课程设计_基于单片机的数字秒表设计
单片机课程设计_基于单片机的数字秒表设计在当今科技迅速发展的时代,电子设备的应用无处不在,其中数字秒表作为一种常见的计时工具,具有广泛的应用场景,如体育比赛、科学实验、工业生产等。
本次课程设计旨在基于单片机技术实现一个数字秒表,通过对硬件电路的设计和软件程序的编写,掌握单片机系统的开发流程和方法,提高实践动手能力和解决问题的能力。
一、设计要求1、能够实现秒表的启动、暂停、复位功能。
2、计时精度达到 001 秒。
3、能够通过数码管显示计时结果。
二、系统方案设计1、硬件设计单片机选型:选用常见的 STC89C52 单片机作为核心控制器,其具有性能稳定、价格低廉、易于编程等优点。
显示模块:采用 8 位共阴极数码管作为显示器件,通过动态扫描的方式实现数字的显示。
按键模块:设置三个独立按键,分别用于启动、暂停和复位操作。
时钟模块:使用单片机内部的定时器/计数器产生精确的时钟信号,实现计时功能。
2、软件设计主程序:负责系统的初始化、按键扫描和计时处理等。
中断服务程序:利用定时器中断实现 001 秒的定时,更新计时数据。
三、硬件电路设计1、单片机最小系统包括单片机芯片、晶振电路和复位电路。
晶振频率选择 12MHz,为单片机提供时钟信号。
复位电路采用上电复位和手动复位相结合的方式,确保系统能够可靠复位。
2、显示电路将 8 位数码管的段选引脚通过限流电阻连接到单片机的 P0 口,位选引脚通过三极管连接到单片机的 P2 口。
通过动态扫描的方式,依次点亮每个数码管,实现数字的显示。
3、按键电路三个按键分别连接到单片机的 P10、P11 和 P12 引脚,采用低电平有效。
当按键按下时,相应引脚的电平被拉低,单片机通过检测引脚电平的变化来判断按键的操作。
四、软件程序设计1、主程序流程系统初始化后,进入主循环。
在主循环中,不断扫描按键状态,如果检测到启动按键按下,则启动计时;如果检测到暂停按键按下,则暂停计时;如果检测到复位按键按下,则将计时数据清零。
基于单片机的多功能秒表系统课程设计
基于单片机的多功能秒表系统课程设计单片机课程设计报告多功能秒表系统设计姓名:学号:专业班级:指导老师:所在学院:2009年6月10日单片机已经无处不在,与我们生活更是息息相关并已渗透到了生活的方方面面。
单片机的特点是体积小,重量轻,功能强,通用性好,也就是说集成度高,其内部的结构是普通的计算机系统的简化。
在增加一些外围电路之后,就能成为一个完整的系统。
在众多单片机中,MCS-51系列单片机具有系统结构完整,特殊功能寄存器规范化以及指令系统的控制功能强等特色,使起成为单片机中的主流机型。
本设计是一个由AT89C51单片机控制,利用单片机的定时器/计数器定时和记数的原理,结合显示电路、电源电路、LED数码管以及键盘电路按键计时来实现的多功能秒表系统。
在本次设计中我们以AT89C51单片机为主要器件,利用它的定时器/计数器定时和记数的原理,结合7809电源提供的+5V稳压电压,上电加按钮复位电路,晶体振荡电路,由P0口驱动的LED动态显示电路,键盘电路等来完成多功能秒表的设计。
这个多功能秒表系统能够实现两位LED显示,显示的时间为00~99秒,每秒自动加1,能正确地进行加、减(倒)计时,能同时记录4个相对独立的时间,通过上翻键和下翻键来查看这4个不同的计时值,还具有快加和复位功能,基本上实现了老师的要求。
我们使用汇编语言来编写程序,采用模块化程序设计方法,主程序有多个子程序构成,这些子程序可以单独的设计,调试和管理,其中包括加1子程序、减1子程序、延时子程序、快加子程序,复位子程序和显示子程序等。
将源程序代码在WAVE中进行编译和调试,硬件系统利用Proteus软件来实现,可以方便的看到运行结果。
关键词:多功能秒表、单片机、子程序模块、Proteus仿真1 概述 (3)1.1单片机简介 . (3)1.2设计任务 (3)1.3设计要求 (3)2 系统总体方案及硬件设计 ......................................................错误!未定义书签。
单片机秒表课程设计
单片机 秒表 课程设计一、课程目标知识目标: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.1 设计要求 (1)1.2 优点及意义 (1)1.3 初步设计思路 (1)二、硬件电路设计 (1)2.1 AT89C51单片机模块 (1)2.1.1 89C5单片机 (1)2.1.1单片机中断系统 (2)2.2 复位与时钟电路模块 (3)2.2.1晶振电路 (3)2.2.2 复位电路 (3)2.3按键模块 (3)2.4蜂鸣器模块 (4)①蜂鸣器工作原理 (4)2.5数码管模块 (4)三、软件设计 (5)3.1程序流程图 (5)3.2主程序设计 (5)3.2.1定义管脚、指示灯、蜂鸣器 (5)3.2.2启动与暂停 (5)3.2.3每秒报警 (7)3.2.4数码管显示 (7)3.3子程序设计 (8)3.3.1 定时器子程序设计 (8)总结 (9)参考文献 (10)附录 (11)一总体方案设计1.1 设计要求1、设计精度为0.1S的秒表系统。
2、设置启动、暂停、清零按钮。
3、设计每一秒钟都有提醒功能。
4、秒表的最长计时长度为9:59:59,超过此长度,报警。
1.2 优点及意义单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。
事实上单片机是世界上数量最多的计算机。
现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。
目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。
1.3 初步设计思路该实验要求进行计时并在数码管上显示时间,则可利用单片机微机仿真实验系统中的芯片AT89C51中的P3.2管脚做为外部中断0的入口地址,并实现“开始/停止”、“暂停”、“清零”按键的功能;定时器T0作为每秒加一的定时器。
基于单片机的多功能秒表的课程设计报告书
单片机课程设计题目基于单片机的多功能秒表目录1 设计总体方案 (1)1.1 设计要求与目的 (1)1.2 设计思路 (1)1.3工作原理 (2)1.4 功能说明 (2)2 主要元器件介绍 (3)2.1 AT89C51单片机 (3)2.2 四位共阴数码管 (5)3 系统硬件设计 (6)3.1 电源电路 (6)3.2 时钟电路 (6)3.3 复位电路 (7)3.4 显示电路 (7)3.5 键盘电路 (8)4 软件设计 (9)5 系统调试及结果分析 (11)6 总结 (12)参考文献 (13)附录1:总体电路原理图 (14)附录2:元器件清单 (15)附录3:实物图 (16)附录4:源程序 (17)1 设计总体方案1.1 设计要求与目的设计一个单片机控制的多功能秒表系统,利用单片机的定时器/计时器定时和计数的原理,结合显示电路、用四位共阴极LED数码管以及按键来设计秒表计时器,实现暂停与清零功能,并多次计数。
在设计系统前,我们主要考虑以下一些原则:节约元器件,尽量降低系统实现成本;硬件电路尽量简单,使得硬件实现、问题检查、软件编程以及系统调试的难度都降低;能在软件上实现,使芯片利用率尽可能高;软件设计方案要优化,使得做成实物尽可能简单,方便仿真与检测;设计方案要和当前的试验平台相应;充分利用各种资源,尽量采用成熟与经典的电路。
1.2 设计思路因为秒表的设计相对较为简单,因此在软件设计中我们一般采用模块化程序设计的方法。
模块是一个具有独立功能的程序,可以单独设计、调试与管理,模块可以分为功能模块和控制模块两类。
我们通过模块化程序设计可按适当的原则把一个情况复杂、规模较大的程序划分为一个个较小的、功能相关而又相对独立的模块。
根据电子秒表的设计要求,主要设计一个计数系统、译码驱动、数码显示系统、控制系统。
其主要核心技术在于产生秒表信号的计数脉冲与计数器之间的级联。
1.3工作原理本系统采用AT89C51单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合硬件电路如电源电路,晶振电路,复位电路,显示电路,以及一些按键电路等来设计计时器,将软、硬件有机地结合起来。
单片机秒表系统课程设计
单片机秒表系统课程设计一、课程目标知识目标:1. 学生能理解单片机的基本原理,掌握单片机在秒表系统中的应用。
2. 学生能掌握计时器的原理,学会编写简单的计时器程序。
3. 学生了解并掌握秒表系统的硬件连接,能解释各个部分的作用及其相互关系。
技能目标:1. 学生能够运用所学知识,设计并搭建一个简单的单片机秒表系统。
2. 学生能够编写程序,实现对秒表的启动、停止、计时的基本功能。
3. 学生通过动手实践,提高解决问题的能力和团队合作能力。
情感态度价值观目标:1. 学生通过本课程的学习,培养对单片机及电子制作的兴趣,激发创新意识。
2. 学生在学习过程中,培养严谨的科学态度,养成良好的实验操作习惯。
3. 学生通过小组合作,学会分享、交流,培养团队协作精神。
本课程针对高中电子技术课程,结合学生年龄特点和认知水平,注重理论与实践相结合,旨在提高学生的动手实践能力和创新能力。
课程目标具体、可衡量,既关注学生对单片机知识的掌握,又注重技能的培养和情感态度价值观的引导,为后续教学设计和评估提供明确方向。
二、教学内容本课程教学内容主要包括以下几部分:1. 单片机基础知识:介绍单片机的原理、结构和功能,重点讲解51单片机的内部资源及其在秒表系统中的应用。
2. 硬件设计:讲解秒表系统所需硬件,包括单片机、时钟电路、按键、显示器等,分析各部分硬件的功能及相互关系。
3. 软件编程:学习单片机编程语言(C语言),掌握计时器编程方法,编写秒表的启动、停止、计时的程序。
4. 系统调试与优化:学习如何对秒表系统进行调试和优化,提高系统稳定性。
教学内容安排如下:1. 第一周:单片机基础知识学习,了解51单片机的内部资源。
2. 第二周:硬件设计,分析秒表系统各部分硬件功能及连接方法。
3. 第三周:软件编程,编写秒表程序,实现基本功能。
4. 第四周:系统调试与优化,提高系统性能。
本教学内容参考教材相关章节,结合课程目标,确保教学内容具有科学性、系统性和实践性。
基于单片机的多功能秒表的课程设计报告书
单片机课程设计题目基于单片机的多功能秒表目录1 设计总体方案 (1)1.1 设计要求与目的 (1)1.2 设计思路 (1)1.3工作原理 (2)1.4 功能说明 (2)2 主要元器件介绍 (3)2.1 AT89C51单片机 (3)2.2 四位共阴数码管 (5)3 系统硬件设计 (6)3.1 电源电路 (6)3.2 时钟电路 (6)3.3 复位电路 (7)3.4 显示电路 (7)3.5 键盘电路 (8)4 软件设计 (9)5 系统调试及结果分析 (11)6 总结 (12)参考文献 (13)附录1:总体电路原理图 (14)附录2:元器件清单 (15)附录3:实物图 (16)附录4:源程序 (17)1 设计总体方案1.1 设计要求与目的设计一个单片机控制的多功能秒表系统,利用单片机的定时器/计时器定时和计数的原理,结合显示电路、用四位共阴极LED数码管以及按键来设计秒表计时器,实现暂停与清零功能,并多次计数。
在设计系统前,我们主要考虑以下一些原则:节约元器件,尽量降低系统实现成本;硬件电路尽量简单,使得硬件实现、问题检查、软件编程以及系统调试的难度都降低;能在软件上实现,使芯片利用率尽可能高;软件设计方案要优化,使得做成实物尽可能简单,方便仿真与检测;设计方案要和当前的试验平台相应;充分利用各种资源,尽量采用成熟与经典的电路。
1.2 设计思路因为秒表的设计相对较为简单,因此在软件设计中我们一般采用模块化程序设计的方法。
模块是一个具有独立功能的程序,可以单独设计、调试与管理,模块可以分为功能模块和控制模块两类。
我们通过模块化程序设计可按适当的原则把一个情况复杂、规模较大的程序划分为一个个较小的、功能相关而又相对独立的模块。
根据电子秒表的设计要求,主要设计一个计数系统、译码驱动、数码显示系统、控制系统。
其主要核心技术在于产生秒表信号的计数脉冲与计数器之间的级联。
1.3工作原理本系统采用AT89C51单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合硬件电路如电源电路,晶振电路,复位电路,显示电路,以及一些按键电路等来设计计时器,将软、硬件有机地结合起来。
单片机课程设计之多功能秒表
单片机报告单片机报告—————多功能秒表多功能秒表实验者:蒋晓婷实验者:蒋晓婷班级:2008级电自9班 学号:20080711304 组员:丁秀香组员:丁秀香一、实验要求1.1.硬件电气原理图一张(含元器件清单一份;所有引脚标注清楚)硬件电气原理图一张(含元器件清单一份;所有引脚标注清楚)硬件电气原理图一张(含元器件清单一份;所有引脚标注清楚)2、软件程序清单一套(含主要程序流程图,全部源程序及详细的注释)、软件程序清单一套(含主要程序流程图,全部源程序及详细的注释)3、使用功能说明书一份(含功能描述及操作指南和收获体会)、使用功能说明书一份(含功能描述及操作指南和收获体会)4、软件在开发板上调试成功,并能成功表演,达到设计课题的要求、软件在开发板上调试成功,并能成功表演,达到设计课题的要求二、实现要求二、实现要求秒表功能秒表功能1、设计可以显示、设计可以显示0.10.10.1——100s 100s的秒表,最小单位为毫秒;的秒表,最小单位为毫秒;的秒表,最小单位为毫秒;2、通过按键控制秒表清零、暂停、继续、退出等功能;、通过按键控制秒表清零、暂停、继续、退出等功能;3、具有倒计时功能;、具有倒计时功能;4、秒表可以分组存储,批量显示;、秒表可以分组存储,批量显示;5、显示北京时间;、显示北京时间;6、可利用蜂鸣器添加提示音。
、可利用蜂鸣器添加提示音。
附加功能附加功能1、利用实时钟芯片,显示年月日以及星期;、利用实时钟芯片,显示年月日以及星期;2、选择蜂鸣器电路,实现闹钟设置和报警功能;、选择蜂鸣器电路,实现闹钟设置和报警功能;3、可以通过按键调整日期、时间;、可以通过按键调整日期、时间;4、可以设置两组闹钟,闹钟时间到,蜂鸣器响;、可以设置两组闹钟,闹钟时间到,蜂鸣器响;5、利用蜂鸣器实现整点报时。
、利用蜂鸣器实现整点报时。
三、硬件原理:1.ADUC848管脚图ADUC848管脚图ADUC848管脚图如下图所示。
基于单片机多功能秒表课程设计任务书
单片机课程设计课题:多功能秒表系别:电气与电子工程专业:电子信息工程姓名:吴腾飞学号: 093411143城建学院2013年 1月 1日成绩评定·一、指导教师评语(根据学生设计报告质量、答辩情况及其平时表现综合评定)。
二、评分课程设计成绩评定目录第一章设计目的第二章设计任务要求 .................................. 第三章总体设计 ......................................3.1 任务分析.................................................3.2 方案确定.................................................3.3 单片机概述...............................................3.3.1 单片机的特点 ...........................................3.3.2 STC89C51单片机简介3.3.3 STC89C51功能特性概述:................................. 第四章各部分电路设计4.1 显示原理.................................................4.2 键盘及读数原理............................................4.3 复位电路.................................................4.4 按键电路.................................................4.5 时钟电路.................................................4.6 驱动显示电路............................................. 第五章整体电路图 ....................................5.1相应程序..................................................5.2 硬件实物调试.............................................5.3 硬件调试..................................................5.4软件调试..................................................5.5系统联调..................................................5.6现场调试.................................................. 第六章设计总结6.1设计过程中遇到的问题及解决方法............................6.2设计体会 .................................................6.3 对设计的建议............................................. 参考文献..............................................一、设计目的随着微电子技术的不断发展,数控系统也在不断地更新换代,先后经历了电子管(1952年)、晶体管(1959年)、小规模集成电路(1965年)、大规模集成电路及小型计算机(1970年)和微处理机或微型计算机(1974年)等五代数控系统。
单片机秒表课程设计
单片机秒表课程设计设计目的本文档旨在介绍一个基于单片机的秒表课程设计方案,通过该课程设计,学生可以学习和掌握单片机的基本原理和应用,同时加深对计时器和中断的理解和应用能力。
课程设计内容本课程设计将通过以下几个步骤来实现一个基本的秒表功能: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(){// 显示时间的代码// ...}显示模块使用该模块可以将计时的时间显示在屏幕上,具体实现需要根据显示屏的驱动方式来编写代码。
基于单片机的秒表设计
基于单片机的秒表设计一、设计需求分析在设计基于单片机的秒表之前,首先需要明确其功能和性能需求。
一般来说,秒表应具备以下基本功能:1、计时功能:能够精确地测量时间,最小计时单位通常为毫秒。
2、启动/停止功能:用户可以通过按键控制秒表的启动和停止。
3、复位功能:将秒表的计时数据清零,以便重新开始计时。
4、显示功能:能够清晰地显示计时结果,通常采用数码管或液晶显示屏。
此外,为了提高用户体验,还可以考虑增加一些扩展功能,如记录多个计时数据、设置计时上限、具备暂停功能等。
二、硬件设计1、单片机选型在选择单片机时,需要考虑其性能、资源和成本等因素。
常见的单片机如 STM32、Arduino 等都可以满足秒表的设计需求。
以 STM32 为例,其具有丰富的定时器资源和高速的处理能力,能够实现高精度的计时。
2、计时模块计时功能的实现通常依靠单片机内部的定时器。
通过设置定时器的工作模式和计数周期,可以精确地测量时间间隔。
例如,使用 STM32的通用定时器,设置为向上计数模式,并根据系统时钟频率和预分频系数计算出定时器的溢出时间,从而实现毫秒级的计时。
3、按键输入模块为了实现秒表的启动、停止和复位操作,需要设计按键输入电路。
可以使用普通的机械按键或触摸按键,将按键的信号连接到单片机的GPIO 引脚,并通过编程检测引脚的电平变化来响应按键操作。
4、显示模块显示模块用于将计时结果直观地展示给用户。
常见的显示方式有数码管显示和液晶显示屏显示。
数码管显示简单直观,但显示内容有限;液晶显示屏则可以显示更多的信息,并且具有更好的可读性。
在选择显示模块时,需要根据实际需求和成本进行综合考虑。
5、电源模块为整个系统提供稳定的电源是保证秒表正常工作的关键。
可以使用电池供电或通过 USB 接口连接外部电源。
在设计电源模块时,需要考虑电源的电压、电流和稳定性等因素。
三、软件设计1、主程序流程主程序主要负责初始化各个模块、检测按键操作和处理计时数据。
单片机课程设计秒表
单片机课程设计 秒表一、课程目标知识目标:1. 让学生掌握单片机的基本原理和功能,理解单片机在秒表设计中的应用。
2. 使学生了解秒表的计时原理,掌握秒表的程序设计方法。
3. 帮助学生掌握单片机I/O口的使用,定时器/计数器的工作原理及其编程方法。
技能目标:1. 培养学生运用C语言进行单片机程序设计的能力,能够编写简单的秒表程序。
2. 培养学生动手实践能力,能够独立完成单片机秒表的硬件连接和程序下载。
3. 提高学生分析问题、解决问题的能力,能够对程序进行调试和优化。
情感态度价值观目标:1. 培养学生对单片机及嵌入式系统的兴趣,激发学生学习主动性和创新精神。
2. 培养学生团队合作意识,学会在团队中分享观点、沟通协作。
3. 培养学生严谨的科学态度和良好的学习习惯,注重实践与理论相结合。
课程性质分析:本课程为单片机原理与应用课程的一部分,以实践操作为主,理论讲解为辅。
针对学生特点,注重培养学生的学习兴趣和动手能力。
学生特点分析:学生为高中二年级学生,具备一定的电子基础和编程能力,对新鲜事物充满好奇心,喜欢动手实践。
教学要求:结合课程性质和学生特点,将课程目标分解为具体的学习成果,注重理论与实践相结合,确保学生能够掌握单片机秒表设计的相关知识和技能。
在教学过程中,关注学生的个体差异,提供个性化指导,以促进全体学生的全面发展。
二、教学内容1. 单片机基础理论:- 单片机原理与结构- 单片机的I/O口操作- 定时器/计数器原理与应用2. C语言编程基础:- 数据类型与运算符- 控制结构(循环、分支)- 函数的定义与调用3. 秒表程序设计:- 秒表的计时原理- 程序流程图设计- 编程实现秒表功能(启动、停止、复位、计次等)4. 硬件连接与调试:- 单片机与按键、显示器的连接方法- 程序下载与调试方法- 故障分析与排查技巧教学大纲安排:第一课时:单片机基础理论,介绍单片机原理、结构及I/O口操作第二课时:C语言编程基础,讲解数据类型、运算符、控制结构等第三课时:定时器/计数器原理与应用,分析秒表的计时原理第四课时:秒表程序设计,学习程序流程图设计及编程实现第五课时:硬件连接与调试,动手实践单片机秒表的硬件连接和程序下载,进行调试与优化教材章节关联:《单片机原理与应用》第三章:单片机I/O口编程《单片机原理与应用》第四章:定时器/计数器《C语言程序设计》第二章:数据类型与运算符《C语言程序设计》第三章:控制结构《C语言程序设计》第五章:函数教学内容确保科学性和系统性,结合课程目标和教学大纲,按照以上进度进行教学,使学生能够全面掌握单片机秒表设计与实现的相关知识与技能。
基于单片机的多功能秒表课程设计
■ 32
21 22
P3.0/RXD P3.1/TXD
P3.2/INTL
P3.3/lNT 厂
P3.4/T0
P3.5/T1 P3.6/W R
P3.7/RD
图 4-1 仿真结果图 仿真结果描述:
按“开始”键,秒表开始计时;按“暂停”键,秒表暂停计时; 按记 录键,秒表记录时间,共可记录八个数值;按上翻下翻键,可 查看这八个 不同的计时值。 结论及进一步设想:
根据实验要求,本次课设基本完成了设计要求,由于秒表系统 并不一 定仅仅局限于计时,定时等功能,还可以进行多项的扩展, 可以利用 AT89C51 强大的扩展功能,进一步丰富秒表的功能,例如 可设定计时时 间,倒计时等等众多功能。单片机以其强大的功能和 良好的兼容性可以更
3.2 程序流程框图设计
精品文档,知识共享!
程序流程框图如图 3-1 所示 开始
初始化
P1.0=0?
Y
1r
P1.1=0?
―* 记录
够8个
P1.2=0? 上翻
P1.3=0?
N
> ---------
Y
1E
P1.4=0?
Y
下翻
1
清零
停止
图 3-1 程序流程框图
精品文档,知识共享!
4 PROTEUS 软件仿真
精品文档,知识共享!
1 设计概述
1.1 设计目的
设计一个单片机控制的秒表系统。利用单片机的定时器/计数器定 时和 记数的原理,结合显示电路、LED 数码管以及按键来设计秒表。 将软、硬件 有机地结合起来,使得系统能够正确地进行计时,同时具 有开始/暂停,记 录,上翻下翻,清零等功能。
1.2 设计要求
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机课程设计报告多功能秒表系统设计姓名:学号:专业班级:指导老师:所在学院:2009年6月10日单片机已经无处不在,与我们生活更是息息相关并已渗透到了生活的方方面面。
单片机的特点是体积小,重量轻,功能强,通用性好,也就是说集成度高,其内部的结构是普通的计算机系统的简化。
在增加一些外围电路之后,就能成为一个完整的系统。
在众多单片机中,MCS-51系列单片机具有系统结构完整,特殊功能寄存器规范化以及指令系统的控制功能强等特色,使起成为单片机中的主流机型。
本设计是一个由AT89C51单片机控制,利用单片机的定时器/计数器定时和记数的原理,结合显示电路、电源电路、LED数码管以及键盘电路按键计时来实现的多功能秒表系统。
在本次设计中我们以AT89C51单片机为主要器件,利用它的定时器/计数器定时和记数的原理,结合7809电源提供的+5V稳压电压,上电加按钮复位电路,晶体振荡电路,由P0口驱动的LED动态显示电路,键盘电路等来完成多功能秒表的设计。
这个多功能秒表系统能够实现两位LED显示,显示的时间为00~99秒,每秒自动加1,能正确地进行加、减(倒)计时,能同时记录4个相对独立的时间,通过上翻键和下翻键来查看这4个不同的计时值,还具有快加和复位功能,基本上实现了老师的要求。
我们使用汇编语言来编写程序,采用模块化程序设计方法,主程序有多个子程序构成,这些子程序可以单独的设计,调试和管理,其中包括加1子程序、减1子程序、延时子程序、快加子程序,复位子程序和显示子程序等。
将源程序代码在WAVE中进行编译和调试,硬件系统利用Proteus软件来实现,可以方便的看到运行结果。
关键词:多功能秒表、单片机、子程序模块、Proteus仿真1 概述 (3)1.1单片机简介.. (3)1.2设计任务 (3)1.3设计要求 (3)2 系统总体方案及硬件设计 ..................................................... 错误!未定义书签。
2.1、电源 (5)2.2、复位电路 (5)2.3、晶体振荡电路 (6)2.4、显示电路 (7)2.5、键盘电路 (8)3 软件设计 (9)3.1、设计思想 (10)3.2、系统流程图 (14)4 Proteus软件仿真 (17)5 课程设计体会 (19)参考文献 (20)附1:源程序代码 (21)附2:系统原理图 (25)1 概述1.1单片机简介单片机是性能价格比高、体积小、对国民经济渗透力大、最有前途的微控制器。
单片机自20世纪70年代初研制成功并发展至今,已进入第四代。
它主要是在一块芯片上集成了CPU、存储器以及输入输出电路,在工业过程中被广泛应用在控制电路中。
从单片机的系列来看,国内外已超过50个系列、近500个品种,当前正处于更新换代、百花齐放的时期。
新的系列和专用系列正在不断涌现。
按位数分类有4位、8位、16位以及32位单片机等,4位单片机由于价格低和出现的早得到了广泛的应用,特别是在家电应用领域中其还有很大的优势,为了抵御8位机的竞争,4位机在结构和功能上都有很大的改进。
8位机的生产厂家以及品种都很多,在实际的生产中应用也最为广泛,其中intel公司的8051系列单片机在我国应用最为广泛,另外8位单片机也在其功能和内部结构上不断的进行改进,目前功能是越来越强大。
16位单片机在数据处理以及单片机的性能上有了很大的改进。
32位单片机是随着高科技产业的发展而产生的。
1.2设计任务:设计一个单片机控制的多功能秒表系统,利用单片机的定时器/计数器定时和记数的原理,结合显示电路、用两个LED数码管以及按键来设计00~99秒计时器。
将软、硬件有机地结合起来,使得系统能够正确地进行加计时,同时数码管能够正确地显示时间。
1.3设计要求:1、能同时记录四个相对独立的时间并分别显示。
2、两位LED动态显示,显示时间为00~99秒。
3、每秒自动加1。
4、一个开始按键、一个复位按键、一个暂停按钮和一个快加按钮(每10ms 快速加一)。
5、翻页按钮查看四个不同的计时值。
2 系统总体方案及硬件设计本设计的最主要的元器件就是MCS-51单片机。
MCS-51单片机在一块芯片上集成了CPU,存储器RAM,ROM以及输入与输出接口电路,这种芯片习惯上被称为单片微型计算机,简称单片机。
MCS-51单片机是INTEL公司在1980年推出的高档8位单片机。
它的典型产品有:8051,8031,8751,80C51,80C31,87C51。
1:AT89C51单片机AT89C51(图1)单片机由CPU,振荡器与时序电路,4个8位的I/O端口(P0,P1,P2,P3),串行口等组成。
P0口有三个功能:1、外部扩展存储器时,当做数据总线(如图中的D0~D7为数据总线接口)。
2、外部扩展存储器时,当作地址总线(如图中的A0~A7为地址总线接口)。
3、不扩展时,可做一般的I/O使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。
P1口只做I/O口使用:其内部有上拉电阻。
P2口有两个功能:1、扩展外部存储器时,当作地址总线使用;2、做一般I/O口使用,其内部有上拉电阻;P3口有两个功能:除了作为I/O使用外(其内部有上拉电阻),还有一些特殊功能,由寄存器来设置。
ALE:地址锁存控制信号PSEN:外部程序存储器读选通信号EA/VPP:访问和序存储器控制信号RST:复位信号XTAL1和XTAL2 外接晶振引脚VCC:电源+5V输入VSS:GND接地。
图2:整体设计电路图2.1 电源:采用7809电源提供+5V稳压电压。
电源电路是单片机系统最基本的部分,所以我们应该高度重视电源部分,不能因为电源部分电路比较简单而有所忽略,电源部分做好才能保证电路的正常工作。
对电源电路来说,最重要的就是稳压,我们采用的是7809电源提供的+5V 稳压电压。
2.2 复位电路:采用上电加按钮复位。
其中,在这个系统中的复位电路是采用上电加按钮来实现的。
因为MCS-51单片机的复位是靠外部电路实现的。
MCS-51单片机工作之后,只要在他的RST 引线上加载10ms以上的高点平,单片机就能有效地进行复位。
MCS-51单片机通常采用上电自动复位、按键复位、以及上电加按键复位等,我们采用的是上电加按键复位方式,这样做的优点是上电后可以直接进入复位状态,当程序出现错误时,可以随时使电路复位。
图3:复位电路2.3晶体振荡电路:通过XTAL1和XTAL2外接晶体振荡器构成内部振荡方式。
由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。
MCS--51单片机内部的振荡电路是一个高增益反相放大器,引线 XTAL1和XTAL2分别为反向振荡放大器的输入及内部时钟工作电路的输入和来自反向振荡器的输出,该反向放大器可以配置为片内振荡器。
图3晶振电路2.4 显示电路:采用LED动态显示,用P0口驱动显示。
显示电路既可以选用液晶显示器,也可以选用数码管显示。
我们采用的是数码管显示电路。
在用数码管显示时,我们有静态和动态两种选择,静态显示程序简单,显示稳定,但是占用端口比较多;动态显示的程序比较复杂,但是所使用的端口比较少,可以节省单片机的I/O口,我们在这次系统设计中采用的是动态显示。
但是由于我们编程知识的局限性,显示的结果并没有达到我们预期的效果,敬请老师原谅。
图5:显示电路2.5 键盘电路:用部分P1口做开始开关,P1.0停止,P1.1复位,P1.2快加,P1.3暂停记录,P1.4上翻,P1.5下翻,用外中断INT0开始,用软件法消除抖动。
图5:键盘电路3 软件设计3.1设计思想因为秒表设计相对较为简单,因此在软件设计中我们一般采用模块化程序设计的方法。
模块是一个具有独立功能的程序,可以单独设计、调试与管理,模块可分为功能模块和控制模块两类。
我们通过模块化程序设计可按适当的原则把一个情况复杂、规模较大的程序系统划分为一个个较小的、功能相关而又相对独立的模块。
每个小的模块完成一个确定的功能,在这些小的模块之间建立必要的联系,互相协作完成整个程序要完成的功能。
它具有明显的优点,把一个多功能的复杂的程序划分为若干个简单的、功能单一的程序模块,有利于程序的设计和调试,有利于程序的优化和分工,提高了程序的阅读性和可靠性,使程序的结构层次一目了然。
其中的模块即为子程序,子程序是功能独立的程序段。
子程序的基本思想是编写一次,可以重复使用。
子程序的形式可以是一个程序文件,也可以是一个过程或函数。
子程序总被其他程序调用而不单独执行,这与主程序相对。
这个主程序也是由多个子程序模块组成,各程序模块都要完成一个明确的任务,实现某个具体的功能,加计数、减计数、延时、快加、复位,计数和显示等,在具体需要时调用相应的模块即可。
程序模块设计:(1)主程序MAIN: MOV SP, #50HMOV TMOD, #11HMOV TH1,#0D8H ;定时10msMOV TL1, #0F0HMOV TH0,#0CFH ;定时25msMOV TL0, #02CHMOV 20H, #00H ;BIN SECONDMOV 30H, #00H ; SECONDMOV 31H, #00HMOV 40H, #40MOV 71H, #00HMOV 72H, #00HMOV 73H, #00HMOV 74H, #00H ;对71H—74H单元清零MOV R2, #04HMOV R3, #04HMOV R1, #71HSETB EASETB EX1CLR ET1SETB ET0CLR PT0CLR PT1SETB PX1SETB IT1MOV P0, #0FFHCLR TR0CLR TR1CLR 7FH判断是否有键按下,并确定是哪一个键,转移到相应的子程序的入口地址去执行子程序。
没有键按下则一直等待,直到有键按下。
ML1: ACALL DISP ;调用显示程序P1.0键按下时,计数停止START: JB P1.0, LOOP1ACALL DELAY10 ;延时JB P1.0, LOOP1 ;P1.0=1,跳转到LOOP1执行JNB P1.0, $LJMP STOP ;P1.0=0,跳转到停止子程序P1.1键按下时,数字清零复位LOOP1: JB P1.1, LOOP2ACALL DELAY10 ;延时JB P1.1, LOOP2 ;P1.1=1,跳转到LOOP2执行JNB P1.1, $LJMP RESET ;P1.1=0,跳转到复位子程序P1.2键按下时,进行快加计数LOOP2: JB P1.2,LOOP3ACALL DELAY10 ;延时JB P1.2, LOOP3 ;P1.2=1,跳转到LOOP3执行JNB P1.2, $LJMP KUAIJIA ;P1.2=0,跳转到快加子程序P1.3键按下时,执行记录功能LOOP3: JB P1.3,LOOP4ACALL DELAY10 ;延时JB P1.3, LOOP4 ;P1.3=1,跳转到LOOP4执行JNB P1.3, $LJMP JILU ;P1.3=0,跳转到暂停记录子程序P1.4键按下时,执行上翻功能LOOP4: JB P1.4,LOOP5 ;P1.4=0,SHANGFANACALL DELAY10 ;延时JB P1.4, LOOP5 ;P1.4=1,跳转到LOOP5执行JNB P1.4, $LJMP XIAFAN ;P1.4=0,跳转到上翻子程序P1.5 键按下时,执行下翻功能LOOP5: JB P1.5,LOOP ;P1.5=0,XIAFANACALL DELAY10 ;延时JB P1.5, LOOP ;P1.5=1,跳转到LOOP执行JNB P1.5, $LJMP SHANGFAN ;P1.5=0,跳转到下翻子程序LOOP: SJMP HERE(2)停止子程序软件对定时器0和定时器1的控制位清零,使定时器停止工作STOP: CLR TR0CLR TR1ACALL DISPSJMP HERE(3)复位子程序软件对显示的各内存单元清零,并回到开始前的初始状态,具体程序如下所示:RESET: CLR TR0CLR TR1 ;关闭定时器0,1MOV 20H, #00HMOV 30H, #00HMOV 31H, #00HACALL DISP ;调用显示子程序SJMP HERE(4)按键消抖程序DELAY10: MOV R4,#14H延时10ms再次判断该位的状态,若仍是0则说明该键被按下,弹起后去执行该按键功能;若为1,则说明是抖动则继续向下判断。