基于89C51单片机的秒表课程设计讲解

合集下载

基于-89C51单片机的秒表课程设计汇本

基于-89C51单片机的秒表课程设计汇本

《单片机技术》课程设计报告题目:基于MCU-51单片机的秒表设计班级:学号:姓名:同组人员:指导教师:王瑞瑛、汪淳2014年6月17日目录1课程设计的目的 (3)2 课程设计题目描述和要求 (3)2.1实验题目 (4)2.2设计指标 (4)2.3设计要求 (4)2.4增加功能 (4)2.5课程设计的难点 (4)2.6课程设计容提要 (4)3 课程设计报告容 (5)3.1设计思路 (5)3.2设计过程 (6)3.3 程序流程及实验效果 (7)3.4 实验效果 (16)4 心得体会 (17)基于MCS-51单片机的秒表设计摘要:单片机控制秒表是集于单片机技术、模拟电子技术、数字技术为一体的机电一体化高科技产品,具有功耗低,安全性高,使用方便等优点。

本次设计容为以8051 单片机为核心的秒表,它采用键盘输入,单片机技术控制。

设计容以硬件电路设计,软件设计和PCB 板制作三部分来设计。

利用单片机的定时器/计数器定时和计数的原理,用集成电路芯片、LED 数码管以及按键来设计计时器。

将软、硬件有机地结合起来,使他拥有正确的计时、暂停、清零、并同时可以用数码管显示,在现实生中应用广泛。

关键词:秒表;8051;定时器;计数器1 课程设计的目的《单片机应用基础》课程设计是学好本门课程的又一重要实践性教学环节,课程设计的目的就是配合本课程的教学和平时实验,以达到巩固消化课程的容,进一步加强综合应用能力及单片机应用系统开发和设计能力的训练,启发创新思维,使之具有独立单片机产品和科研的基本技能,是以培养学生综合运用所学知识的过程,是知识转化为能力和能力转化为工程素质的重要阶段。

2 课程设计题目描述和要求2.1实验题目开始时,显示“00.0”,第一次按下按钮后开始从0-99.9s计时,显示精度为0.1s;对用有4个功能按键,第1个按键复位00.0,第2个按键正计时开始按钮,第3个按键复位99.9,第4个按钮倒计时开始。

2.2设计指标了解8051芯片的的工作原理和工作方式,使用该芯片对LED 数码管进行显示控制,实现用单片机的端口控制数码管,显示分、秒,并能用按钮实现秒表起动、停止、99.9秒、倒计时清零等功能,精确到0.1秒。

基于单片机AT89C51的电子时钟的课程设计

基于单片机AT89C51的电子时钟的课程设计

目录第一章电子时钟 (1)1.1电子时钟简介 (1)1.2电子时钟的基本特点 (1)1.3电子时钟的原理 (1)第二章单片机识的相关知识 (2)2.1单片机简介 (2)2.2单片机的发展史 (2)2.3单片机的特点 (3)2.489C51单片机介绍 (3)第三章控制系统的硬件设计 (6)3.1单片机型号的选择 (6)3.2数码管显示工作原理 (6)3.3键盘电路设计 (7)3.4系统工作原理 (7)3.5整个电路原理图 (9)第四章控制系统的软件设计 (10)4.1程序设计 (10)4.2程序流程图 (13)4.3伟福硬件仿真器简介 (14)4.4仿真图及结果分析 (15)第五章附录程序 (17)第六章结束语 (19)参考文献 (20)第一章电子时钟1.1 电子时钟简介本作品采用Atmel公司的AT89C51单片机,以汇编语言为程序设计的基础,设计一个用四位数码管显示时、分的时钟。

现代的电子时钟是基于单片机的一种计时工具,采用延时程序产生一定的时间中断,用于一秒的定义,通过计数方式进行满六十秒分钟进一,满六十分小时进一,满二十四小时小时清零。

从而达到计时的功能,是人民日常生活补课缺少的工具。

1.2 电子时钟的基本特点现在高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟、石英钟、石英表都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调试,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时、分、秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。

1.3 电子时钟的原理该电子时钟由89C51,BUTTON,六段数码管等构成,采用晶振电路作为驱动电路,由延时程序和循环程序产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时,满二十四小时为一天。

而电路中唯一的一个控制键却拥有多种不同的功能,按下又松开,可以实现屏蔽数码管显示的功能,达到省电的目的;直接按下不松开,则可以通过按键实现分钟的累加,每按一次分钟加一;而连续两次按下按键不放松,则可实现小时的调节,同样每按一次小时加一。

基于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 -一、单片机简介单片机以其高可靠性、高性价比、低电压、低功耗等一系列优点,近几年得到迅猛发展和大范围推广,广泛应用于工业控制系统,数据采集系统、智能化仪器仪表,及通讯设备、日常消费类产品、玩具等。

基于89C51单片机的秒表设计说明

