单片机AT89C51六位数码管秒表

这篇具有很好参考价值的文章主要介绍了单片机AT89C51六位数码管秒表。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

详细代码讨论加我QQ:1271370903

1.1设计目的

  本设计的数字电子秒表系统采用AT89C51单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合显示电路、LED数码管以及外部中断电路来设计计时器。将软、硬件有机地结合起来,使得系统能够实现LED显示,显示时间为0~9999.99秒,计时精度为0.01秒,能正确地进行计时。其中软件系统采用C语言编写程序,包括显示程序,定时中断服务,外部中断服务程序,延时程序等,并在WAVE中调试运行,硬件系统利用PROTEUS强大的功能来实现,简单且易于观察,在仿真中就可以观察到实际的工作状态。

1.2设计方案

  本文主要研究基于单片机的秒表设计,主要是控制电路设计,数码管显示的设计,和软件程序的编写。该计时采用单片机定时器精确延时,秒表计时精度0.01秒。有启动,暂停,复位,提醒等功能。

1.3设计任务

  采用四位数码管显示,AT89C51单片机控制,按键启动,暂停,复位,提醒功能等,计时精度00.00-9999.99秒。

1.4 设计要求

  课题需要以MCS-51系列单片机为核心,结合外围电路,制作一款时间参数测量系统。
具体要求如下:
(1)提出基于单片机的时间测量系统实现方案。
(2)制作完整的硬件电路图并编写完整的源程序,实现时间参数的测量。
(3)误差要求小于1%。

2.总体方案设计

  按模块划分可分为单片机最小系统电路、按键控制、数码管显示、三个子模块。电路结构划分可以划分为:晶振电路、复位电路、按键电路、显示电路。本次设计的核心是单片机控制模块,所以此设计是单片机应用系统的一种应用。系统采用AT89C51单片机作为核心控制单元,开始按键按下,数码管开始从0.00计时,直到按下暂停按钮,数码管时间显示,如继续计时,继续按下开始按钮,如果此次计时结束重新计时,按下清零按钮从0.00开始。
利用单片机的定时器/计数器定时和计数,并使用led数码管显示计时的时间来制作一个,51单片机,单片机,stm32,嵌入式硬件

3.系统软件流程图

利用单片机的定时器/计数器定时和计数,并使用led数码管显示计时的时间来制作一个,51单片机,单片机,stm32,嵌入式硬件

4. 电路总体仿真图

利用单片机的定时器/计数器定时和计数,并使用led数码管显示计时的时间来制作一个,51单片机,单片机,stm32,嵌入式硬件

5.仿真开始

时间显示从0.00开始
利用单片机的定时器/计数器定时和计数,并使用led数码管显示计时的时间来制作一个,51单片机,单片机,stm32,嵌入式硬件

按下开始键开始计时,暂停键看当前时间18.52秒
利用单片机的定时器/计数器定时和计数,并使用led数码管显示计时的时间来制作一个,51单片机,单片机,stm32,嵌入式硬件

结束,按清零键,回到原始
利用单片机的定时器/计数器定时和计数,并使用led数码管显示计时的时间来制作一个,51单片机,单片机,stm32,嵌入式硬件文章来源地址https://www.toymoban.com/news/detail-772877.html

6.相关代码

uchar tt,i,flag,mm;
uint num,num1,num2;
 uchar code table[]={					 //数码管段选
 0x3f,0x06,0x5b,0x4f,
 0x66,0x6d,0x7d,0x07,
 0x7f,0x6f,0x77,0x7c,
 0x39,0x5e,0x79,0x71};
 uchar code table1[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf};	   //数码管位选


void delay(uint xms)  //延时
{
	uint xx,yy;
	for (xx=xms;xx>0;xx--)
		for(yy=110;yy>0;yy--);
}


void display() //显示函数,数码管动态扫描
{
 uchar qian,bai,shi,ge;	

	qian=num/1000;
	bai=num%1000/100;
	shi=num%100/10;
	ge=num%10;


	
 	P0=0x00;
	P0=table[num2/10];
	P2=table1[0];
	delay(5); 

	 P0=0x00;
	P0=table[num2%10]|0x80;
	P2=table1[1];
	delay(5); 

	P0=0x00;
	P0=table[qian];
	P2=table1[2];
	delay(5); 

	P0=0x00;
	P0=table[bai]|0x80;
	P2=table1[3];
	delay(5); 

	P0=0x00;
	P0=table[shi];
	P2=table1[4];
	delay(5); 

	P0=0x00;
	P0=table[ge];
	P2=table1[5];
	delay(5); 
}

  

