简易秒表设计实验报告
设计秒表的实验报告
#include ""
#include ""
#include ""
#include ""
#include ""
#include ""
#include ""
#define led_dat PTP
#define led_1 PTT_PTT0
#define led_2 PTT_PTT1
#define led_3 PTT_PTT2
PORTA=0XF0;
DDRA=0X0F;
if(PORTA!=0XF0)keyscan();
display(sec/10%10,sec%10,ms/10%10,min%10,dem);
}
}
/*********************************/
void TI1_OnInterrupt(void)
case 0xDD:key=6;break;
case 0xED:key=2;break;
case 0x7B:key=14;break;
case 0xBB:key=10;break;
case 0xDB:key=7;break;
case 0xEB:key=3;break;
case 0x77:key=15;break;
1)跑秒进程中即可以清零也可以暂停;
2)跑秒进程中不可以清零,只有暂停以后才可以清零。
由于在跑秒进程中清零,不具有实际意义,因此,咱们肯定用第二种方式实现清零与暂停。
实验结论:
本实验用单片机简单实现了秒表的精准计时,在人们对时间的准确性要求愈来愈高的现今世界具有重要的现实意义。尤其是在现代工业的精准按时领域和体育赛事进程中应用较为普遍。
简易秒表设计实验报告
实验报告系别信工系专业班级姓名学号课题名称:简易秒表设计实验目的:1、熟悉Keil C51软件的使用方法及proteus仿真软件的使用;2、综合运用所学的理论知识(数码管、按键),通过实践加强对所学知识的理解,具备设计单片机应用系统的能力。
3、通过本次试验,增强自己的动手能力。
认识单片机在日常生活中的应用的广泛性,实用性.设计要求:制作简易秒表,用三个按键分别实现秒表的启动、停止与复位,利用两位共阴级的数码管显示时间。
设计思路:硬件设计:数码管部分采用2位共阴极的数码管,在P0口接上拉电阻,公共端低电平扫描。
按键电路部分,将按键一侧与单片机任一I/O口相连.软件设计:模块化思想,使用定时器T0的工作方式1,编写显示子程序,延时子程序,初始化程序,主程序设计时注意按键消抖.原理图:源代码:#include<reg51。
h>#define uint unsigned int#define uchar unsigned charsbit key1=P3^0; //定义”启动"按钮sbit key2=P3^1; //定义"停止"按钮sbit key3=P3^2; //定义”复位"按钮sbit wei1=P2^6; //定义位选sbit wei2=P2^7;uchar aa;uchar temp;uchar shi;uchar ge;uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; //共阴极数码真值表void delay(uint z){uint x,y;for(x=z;x>0;x—-)for(y=110;y〉0;y——);}void display(uchar shi,uchar ge) //显示子程序{shi=temp/10;ge=temp%10;//分离个位和十位wei1=0; //送位选P0=table[shi];//使用动态扫描的方法实现数码管显示delay(1);wei1=1; //关闭位选wei2=0;P0=table[ge];delay(1);wei2=1;}void init()//初始化程序{aa=0;temp=0;TMOD=0x01; //使用定时器T0的方式1TH0=0x4c;TL0=0x00;//定时50ms中断一次EA=1; //终端总允许ET0=1; //允许定时器T0中断}void timer0() interrupt 1{TH0=0x4c; //重装初值TL0=0x00;aa++;//中断计数值加1if(aa==20)//中断20次后,定时时间为20*50ms=1000ms=1s{aa=0;temp++;if(temp==60) //秒表到达60s后回零{temp=0;}}}void main(){init(); //调用初始化子程序while(1){if(key1==0) //检验启动按钮是否按下{delay(10);//延时去抖动if(key1==0);//再次检测启动按钮{while(!key1);//松手检测TR0=1; //启动定时器开始工作}}if(key2==0)//{delay(10);if(key2==0){while(!key2);TR0=0;}}if(key3=0){delay(10);if(key3==0){while(!key3);temp=0;shi=0;ge=0;TR0=0;}}display(shi,ge);}}实验结果:在proteus中编写程序,编译调试后生成hex文件,将hex文件加到仿真电路中,通过对简易秒表进行演示,达到设计要求..实验心得:在keil软件中,即使程序不会需要模仿别人的时候,也必须通过自身再打一遍程序,在多次的通过打印过程,渐渐记住并理解程序,也有助于我们以后的程序创新。
数字秒表设计实验报告(一)
数字秒表设计实验报告(一)数字秒表设计实验报告Introduction•实验目的:设计并实现一个数字秒表•实验时间:2021年10月10日至2021年10月15日•实验对象:本科计算机专业学生•实验设备:计算机、编程软件Experiment Procedure1.寻找合适的编程语言和开发工具2.设计秒表的用户界面3.编写代码实现秒表的计时功能4.测试并调试代码5.完善用户界面,添加重置和暂停功能6.进行性能测试,并分析结果Experimental Findings•选用Python编程语言和PyQt图形库进行开发•按照用户界面设计,实现了秒表的计时功能•通过测试,发现秒表计时准确性较高,误差范围小于0.1秒•添加了重置和暂停功能,提高了秒表的实用性•性能测试表明,在处理大数据量时,秒表的响应速度仍然较快Conclusion通过本次实验,我们成功设计并实现了一个功能完善的数字秒表。
通过合理的编程语言选择和用户界面设计,实验结果表明,我们的秒表具有准确的计时功能、良好的用户体验和较高的性能。
这对于计算机专业学生来说,具有较高的实用价值。
Future Work尽管我们已经取得了较好的实验结果,但仍有一些改进的空间。
在未来的工作中,我们计划:•进一步提高秒表的计时准确性,减小误差范围•探索更多的用户界面设计方案,增加更多便利的功能•优化性能,提高秒表在处理大数据量时的响应速度•结合云服务,实现秒表数据的备份和同步功能Acknowledgements感谢实验组的所有成员共同努力,以及指导老师的支持和指导,使得本次实验取得了圆满成功。
Reference无抱歉,关于数字秒表设计实验报告的文章已经终止。
简易秒表报告
《简易秒表》设计报告学院:信息学院专业:集成电路设计与集成系统班级:10集成姓名:熊梓淋学号:1015251032一方案设计1.1设计要求①要求设计一个跑步计时用秒表,可以分圈计时,精度为00.01秒;②显示位数为8位,前4位为本圈用时,后4位为总时间;③有启动、暂停、停止、清零功能;④其他可自由发挥。
1.2 系统分析这次设计的电路主要用于实现秒表的功能,并在数秒显示管上显示出来,同时还要求能过分圈计时,要实现分圈这个功能就需要设定两个时间——时间1和时间2,让时间1控制总的时间,时间2控制分圈时间,开始时让两个时间同时计数,当我们按下分圈那个按键时,时间2返回从零开始计数,而时间1则不变仍然计数,这样就达到了分圈的效果。
1.3系统方案方案一:利用逻辑电路设计一个简易的秒表,该电路主要可分为5个模块:毫秒脉冲发生器、计数器、译码显示器、时序控制器、存储电路。
采用555振荡器作为脉冲发生器,计数器和控制电路是系统的主要部分,计数器可用加(减)的计数方法,控制电路具有直接控制计数器的启动计数、暂停、清零、等功能。
显示电路则由译码器和数码显示管实现。
设计框图如二所示方案二:利用STC89C51单片机设计简易秒表。
单片机软件灵活并且具有强大的可修改度。
利用软件编程可实现控制部分和计数部分。
只需在单片机外围添加开关控制电路和数码显示部分就能实现该设计的要求。
如图三所示1.4 方案论证方案一是用逻辑门搭建的,基本也能满足电路设计要求,但要做好是有很大的难度的,线非常之多,元件分散、多,容易把线接错,而且浪费;所以考虑采用了方案二以STC89C51芯片为中心控制系统,实现显示、键盘控制、响铃等功能,大大提高了系统的智能化,也使得系统所测结果精度大大提高。
二硬件设计2.1 控制芯片的介绍STC89C51单片机的外型如图四所示。
单片机可分为通用型和专用型,种类繁多。
这里我们主要介绍STC89C51是一种低功耗、高性能、超抗干扰的单片机,指令代码完全兼容传统的8051单片机。
数字秒表课程设计报告
目录数字秒表设计实验任务书 (1)一、设计实验目的: (1)二、设计实验说明及要求: (1)三、数字秒表组成及功能: (1)四、系统硬件要求: (1)五、设计内容及步骤: (2)六、硬件实现 (2)实验报告 (2)一、数字秒表顶层设计 (2)二、数字秒表内部设计 (3)1、分频器 (3)2、十进制计数器 (4)3、六进制计数器 (5)4、二十四进制计数器 (7)5、数据选择和数码管选择模块 (8)6、数码管驱动模块: (9)三、数字秒表仿真波形 (11)四、硬件验证 (11)五、实验总结 (11)数字秒表设计实验任务书一、设计实验目的:在MAX+plusII软件平台上,熟练运用VHDL语言,完成数字时钟设计的软件编程、编译、综合、仿真,使用EDA实验箱,实现数字秒表的硬件功能。
二、设计实验说明及要求:1、数字秒表主要由:分频器、扫描显示译码器、一百进制计数器、六十进制计数器(或十进制计数器与6进制计数器)、十二进制计数器(或二十四进制计数器)电路组成。
在整个秒表中最关键的是如何获得一个精确的100H Z 计时脉冲,除此之外,数字秒表需有清零控制端,以及启动控制端、保持保持,以便数字时钟能随意停止及启动。
2、数字秒表显示由时(12或24进制任选)、分(60进制)、秒(60进制)、百分之一秒(一百进制)组成,利用扫描显示译码电路在八个数码管显示。
3、能够完成清零、启动、保持(可以使用键盘或拨码开关置数)功能。
4、时、分、秒、百分之一秒显示准确。
三、数字秒表组成及功能:1、分频率器:用来产生100H Z计时脉冲;2、二十四进制计数器:对时进行计数;3、六进制计数器:分别对秒十位和分十位进行计数;4、十进制计数器:分别对秒个位和分个位进行计数;5、扫描显示译码器:完成对7字段数码管显示的控制;四、系统硬件要求:1、时钟信号为10MHz;2、FPGA芯片型号EPM7128LC84—15、EP1K30TC144—3或EP1K100QC208—3(根据实验箱上FPGA芯片具体选择);3、8个7段扫描共阴级数码显示管;4、按键开关(清零、启动、保持);五、设计内容及步骤:1、根据电路持点,用层次设计概念。
EDA秒表设计 实验报告
EDA课程设计报告——基于VHDL语言的秒表设计课程名称:EDA技术院系:地球物理及信息工程学院专业班级:电子信息工程08级2班学生姓名:学号:指导老师:完成时间:2011年5月18日秒表设计一. 设计要求利用EDA实验箱,通过VHDL语言进行编程,设计一个简单的秒表,并用EDA实验箱进行实现,具体设计要求如下:(1)有使能、暂停、继续、秒表计数功能;(2)带有异步复位功能;(3)显示分、秒信息,若需要,显示秒表信息。
二. 设计的作用、目的在本次设计中,可以简单的了解EDA技术的应用以及VHDL语言编写的方法。
通过设计一个秒表,可以掌握用VHDL设计多位加法计数器的方法,尤其是调整时钟使得每过一秒就改变一个数,达到设计的要求。
三. 设计的具体实现1.系统概述本次系统设计主要分三个部分,一是通过VHDL语言设计一个八位的加法计数器,来实现秒表的计时功能;二是通过调整时钟使秒表计数为每秒改变一个数;三是加入一些控制按键,实现使能、暂停、继续等功能。
2.程序具体设计秒表显示共有6位,两位显示分,两位显示秒,十分秒和百分秒各一位。
设计时使用一个计数器,随着时钟上升沿的到来循环计数,每计数一次,百分秒位加一,通过百分秒位满十进位来控制十分位的计数,十分位满十进位,依次类推,实现秒表计数。
为实现秒位的计时精确,百秒位必须以0.01秒的时间间隔计数,即时钟的频率是100Hz。
为此,本设计采用3MHz的时钟频率通过分频得到100Hz的时钟频率,再送给控制时钟以得到比较精确的CLK信号。
具体程序设计见附录。
引脚定义如下:其中,时钟信号CLK为3MHz的时钟频率,分频后得到的时钟为CLK2,输出引脚CLK2和输入引脚CLK2在外部相连,实现将分频后的时钟送入。
3.调试应用MAX+plus II软件编译调试实验控制程序, 仿真运行结果如下:(1)给时钟后,实现开始功能:开始键按下(STA=‘1’)后,秒表计数开始。
(2)给时钟后,实现暂停功能:从上图可以看出暂停键按下后(POS=‘1’),输出(CQ)保持不变,直到暂停键再次按下(POS=‘0’),输出才继续计数,从而实现了暂停的功能。
秒表的设计性实验报告
秒表的设计性实验一、实验目的:1.了解数字秒表的工作原理。
2.掌握verilog HDL 编写中的一些小技巧。
二、实验任务:实现数字秒表功能,要求有分、秒、1%秒显示,该秒表要能够随时控制启/停,并能实现清零重新计时的功能。
三、实验原理:秒表的工作原理与多功能数字电子钟大致相同,唯一不同的是,由于秒表的分辨率为0.01 秒,所以整个秒表的工作时钟是在100Hz的时钟信号下完成。
假设该秒表的应用场合小于1小时,秒表的显示格式为mm-ss-xx(mm表示分钟:0~59;ss 表示秒:0~59;xx 表示百分之一秒:0~99)。
四、实验步骤:1.Verilog HDL语言编写出秒表电路程序;通过QuartusⅡ进行编辑、编译、综合、适配、仿真测试。
2.按要求锁定管脚,重新综合。
3.在EDA6000软件中建立实验模式。
4.下载设计文件,硬件验证秒表的工作性能。
五、实验程序:module miaobiao(clk,en,rst,dsec0,dsec1,sec0,sec1,secb,secm);input clk,rst,en;output [3:0]dsec0,dsec1,sec0,sec1,secb,secm;reg [3:0]dsec0,dsec1,sec0,sec1,secb,secm;always @ (posedge clk or negedge rst)beginif(!rst)begindsec0<=0;dsec1<=0;sec0<=0;sec1<=0;secb<=0;secm<=0;endelse if(en)beginif(dsec0<9)dsec0<=dsec0+1;elsebegindsec0<=0;if(dsec1<9)dsec1<=dsec1+1;elsebegindsec1<=0;if(sec0<9)sec0<=sec0+1;elsebeginsec0<=0;if(sec1<5)sec1<=sec1+1;elsebeginsec1<=0; if(secb<9)secb<=secb+1;elsebeginsecb<=0; if(secm<5) secm<=secm+1;elsesecm<=0;endendendendendendendendmodule六、实验心得通过本次的实验让我进一步了解了数字秒表的工作原理。
简易秒表设计报告
简易秒表设计报告一.前言在电子科学技术高速发展的今天,高科技产品越来越多的应用在我们的日常生活中,给我们的生活带来了非常大的方便,每时每秒我们都能感受到产品的更新换代。
产品和技术革新的日新月异都让人非常惊讶。
像平常我们工作所用的电脑、手机和生活所用的电视机,收音机,Mp3等等,这些高科技产品给我们带来了极大的方便,但这要归功于科学技术的高速发展。
简易秒表是我们的单片机课程设计题目。
简易秒表涉及到《模拟电子技术》和《电路分析》中的相关知识。
本文介绍的简易秒表电路设计新颖具有电路结构简单、成本较低、操作方便、灵敏可靠等优点,经使用效果良好,具有较高的推广价值。
二.系统设计要求⑴硬件设计:根据任务要求,完成单片机最小系统及其扩展设计。
⑵软件设计:根据硬件设计完成显示功能要求,完成控制软件的编写与调试;利用单片机定时器中断和定时器计数方式实现秒定时。
通过LED显示程序的调整,熟悉LED动态显示的控制过程。
⑶ 功能要求:用PB1启动秒表和停止秒表,PB2键将秒表归零,按一下PB1,即开始定时,在数码管上每秒加1,加到99,归零,秒表在暂停状态下,按下PB3键可对秒数加1,按下PB4键可对秒数减1。
(4)通过阅读和调试简易秒表整体程序,学会如何编制含LED动态显示、键盘扫描和定时器中断等多种功能的综合程序,初步体会大型程序的编制和调试技巧。
三.设计思路分析本设计以单片机为核心设计的简易秒表方案是:用按钮PB1启动秒表和停止秒表,开启后立刻进入计时状态,用定时器T0进行1s的计数,每隔1s就把预设时间加1,用一个两位的LED数码管显示时间,按钮PB2将秒表归零,如果第二次按一下S1键,计时会立即停止,在数码管上显示当前秒数,这时如果按下PB2键,数码管会显示00,直到再次按下PB1键计时才会开始,当秒数加到99后,下一秒数码管会归零,即从0开始重新每秒加1计时。
另外在P1口的0和1引脚各连接一个按钮,一个进行加1,另一个进行减1。
电子秒表的设计实验报告
电子秒表的设计实验报告
《电子秒表的设计实验报告》
摘要:本实验旨在设计一款简单易用的电子秒表,通过实验验证其准确性和稳定性。
实验结果表明,所设计的电子秒表具有较高的准确性和稳定性,能够满足实际使用需求。
引言:电子秒表是一种用于测量时间的工具,广泛应用于实验室、体育比赛和工业生产等领域。
设计一款准确可靠的电子秒表对于提高工作效率和数据准确性具有重要意义。
因此,本实验旨在设计一款简单易用的电子秒表,并通过实验验证其性能。
实验方法:首先,我们选取了一款常用的电子元件,包括计时电路、显示屏和按键等。
然后,我们根据设计要求,进行了电路连接和程序编写。
接着,我们对设计的电子秒表进行了一系列的实验,包括准确性测试、稳定性测试和耐用性测试等。
实验结果:经过实验验证,我们设计的电子秒表具有较高的准确性和稳定性。
在准确性测试中,我们对比了设计的电子秒表与标准秒表的计时结果,发现两者基本一致。
在稳定性测试中,我们对设计的电子秒表进行了长时间计时,结果显示其计时稳定性良好。
在耐用性测试中,我们对设计的电子秒表进行了反复按键操作,发现其按键灵敏度和耐用性均符合设计要求。
结论:通过本实验,我们成功设计了一款简单易用的电子秒表,并验证了其准确性和稳定性。
该电子秒表具有较高的性能表现,能够满足实际使用需求。
未来,我们将进一步改进设计,提高电子秒表的功能和性能,以满足更广泛的应用需求。
致谢:感谢实验室的老师和同学们对本实验的支持和帮助,感谢他们的耐心指导和建设性意见。
同时,也感谢所有参与本实验的人员,他们的辛勤劳动为本实验的顺利进行提供了保障。
数字秒表试验报告
基于LCD显示的秒表设计--------------- EDA电子综合设计姓名:班级:学号:指导老师:时间:2012.6.28基于LCD 显示的秒表设计一:设计目的:1、设计的秒表具有清零、暂停/继续技术功能,清零通过拨码开关控制,暂 停/继续通过按键控制,按下一次暂停,按下两次继续。
2、秒表计时范围0—9999.999秒,精度到ms 。
2、LCD 实施显示秒表计时状态。
3、系统时钟采用实验板上提供的50MHz 时钟信号源。
4、设计成同步电路模式。
二:设计原理本实验主要分为四大模块(按键处理,分频,计数,显示)。
下面我将分块阐述: 1:按键处理模块此模块是为了让key1按键即pause 没按下一次有不同的状态。
清零(clear=0)通过拨码开关控制,暂停/继续(pause)通过按键控制,按下一次(pause=1)暂停,按下两次(pause=0)继续。
同步复位键由按键开关控制。
Key D[1] clk主要思想是:通过两个D 触发器使按键通过D[0],和D[1]时产生一个时钟的延时,其目的是没按下一次按键产生一个延时一个时钟的脉冲en_tmp ,通过对en_tmp 的判断是否为高电平实现输出脉冲en 的翻转。
2.分频模块:因为计数模块精确到1ms 所以需将20ns 的系统时钟(clk )分频为1ms 时钟(clk_out);否是开始 Posedge clk? i++D 触发器 D 触发器否是3:计数模块:设计要求显示9999.999,所以每一位用4为二进制表示从0-9的显示,共有4x7=28位二进制数,为方便叙述和代码的书写我将这七个数从高到低定义为4位的Q,B,S,G ,P1,P2,P3。
是否否是i=24999? clk_out=~clk_out 结束 开始Rst=0? Pause=0? 计数 清零 clear=0? 复 位计数小部分:否 是否是否.... ...............结束 赋 值 Posedge clk_out?P3++ P3=9? P2++ 结束开 始 P2=9? P3++4.lcd显示模块:关键点在于ASCII码中数字0为30,1为31,······,因此只需将4b'0011赋值给lcd_data_out的高四位,Q,B,S,G,P1,P2,P3赋值给lcd_data_out的低四位即可显示Q,B,S,G,P1,P2,P3上对应的数值。
秒表设计报告
实验设计报告题目:专业:姓名:目录一、绪论 (3)二、课程设计任务与要求 (3)三、实验设计所需硬件 (4)四、实验设计原理图 (4)五、汇编实验程序 (5)六、实物图照片 (8)参考文献 (9)单片机秒表实验报告一、绪论秒表计时器是电器制造,工业自动化控制、国防、实验室及科研单位理想的计时仪器,它广泛应用于各种继电器、电磁开关,控制器、延时器、定时器等的时间测试。
在现在的体育竞技比赛中,随着运动员的水平不断提高,差距也在不断缩小。
有些运动对时间精度的要求也越来越高,有时比赛冠亚军之间的差距只有几毫秒,因此就需要高精度的秒表来记录成绩。
二、课程设计任务与要求(1)让一只LED灯自由闪烁(即间歇式亮灭)。
(2)让数码管的低两位显示一个两位数50。
(3)使用一按键控制上述数字的加1,每按一下数字加1,当加到59时,再按一下,则从0开始,即在0到59循环加。
(4)使用另一按键控制上述数字的减1,每按一下数字减1,当减到0时,再按一下,则从59开始,即在0到59循环减。
(5)做一顺时计时秒表,以一秒为单位计时,分和秒之间用一小数点作间隔(6)用一个按键控制该计时秒表的暂停与继续,另一个按键使秒表复位(即数码管归位到0)。
(7)能用按键设定某一时刻,当计时到达这一时刻时,LED灯闪烁,且秒表停止变为0。
三、实验设计所需硬件6 脚自锁式开关1 个STC89C52 1 个74HC573H 1 个20 脚芯片座子1 个MAX232 1 个16 脚芯片座子1 个9 针串口公头1 个晶振12M 1 个电解电容10uF 6 个瓷片电容30pF 2 个共阴数码管 1 个40 脚芯片座子1 个按键 5 个电阻10k欧 2 个电阻500欧 1 个四、实验设计原理图五、汇编实验程序#include<reg52.h>#define uchar unsigned charcode uchar tab[]= {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //共阴数码管0-9 uchar miao,num=51,count,smg,m ,mshi,mge,fshi ,fge;sbit key1 = P1^4; //控制秒钟加sbit key2 = P1^5; //控制秒钟减sbit key3 = P1^6; //控制按键切换sbit key4 = P1^7; //控制分钟加减sbit led = P2^0; //控制LED等闪烁sbit P1_0 = P1^0; //控制第一位数码管sbit P1_1 = P1^1; //控制第二位数码管sbit P1_2 = P1^2; //控制第三位数码管sbit P1_3 = P1^3; //控制第四位数码管void delay(uint z) //延时函数,z的取值为这个函数的延时ms数,如delay(200);大约延时ms.{ //delay(500);大约延时ms.uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}EA = 1;TMOD= 0X11;TH0 = 0X3C;TL0 = 0XB0;TH1 = 0X3C;TL1 = 0XB0;ET0 = 1;TR0 = 1;ET1 = 1;void TIME0() interrupt 1{TH0=(65535-50000)/255;TL0=(65535-50000)%255;count++;if(count==20){ count=0;num++;}if(num==60)num=0;}void display(uchar num) {P1=0xff;P1_2=0;P0=tab[num%10];delay(1);P1=0xff;P1_1=0;P0=tab[num/10];delay(1);P1=0xff;}void keyscanf(){if(key1==0){delay(20);if(key1==0);{num++;if(num==59)num=0;while(!key1);}}if(key2==0){delay(20);if(key2==0);{num--;if(num==-1)num=59;while(!key2);}}if(key3==0){delay(20);if(key3==0);{ss++;if(ss%2==1)TR0=1;elseTR0=0;while(!key3);}}if(key4==0){delay(20);if(key4==0);num=0;while(!key4);}}void stopwatch(){TR1 = 1;if(m == 20){m = 0;smg++;if(smg == 60){smg = 0;num++;if(num == 60)num = 0;}mshi = smg/10;mge = smg%10;fshi = num/10;fge = num%10;}}void main(){TIME0init();while(1){keyscanf();display(num);}}六、实物图照片参考文献[1]张毅刚主编.《单片机原理及应用》.高教出版社.2003[2] 严洁主编,《单片机原理及其接口技术》机械工业出版社.2010[3] 申忠如主编,《MCS-51单片机原理及系统设计》西安交通大学出版社.2008。
简易数字秒表的设计
简易数字秒表的设计简易数字秒表的设计⼀、实验⽬的1、设计⼀个显⽰范围为24⼩时60分钟60秒的简易数字秒表。
2、掌握动态扫描电路的设计⽅法。
⼆、实验原理1、能进⾏正常的时、分、秒计时功能,分别由6个数码管显⽰24⼩时、60分钟、60秒钟的计数器显⽰。
2、能利⽤实验系统上的按键实现“校时”“校分”功能:⑴按下“SA”键时,计时器迅速递增,并按24⼩时循环,计满23⼩时后回“00”;⑵按下“SB”键时,计分器迅速递增,并按59分钟循环,计满59分钟后回“00”,但不向“时”进位;⑶按下“SC”键时,秒清零;⑷要求按下“SA”、“SB”或“SC”时均不产⽣数字跳变(SA”、“SB”、“SC”按键是有抖动的,必须对其消除抖动处理)。
3、能利⽤扬声器做整点报时:⑴当计时到达59分50秒时开始报时,在59分50秒、52秒、54秒、56秒、58秒鸣叫,鸣叫声频率可定为500Hz;⑵到达59分60秒时为最后⼀声整点报时,整点报时频率可定为1KHz。
三、实验内容1、⽤VHDL语⾔编程设计简易数字秒表(VHDL程序代码可附在实验报告后⾯)。
2、锁定引脚并下载验证结果。
四、实验结果1、程序代码LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY TIMES ISPORT(CLK:IN STD_LOGIC;START,CLR:IN STD_LOGIC;DOUT:OUT STD_LOGIC_VECTOR(23 DOWNTO 0));END TIMES;ARCHITECTURE ART OF TIMES ISSIGNAL SECOND,MINUTES,HOURS:STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNALSEC_CO,MIN_CO,HOU_CO:STD_LOGIC;BEGIN-------------------------------------------------------秒计数处理进程SEC:PROCESS(CLK,CLR)BEGINIF CLR='1' THEN SECOND(7 DOWNTO 0)<="00000000";ELSIF CLK'EVENT AND CLK='1' THENIF START='1' THENSECOND(3 DOWNTO 0)<=SECOND(3 DOWNTO 0)+1;IF SECOND(3 DOWNTO 0)="1001" THENSECOND(3 DOWNTO 0)<="0000";SECOND(7 DOWNTO 4)<=SECOND(7 DOWNTO 4)+1; END IF;IF SECOND(7 DOWNTO 0)="10011001" THENSECOND(7 DOWNTO 0)<="00000000"; SEC_CO<='1';ELSE SEC_CO<='0'; END IF;END IF;END IF;END PROCESS SEC;--------------------------------------------------------分钟计数处理进程MIN:PROCESS(SEC_CO,CLR)BEGINIF CLR='1' THEN MINUTES(7 DOWNTO 0)<="00000000";ELSIF SEC_CO'EVENT AND SEC_CO='1' THENMINUTES(3 DOWNTO 0)<=MINUTES(3 DOWNTO 0)+1;IF MINUTES(3 DOWNTO 0)="1001" THENMINUTES(3 DOWNTO 0)<="0000";MINUTES(7 DOWNTO 4)<=MINUTES(7 DOWNTO 4)+1; END IF;IF MINUTES(7 DOWNTO 0)="01011001" THENMINUTES(7 DOWNTO 0)<="00000000";MIN_CO<='1';ELSEMIN_CO<='0';END IF;END IF;END PROCESS MIN;---------------------------------------------------------⼩时计数处理进程HOU:PROCESS(MIN_CO,CLR)BEGINIF CLR='1' THEN HOURS(7 DOWNTO 0)<="00000000";ELSIF MIN_CO'EVENT AND MIN_CO='1' THENHOURS(3 DOWNTO 0)<=HOURS(3 DOWNTO 0)+1;IF HOURS(3 DOWNTO 0)="1001" THENHOURS(3 DOWNTO 0)<="0000";HOURS(7 DOWNTO 4)<=HOURS(7 DOWNTO 4)+1;END IF;IF HOURS(7 DOWNTO 0)="00010011" THENHOURS(7 DOWNTO 0)<="00000000";HOU_CO<='1';ELSE HOU_CO<='0'; END IF;END IF;END PROCESS HOU;DOUT<=HOURS&MINUTES&SECONDEND ART;2、画出仿真波形图。
电子秒表的设计实验报告
电子秒表的设计实验报告电子秒表的设计实验报告一、引言在现代科技高度发达的社会中,电子秒表作为一种常见的计时工具,被广泛应用于各个领域。
本次实验旨在设计一个简单且实用的电子秒表,通过实际操作和数据分析,探索电子秒表的原理和功能。
二、实验目的1. 了解电子秒表的基本原理和结构;2. 掌握电子秒表的设计方法和实验操作;3. 分析电子秒表的精度和稳定性。
三、实验材料与方法1. 实验材料:电子元件、电路板、电源、计算机等;2. 实验方法:a. 按照电子秒表的设计要求,搭建电路;b. 连接电源,启动电子秒表;c. 进行计时实验,记录数据;d. 分析实验结果。
四、实验步骤1. 设计电路图:根据电子秒表的功能需求,设计电路图,并确保电路的稳定性和可靠性。
2. 搭建电路:根据电路图,将电子元件连接到电路板上,并进行焊接。
3. 连接电源:将电路板与电源连接,确保电子秒表正常工作。
4. 启动电子秒表:按下启动按钮,开始计时。
5. 进行计时实验:使用标准计时器,同时启动电子秒表和标准计时器,进行时间对比。
6. 记录数据:记录电子秒表和标准计时器的计时结果,并计算误差。
7. 分析实验结果:比较电子秒表和标准计时器的计时精度和稳定性,分析实验结果的可靠性。
五、实验结果与分析通过多次实验,记录了电子秒表和标准计时器的计时结果,并计算了误差。
实验结果显示,电子秒表的计时误差较小,精度和稳定性较高,能够满足实际使用的需求。
然而,由于实验条件的限制,电子秒表的计时精度仍有进一步提高的空间。
六、实验总结本次实验成功设计了一个简单实用的电子秒表,并通过实验验证了其计时精度和稳定性。
电子秒表作为一种常见的计时工具,在科学研究、体育竞技等领域具有广泛的应用前景。
然而,电子秒表的设计和制造仍需不断改进,以提高其计时精度和稳定性。
七、改进方向1. 优化电路设计:通过改进电路结构和选用更好的电子元件,提高电子秒表的计时精度和稳定性。
2. 加强测试和校准:定期对电子秒表进行测试和校准,确保其计时结果的准确性。
单片机秒表实验报告
单片机秒表实验报告单片机秒表实验报告引言在现代科技快速发展的时代背景下,单片机作为一种重要的电子元器件,被广泛应用于各个领域。
秒表作为测量时间的工具,在运动、实验、比赛等场景中起到了至关重要的作用。
本实验旨在通过使用单片机设计和制作一个简单的秒表,探索单片机在时间测量方面的应用。
实验原理秒表的原理基于计时器的工作原理。
计时器通过内部的计数器来记录时间,当计数器达到设定值时,会触发中断,从而实现时间的测量和显示。
在本实验中,我们使用8051系列单片机,通过编程设置计数器的初始值和中断触发条件,实现秒表的功能。
实验步骤1. 硬件设计首先,我们需要准备一个适当的电路板,用于连接单片机、显示器和按键等元件。
在电路板上,我们将单片机与显示器和按键进行连接,以实现数据的输入和输出。
同时,我们需要添加一个晶振电路,以提供单片机的时钟信号。
2. 软件设计在软件设计方面,我们需要使用汇编语言或C语言来编写单片机的程序。
程序的主要功能包括初始化、计时、显示和中断处理等。
在初始化阶段,我们需要设置计数器的初始值和中断触发条件。
在计时阶段,我们需要不断地读取计数器的值,并将其转换为秒、分、时等形式进行显示。
同时,我们还需要编写中断处理函数,以响应中断并更新计时器的值。
3. 实验验证在完成硬件和软件设计后,我们可以进行实验验证。
首先,我们将电路板连接到电源,并确保电路正常工作。
然后,我们可以通过按下按键来启动和停止秒表。
在启动状态下,秒表会不断地更新显示,并实时计算经过的时间。
在停止状态下,秒表会保持显示当前的时间。
实验结果经过实验验证,我们成功地设计和制作了一个简单的秒表。
秒表能够准确地测量时间,并将其以易于理解的形式进行显示。
同时,秒表还具备启动和停止功能,方便用户根据需要进行时间测量。
实验总结通过本次实验,我们深入了解了单片机在时间测量方面的应用。
通过合理的硬件设计和编程,我们成功地实现了一个简单而实用的秒表。
在实验过程中,我们不仅学习了单片机的工作原理和编程技巧,还培养了动手实践和解决问题的能力。
数字式秒表实验报告
数字式秒表实验报告摘要本次设计任务是设计一个数字式秒表经查阅资料后我把实验分为1.脉冲产生部分。
2.电路控制部分。
3.计数部分4.译码部分。
5显示部分。
脉冲产生部分我选择555多谐振荡器,产生100Hz的脉冲。
经参考资料,电路控制部分:启动和暂停控制开关使用由RS触发器组成的无抖动开关。
使用74ls160计数器计数,7447译码器驱动共阳极七段显示器。
实验要求1.秒表最大计时值为99分59.99秒;2. 6位数码管显示,分辨率为0.01秒;3 .具有清零,启动计时,暂停及继续计数等控制功能;4.控制操作间不超过二个。
实验分析数字式秒表,所以必须有一个数字显示。
按设计要求,须用七段数码管来做显示器。
题目要求最大记数值为99,59,99,那则需要六个数码管。
要求计数分辨率为0.01秒,并且需要相应频率的信号发生器。
选择信号发生器时,有两种方案:一种是用晶体震荡器,另一种方案是采用集成电路555定时器与电阻和电容组成的多谐振荡器。
经过查询资料,555多谐振荡器性能稳定,故采用555多谐振荡器。
数字式秒表是一个频率(100HZ)进行计数的计数电路。
由于数字式秒表计数的需要,故需要在电路上加一个控制电路,该控制电路清零、启动计时、暂停及继续计数等控制功能,同时100HZ的时间信号必须做到准确稳定。
数字电子钟的总体图如图所示。
由图可见,数字电子钟由以下几部分组成:555振荡器秒脉冲发生器,防抖开关;秒表控制开关;一百进制秒、分计数器、六十进制秒计数器;以及秒、分的译码显示部分等七段显示器译码器译码器译码器1005551. 555构成的多谐振荡器555构成的多谐振荡器电路图555多谐振荡器工作波形多谐振荡器工作波形周期计算2.多谐振荡器仿真图根据设计要求,需要产生一个频率为100HZ的信号,由于f=1/T,带入可以算出R1=R1=4.7KΩ,在仿真软件上仿真的时候可以设置电阻为4.7KΩ,加上一个50Ω的电位器来调节脉冲信号的精确度。
数字秒表设计总结报告
数字秒表课程设计总结报告一、课题名称数字秒表设计二、内容摘要本实验要求设计一个计数范围在0.0—9.9秒的数字秒表。
电路设计基本包括0.1秒脉冲发生器,信号控制端,整形电路,计数电路,译码电路和显示器这几部分构成。
0.1秒脉冲发生器由555定时器构成的多谐振荡电路实现,由3端口接入计数器的时钟端。
信号控制端由RS触发器实现,能够对整个电路进行清零、计数、停止和复位的作用。
整形电路有单稳态触发器构成,对RS触发端输出的信号进行整形,但不改变其逻辑符号。
本实验的技术器由两个十进制BCD码74LS160级联而成。
在计数器的四个输出端分别接译码器的四个置数端,译码器由74LS48实现。
这个电路设有两个开关K1,K2,通过K1,K2的置0和置1来实现对电路的清零、计数、暂停、复位的控制。
这样,一个简易的数字秒表便设计完成了。
三、课题任务,指标,功能要求课题任务:用中小规模集成电路设计一个数字秒表。
指标:计数范围在0.0—9.9秒之间。
功能要求:有清零、计数、停止和复位的功能。
四、单元框图五、单元电路设计,参数计算,元器件选择1、0.1秒脉冲发生器:参数计算:T=0.7(Ra+2Rb)C555定时器构成多谐振荡器,其芯片功能表如下:TH TR非R非OUT DISX X L L 导通>2/3Vcc >1/3Vcc H L 导通<2/3Vcc >1/3Vcc H 原状态原状态<2/3Vcc <1/3Vcc H H 关断注明:6脚为THR,触发器输入端,低电平有效。
2脚为TRI,阀值输入端,高电平有效。
4脚为RST,总复位端,低电平有效。
7脚为DIS,放电端。
5脚为CON,控制端。
1脚接地,8脚接电源。
3脚为输出端。
TD为内部三极管。
其管脚图如下所示:2、信号控制端,RS触发器,实现对这个电路的清零、计数、停止、复位功能。
RS触发器,其功能表如下:Rd非Sd非Q n+1Q n+1非1 1 Q n Q n非0 1 0 11 0 1 00 0 1* 1*注:RS触发器可由导线与74LS00二输入与非门构成Rd非和Sd非都为1时,基本RS触发器实现信号保持功能,即Q n+1=Q n,Q n+1非=Q n非;当Rd非=0时,基本RS触发器直接置零;当Sd非=0时,基本RS触发器置1.3、计数器用74LS160实现:输入输出CP Rd非LD非EP ET A B C D QA QB QC QD ×L ×××××××L L L L ↗H L ×× A B C D A B C D ×H H L ×××××保持×H H ×L ××××保持↗H H H H ××××计数↗H L ××L L L L L L L L 注:当Rd非=0时,计数器清零;当Rd非=1,LD非=0时,计数器预置数;当前两者都为1,EP或ET为0时,计数器有保持功能;当四者全为1时,计数器进行计数功能。
秒表 实验报告
秒表实验报告秒表实验报告一、引言秒表是一种常用的计时工具,广泛应用于科学实验、体育竞技、工业生产等领域。
本次实验旨在通过使用秒表进行计时,探究其精确度和可靠性,并对实验结果进行分析和讨论。
二、实验方法1. 实验材料:秒表、实验器材(如小球、弹簧等)。
2. 实验步骤:a. 准备实验器材,并将秒表置于易于观察的位置。
b. 进行实验前的校准,确保秒表的准确性。
c. 进行实验,使用秒表记录实验过程中的时间。
d. 重复实验多次,以提高结果的可靠性。
e. 记录实验数据,并进行数据分析。
三、实验结果在本次实验中,我们进行了多个实验项目,包括计时小球下落时间、测量弹簧振动周期等。
以下是实验结果的一部分:1. 计时小球下落时间:实验1:0.82秒实验2:0.83秒实验3:0.81秒2. 测量弹簧振动周期:实验1:1.24秒实验2:1.26秒实验3:1.25秒四、数据分析通过对实验结果的观察和分析,我们可以得出以下结论:1. 在同一实验条件下,多次重复实验的结果相对稳定,显示了秒表的可靠性。
2. 实验结果的微小差异可能是由于实验器材的误差或操作的不精确造成的。
3. 秒表的精确度可能受到外界因素的干扰,如温度、湿度等。
五、讨论与改进1. 在实验过程中,我们注意到秒表的操作要求较高,需要手指的灵敏度和反应速度。
因此,操作者的技巧和经验对实验结果可能产生一定影响。
2. 为了提高实验结果的准确性,可以采取以下改进措施:a. 使用更高精度的秒表,以减小误差。
b. 进行更多次的重复实验,以提高结果的可靠性。
c. 控制实验环境的稳定性,减少外界因素的干扰。
d. 提高操作者的技能水平,以减少人为误差的发生。
六、结论通过本次实验,我们对秒表的精确度和可靠性有了更深入的了解。
秒表作为一种常用的计时工具,在科学实验和其他领域中具有重要的应用价值。
然而,我们也认识到实验结果的准确性受到多种因素的影响,需要在实验设计和操作过程中进行合理的控制和改进。
数字秒表设计实验报告
数字秒表设计实验报告数字秒表设计实验报告1. 引言•简要介绍实验的目的和意义2. 设计原理•介绍数字秒表的基本原理和工作流程3. 实验步骤•列出实验的具体步骤和操作流程4. 实验结果分析•分析实验过程中的数据和观测结果•对实验结果进行解释和讨论5. 实验结论•给出实验的总结和结论6. 实验改进•提出对实验的改进建议和优化方案7. 参考资料•引用相关的文献和资料来源8. 附录•将实验过程中的数据、图表等附加在文末作为附录以上为一个大致的框架,具体内容根据实验的实际情况进行填写。
本实验报告使用Markdown格式,通过使用标题和列表等语法,使文章更加清晰易读。
注意,为了遵守规则,本文中不包含实际的字母、图片或网址。
希望这份指导对你有所帮助!数字秒表设计实验报告1. 引言•实验目的:本实验旨在设计一个数字秒表,用于测量时间,并掌握数字电路的设计原理和实践技能。
•实验意义:准确测量时间是科学研究和生产实践中的重要要求,数字秒表作为计时测量的常用工具,具有广泛的应用价值。
2. 设计原理•数字秒表的基本原理是利用稳定的时钟信号源产生时间基准,通过计数器、时钟分频电路和显示模块实现对时间的测量和显示。
3. 实验步骤1.首先确定秒表的最高位数,根据实际需求选择适当的位数。
2.设计计数器电路,使用计数器芯片进行计数,根据最高位数确定计数器的范围。
3.设置时钟分频电路,通过将时钟信号分频得到适合计数器工作的时钟频率。
4.连接计数器和时钟分频电路,确保二者能够正确配合。
5.设计显示模块,将计数器的输出转换为数字形式,用于显示具体的时间数值。
6.连接显示模块和计数器,进行正确的信号传递和信息显示。
7.进行测量和验证,检查秒表的测量准确性并进行调整。
4. 实验结果分析•对实验过程中的数据和观测结果进行分析•通过比较测量结果与标准时间的差异,评估秒表的准确性•分析秒表存在的潜在问题并提出解决方案5. 实验结论•总结实验设计和实验过程•归纳出实验结果和分析的要点•得出对设计的数字秒表的结论,包括准确性、可靠性和实用性等方面的评价6. 实验改进•针对实验中发现的问题,提出改进的建议和优化方案•探讨可能的改进措施,包括电路设计、算法优化、显示方式等方面的改进7. 参考资料•[1] 电子技术实验教程,XXX出版社•[2] 数字电路原理与设计,XXX出版社8. 附录•实验数据表格•电路图和连接图•实验中使用的元器件清单以上为数字秒表设计实验报告的大致框架,实验的具体内容和结果分析部分需要根据实际情况进行填写。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实 验 报 告 系别信工系专业班级姓名学号 课题名称:
简易秒表设计
实验目的:
1、 熟悉Keil C51软件的使用方法及proteus 仿真软件的使用;
2、 综合运用所学的理论知识(数码管、按键),通过实践加强对所学知识的理解,具备设计单片机应用系统的能力。
3、 通过本次试验,增强自己的动手能力。
认识单片机在日常生活中的应用的广泛性,实用性。
设计要求:
制作简易秒表,用三个按键分别实现秒表的启动、停止与复位,利用两位共阴级的数码管显示时间。
设计思路:
硬件设计:数码管部分采用2位共阴极的数码管,在P0口接上拉电阻,公共端低电平扫描。
按键电路部分,将按键一侧与单片机任一I/O 口相连。
软件设计:模块化思想,使用定时器T0的工作方式1,编写显示子程序,延时子程序,初始化程序,主程序设计时注意按键消抖。
原理图:
XTAL218XTAL119ALE 30EA 31PSEN 29RST 9P0.0/AD0
39P0.1/AD1
38P0.2/AD2
37P0.3/AD3
36P0.4/AD4
35P0.5/AD5
34P0.6/AD6
33P0.7/AD7
32P1.01P1.12P1.23P1.34P1.45P1.56P1.6
7P1.7
8P3.0/RXD
10P3.1/TXD
11P3.2/INT0
12P3.3/INT1
13P3.4/T0
14P3.7/RD 17P3.6/WR
16P3.5/T1
15P2.7/A15
28P2.0/A8
21P2.1/A9
22P2.2/A10
23P2.3/A11
24P2.4/A12
25P2.5/A13
26P2.6/A14
27U1AT89C51C1
1nF
C21nF R110k C31uF 234567891
RP1
RESPACK-8
源代码:
#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char
sbit key1=P3^0; //定义"启动"按钮
sbit key2=P3^1; //定义"停止"按钮
sbit key3=P3^2; //定义"复位"按钮
sbit wei1=P2^6; //定义位选
sbit wei2=P2^7;
uchar aa;uchar temp;uchar shi;uchar ge;
uchar code table[]={
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; //共阴极数码真值表void delay(uint z)
{
u int x,y;
f or(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void display(uchar shi,uchar ge) //显示子程序
{
shi=temp/10;
ge=temp%10; //分离个位和十位
wei1=0; //送位选
P0=table[shi];//使用动态扫描的方法实现数码管显示
delay(1);
wei1=1; //关闭位选
wei2=0;
P0=table[ge];
delay(1);
wei2=1;
}
void init() //初始化程序
{
aa=0;
temp=0;
TMOD=0x01; //使用定时器T0的方式1
TH0=0x4c;
TL0=0x00; //定时50ms中断一次
EA=1; //终端总允许
ET0=1; //允许定时器T0中断
}
void timer0() interrupt 1
{
TH0=0x4c; //重装初值
TL0=0x00;
aa++; //中断计数值加1
if(aa==20) //中断20次后,定时时间为20*50ms=1000ms=1s
{
aa=0;
temp++;
if(temp==60) //秒表到达60s后回零
{
temp=0;
}
}
}
void main()
{
init(); //调用初始化子程序
while(1)
{
if(key1==0) //检验启动按钮是否按下
{
delay(10);//延时去抖动
if(key1==0);//再次检测启动按钮
{
while(!key1);//松手检测
TR0=1; //启动定时器开始工作
}
}
if(key2==0) //
{
delay(10);
if(key2==0)
{
while(!key2);
TR0=0;
}
}
if(key3=0)
{
delay(10);
if(key3==0)
{
while(!key3);
temp=0;
shi=0;
ge=0;
TR0=0;
}
}
display(shi,ge);
}
}
实验结果:
在proteus中编写程序,编译调试后生成hex文件,将hex文件加到仿真电路中,通过对简易秒表进行演示,达到设计要求。
实验心得:
在keil软件中,即使程序不会需要模仿别人的时候,也必须通过自身再打一遍程序,在多次的通过打印过程,渐渐记住并理解程序,也有助于我们以后的程序创新。
内容:实验题目;实验目的;实验原理;实验步骤;数据处理;结果分析
年月日分数精品文档word文档可以编辑!谢谢下载!。