基于89C51单片机的秒表设计说明

《单片机原理与应用》课程设计报告基于89C51单片机的秒表设计专业:学号:2015-12-25一、课题名称基于89C51单片机的秒表设计二、任务要求1、计时围:0~59分59.59秒,整数四位数和小数两位数显示;2、计时精度10毫秒;3、复位按钮,计时器清零,并做好下次计时准备;4、可以对两个对象(A、B)计时,具有启/停控制;3、设开始、停止A、停止B、显示A、显示B复位按钮。

三、任务分析1、设计中包括硬件电路的设计和系统程序的设计。

其硬件电路主要有主控制器,计时与显示电路和回零、启动和停表电路等。

主控制器采用单片机89C52显示电路采用共阳极LED数码管显示计时时间。

2、利用89C52单片机的定时器/计数器定时和记数的原理,使其能精确计时。

3、P0 口输出段码数据,P2.0-P2.4 口作列扫描输出,P1.1、P3.2、P3.3、P2.5 口接四个按钮开关,分别实现开始、暂停、清零和查看上次计时时间功能。

4、利用中断系统使其能实现开始暂停的功能。

四、设计方案1、硬件方案工作原理:计时采用定时器TO中断完成,定时溢出中断周期为1ms当一处中断后向CPL发出溢出中断请求,每发出一次中断请求就对毫秒计数单元进行加一,达到10次就对十毫秒位进行加一,依次类推,直到99.99秒重新复位。

再看按键的处理。

这四个键可以采用中断的方法,也可以采用扫描的方法来识别。

复位键和查看主要功能在于数值复位和查询上次计时时间,对于时间的要求不是很严格。

而开始和停止键则是用于对时间的锁定,需要比较准确的控制。

因此可以对复位和查看按键采取扫描的方式。

而对开始和停止键采用外部中断的方式。

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

其硬件电路主要有主控制器,显示电路和回零、启动、查看、计次电路等。

主控制器采用单片机89C52显示电路采用共阳极LED数码管显示计时时间,四个按键均采用触点式按键。

