单片机0-99计数器 秒表报告

合集下载

基于单片机的00秒-99秒的秒表设计

基于单片机的00秒-99秒的秒表设计

工程技术学院课程设计题目:用单片机AT89C51设计一个2位的LED数码显示作为“秒表”专业:电气工程及其自动化年级: 2009级学号: 20091447 20091414 20091444 姓名:付忠林梁宗林李座指导教师: 杨彦鑫日期: 2012年12月12日云南农业大学工程技术学院目录一、设计题目和要求:................................................................................... 错误!未定义书签。

二、设计目的:ﻩ错误!未定义书签。

三、设计内容:ﻩ错误!未定义书签。

四、课程设计心得体会ﻩ错误!未定义书签。

五、参考文献ﻩ错误!未定义书签。

六、课程设计指导教师评审标准及成绩评定............................................... 错误!未定义书签。

附件1:秒表原理图(实际接线图)............................................................ 错误!未定义书签。

附件2:仿真图1ﻩ错误!未定义书签。

附件3:仿真图2ﻩ错误!未定义书签。

一、设计题目和要求:题目三:秒表应用AT89C51的定时器设计一个2位的LED数码显示作为“秒表”:显示时间为00~99s,每秒自动加1,设计一个“开始”键,按下“开始”键秒表开始计时。

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

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

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

0-99S的秒表计时器程序与调试

0-99S的秒表计时器程序与调试

设计要求:1.设计一个秒表/计时器系统,显示时间为00.00~99.99秒,个位每秒自动加一。

2.设计一个按键,一上电数码管显示四个0,按一下按键秒表开始计时,按第二下秒表停止计时,保持数码管显示的值,按第三下秒表归零。

一.程序代码#include <reg52.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned intsbit SB0=P3^0;sbit SB1=P3^1;sbit SB2=P3^2;uchar codesmgduan[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x80};uchar Xian[]={10,10,10,10,10,10,10,10,};uint Time=0;bit ST=0;void delayms(uint x){ uchar i;while(x--)for(i=0;i<125;i++);}void main(){TMOD=0x11;TH0=(65536-2000)>>8;TL0=(65536-2000)&0xff;TH1=(65536-10000)>>8;TL1=(65536-10000)&0xff;TR1=1;ET1=1;TR0=1;ET0=1;EA=1;while(1){if(SB0==0){ST=1;}if(SB1==0){ST=0;}if(SB2==0){ ST=0;Time=0;}}}void ET_1() interrupt 1 {static uchar j=0;static uchar i=7;TH0=(65536-2000)>>8;TL0=(65536-2000)&0xff;P0=0x00;P2=j<<2|0x03;P0=smgduan[Xian[i]];j++;i--;if(j==8){j=0;i=7;}}void ET_3() interrupt 3{TH1=(65536-10000)>>8;TL1=(65536-10000)&0xff;if(ST){Time++;if(Time==9999){ST=0;}}Xian[0]=Time/1000;Xian[1]=Time/100%10;Xian[2]=11;Xian[3]=Time/10%10;Xian[4]=Time%10;}二.仿真调试图1.原理图2.调试图。

单片机控制秒表显示时间为00—99(每秒自动加1),暂停,复位

单片机控制秒表显示时间为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管脚。

单片机0-99计数器秒表报告

