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、硬件方案工作原理:计时采纳准时器T0 中止达成,准时溢出中止周期为1ms,当一处中止后向CPU发出溢出中止恳求,每发出一次中止恳求就对毫秒计数单元进行加一,达到10次就对十毫秒位进行加一,挨次类推,直到99.99 秒从头复位。
再看按键的办理。
这四个键能够采纳中止的方法,也能够采纳扫描的方法来辨别。
复位键和查察主要功能在于数值复位和查问上一次计不时间,关于时间的要求不是很严格。
而开始和停止键则是用于对时间的锁定,需要比较正确的控制。
所以能够对复位和查察按键采纳扫描的方式。
而对开始和停止键采纳外面中止的方式。
设计中包含硬件电路的设计和系统程序的设计。
其硬件电路主要有主控制器,显示电路和回零、启动、查察、计次电路等。
主控制器采纳单片机89C52,显示电路采纳共阳极LED数码管显示计不时间,四个按键均采纳触点式按键。
89C51单片机课程设计之秒表设计实验报告
单片机课程设计报告单片机秒表系统课程设计班级:课程名称:秒表设计成员:实训地点:北校机房实训时间:6月4日至6月15日目录1课程设计的目的和任务1.1 单片机秒表课程设计的概述1.2课程设计思路及描述1.3 课程设计任务和要求2硬件与软件的设计流程2.1系统硬件方案设计2.2所需元器件3 程序编写流程及课程设计效果3.1源程序及注释3.2原理图分析3.3课程设计效果4 心得体会1. 课程设计的目的和任务1.1单片机秒表课程设计的概述一、课程设计题目秒表系统设计——用STC89C51设计一个4位LED数码显示“秒表”,显示时间为000.0~9分59.9秒,每10毫秒自动加一,每1000毫秒自动加一秒。
二、增加功能增加一个“复位”按键(即清零),一个“暂停”和“开始”按键。
三、课程设计的难点单片机电子秒表需要解决几个主要问题,一是有关单片机定时器的使用;二是如何实现LED的动态扫描显示;三是如何对键盘输入进行编程;四是如何进行安装调试。
四、课程设计内容提要本课程利用单片机的定时器/计数器定时和记数的原理,结合集成电路芯片8051、LED数码管以及课程箱上的按键来设计计时器。
将软、硬件有机地结合起来,使得系统能够正确地进行计时,数码管能够正确地显示时间。
其中本课程设计有三个开关按键:其中key1按键按下去时开始计时,即秒表开始键,key2按键按下去时数码管清零,复位为“00.00”. key3按键按下去时数码管暂停。
五、课程设计的意义1)通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课程的应用进一步的了解。
2)掌握定时器、外部中断的设置和编程原理。
3)通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。
4)该课程通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统,拥有正确的计时、暂停、清零,并同时可以用数码管显示,在现实生活中应用广泛,具有现实意义1.2课程设计思路及描述该课程设计要求进行计时并在数码管上显示时间,则可利用MCS-51系列单片机的芯片AT89C51的P3.2,P3.3,RST作为按键的入口;定时器T1作为每0.1秒加一的定时器。
基于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秒,用按键控制秒表的“开始”、“暂停”、“复位”,按“开始”按键,开始计时;按“暂停”按键,系统暂停计时;再按“开始”键,系统继续计时;数码管显示当前计时值;按“复位”按键,系统清零。
单片机秒表课程设计报告
一:课程设计题目秒表/时钟计时器二:课程设计任务与要求:利用89C51单片机设计秒表/时钟计时器,通过LED显示器显示秒十位和个位,在设计过程中用一个存储单元作为秒计数单元,当一秒钟到来时,就让秒计数单元加1,当秒计数达到60时,就自动返回到0,重新开始秒计数。
三:设计过程:1.设计原理:此次课程设计题目是秒表/时钟计时器,由课程设计的要求和任务,我采用的C语言编程,设计秒表要求一秒定时,采用了定时器和FOR循环来定时,其中一个软件一个硬件,会在方案论证中分析在1秒时采用的是硬件定时,即用单片机内部的定时器T0。
先将时钟初始化,赋入初值50ms定时,循环20次来进行1秒定时。
然后由定义的变量second来进行加一运算,然后将其值通过P1,P2口在数码管上进行显示。
其中数码管的显示时,我在程序中首先定义了一个关于数码管显示的字形码定义,以便在显示时调用即可。
(1)方案论证:方案1:在方案1中,我们所选用的是软件定时,即用for循环来定时1秒进行显示的变化.方案2:在方案2中,采用的是硬件定时,即用单片机内部的定时器T0。
先将时钟初始化,赋入初值50ms定时,循环20次来进行1秒定时.方案比较:我们从两方面进行两种方案的比较,第一,由于此次课程设计要求是秒表,则在定时时要求比较精确,所以采用硬件的定时器定时时比较准确的。
第二,由于秒表的定时程序是很小的,在利用软件定时占用的CPU并不是很多,不能显现出来,但真正大程序时会很占用资源的,所以在用定时中断过程中是非常节省资源的.综合上述两种比较,我们选用了第二种方案.(2)创新点:a。
在课程要求的基础上,我们做成的电路板上,用复位键来控制秒表计时的重新开始,即清零。
b。
在以上设计的基础上,我们又重新设计了一个程序,基本原理没有变,只是将秒表在到达59清零的瞬间向分的位数上进1,程序将会在附录3中给出。
2.硬件系统框图与说明:首先,连接的是单片机51的最小系统,其中包括时钟电路,复位电路,在此中包括的元器件在附录3中.我们所选用的数码管是共阴极的,置1时导通,所以将单片机的P1。
单片机控制秒表显示时间为00—99(每秒自动加1),暂停,复位
标准文档9创新实践实训报告学院信息电子技术学院专业电子信息工程班级14学籍号姓名指导教师蒋野2017年06月29日单片机控制秒表电路一、电路工作原理1.工作原理用STC89C52设计一个2位的LED数码显示作为“秒表”:显示时间为00—99秒,每秒自动加1,另设计一个“暂停”键S2和一个“继续”键S3。
为使本设计系统更加完善,可以引入一个“复位”键S1,以方便对系统的控制。
如图。
本系统采用STC89C51单片机为中心器件,利用其定时器/计数器定时计数的原理,结合硬件电路如电源电路,晶振电路,复位电路和显示电路,以及一些按键电路等来设计计数器,将软硬件有机结合起来,其中软件系统采用汇编语言编写程序,包括显示程序,计数程序,中断,硬件系统利用Protues强大的功能来实现,简单易于观察,在仿真中就可以观察到实际的工作状态。
2.元器件作用(1)STC89C52单片机在电子行业中有着广泛的应用。
AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2 个读写口线,STC89C52可以按照常规方法进行编程,也可以在线编程。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的 Flash存储器可有效地降低开发成本。
(2)时钟电路作用是为电路提供唯一的时钟信号。
(3)复位电路外接一个开关,控制电路复位,接通电源电路直接复位,如果没有开关亦可将复位电路引出导线接电源后断开。
(4)本设计要求使用共阳极的数码管,如下是共阳极的数码管的0-9编码:0xc0,0x92,0x82,0xf8,0x80,0x90,0xf9,0xa4,0xb0,0x99.(5)控制电路:S2按下电路停止计时,S3按下电路恢复计时。
二、程序流程图主程序流程图三、检测安装与调试1.元件检测共阳极数码管检测管脚序号利用万用表二极管档红表笔接一个抵住两个管脚,利用另一个接触其他,找出1,2两个管脚,继续分别找出A,D,C,D,E,F,G,Dp管脚。
单片机秒表实验报告
单片机课程设计说明书题目:电子秒表学生姓名:专业:班级:指导教师:日期:目录第一章单片机课程设计任务书 (1)一、目的意义 (1)二、设计时间、地点和班级 (1)三、设计内容 (1)四、参考电路图形 (2)五、单片机的相关知识 (3)第二章硬件设计 (5)一、单片机简介 (5)二、电源电路 (5)三、晶振振荡电路 (5)四、复位电路 (5)五、显示电路 (6)六、键盘电路 (6)七、硬件主电路图设计 (7)八、元件清单 (7)第三章软件设计 (8)一、软件设计概述 (8)二、主程序流程图 (8)三、程序中各函数设计 (8)四、C语言主程序设计 (10)第四章课程设计体会 (13)..参考文献 (14)五、单片机相关知识本课题在选取单片机时,充分借鉴了许多成形产品使用单片机的经验,并根据自己的实际情况,选择了AT89C51。
AT89C51单片机采用40引脚的双列直插封装方式。
图1.2为引脚排列图,40条引脚说明如下:主电源引脚Vss和Vcc①Vss接地②Vcc正常操作时为+5伏电源外接晶振引脚XTAL1和XTAL2①XTAL1内部振荡电路反相放大器的输入端,是外接晶体的一个引脚。
当采用外部振荡器时,此引脚接地。
②XTAL2内部振荡电路反相放大器的输出端。
是外接晶体的另一端。
当采用外部振荡器时,此引脚接外部振荡源。
图1.2 AT89C51单片机引脚图控制或与其它电源复用引脚RST/VPD,ALE/PROG,PSEN和EA/Vpp①RST/VPD 当振荡器运行时,在此引脚上出现两个机器周期的高电平(由低到高跳变),将使单片机复位在Vcc掉电期间,此引脚可接上备用电源,由VPD向内部提供备用电源,以保持内部RAM中的数据。
②ALE/PROG正常操作时为ALE功能(允许地址锁存)提供把地址的低字节锁存到外部锁存器,ALE 引脚以不变的频率(振荡器频率的1/6)周期性地发出正脉冲信号。
因此,它可用作对外输出的时钟,或用于定时目的。
基于单片机的秒表设计与实现课程设计报告
基于单片机的秒表课程设计报告一、设计题目秒表系统设计——用AT89C51设计一个2位LED数码显示“秒表”,显示时间为00~99秒,每秒自动加一。
另设计一个“开始”按键和一个“复位”按键。
二、增加功能增加一个“暂停”按键和一个“快加”按键(每10ms快速加一)三、设计提要本实验利用单片机的定时器/计数器定时和记数的原理,结合dvcc实验箱上的集成电路芯片8032、LED数码管以及实验箱上的按键来设计计时器。
将软、硬件有机地结合起来,使得系统能够正确地进行计时,数码管能够正确地显示时间。
其中本实验设计了四个开关按键:其中一个按键按下去时以1秒加一开始计时,即秒表开始键(本实验中当开关从1变为0时开始计时),另一个按键按下去时暂停计时,使秒表停留在原先的计时(本实验中当相应开关从1变为0时即停止计时),第三个按键按下去时清0(本实验中当相应开关从1变为0时即停止计时),第四按键按下去则是以每10ms秒快速加一计时(本实验中当开关从1变为0 时开始计时)。
本实验中开始时都要使各按键回到各初始位置,即都处于1状态。
三、课设目的1、通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课程的应用进一步的了解。
2、掌握定时器、外部中断的设置和编程原理。
3、通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。
四、意义该实验通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统,拥有正确的计时、暂停、清零、快加功能,并同时可以用数码管显示,在现实生活中应用广泛,具有现实意义。
五、本人所做工作根据相关的单片机材料,利用所学的单片机知识,结合DVCC系列单片机微机仿真实验系统中的软件和硬件(集成电路芯片8032,七段数码管,开关电路及时钟信号电路,按键等),编写能够实现该项目的软件程序,最后将软、硬件有机的结合起来,进行有效的调试,达到完成该实验课程设计的目的要求。
六、实验内容用AT89C51设计一个2位LED数码显示“秒表”,显示时间为00~99秒,每秒自动加一。
秒表计时器设计报告
1、实训任务目的1.根据单片机课程所学内容,结合其他相关课程知识,设计电子秒表,以加深对单片机知识的理解,锻炼实践动手能力,为以后的毕业设计和工作打下坚实基础;2.熟悉汇编语言或C语言的程序设计方法,熟悉51系列单片机的使用;3.掌握单片机的内部功能模块的应用,如定时器/计数器、中断、I/O口、串行口通讯等功能;4.掌握单片机应用系统的软硬件设计过程、方法及实现。
2、设计方案2.1系统总体设计方案使用STC89C52单片机作为核心控制部件,采用12M晶体振荡器及30PF微小电容构成振荡电路;用1个四位一体共阴极数码显示管作为显示部分,构成数字式秒表的主体结构,配合独立式键盘和复位电路完成此秒表的计时、清零、停止、增减初始时间等各项功能。
2.2 系统总体整体框图图2.2 系统设计框图3、电路设计3.1 硬件部分系统设计3.1.1电路原理图图3.1.秒表计时器电路图1. 时钟电路在XTAL1、XTAL2 的引脚上外接定时元件(一个石英晶体和两个电容),内部振荡器便能产生自激振荡。
在本设计中采用的12M 的石英晶振。
和晶振并联的两个电容的大小对振荡频率有微小影响,可以起到频率微调作用。
当采用石英晶振时,电容可以在20 ~ 40pF 之间选择。
2.复位电路复位操作通常有两种基本形式:上电自动复位和开关复位。
上电瞬间,电容两端电压不能突变,此时电容的负极和RESET 相连,电压全部加在了电阻上,RESET 的输入为高,芯片被复位。
随之+5V电源给电容充电,电阻上的电压逐渐减小,最后约等于0,芯片正常工作。
并联在电容的两端为复位按键,当复位按键没有被按下的时候电路实现上电复位,在芯片正常工作后,通过按下按键使RST管脚出现高电平达到手动复位的效果。
3. EA/VPP(31 脚)的功能和接法51 单片机的EA/VPP(31 脚)是内部和外部程序存储器的选择管脚。
当EA 保持高电平时,单片机访问内部程序存储器;对于现今的绝大部分单片机来说,其内部的程序存储器(一般为flash)容量都很大,因此基本上不需要外接程序存储器,而是直接使用内部的存储器。
单片机秒表实训报告
目录一、设计题目 (2)二、方案设计 (2)三、硬件设计 (2)1电路图 (2)2.I/O口的分配 (3)3、电路的工作原理 (3)4原件明细 (3)四、软件设计 (4)1、软件设计的思路 (4)2、程序流程图 (4)3、总体结构框架介绍 (6)4、程序清单 (6)五、制作和调试 (8)六、心得体会 (8)七、参考文献 (9)一、设计题目利用AT89C51单片机设计并制作秒表电路。
要求如下:通过LED显示器(数码管)显示秒的十位和个位;设计一个按键,使按键按下去时秒表开始计时,即秒表开始键;设计一个按键,按键按下去时秒表暂停计时,使秒表停留在原先的计时,即计时停止键;设计一个按键,作为秒表的清零按钮,使秒表计数结束后可以清零。
二、方案设计1、该秒表主要由51系列单片机及开关控制数码显示管的显示情况,此秒表可现实显示两位数从00到99的计数,即开始计数、停止计数和清零三种,由手动控制三个开关K1、K2、K3来实现。
2、当接通电源时数码管显示00,然后按动K1使秒表开始计时,在0秒到99秒之间的任何时间均可;若要定时,如只需计时到32秒则在显示器显示到32时按下定时键K2即可;在计时过程中若需要清零,则需按下K3键。
3、设计过程中除了向老师请教外,还通过上网查阅资料及翻阅书籍。
上单片机课程时我曾做过关于数码显示器的实验,所以在焊接电路板时可参照实验报告书上的连接方式。
要特别注意两数码管引脚的连接及com端和三极管的连接,其决定了共阴极和共阳极,此处涉及到编程中初值的写入,为在焊接电路时简洁,因此我采用下面的com端,即数码管采用共阴极方式。
主要设计思路是编写相应程序后由单片机的P0口输出到数码管上,实现数据的显示。
P2.6口控制个位的显示和P2.7口控制十位的显示,P3.5、P3.6、P3.7口分别控制秒表的开始、停止和清零。
三、硬件设计1电路图使用Proteus工程软件制图,如下图所示:2.I/O口的分配P0口是一个漏极开路8位准双向复用I/O端口,它的P0.0~P0.7口分别接电阻R1~R8,但因为该设计中不需要小数点的显示,即dp端不用接,所以只用接7个阻值为100欧的电阻。
单片机控制秒表显示时间为00—99(每秒自动加1),暂停,复位
9创新实践实训报告学院信息电子技术学院专业电子信息工程班级14学籍号姓名指导教师蒋野2017年06月29日单片机控制秒表电路一、电路工作原理1.工作原理用STC89C52设计一个2位的LED数码显示作为“秒表”:显示时间为00—99秒,每秒自动加1,另设计一个“暂停”键S2和一个“继续”键S3。
为使本设计系统更加完善,可以引入一个“复位”键S1,以方便对系统的控制。
如图。
本系统采用STC89C51单片机为中心器件,利用其定时器/计数器定时计数的原理,结合硬件电路如电源电路,晶振电路,复位电路和显示电路,以及一些按键电路等来设计计数器,将软硬件有机结合起来,其中软件系统采用汇编语言编写程序,包括显示程序,计数程序,中断,硬件系统利用Protues强大的功能来实现,简单易于观察,在仿真中就可以观察到实际的工作状态。
2.元器件作用(1)STC89C52单片机在电子行业中有着广泛的应用。
AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2 个读写口线,STC89C52可以按照常规方法进行编程,也可以在线编程。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的 Flash存储器可有效地降低开发成本。
(2)时钟电路作用是为电路提供唯一的时钟信号。
(3)复位电路外接一个开关,控制电路复位,接通电源电路直接复位,如果没有开关亦可将复位电路引出导线接电源后断开。
(4)本设计要求使用共阳极的数码管,如下是共阳极的数码管的0-9编码:0xc0,0x92,0x82,0xf8,0x80,0x90,0xf9,0xa4,0xb0,0x99.(5)控制电路:S2按下电路停止计时,S3按下电路恢复计时。
二、程序流程图主程序流程图三、检测安装与调试1.元件检测序号名称型号(标称值)测量值误差备注1 电阻1K 780 22%2 电阻10K 10.78 0.07%3 电容33pF 32 3%4 电容10uF 9 10%5 晶振12M 12M 0共阳极数码管检测管脚序号利用万用表二极管档红表笔接一个抵住两个管脚,利用另一个接触其他,找出1,2两个管脚,继续分别找出A,D,C,D,E,F,G,Dp管脚。
单片机课程设计报告-秒表设计
前言本设计主要是对51单片机的一个方面的扩展,是能实现一般定时功能的设计。
系统采用单片机AT89C51作为本设计的核心元件,在其基础上外围扩展芯片和外围电路,附加时钟电路,复位电路,键盘接口及LED显示器,键盘采用独立连接式。
外围设备有LED显示驱动器及相应的显示数字电子钟设计与制作可采用数字电路实现,也可以采用单片机来完成。
若用数字电路完成,所设计的电路相当复杂,大概需要十几片数字集成块,其功能也主要依赖于数字电路的各功能模块的组合来实现,焊接的过程比较复杂,成本也非常高。
若用单片机来设计制作完成,由于其功能的实现主要通过软件编程来完成,那么就降低了硬件电路的复杂性,而且其成本也有所降低,所以在该设计与制作中采用单片机AT89C51,它是低功耗、高性能的CMOS型8位单片机。
片内带有4KB的Flash存储器,且允许在系统内改写或用编程器编程。
另外, AT89C51的指令系统和引脚与8051完全兼容,片内有128B 的RAM、32条I/O口线、2个16位定时计数器、5个中断源、一个全双工串行口等。
在LED显示器中,分成静态显示和动态显示两类,在这个设计的最小系统中主要用了它的动态显示功能,动态显示器利用了人视觉的短暂停留,在数据的传输中是一个一个传输的,且先传输低位。
按键电路设有四个按键:从上往下为k1,k2,k3和k4键。
按下k1键用于启动和暂停秒表;k2键用于复位;k3键用于当秒表暂停时,增加其显示值;k4键用于秒表暂停时减少其显示值。
目录一、设计任务和要求 (3)(1)设计任务 (3)(2)设计要求 (3)二、设计方案与论证 (3)三、硬件设计 (4)(1)时钟电路 (4)(2)按钮电路 (4)(3)显示电路 (5)(4)动态显示原理 (7)(5)80C51中断的控制 (7)(6)定时/计数器的控制 (7)(7)单片机 (9)四、原理图及器件清单 (9)( 1 )总原理图 (9)(2)PCB图 (10)(3)元器件清单 (11)五、实验效果图 (11)六、结论和心得 (11)七、参考文献 (12)八、附录 (12)秒表设计一、设计任务和要求(1)设计任务用AT89C51设计一个3位的LED数码作为“秒表”。
单片机秒表设计实验报告(1)
本科学生设计性实验报告学号姓名学院物理与电子专业、班级实验课程名称简易秒表设计教师及职称开课学期2013 至2014 学年下学期填报时间2014 年 6 月 5 日云南师范大学教务处编印摘要:单片机控制秒表是集于单片机技术、模拟电子技术、数字技术为一体的机电一体化高科技产品,具有功耗低,安全性高,使用方便等优点。
本次设计内容为以 89C51 单片机为核心的秒表,它采用键盘输入,单片机技术控制。
设计内容以硬件电路设计,软件设计和PCB 板制作三部分来设计。
利用单片机的定时器/计数器定时和计数的原理,用集成电路芯片、LED 数码管以及按键来设计计时器。
将软、硬件有机地结合起来,使他拥有正确的计时、暂停、清零、并同时可以用数码管显示,在现实生中应用广泛。
共阳极,共阴极数码管的字符码表2 程序设计此次选用C51来编程,首先要有初始化程序,通过初始化程序,将对主程序所用到的变量、常量以及各个参数和所调用的子函数定义,其次还有显示程序、按键扫描及处理程序、时钟程序。
//返回值:无void delay(unsigned char i) //延时函数,无符号字符型变量i为形式参数{unsigned char j,k; //定义无符号字符型变量j和kfor(k=0;k<i;k++) //双重for循环语句实现软件延时for(j=0;j<255;j++);}3.仿真图如下4.实验设备及材料(1)装有keil软件、下载软件和Proteus仿真软件的电脑一台。
(2)单片机开发板一块。
5.实验方法步骤及注意事项(1)根据题目要求画出流程图,对实验有总体概念;(2)程序的设计;(3)通过仿真图来测试、修改、优化程序;(4)设计电路板,做出实物图;(5)总结分析实验过程中出现的问题,在以后的实验中该如何避免类似的问题在发生,该实验还有那些可以优化的地方。
6.参考文献[1]王东锋陈园园郭向阳,单片机C语言应用100例,电子工业出版社[2]胡汉才.单片机及其接口技术.北京:清华大学出版社,2000。
单片机秒表实训报告
目录一、设计题目 (2)二、方案设计 (2)三、硬件设计 (2)1电路图 (2)2.I/O口的分配 (3)3、电路的工作原理 (3)4原件明细 (3)四、软件设计 (4)1、软件设计的思路 (4)2、程序流程图 (4)3、总体结构框架介绍 (6)4、程序清单 (6)五、制作和调试 (8)六、心得体会 (8)七、参考文献 (9)一、设计题目利用AT89C51单片机设计并制作秒表电路。
要求如下:通过LED显示器(数码管)显示秒的十位和个位;设计一个按键,使按键按下去时秒表开始计时,即秒表开始键;设计一个按键,按键按下去时秒表暂停计时,使秒表停留在原先的计时,即计时停止键;设计一个按键,作为秒表的清零按钮,使秒表计数结束后可以清零。
二、方案设计1、该秒表主要由51系列单片机及开关控制数码显示管的显示情况,此秒表可现实显示两位数从00到99的计数,即开始计数、停止计数和清零三种,由手动控制三个开关K1、K2、K3来实现。
2、当接通电源时数码管显示00,然后按动K1使秒表开始计时,在0秒到99秒之间的任何时间均可;若要定时,如只需计时到32秒则在显示器显示到32时按下定时键K2即可;在计时过程中若需要清零,则需按下K3键。
3、设计过程中除了向老师请教外,还通过上网查阅资料及翻阅书籍。
上单片机课程时我曾做过关于数码显示器的实验,所以在焊接电路板时可参照实验报告书上的连接方式。
要特别注意两数码管引脚的连接及com端和三极管的连接,其决定了共阴极和共阳极,此处涉及到编程中初值的写入,为在焊接电路时简洁,因此我采用下面的com端,即数码管采用共阴极方式。
主要设计思路是编写相应程序后由单片机的P0口输出到数码管上,实现数据的显示。
P2.6口控制个位的显示和P2.7口控制十位的显示,P3.5、P3.6、P3.7口分别控制秒表的开始、停止和清零。
三、硬件设计1电路图使用Proteus工程软件制图,如下图所示:2.I/O口的分配P0口是一个漏极开路8位准双向复用I/O端口,它的P0.0~P0.7口分别接电阻R1~R8,但因为该设计中不需要小数点的显示,即dp端不用接,所以只用接7个阻值为100欧的电阻。
单片机秒表课程设计
《接口及控制技术》课程设计报告课程设计题目:秒表姓名:专业班级:指导教师:成绩:时间: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设计一个2位的LED数码作为“秒表”。
显示时间为00—99秒,每秒自动加1,另设计一个“开始”键和一个“复位”键。
能存储三组计时。
按一次开始键,开始计数,第二次按开始键后,计时停止。
之后再按开始键,则轮流显示存储的三个计时值,直到按复位键后,再按开始键,则开始重新计时。
二、设计思想和设计说明本设计利用AT89C52单片机的定时器/计时器定时和计数的原理,使其能精确计时。
设计中包括硬件电路的设计和系统程序的设计,其硬件电路主要有主控制器、计时与显示电路和复位电路等。
主控制器用AT89C52,显示电路采用共阴极LED数码管显示计时时间。
利用中断系统使其能实现开始暂停的功能。
P3.2,P3.3开口接2个按钮,分别实现开始,暂停,复位的功能。
电路原理图设计最基本得要求是正确性,其次布局合理,最后在正确性和布局合理的前提下力求完美。
三、硬件原理框图四、硬件原理图与其软件配合1、程序存储器2、数据存储器六、程序流程图七、源程序清单====================================================== ORG 0000HAJMP MAINORG 0003HAJMP X0_INTORG 000BHAJMP T0_INTORG 0013HAJMP X1_INTMAIN:MOV TMOD,#01H ;T0定时方式1MOV TH0, #(65536-50000) / 256 ;50ms@12MHzMOV TL0, #(65536-50000) MOD 256;SETB TR0SETB ET0 ;开启定时中断SETB EX0SETB EX1SETB EA ;定时器初始化结束,下面循环显示即可MOV R1, #99H ;0~99计数.MOV R7, #1 ;50ms计数.MOV P0, #3FHMOV P2, #3FHLOOP:SJMP LOOP;-----------------------------------------------------------DELAY: ;延时子程序.AA4: MOV R4, #0DJNZ R4, $DJNZ R4, $RET;-----------------------------------------------------------X0_INT: ;启动/停止CPL F0RETI;-----------------------------------------------------------X1_INT: ;清零MOV R1, #0MOV P0, #3FHMOV P2, #3FHRETI;-----------------------------------------------------------T0_INT: ;50ms中断执行一次.MOV TL0, #(65536-50000) MOD 256;MOV TH0, #(65536-50000) / 256 ;50ms@12MHzDJNZ R7, T0_END ;中断不到20次.MOV R7, #20JNB F0, T0_ENDMOV A, R1ADD A, #1DA AMOV R1, AANL A, #0FHMOV DPTR, #TABMOVC A, @A+DPTR ;查出段码MOV P2, AMOV A, R1SWAP AANL A, #0FHMOVC A, @A+DPTR ;查出段码MOV P0, A ;显示十位数.T0_END:RETI;-----------------------------------------------------------TAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH, 6FHEND====================================================== =====八、芯片资料AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。
单片机控制秒表显示时间为00—99(每秒自动加1),暂停,复位
(4)复查电路:重新检测电路,利用万用表电流档,检测电路电流,发现电路无电流,检查40引脚VCC,发现单片机40引脚与插座短路,接触不良导致,陆续检查其他引脚。发现还有部分引脚短路。
(5)继续检查电路,直至数码管显示数字为止。
结果显示,秒表运行正常。按照预期实现了99s计时、暂停以及继续的功能。
附件
1.利用单片机完成一定的任务,你的创意(创新)是什么?
我的创意就是电路的布局,实验操作起来与仿真不同,需要注意很多细节,例如原件检测。我的电路布局既节省空间,又不影响电路结构。
2.程序
#include<reg52.h>
sbit W=P1^4;
sbit H=P1^6;
unsigned char msec,sec;
void delay(unsigned char i)
{
unsigned int j,k;
for(k=0;k<i;k++)
for(j=0;j<255;j++);
}
void To_INT(void) interrupt 1
2.元器件作用
(1)STC89C52单片机在电子行业中有着广泛的应用。AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2 个读写口线,STC89C52可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的 Flash存储器可有效地降低开发成本。
9
创新实践实训报告
学院
信息电子技术学院
专业
电子信息工程
基于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分别为反相振荡放大器的输入及内部时钟工作电路的输入和来自反相振荡器的输出,该反相放大器可以配置为片内振荡器。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机课程设计报告单片机秒表系统课程设计班级:课程名称:秒表设计成员:实训地点:北校机房实训时间:6月4日至6月15日目录1课程设计的目的和任务1.1 单片机秒表课程设计的概述1.2课程设计思路及描述1.3 课程设计任务和要求2硬件与软件的设计流程2.1系统硬件方案设计2.2所需元器件3 程序编写流程及课程设计效果3.1源程序及注释3.2原理图分析3.3课程设计效果4 心得体会1. 课程设计的目的和任务1.1单片机秒表课程设计的概述一、课程设计题目秒表系统设计——用STC89C51设计一个4位LED数码显示“秒表”,显示时间为000.0~9分59.9秒,每10毫秒自动加一,每1000毫秒自动加一秒。
二、增加功能增加一个“复位”按键(即清零),一个“暂停”和“开始”按键。
三、课程设计的难点单片机电子秒表需要解决几个主要问题,一是有关单片机定时器的使用;二是如何实现LED的动态扫描显示;三是如何对键盘输入进行编程;四是如何进行安装调试。
四、课程设计内容提要本课程利用单片机的定时器/计数器定时和记数的原理,结合集成电路芯片8051、LED数码管以及课程箱上的按键来设计计时器。
将软、硬件有机地结合起来,使得系统能够正确地进行计时,数码管能够正确地显示时间。
其中本课程设计有三个开关按键:其中key1按键按下去时开始计时,即秒表开始键,key2按键按下去时数码管清零,复位为“00.00”. key3按键按下去时数码管暂停。
五、课程设计的意义1)通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课程的应用进一步的了解。
2)掌握定时器、外部中断的设置和编程原理。
3)通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。
4)该课程通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统,拥有正确的计时、暂停、清零,并同时可以用数码管显示,在现实生活中应用广泛,具有现实意义1.2课程设计思路及描述该课程设计要求进行计时并在数码管上显示时间,则可利用MCS-51系列单片机的芯片AT89C51的P3.2,P3.3,RST作为按键的入口;定时器T1作为每0.1秒加一的定时器。
其中“开始”按键当开关由上向下拨时开始计时,此时若再拨“暂停”按键则数码管暂停;“清零”按键当开关由上向下拨时数码管清零,此时若再拨“开始”按键则又可重新开始计时。
1.3 课程设计任务和要求1.3.1 设计指标。
了解8051芯片的的工作原理和工作方式,使用该芯片对LED数码管进行显示控制,实现用单片机的端口控制数码管,显示分、秒,并能用按钮实现秒表起动、停止、9分59.9秒、清零等功能,精确到0.1秒。
要求选用定时器的工作方式,画出使用单片机控制LED数码管显示的电路图,并实现其硬件电路,并编程完成软件部分,最后调试秒表起动、停止、清零等功能。
2.软件与硬件设计2.1系统硬件方案设计单片机应用系统由硬件系统和软件系统两部分组成。
硬件系统是指单片机以及扩展的存储器、I\O接口、外围扩展的功能芯片以及接口电路。
软件系统包括监控程序和各种应用程序。
在单片机应用系统中,单片机是整个系统的核心,对整个系统的信息输入、处理、信息输出进行控制。
与单片机配套的有相应的复位电路、时钟电路以及扩展的存储器和I\O接口,使单片机应用系统能够运行。
在一个单片机应用系统中,往往都会输入信息和显示信息,这就涉及键盘和显示器。
在单片机应用系统中,一般都根据系统的要求配置相应的键盘和显示器。
配置键盘和显示器一般都没有统一的规定,有的系统功能复杂,需输入的信息和显示的信息量大,配置的键盘和显示器功能相对强大,而有些系统输入/输出的信息少,这时可能用几个按键和几个LED指示灯就可以进行处理了。
在单片机应用系统在中配置的键盘可以是独立键盘,也可能是矩阵键盘。
2.2 所需原器件名称数量四位数码管1个200欧电阻13个1千欧电阻4个开关3个电容3个晶振1个三极管4个AT89C51 1个导线若干AT89C51的接口连接示意图四位数码管的接口连接示意图共阴级数码管编码主程序流程图:子程序流程图3.程序编写的流程及课程设计效果3.1 源程序及注释ORG 0000HAJMP TOUORG 000BH 外部中断0入口地址LJMP MIAOORG 0003H 外部中断0入口地址LJMP KGORG 0030H 定时器中0断入口地址TOU:MOV B,#02HMOV R3,#00HMOV R4,#00HMOV R5,#00HMOV R6,#00HMOV TMOD,#01H 定时器0工作在方式1MOV TL0,#0B0H 初始值为3CB0H ,即计数50000 次MOV TH0,#3CHCLR IT1SETB EA 总中断EA=1SETB ET0 定时器T0的溢出中断允许控制位SETB TR0 定时器0开始计数SETB EX0 外部中断0中断请求允许控?制位SETB PX0 外部中断0为优先级S1:S1:LCALL XSSJMP S1 短跳转MIAO:MOV TL0,#0B0HMOV TH0,#3CHDJNZ B,FHMOV B,#02HINC R3CJNE R3,#0AH,FH 判断毫秒值是否为10 MOV R3,#00HINC R4CJNE R4,#0AH,FH 判断个位秒值是否为10 MOV R4,#00HINC R5CJNE R5,#06H,FH 判断十位秒值是否为6 MOV R5,#00HINC R6CJNE R6,#0AH,FH 判断分值是否为10 MOV R3,#00HMOV R4,#00HMOV R5,#00HMOV R6,#00HFH:LCALL XS 调用显示子程序RETI 中断返回XS:MOV DPTR ,#TABMOV A,R3MOVC A,@A+DPTR 查得字形码MOV P2,ACLR P1.0 ;P1.0 清零LCALL DEL 调用延时子程序SETB P1.0 ;P1.0置1MOV A,R4MOVC A,@A+DPTR 查得字形码CLR P1.1LCALL DEL 调用延时子程序SETB P1.1MOV A,R5MOVC A,@A+DPTR 查得字形码MOV P2,ACLR P1.2LCALL DEL 调用延时子程序SETB P1.2MOV A,R6MOVC A,@A+DPTR 查得字形码MOV P2,ACLR P1.3LCALL DEL 调用延时子程序SETB P1.3RETKG:CLR TR0 ;关闭定时器0CLR ET0S2:LCALL XSJB P3.3,S2 ;P3.3为跳转到S2 SETB TR0 ;开定时器0 SETB ET0RETIDEL: 延时函数MOV R1,#10DE:MOV R2,#60DJNZ R2,$RETTAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH END3.2原理图4 心得体会经过两个星期的课程设计,使我们加深了单片机课程的了解,我们花费了很多的时间和精力,比如说单片机书籍和以前不太懂的知识,我觉得这几天让我们过得十分充实,我相信其余的队友也有相同的看法,下面是我们的一些心得体会:1.将学习的理论知识通过实验融会贯通,让我对它的理解更加深刻,对程序的编译过程也有一定了解。
2.本次课程设计是以团队为主,没有团队的力量,在较短的时间内完成是难以实现的,因此培养了我们积极合作、认真的态度,每个人都有不同分工和任务,做好一个电子秒表成为了一件很开心的事情,增进了同学们之间的沟通与交流。
3.本次课程设计不仅设计了编程和单片机的知识,也涉及其他两门学科上的知识,真是学海无涯啊。
4.在实训过程中,遇到了许多的问题。
主要是程序的编写、编译、还有下载,一开始由于自己的粗心大意和对单片机知识掌握的不够,导致程序不断出错无法编译,一开始我们无法理清头绪,但是我们通过寻找资料,向老师咨询,同学帮助总算是把程序编写完成。
程序编完以后下一个问题就是用用面包板接线路,新的问题也就随之而来,本以为对着画好的的电路直接接就可以圆满成功的,但是由于自己的实践经验不好,线路总是接不好,勉强接好程序也没办法运行,本来原定周四就能完成的一直拖到了周五晚上加班,最后在全组人竭尽全力,老师的精心指导下,程序基本编写成功,这是我们共同努力的结果,在享受我们成果之时,不得不感慨单片机的重要性与高难度性,所以为期两周的单片机课程设计没有浪费,我们从中学到了很多知识,也让我们对单片机有了更深一步的了解。
总而言之,通过本次实验不仅加深了我们对单片机理论知识的理解,将理论更好的应用到实践中,而且锻炼了我们各个方面的能力,培养了坚强的意志和做事的耐心和细心,认识到合作的重要性,虽然过程中还有不足之处,这需要在实践中不断的锻炼才能提高,希望各位老师和同学多多知道,促进我们进步。
本次实验也让我们了解到自己的不足之处,很多的东西还是没有学好。
所以说实验可能有瑕疵之处。