程序流程图:2、软件方案使用keil软件编程,protues软件仿真五、具体实现1、硬件电路图及工作原理描述1 (屮JP■、51单片机51单片机是对所有兼容In tel 8031指令系统的单片机的统称。

基于AT89C51单片机控制的数字秒表的设计

基于AT89C51单片机控制的数字秒表的设计

HEBEINONGJI摘要:秒表是一种常用的测时仪器,数字秒表是一种准确度比较高的计时仪器。

数字秒表在现代社会生活的各个领域里应用越来越多,如文体比赛、各种活动计时等。

本文主要研究如何用AT89C51单片机控制一块2片的七段数码管,数码管自动显示从00~99,然后反复循环,也可以99~00进行倒计时。

用C语言在Keil软件上编制程序代码,用Proteus软件对系统进行仿真。

关键词:七段数码管;AT89C51;C语言程序基于AT89C51单片雌制的数字秒表的设计苏州健雄职业技术学院赵素玲1控制要求使用AT89C51单片机控制一个2片的七段数码管,循环从00〜99进行自动显示。

在此时间是可以根据要求进行调整的,并不一定是间隔时间为1秒。

程序中延时子函数的延时时间的改变很容易就能进行时间长短的调整。

该程序还很容易实现从99〜00的倒计时,这种功能可以通过按钮开关的选择来实现,但是加上了按钮程序,程序就变得更复杂、更长。

由于篇幅限制在本文中没有使用按钮程序,所以倒计时的程序是单独给出的。

系统的具体要求有以下四点:(1)以AT89C51芯片为核心控制器,加上外围辅助电路,设计出系统仿真电路图;(2)根据要求用Keil软件编写出C语言程序代码;(3)用一个2位的七段数码管自动的从00-99正计时循环显示;(4)用一个2位的七段数码管自动的从99-00倒计时循环显示。

2系统硬件电路设计2.1系统仿真电路图设计图1电路仿真图系统仿真电路图主要由AT89C51单片机芯片、电源、地、石英晶体振荡电路、复位电路、两片七段共阴极数码管组成。

两个电容C2、C3(30PF)与Xl(石英晶体)组成了石英晶体振荡电路。

电阻R1(1K)、电容C1(22UF)构成复位电路。

P1口控制2位七段数码管,P1口输出字形码,由于P1口作为输出口必须接上拉电阻。

若是选用其他的三个口作为输出口则不需要接上拉电阻,这是由AT89C51单片机自身的特点决定的。

基于89C51单片机的秒表课程设计

基于89C51单片机的秒表课程设计

基于89C51单片机的秒表课程设计第一篇:基于89C51单片机的秒表课程设计摘要随着电子技术的发展,电子技术在各个领域的运用也越来越广泛,人对它的认识也逐步加深。

秒表计时器秒表计时器常常用于体育竞赛及各种其他要求有较精确时间的各领域中。

其中启/停开关的使用方法与传统的机械计时器相同,即按一下启/停开关,启动计时器开始计时,再按一下启/停开关计时终止。

而复位开关可以在任何情况下使用,即使在计时过程中,只要按一下复位开关,计时应立即终止,并对计时器清零。

本设计就是利用所学到的电子元器件将脉冲源用数码管显示出来,以制承诺简易的秒表。

以单片机为核心,设计一个秒表,具有计时功能,按键有启动计时、数据清零、停止、时间显示。

采用3个LED数码管显示时间,计时范围设置为0~99.9秒,即精确到0.1秒,用按键控制秒表的“开始”、“暂停”、“复位”,按“开始”按键,开始计时;按“暂停”按键,系统暂停计时;再按“开始”键,系统继续计时;数码管显示当前计时值;按“复位”按键,系统清零。

目录一、设计任务 (3)二、设计题目 (3)三、功能分析 (3)四、总体设计 (3)4.1硬件设计 (4)4.1.1 89C51单片机 (4)4.1.2晶体振荡电路 (5)4.1.3复位电路 (6)4.1.4按键电路 (7)4.1.5显示电路 (8)4.2引脚控制 (9)五、电路原理图 (10)六、程序流程图及程序设计 (11)6.1程序流程图 (11)6.2程序设计 (12)七、程序仿真 (21)八、心得体会 (22)九、致谢 (2)3十、参考文献 (24)一、设计任务以单片机为核心,设计一个秒表,具有计时功能,按键有启动计时、数据清零、停止、时间显示。

二、设计题目秒表的设计三、功能分析采用3个LED数码管显示时间,计时范围设置为0~99.9秒,即精确到0.1秒,用按键控制秒表的“开始”、“暂停”、“复位”,按“开始”按键,开始计时;按“暂停”按键,系统暂停计时;再按“开始”键,系统继续计时;数码管显示当前计时值;按“复位”按键,系统清零。

基于51单片机的秒表设计

基于51单片机的秒表设计

单片机课程设计课程题目:基于51单片机的秒表设计专业:电子信息工程班级:电信121学号:姓名:1 课题内容要求及目的1.1课题内容用AT89C51设计一个秒表,该秒表课可显示0.0~99.9秒的时间,进行相应的单片机硬件电路的设计并进行软件编程利用单片机定时器/计数器中断设计秒表,从而实现秒、十分之一秒的计时。

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

通过本次系统设计加深对单片机掌握定时器、外部中断的设置和编程原理的全面认识复习和掌握。

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

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

计秒数码管采用三位的数码管,当计数超过范围是所有数码管全部清零重新计数。

1.2课题要求本课题是基于单片机的秒表系统设计,它的具体要求有以下几点:(1)用单片机AT89C51实现;(2)以0.1秒为最小单位进行显示;(3)秒表量程为0.0-99.9秒,用LED显示;(4)有清零、开始、停止功能。

1.3课题目的通过课程设计,进一步熟悉和掌握AT89C51单片机的结构及工作原理,掌握以单片机核心的电路设计的基本方法和技术,了解表关电路参数的计算方法。

通过完成一个包括电路设计和程序开发的完整过程,进一步了解开发一单片机应用系统的全过程,通过此综合训练,为以后毕业设计打下一定的基础。

(1)利用单片机定时器计数器中断设计秒表,从而实现秒、十分之一秒的计时。

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

基于STC89C51的简易秒表的设计

基于STC89C51的简易秒表的设计
[ 1 ] 王云翔, 杨焕 宇. 关于计算机 应用通识教 育的探 索和 实践 [ J ] . 科技
视界 , 2 0 1 2 . 5 , 1 5 : 6 5 — 6 6
回答, 允许其他人补充回答 。
f 5 1 最 终 奖 励 规 则 对各组 成绩打分 总结 , 评 出最 优 奖 , 并 适 当给 予 奖 励 , 如:
: 煎… 整…鱼 ~ 照
UJl AN CO M PUTER
题 目) , 具体包含 :
>S E L E C T语 句 ;
本 次 研 讨 课 初 步显 现 了 效 果 , 有 半 数 以上 同 学 能 够 积 极 参 与, 并 发 挥 主 导 作用 , 更 好 地 消 化 了知 识 点 , 7 0 %以上 的 学 生 认 为 这 种 课 题 气 氛 能 够 提 高 学 习 的主 动 性 和 兴 趣 。 但 因本 次 研 讨
平起见 , 采用 组 长 抽 签 的 方 法 决 定 每 组 出题 的先 后 顺 序 。 具 体 抢 答 问题 规 则 如 下 :
主学 习, 在提 出问题和解决 问题之 中, 提高 了发现 问题、 分析 问 题和解决 问题 的能力 ; 另外 , 课 堂形式活泼, 可提高 学生的兴趣 性和参与性。
本文探讨 的基于任 务驱动 的计 算机公共 课程 的研 讨课 设 计方法 , 适用于具有知识点多 、 较 为复杂的通识课程 , 教 师需认
真 选 择 适 合 讨 论 的 课 程 内容 , 设计讨论 内容的细节 , 以保 证 讨
论的针对性和有 效性 。通过课堂实践, 该方式具有 以下优势: ( 1 ) 讨论 内容具体且有 针对性 , 让学生更深刻地 掌握知识 、 消化知识, 并应用知识 , 体现 了理论与实践相结合 的特 点; ( 2 ) 讨 论氛 围 自由活泼 , 紧 张有序 , 增 加 了知 识的趣 味性 , 让绝大多数学生积极参与 , 避免了被动接受 的弊端 ; ( 3 ) 讨论学习激发 了学生的 自主性 , 有助于学生 自学能力 、 组织能力、 协调能力、 合作能力 的锻炼, 发挥学生的特长。 参考文献 :