单片机0-99计数器秒表报告
#inc1
〔ude<reg51、h〉
#defin
e uc har
#defin
sbit
K1=P3A7;
uchar i,count,keyflag;
bit keystate;
//头文件
Coun t=co un t+1
e uintunsignedin
unsigAed数码管显示为00J
按键识别成定义按键
uchar CODE[]={0x3lf,0x06,0x5b,0x4f,0去66,0x6d,Ox7d,0x07,0x7f,0x
3•把“单片机系统"区域中得P3、7/RD端口用导线连接到“独立式键盘"区域中得SP1端口上。
图2十位显示动态数码管(共阳数码管)
图3个位显示静态数码管(共阴数码管)
图1硬件电路连接图
(二)显示电路
两位数码管循环显示00〜99电路
数码管只要就是用于数字得显示•数码管有共阴与共阳得区分,单片机都可以进行驱动,但就 是驱动得方法却不同。两位数码管循环电路就是由电阻、二极管与数码管组成,电源+5V通过
课程设计报告
课程名称 单片机原理及应用课程设计
学 号
姓 名
班 级
指导老师
时 间
信息工程学院
设计题目:秒表得设计 设计内容、目得与要求:
1、 用单片机得定时/计数器实现一个秒表得应用•当按键S1按下时,秒表开始计时,并在 数码管上显示当前得计数知道“99”,然后从“00”开始重新计时,然后按键按下则停止计时, 第三次按下键则清除上一次得计时结果。
560得电阻直接给数码管得7个段位供电,P0、0—P0、7对应了两个接数码管得A,B,C,D,E,F,G与小数点位,P2、6接显示个位数得数码管得3、8引角,P2、7则接十位数得。P2、6与P2、7端口分别控制数码管得十位与个位得供电, 当相应得端口变成低电平时,驱动相应得 三极管会导通,+5V通过二极管与驱动三极管给数码管相应得位供电,这时只要P0口送出数字

单片机倒计时秒表课程设计报告书

单片机倒计时秒表课程设计报告书

课程设计说明书课程名称:单片机技术设计题目:倒计时数字秒表设计院系:学生:三学号: *********专业班级: ***********指导教师:四年月日课程设计任务书倒计时秒表摘要:本次课程设计以AT89S52单片机为核心设计一个倒计时数字秒表,计数初值为59并开始每秒自动减1,当按键1按下时记录当前时间值,当按键2按下时显示当前记录值,显示过之后再次按下按键1时秒表复位为59。

本设计硬件部分包括电源电路、复位电路、按键电路、振荡电路、数码管显示电路五部分电路,软件程序部分有定时中断程序、外部中断程序、显示子程序和延时子程序等。

软件Proteus画出原理图并进行仿真,依照仿真成功的原理图接线,在万能版上把个个器件焊接好从而实现预期的功能。

关键词:倒计时 AT89S52 74LS47 数码管目录1.设计背景 (5)1.1、设计课题的提出 (5)1.2、设计作用与意义 (5)2.设计方案 (6)2.1、可行方案选择 (6)2.2、可行方案比较 (6)3.方案实施 (7)3.1、硬件电路的实施 (7)3.2、软件程序的实施 (11)4.结果与结论 (13)4.1、Proteus仿真运行结果 (13)4.2、结论 (14)5.收获与致 (14)6.参考文献 (14)7.附件 (15)7.1、附件一(整体电路图) (15)7.1、附件二(元件清单图) (16)7.1、附件三(程序) (17)7.1、附件四(运行实物图) (22)1.1设计课题的提出计时器日常生活中随处可见,我们手上的电子表,手机上的时间显示等,这些利用数字电路实现的装置,与机械时钟相比具有更高的准确性与直观性,且无机械装置,具有更长的使用寿命。

其中重要的组成部分就是计数器模块,是单片机中常见的模块,以计时器为基础还可以设计更多对日常生活密切相关的设备,诸如定时报警、按时自动打铃、时间程序自动控制、定时广播、自动启闭路灯、定时开关烘箱、甚至各种定时电器的自动启用等,都是以计时器为基础的。

单片机课程设计报告秒表(WORD档)

单片机课程设计报告秒表(WORD档)

单片机课程设计报告秒表设计电子科学系班级:姓名:学号:指导老师:实用文档2013.12.01实用文档课程设计任务书实用文档实用文档摘要:在生活中我们常常用到秒表作为计时器,为了更深刻理解它的工作原理。

本次课程设计以STC89S51单片机为控制核心,以2位共阴数码管作为显示器。

并用外部中断0控制秒表的清零和用外部中断1控制秒表的开始/暂停。

利用Altium.Designer 10.0设计原理图和PCB。

设计完成后在面包板上搭建电路进行验证和调试。

实验成功后,利用化学方法进行腐蚀刻板。

通过一个个多次实验修改,最后设计出了一个能从00~99秒计时的秒表。

此外后文还对对本次课程设计进行了归纳与总结。

关键词:单片机、数码管、中断、Altium.Designer、腐蚀刻板实用文档目录一、设计要求: (8)二、方案论证: (9)2.1总方案设计方框图: (9)2.2方案选择: (9)2.2.1显示电路: (9)2.2.2按键控制: (10)三、硬件设计: (10)3.1系统主芯片STC89C51单片机介绍: (10)3.2电源电路: (12)3.3时钟电路: (13)3.4复位电路: (13)3.5显示电路: (14)3.6键盘电路: (14)实用文档3.7扩展电路: (15)3.8硬件总电路图设计: (15)四、软件设计 (17)4.1系统主程序设计 (17)4.2定时器T1中断: (17)4.3 外部中断0流程图: (18)4.4 外部中断1流程图: (18)4.5数码管显示程序: (19)五、设计中遇到的问题及解决方法: (20)5.1设计原理图和画PCB遇到问题及解决方法: (20)5.1.1设计原理图: (20)5.1.2 绘制PCB: (20)5.2 在面包板调试时遇到问题及解决方法: (21)5.3在腐蚀刻板时遇到问题及解决方法: (21)5.3.1打印PCB印菲林纸: (21)5.3.2在涂蓝油过程中: (21)5.3.3在显影过程中: (22)实用文档5.4焊接完成后遇到问题及解决方法: (22)结束语 (22)谢辞 (23)参考文献: (24)附录A:秒表设计的源程序 (24)附录B:元件清单: (30)附录C: 秒表的原理图和PCB图: (32)附录D:成绩评定表: (34)附录E:实物图(已通过验证) (36)秒表设计一、设计要求:1.1用89C51设计一个2位的LED数码作为“秒表”。

单片机秒表实训报告

单片机秒表实训报告

目录一、设计题目 (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欧的电阻。

单片机0~99计数器设计报告

单片机0~99计数器设计报告

目录1 单片机概述 (2)2 创新目标 (3)3 创新实践任务和要求.............. . (3)4 创新方案和原理分析 (3)5 硬件原理图设计 (3)5.1 硬件电路设计 (3)6 软件设计 (5)6.1 程序流程图设计 (5)6.2 程序设计 (5)7 Proteus+Keil uV2联合仿真 (7)8 设计说明书 (8)9 样机展示 (11)10 总结 (11)1单片机概述二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。

不过,这种电脑,通常是指个人计算机,简称PC机。

它由主机、键盘、显示器等组成。

还有一类计算机,大多数人却不怎么熟悉。

这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。

顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。

因为它体积小,通常都藏在被控机械的“肚子”里。

单片机是指一个集成在一块芯片上的完整计算机系统。

尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。

同时集成诸如通讯接口、定时器,实时时钟等外围设备。

而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。

单片机也被称为微控制器(Microcontroller),由芯片内仅有CPU的专用处理器发展而来。

最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。

单片机是70年代中期发展起来的一种大规模集成电路芯片,是CPU、RAM、ROM、I/O 接口和中断系统集成于同一硅片的器件。

单片机用于控制有利于实现系统控制的最小化和单片化,简化一些专用接口电路,如编程计数器、锁相环(PLL)、模拟开关、A/D和D/A变换器、电压比较器等组成的专用控制处理功能的单板式微系统。

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

.
课程名称单片机原理及应用课程设计
学号
姓名
班级
指导老师
时间
信息工程学院
. 设计过程、步骤(可加页):
一、设计方案
利用STC90C51单片机来制作一个手动计数器,在STC90C51单片机的P3.7 管脚接一个
轻触开关,作为手动计数的按钮,用单片机的P2.0-P2.7 接一个共阳数码管,作为00-99 计
数的个位数显示,用单片机的P0.0-P0.7 接一个共阴数码管,作为00-99 计数的十位数显示;
二、工作原理
采用STC90C51单片机为中心器件,利用其定时器/计时器定时和计数的原理,结合硬件电
路如电源电路、晶振电路、复位电路、显示电路,以及一些按键电路等来设计计时器,软硬件
有机的结合起来,其中软件系统采用c语言编写程序,包括显示程序,快加程序,暂停程序等,
硬件系统利用Keil强大的功能来实现,简单且易观察。

(一)开发板上硬件连线(如图1)
1.把“单片机系统”区域中的P0.0/AD0-P0.7/AD7端口用8 芯排线连接到“四路静态
数码显示模块”区域中的任一个a-h端口上;要求:P0.0/AD0对应着a,P0.1/AD1对应着
b,……,P0.7/AD7对应着h。

2.把“单片机系统”区域中的P2.0/A8-P2.7/A15端口用8 芯排线连接到“四路静态数
码显示模块”区域中的任一个数码管的a-h 端口上;
3.把“单片机系统”区域中的P3.7/RD 端口用导线连接到“独立式键盘”区域中的SP1端
口上。

图1 硬件电路连接图
(二)显示电路
两位数码管循环显示00~99电路
数码管只要是用于数字的显示。

数码管有共阴和共阳的区分,单片机都可以进行驱动,但
是驱动的方法却不同。

两位数码管循环电路是由电阻、二极管和数码管组成,电源+5V通过560
的电阻直接给数码管的7个段位供电,P0.0-P0.7对应了两个接数码管的A,B,C,D,E,F,G和小数
点位,P2.6接显示个位数的数码管的3、8引角,P2.7则接十位数的。

P2.6和P2.7端口分别控
制数码管的十位和个位的供电,当相应的端口变成低电平时,驱动相应的三极管会导通,+5V
通过二极管和驱动三极管给数码管相应的位供电,这时只要P0口送出数字的显示代码,数码
管就能正常显示需要的数字。

图2 十位显示动态数码管(共阳数码管)
图3 个位显示静态数码管(共阴数码管)
.
(三)时钟电路
时钟电路的晶振频率越高,系统的时钟频率越高,单片机的运行速度也越快。

晶振频率根据设计需要设为12MHz,又根据谐振性质,电路中的电容应选择为30pF左右。

图4 时钟电路
(四)复位电路
MCS-51单片机的复位是靠外部电路实现的。

MCS-51单片机工作之后,只要在他的RST 引线上加载10ms以上的高点平,单片机就能有效地复位。

MCS-51单片机通常采用上电自动复位和按键复位两种方式。

最简单的复位电路如图5:
图5 复位电路
上电瞬间,RC电路充电,RST引线出现正脉冲,只要RST保持10ms以上的高电平,就能使单片机有效的复位。

在系统中,有些外围芯片也需要复位。

如果这些芯片复位端的复位电平与单片机的复位电平的要求一致,则可以将复位信号与之相连。

三、软件设计
(一)主程序及流程图
图6 程序流程图
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int //头文件
sbit K1=P3^7; //定义按键引脚
uchar i,count,keyflag;
bit keystate;
uchar CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //数码管编码void delayMS(uint ms) //ms延时函数
{
uchar t;
开始
Count初始为0
数码管显示为00
按键识别成功
Count=count+1
Count<100
显示count数值
.
结果与分析(可以加页):
(一)调试结果
1.初始状态
图7:初始状态结果图2.开始计时后按下按键暂停
图8:中间状态图示(二)问题分析及解决措施
1.一开始时没有分清楚数码管是共阴数码管还是共阳数码管,C语言程序中默认数码管是共阴,所以两个P接口的值都是按照共阴去写的,导致数码管选段及位显有问题,后来经过老师的指点,将共阳数码管P2的接口改成了共阴。

2.用到Keil软件时,生成的文件不能烧录,与单片机的开发板连机。

后来经过学习教程并和同学讨论,掌握了用Keil软件生成hex文件并被烧录程序识别的方法。

3.第一次差点出了实验结果,但结果与实验要求不符。

要求99秒,但是我的结果是有两位数显,但是时间跳转得太快。

后来想到可能是程序有问题,通过自己的摸索,和网络检索修改了C语言程序中的时间定时和count循环赋值。

设计体会与建议:
课程设计是培养学生综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.。

回顾起此次单片机课程设计,仍感慨颇多。

从理论到实践,在这一个星期里,我学到很多很多的的东西,巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

在设计的过程中遇到问题,可以说得是困难重重,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说不懂keil中hex文件生成方法,对单片机汇编语言掌握得不好等等。

通过这次课程设计之后,一定把以前所学过的知识重新温故。

指导老师评语。

相关文档
最新文档