void keyscan()			  //按键扫描函数
{
  if(s1==0)			   //s1按键被按下	   暂停
  {
    delay(10);
	if(s1==0)
	{
	  while(!s1);				  //等待按键释放
	  TR0=0;	  				   //定时器开
	}
  }

  if(s2==0)					//s2按键被按下 ,开始
  {
    delay(10);
	if(s2==0)
	{
	  while(!s2);
	  TR0=1;						  //
	}
	 
  }
   if(s4==0)					   //s4按键被按下
  {
    delay(10);
	if(s4==0)
	{
	  while(!s4);
	  TR0=0;
	  num=0;
	  num2=0;
	  }

	}

  }

到了这里,关于单片机AT89C51六位数码管秒表的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于AT89C51单片机的交通灯设计

    点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87779238?spm=1001.2014.3001.5503 源码获取 主要内容: 在日常生活中,交通灯是一项必不可少的公共设施,可 以维护道路的畅通和交通的秩序。如若交通灯发生故障,那 么后果可想而知。因此,交通灯

    2024年02月08日
    浏览(58)
  • 基于AT89C51单片机的温度检测报警设计

    点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87777752?spm=1001.2014.3001.5503 源码获取 主要内容: 基于51单片机设计一个温度检测报警器,至少具有以下功能:温度的检测和超过设定值时的报警功能 基本要求: 1、功能齐全,要配有功能说明;

    2024年02月03日
    浏览(60)
  • AT89C51单片机实现单片机串口互动(中断方式,单片机--单片机,应答)

     说一下功能:客户机发送0x01到服务机 2服务单片机应答0xf2到客户机 3客户机接收到0xf2,发送信息153432这6个数字到服务机 4client发送完信息后发送0xaa结束通信 5server接收到0xaa后回复0xaa结束通信,从此老死不相往来 看代码: 服务端代码:    

    2024年02月13日
    浏览(57)
  • 毕业设计 单片机推箱子游戏(AT89C51)

    一、电路设计 此电路由AT89C51最小系统、LCD12864显示模块、74LS08芯片和四个独立按键组成。 LCD12864显示模块 带中文字库的128X64 是一种具有4 位/8 位并行、2 线或3 线串行多种接口方式,内部含有国标一级、二级简体 中文字库的点阵图形液晶显示模块;其显示分辨率为128×64, 内置

    2024年02月21日
    浏览(71)
  • 基于AT89C51单片机的电子万年历系统

    点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87708258 源码获取 主要内容: 电子万年历系统以实时时钟芯片DS1302和AT89C52单片机为主要研究对象,着重进行51单片机控制系统的设计研究和如何读取DS1302内部时钟信息的研究。以及运用18B20进行实

    2024年02月09日
    浏览(51)
  • 基于AT89C51单片机的电子时钟设计与仿真

    点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87779867?spm=1001.2014.3001.5503 源码获取 主要内容: 使用DS1302芯片作为计时设备,用6个7段LED数码管或者LCD162作为显示设备,实现时钟功能; 基本要求: (1)可以分别设定小时、分钟和秒,复位后时

    2024年02月06日
    浏览(54)
  • 基于AT89C51单片机的简易计算机设计

    点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87715642?spm=1001.2014.3001.5503 源码获取 主要内容: 本设计是以单片机AT89C51为核心的简易计算器设计,要通过芯片AT89C51实现计算器程序运行来完成加、减、乘和除的简单计算功能。 基本要求: 1、采

    2024年02月08日
    浏览(54)
  • 单片机设计_8路抢答器(AT89C51)

    想要更多项目私wo!!!         此电路由AT89C51最小系统、四位数码管、蜂鸣器电路和按键模块组成。 运行原理:         该抢答器电路可同时进行八路优先抢答。按键按下后,蜂鸣器发声,同时数码管 显示优先抢答者的号码,抢答成功后,再按按键,显示不会改变,除非

    2024年02月11日
    浏览(49)
  • 基于AT89C51单片机的电子秒表设计与仿真

    点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87775018添加链接描述 源码获取 主要内容: 设计一个电子秒表,至少具有以下功能:开始/暂停、记录、复位等。设计方案主要分为实验的系统分析,具体的设计方案,以及最终的测试,最终完成实

    2024年02月16日
    浏览(58)
  • 基于AT89C51单片机的倒数计时器设计

    1.设计任务 利用AT89C51单片机为核心控制元件,设计一个简易的数字电压表,设计的系统实用性强、操作简单,实现了智能化、数字化。 本设计采用单片机为主控芯片,结合 周边 电路组成 LED 彩灯的 闪烁 控制系统器,用来控制 红色 的LED 闪烁 发光,实现 LED灯在倒计时结束后

    2024年02月03日
    浏览(64)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包