基于AT89C51单片机的秒表设计与实现

基于AT89C51单片机的秒表设计与实现

基于AT89C51单片机的秒表设计与实现张翠云【摘要】设计了一种以单片机AT89C51为核心的秒表,从硬件和软件两方面详细介绍了秒表的设计方法.秒表计时范围00.00~60.00秒,精度0.01s.具有"开始、暂停/继续、复位"功能.系统上电,显示"00.00".按下"开始"按钮,系统计时开始,此时,按下"暂停/继续"按钮,系统停在当前位置,再次按下"暂停/继续"按钮,系统继续计时;如果按下"复位"按钮,系统显示"00.00".与常规秒表设计相比,此秒表不但设计简单,且其稳定性以及计时精度都有大幅提高.最后通过Proteus软件仿真,验证了该设计的合理性与可靠性.【期刊名称】《机电工程技术》【年(卷),期】2018(047)007【总页数】3页(P112-114)【关键词】AT89C51;秒表;Proteus;高精度【作者】张翠云【作者单位】河南工业和信息化职业学院,河南焦作 454000【正文语种】中文【中图分类】TP368.12单片机相当于微型计算机。

因为它具有体积小、质量轻、价格便宜的特点,所以为应用和开发提供了便利条件。

单片机已应用在生活的方方面面,如智能仪表、家用电器等。

秒表是一种常用的计时仪器,比如在实验室、智力对抗比赛、运动场等场合,就会经常用到秒表。

高精度数字化秒表的出现,给人们的生活提供了方便,已经取代了传统的机械秒表[1-3]。

本文结合单片机,设计了一种基于AT89C51单片机的精度为0.01 s的数字秒表,并且在仿真软件Proteus环境下,实现了所设计秒表的各种功能。

1 系统整体设计方案1.1 系统具体功能要求(1)秒表计时范围00.00秒~60.00秒。

(2)显示部分采用四位七段数码管,其中前两位显示“10秒、秒”,后两位显示“0.1秒、0.01秒”。

基于单片机89C51的计时器或秒表

基于单片机89C51的计时器或秒表

基于单片机89C51的计时器或秒表AT89C51单片机秒表程序和电路图要求就是这样的了:1. 设计中采用的单片机以及显示器件,用AT89C51设计一个2位LED数码显示秒表,有开始,停止,清零就行。

2. 设计实现的基本功能,系统显示时间为00~99秒,每秒自动加1,设计越简单越好。

求电路图和相应的C程序,过程最好能详细些,因为要写实验报告~~希望高手帮忙悬赏分:50 - 解决时间:2010-6-1 15:51就是那个秒表问题,你给我的设计,汇编程序能改成C吗?悬赏分:0 - 解决时间:2010-6-1 18:25//---------------------------------------------下面是00-99秒计数的语言C程序。

#include<reg52.h>#include<intrins.h>unsigned char i, j;unsigned char code table[] = {0xc0, 0xf9, 0xa4, 0xb0, 0x99,0x92, 0x82, 0xf8, 0x80, 0x90};bit k;//---------------------------------------------void main( ){TMOD = 0x01; //;T0定时方式1TH0 = (65536-50000) / 256; //;50ms@12MHzTL0 = (65536-50000) % 256;TR0 = 1; //;定时器初始化结束ET0 = 1; //;开启定时中断EX0 = 1;EX1 = 1;EA = 1;i = 0;j = 0;P0 = 0xC0;P2 = 0xC0;while(1);}//---------------------------------------------void timer0(void) interrupt 1{TL0 = (65536-50000) % 256;TH0 = (65536-50000) / 256; //;50ms@12MHzif (k) {j++;if (j == 20) {j = 0;i++;if (i == 100) i = 0;P0 = table[i / 10];P2 = table[i % 10];}}}//--------------------------------------------- void x0(void) interrupt 0{k = ~k;}//--------------------------------------------- void x1(void) interrupt 2{i = 0;j = 0;P0 = 0xC0;P2 = 0xC0;}//---------------------------------------------。

单片机秒表课程设计

单片机秒表课程设计

《接口及控制技术》课程设计报告课程设计题目:秒表姓名:专业班级:指导教师:成绩:时间:2010-12-10一、设计要求用AT89C51设计一个2位的LED数码显示作为“秒表”:显示时间为00—99秒,每秒自动加1,另设计一个“开始”键和一个“复位”键。

二、实验原理题目难点在于通过对键盘的扫描对时钟的走时/停止进行控制,项目采用定时器T0作为计时器,每10ms发生一次中断,每100次中断加1s。

在此期间,如“开始”按键按下,程序方将TR0置为1,从而开启中断,时钟开始走时;如“复位”按键按下,程序将TR0置为0,同时将存储时间的变量清零,从而中断停止,并实现复位。

本题目采用专用数码管显示控制芯片MAX7219。

MAX7219是美国MAXIM公司生产的串行输入/输出共阴极显示驱动器,该芯片最多可驱动8位7段数字LED显示器或个LED 和条形图显示器。

其引脚图及引脚功能参见有关参考资料。

三、实验目的1、通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课程的应用进一步的了解。

2、掌握定时器、外部中断的设置和编程原理。

3、通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。

四、意义该实验通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统,拥有正确的计时、暂停、清零功能,并同时可以用数码管显示,在现实生活中应用广泛,具有现实意义。

五、实验内容用AT89C51设计一个2位LED数码显示“秒表”,显示时间为00~99秒,每秒自动加一。

另设计一个“开始”K1按键和一个“复位”K2按键。

按键K1同时具有“暂停”功能。

按键说明:按“开始”K1按键,开始计数,数码管显示从00开始每秒自动加一;再次按K1按键,系统暂停计数,数码管显示当时的计数;按“复位”按键,系统清零,数码管显示00。

六、电路原理仿真图将硬件连线按上图所示连接,该实验要求进行计时并在数码管上显示时间,则可利用DVCC系列单片机微机仿真实验系统中的芯片AT89C51中的P1.0管脚做为外部中断0的入口地址,并实现“开始”按键的功能;将P3.3做为外部中断1的入口地址,并实现“清零”按键的功能.;定时器T0作为每秒加1的定时器。

基于89C51单片机的秒表课程设计

基于89C51单片机的秒表课程设计

单片机原理及系统课程设计专业:电气工程及其自动化班级:姓名:学号:指导教师:兰州交通大学自动化与电气工程学院年月日1 引言随着电子技术的发展,电子技术在各个领域的运用也越来越广泛,人们对它的认识也逐步加深。

秒表计时器常常用于体育竞赛及各种其他要求有较精确时间的各领域中。

其中启/停开关的使用方法与传统的机械计时器相同,即按一下启/停开关,启动计时器开始计时,再按一下启/停开关计时终止。

而复位开关可以在任何情况下使用,即使在计时过程中,只要按一下复位开关,计时应立即终止。

2 设计方案及原理以单片机为核心,设计一个秒表,具有计时功能,按键有启动计时、数据清零、停止、时间显示。

采用3个LED数码管显示时间,计时范围设置为0~99.9秒,即精确到0.1秒,用按键控制秒表的“开始”、“暂停”、“复位”,按“开始”按键,开始计时;按“暂停”按键,系统暂停计时;再按“开始”键,系统继续计时;数码管显示当前计时值;按“复位”按键,系统清零。

3 硬件设计MCS-51系列单片机是8位单片机产品,89C51是其中的典型代表,基本模块包括以下几个部分:(1)CPU:89C51的CPU是8位的,另外89C51内部有1个位处理器;(2)R0M:4KB的片内程序存储器,存放开发调试完成的应用程序;(3)RAM:256B的片内数据存储器,容量小,但作用大;(4)I/O口:P0-P3,共4个口32条双向且可位寻址的I/O口线;(5)中断系统:共5个中断源,3个内部中断,2个外部中断;(6)定时器/计数器:2个16位的可编程定时器/计数器;(7)通用串行口:全双工通用异步接收器/发送器;(8)振荡器:89C51的外接晶振与内部时钟振荡器为CPU提供时钟信号;(9)总线控制:89C51对外提供若干控制总线,便于系统扩展。

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

课程设计基于单片机AT89C51的数字钟自动计时器

课程设计基于单片机AT89C51的数字钟自动计时器

学院单片机课程设计基于51单片机的数字时钟的设计学生姓名:学生学号:院(系):年级专业:指导教师:二〇一一年六月摘要本文设计的是一个基于单片机AT89C51的数字钟自动计时器,附有复位电路,显示电路,按键电路等。

复位电路是单片机的初始化操作,除正常的初始化外,为摆脱窘境,通过复位电路能够从头开始。

时钟电路采纳12MHz的晶振,作为系统的时钟源,具有较高的准确性。

在上电时LED显示器开始显示时刻并自动计时,在按键电路中只设置了三个按键,通过检测第一个按键按下的次数来实现调时、调分、调秒按键的作用,再通过LED显示器显示时、分、秒的改变。

而且在P1端口处接了一个指示灯,指示按键的按下。

在那个地址主若是以AT89C51单片机为核心操纵器,P0口接LED 显示模块,P1口接按键的,通过按键输入来操纵显示器的显示。

关键字AT89C51,LED显示器,数字时钟ABSTRACTThis design is based on AT89C51 single-chip digital clock auto-timer, with a reset circuit, display circuit, the key circuit. Reset circuit is a microcontroller initialization, in addition to the normal initialization, for the bail out through the reset circuit can begin again. 12MHz crystal clock circuit, as the system clock source, with high accuracy.LED display on power began to show time and automatic timing, set in the key circuit only three buttons, a button pressed by detecting the number of the first to achieve the transfer, the transfer points, transfer second key role, through the LED display hours, minutes, seconds to change. And then at the P1 port of a light to indicate the button press. Here is AT89C51 microcontroller as the core of the main controller, P0 port access the LED display module, P1 port access keys, keystrokes to control the monitor display.Keywords AT89C51, LED display, digital clock目录摘要 (Ⅰ)ABSTRACT (Ⅱ)No table of contents entries found.1 绪论课程设计要求1. 应用MCS-51单片机设计单片机实现数字钟(LED显示:小时、分、秒)仿真电路;2. 选用8位LED数码显示,实时显示时、分、秒,采纳组合按键实现时钟对表功能,能调时、调分、调秒;3. 要求显示范围最大到23小时59分59秒,用按时中断来实现。

用单片机AT89C51设计一个2位的LED数码显示作为“秒表”—单片机课程设计

用单片机AT89C51设计一个2位的LED数码显示作为“秒表”—单片机课程设计

目录一、设计题目和要求: (2)二、设计目的: (2)三、设计内容: (3)四、课程设计心得体会 (25)五、参考文献 (26)六、课程设计指导教师评审标准及成绩评定 (27)附件1:秒表原理图(实际接线图) (28)附件2:仿真图1 (30)附件3:仿真图2 (31)一、设计题目和要求:题目三:秒表应用AT89C51的定时器设计一个2位的LED数码显示作为“秒表”:显示时间为00~99s,每秒自动加1,设计一个“开始”键,按下“开始”键秒表开始计时。

设计一个“复位”键,按下“复位”键后,秒表从0开始计时。

任务安排:李座负责绘制电路原理图;梁宗林负责收集资料及电子版整理;付忠林负责程序和仿真。

二、设计目的:1.进一步掌握AT89C51单片机的结构和工作原理;2.掌握单片机的接口技术及外围芯片的工作原理及控制方法;3.进一步掌握单片机程序编写及程序调试过程,掌握模块化程序设计方法;4.掌握PROTEUS仿真软件的使用方法;5.掌握LED数码管原理及使用方法。

6.掌握定时器、外部中断的设置和编程原理。

7.通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。

8.该课程设计通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统,拥有正确的计时、暂停、清零、复位功能,并同时可以用数码管显示。

三、设计内容:了解8051芯片的的工作原理和工作方式,使用该芯片对LED数码管进行显示控制,实现用单片机的端口控制数码管,显示分、秒,并能用按钮实现秒表起动、停止、清零功能,精确到1秒。

AT89C51单片机的主要工作特性:·内含4KB的FLASH存储器,擦写次数1000次;·内含28字节的RAM;·具有32根可编程I/O线;·具有2个16位可编程定时器;·具有6个中断源、5个中断矢量、2级优先权的中断结构;·具有1个全双工的可编程串行通信接口;·具有一个数据指针DPTR;·两种低功耗工作模式,即空闲模式和掉电模式;·具有可编程的3级程序锁定定位;AT89C51的工作电源电压为5(1±0.2)V且典型值为5V,最高工作频率为24MHz.AT89C51各部分的组成及功能:振荡器和时钟电路数据存储器128字节程序存储器14KBCPU 两个16位定时器计数器中断控制总线扩展控制器并行可编程I/O口可编程串行口内部总线外部中断扩展控制P0 P1 P2 P3 RXD TXD1.单片机的中央处理器(CPU )是单片机的核心,完成运算和操作控制,主要包括运算器和控制器两部分。

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

《单片机技术》课程设计报告题目:基于MCU-51单片机的秒表设计班级:学号:姓名:同组人员:指导教师:王瑞瑛、汪淳2014年6月17日目录1课程设计的目的 (3)2 课程设计题目描述和要求 (3)2.1实验题目 (3)2.2设计指标 (3)2.3设计要求 (4)2.4增加功能 (4)2.5课程设计的难点 (4)2.6课程设计内容提要 (4)3 课程设计报告内容 (4)3.1设计思路 (4)3.2设计过程 (5)3.3 程序流程及实验效果 (6)3.4 实验效果 (13)4 心得体会 (14)基于 MCS-51单片机的秒表设计摘要:单片机控制秒表是集于单片机技术、模拟电子技术、数字技术为一体的机电一体化高科技产品,具有功耗低,安全性高,使用方便等优点。

本次设计内容为以 8051 单片机为核心的秒表,它采用键盘输入,单片机技术控制。

设计内容以硬件电路设计,软件设计和 PCB 板制作三部分来设计。

利用单片机的定时器/计数器定时和计数的原理,用集成电路芯片、LED 数码管以及按键来设计计时器。

将软、硬件有机地结合起来,使他拥有正确的计时、暂停、清零、并同时可以用数码管显示,在现实生中应用广泛。

关键词:秒表;8051;定时器;计数器1 课程设计的目的《单片机应用基础》课程设计是学好本门课程的又一重要实践性教学环节,课程设计的目的就是配合本课程的教学和平时实验,以达到巩固消化课程的内容,进一步加强综合应用能力及单片机应用系统开发和设计能力的训练,启发创新思维,使之具有独立单片机产品和科研的基本技能,是以培养学生综合运用所学知识的过程,是知识转化为能力和能力转化为工程素质的重要阶段。

2 课程设计题目描述和要求2.1实验题目开始时,显示“00.0”,第一次按下按钮后开始从0-99.9s计时,显示精度为0.1s;对用有4个功能按键,第1个按键复位00.0,第2个按键正计时开始按钮,第3个按键复位99.9,第4个按钮倒计时开始。

2.2设计指标了解8051芯片的的工作原理和工作方式,使用该芯片对 LED 数码管进行显示控制,实现用单片机的端口控制数码管,显示分、秒,并能用按钮实现秒表起动、停止、99.9秒、倒计时清零等功能,精确到0.1秒。

要求选用定时器的工作方式,画出使用单片机控制LED 数码管显示的电路图,并实现其硬件电路,并编程完成软件部分,最后调试秒表起动、停止、清零等功能。

2.3设计要求(1)画出电路原理图(或仿真电路图);(2)软件编程与调试;2.4增加功能增加一个“复位 00.0”按键(即清零),一个“暂停”和“开始”按键,一个“复位 99.9” 按键(用来99.9秒倒计时),一个倒计时“逐渐自减”按键。

2.5课程设计的难点单片机电子秒表需要解决三个主要问题,一是有关单片机定时器(一个控制顺序计时,一个控制倒计时)的使用;二是如何实现 LED 的动态扫描显示;三是如何对键盘输入进行编程。

2.6课程设计内容提要本课程利用单片机的定时器/计数器定时和记数的原理,结合集成电路芯片8051、LED 数码管以及实验箱上的按键来设计计时器。

将软、硬件有机地结合起来,使得系统能够正确地进行计时,数码管能够正确地显示时间。

其中本课程设计有四个开关按键:其中key2按键按下去时开始计时,即秒表开始键(同时也用作暂停键),key1按键按下去时数码管清零,复位为“00.0”,key3 按键按下去时数码管复位为“99.9”(用于倒计时),key4 按键按下去则是数码管开始“逐渐自减”倒计时。

3 课程设计报告内容3.1设计思路3.1.1 系统硬件方案设计单片机应用系统由硬件系统和软件系统两部分组成。

硬件系统是指单片机以及扩展的存储器、I\O 接口、外围扩展的功能芯片以及接口电路。

软件系统包括监控程序和各种应用程序。

在单片机应用系统中,单片机是整个系统的核心,对整个系统的信息输入、处理、信息输出进行控制。

与单片机配套的有相应的时钟电路如图3.1所示以及扩展的存储器和 I\O 接口,使单片机应用系统能够运行。

在一个单片机应用系统中,往往都会输入信息和显示信息,这就涉及键盘和显示器。

在单片机应用系统中,一般都根据系统的要求配置相应的键盘和显示器。

配置键盘和显示器一般都没有统一的规定,有的系统功能复杂,需输入的信息和显示的信息量大,配置的键盘 和显示器功能相对强大,而有些系统输入/输出的信息少,这时可能用几个按键和几个 LED 指示灯就可以进行处理了。

在单片机应用系统在中配置的键盘可以是独立键盘,也可能是矩阵键盘。

这里我们选择独立键盘如图3.2所示。

系统硬件结构整体如图3.3所示。

图3.1 时钟电路 图3.2 按键电路图3.3 系统硬件结构框图3.2设计过程3.2.1 系统设计思路及描述该课程设计要求进行计时并在数码管上显示时间,则可利用MCS-51系列单片机的芯片AT89C52的P3.4,P3.5,P3.6,P3.7 作为按键的入口;定时器 T0 作为每 0.1 秒减一的定时器; 定时器 T1 作为每 0.1 秒加一的定时器。

其中“开始”按键当开关由上向下拨时开始计时,此时若再拨“开始”按键则数码管暂停;“清零”按键当开关由上向下拨时数码管清零,此时若再拨“开始”按键则又可重新开始计时。

方框图图3.4所示:图3.4 数字秒表设计导向图3.2.2.课程设计仪器集成电路芯片8051,七段数码管,MCS-51系列单片机微机仿真课程系统中的软件(Keil uvision2),protues仿真软件。

3.3 程序流程及实验效果3.3.1图3.5 主程序流程图图3.6 按键流程图图3.7 显示流程图图3.8 计时流程图3.3.2 源程序及说明#include<reg52.h> //52 系列单片机头文件#define uchar unsigned char //宏定义#define uint unsigned intsbit key1=P3^4; //申明四个按键的锁存端sbit key2=P3^5;sbit key3=P3^6;sbit key4=P3^7;uchar code table[]={ //含有0~9 的数字数组0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7c,0x07,0x7f,0x67};uchar code table2[]={ //含有0~9 的数字数组(带小数点)0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfc,0x87,0xff,0xe7};void delayms(uint); //声明延时函数void display(uchar,uchar,uchar); //声明显示函数void keyscan(); //声明按键函数uchar num1,num2,bai,shi,ge; //变量声明uint num;void main() //主函数入口{TMOD=0x11; //设置TO,T1 定时器TH0=(65536-45872)/256; //装初值11.05992M晶振50ms数为45872TL0=(65536-45872)%256;TH1=(65536-45872)/256;TL1=(65536-45872)%256;EA=1; //开总中断ET0=1; //开启定时器T0 中断ET1=1; //开启定时器T1 中断while(1) //程序停在这里等待中断的发生,这个大循环也是实现数据显示的主体{keyscan(); //三个数码管要选送的数据bai=num/100; //百位shi=(num-100*bai)/10; //十位ge=num-100*bai-shi*10; //个位display(bai,shi,ge); //数码管显示}}void display(uchar bai, uchar shi,uchar ge){P1=0xfe; //位选选中第一个数码管P2=table[bai]; //送段选数据delayms(10); //延时P1=0xff; //关闭位选P1=0xfd; //位选选中第二个数码管P2=table2[shi]; //送段选数据delayms(10); //延时P1=0xff; //关闭位选P1=0xfb; //位选选中第二个数码管P2=table[ge]; //送段选数据delayms(10); //延时P1=0xff; //关闭位选}void delayms(uint xms) //延时子函数{uint i,j; for(i=xms;i>0;i--) //i=xms 即延时约xms 毫秒for(j=110;j>0;j--);}void keyscan(){if(key1==0) //清零{delayms(10); //延时去抖if(key1==0){ while(!key1) //等待按下{TR0=0; //定时器TR0 关闭TR1=1; //定时器TR1 打开num=0; //送数据num=0TR1=0; //定时器TR1 关闭}}}if(key2==0) //暂停和开始{delayms(10);if(key2==0){while(!key2);TR0=0;TR1=~TR1; //每次按下,TR1 的状态时相反的}}if(key3==0) //使计数器显示为60.0{while(!key3);TR0=0;TR1=1;num=999;TR1=0;}if(key4==0) //实现计数器的倒数功能{while(!key4);TR1=0;TR0=~TR0;//TR0=1;}}void T0_time()interrupt 1 //定时器T0,中断序号为1 {TH0=(65536-45872)/256; //重装初值TL0=(65536-45872)%256;num2++;if(num2==2) //如果到了2次,说明0.1秒的时间到{ num2=0; //然后把num2清零重新再计2次num1++;}if(num1==10)num1=0;if(num==0) //当num 自减为0时,重新为60.0,再开始倒计时num=999; //num 逐渐自减num--;}void T1_time()interrupt 3{ TH1=(65536-45872)/256; //重装初值TL1=(65536-45872)%256;num2++;if(num2==2) //如果到了2 次,说明0.1 秒的时间到{ num2=0; //然后把num2 清零重新再计2 次num1++;if(num1==10)num1=0;num++; //num 逐渐自加if(num==999)num=0;//这个数十用来送给数码管显示的,到了60.0后归零}}3.4 实验效果通过最后软件对程序的编译,组建,执行,还有最终生成.hex 文件,把.hex 下载到TX-1C开发板的 STC89C52RC 单片机上的最终效果图如下:(1)开始从“00.0”(2)复位重新从“00.0”(3)暂停功能:(4)及时归零:4 心得体会通过对本次课程的课程设计,使自己深刻的认识到自己的很多不足之处,在实际动手操作能力的不足,在进行程序编程时,自己需要,认真审题,看懂题目的要求!对于软件编程不益太简单或者太难。

相关文档
最新文档