C51实现0到99数字显示

这篇具有很好参考价值的文章主要介绍了C51实现0到99数字显示。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


一、实验要求

用2位数码管显示计时时间,最小计时单位为“秒”,计时范围00~99s。当第1次按一下并松开计时功能键时,秒表开始计时并显示;第2次按一下并松开计时功能键时,停止计时,将计时的时间值送到数码管显示;如果计时到99s,将重新开始从0计时;第3次按一下并松开计时功能键,秒表清0。再次按一下计时功能键,则重复上述计时过程。

二、实验代码和原理图

1.实验代码

#include"reg51.h"
#define uint unsigned int
uint count=0;
static uint temp=0;//利用静态变量来记录按下的次数
	
uint code SegCode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

void delay(uint ms);
void k1();
void k2();
void k3();
void k4();

void main()
{
	P0=0X00;//灯灭
	P2=0X00;//等待按键按下
	while(1)
	{
		if(P3==0x7f)
		{
			//测试了一下,有时候松的太快反映不过来。
			delay(20);//防止误碰
			if(P3==0X7F)
			{
				while(P3==0x7f);//松手判断
			    temp++;
			}
		}
		switch (temp)
		{
			case 1:k1();break;
			case 2:k2();break;
			case 3:k3();break;
			case 4:k4();break;
			default:break;	
		}
		
	}//防止跑飞
}

void k1()//要求1
{
	while(1)
	{
		P0=SegCode[count/10];//显示高位
		P2=SegCode[count%10];//显示低位
		count++;
		delay(100);//隔一秒
		if(P3==0x7f)
		{
			while(P3==0x7f);//松手判断
			temp++;
			break;
		}
	}
}

void k2()
{
   if(count==99)
	   count=0;
   P0=SegCode[count/10];//显示高位
   P2=SegCode[count%10];//显示低位
}

void k3()
{
   count=0;
   P0=SegCode[count/10];//显示高位
   P2=SegCode[count%10];//显示低位
	
}
void k4()
{
    temp=0;
	P0=0X00;
	P2=0X00;
}
	

void delay(uint ms)//实现每个数字显示隔一秒
{
	uint i;
	while(ms--)
		for(i=0;i<113;i++);
	
}

2.原理图

单片机动态数码管显示0~99,单片机,单片机,嵌入式硬件,c语言,51单片机proteus版本8.10

总结

本次实验不是特别难,我所做的也只是一种方法而已。代码之路何其艰辛,条条大路通罗马,大家要是还有其他方法,可以在评论区留言。我期待与大家进行学习交流。文章来源地址https://www.toymoban.com/news/detail-516751.html

到了这里,关于C51实现0到99数字显示的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 51单片机 | LED点阵实验 | 点亮一个点 | 显示数字 | 显示图像

      开发板上使用了 64 个红色 LED 按照行列排布组成的 8*8 LED 点阵。下面介绍 LED 点阵的使用。    LED 点阵 是由发光二极管排列组成的显示器件,在我们日常生活的电器中随处可见,被广泛应用于汽车报站器,广告屏等。如下所示:   通常应用较多的是 8*8 点阵,然后使

    2023年04月08日
    浏览(43)
  • 51单片机按键识别与LED显示(显示0-9的数字)

    实验内容: 单片机外接10个按键,编号为0-9,编程实现任意按键则LED显示对应数字 1.共阴共阳两种不同的方式  2.数码管显示表  3.矩阵键盘介绍 矩阵键盘 是 单片机 外部设备中所使用的排布类似于 矩阵 的 键盘 组。  矩阵 式结构的 键盘 显然比直接法要复杂一些,识别也要

    2024年02月08日
    浏览(54)
  • 51单片机“独立按键”控制静态数码管———显示数字0-9

    (1).独立按键模块电路图可以清楚的看到,所有从引脚JP1出来的电流都会接到GND,且当所有按键按下时被执行链接GND。所以,当JP1引脚各端口----识别----到“电流为低电平为0时”,说明按键被按下,否则为高电平按键没有被按下。 ( 2).按键的原理其是需要我们单片机有检

    2024年02月11日
    浏览(49)
  • 51单片机的串口实验之数码管显示与按键实验(8位数字任意传输)

    目标效果: 1、电脑发送任意小于=8位数字( SUBF只有8位最大只能发送255,但是可以通过数组进行临时存储来实现传输多字节 )数字,在数码管上显示对应的数字且同时满足高位是0可以不显示  2、矩阵按键按下后,电脑接收所按下的按钮 实验器材: 1、普中51单片机。2、ST

    2024年02月02日
    浏览(51)
  • 51单片机数字电子钟设计(数电课设,含时间显示、校准、整点报时、闹钟功能)

    51单片机数字电子钟设计(数电课设,含时间显示、校准、整点报时、闹钟功能) 首先展示硬件设计部分,此处采用proteus仿真演示。其中液晶屏上面一行显示的是实际时间,下面一行显示的是设定闹钟时间。通过调节单刀双掷开关来改变正在调整的时间是实际时间还是闹钟时

    2024年02月11日
    浏览(56)
  • 利用单片机实现数码管依次显示数字0到9以及0到F

    本次暂时只写了共阴极数码管的实现。 一、显示数字从0-9。 (注:图片有点问题,之前写的时候·没注意,现在下边的代码已经更正了。代码是正确的。) 锁存器。锁存器就是把当前的状态锁存起来,使CPU 送出的数据在接口电路的输出端保持一段时间锁存后状态不再发生变

    2024年02月11日
    浏览(37)
  • 利用单片机余晖依次显示,同时显示 数码管的数字

    #include reg51.h //Êý×é±íʾ Êý×Ö0-9   16½øÖÆ unsigned char arr[10] = {0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90}; sbit q1 = P2^0; sbit q2 = P2^1; sbit q3 = P2^2; sbit q4 = P2^3; //ʱ¼ä³¤ ÒÀ´ÎÏÔʾ1234 void delay() {     int i;     for(i = 1; i 20000; i++){} } //ʱ¼ä¶Ì ͬʱÏÔʾ1234 void delay_

    2024年04月26日
    浏览(38)
  • C51单片机的电子时钟(数码管显示)

    普中科技51单片机开发板STC89C52 查看这两个原理图,我们可以发现控制这8个数码管由P22、P23、P24这三个控制,就相当于三个二进制数来控制数码管,三个二进制数(000-111)总共有8个,每一个二进制代表控制一个数码管。而控制数码管的发光二极管P0-P7控制,例如要想数码管显

    2024年02月11日
    浏览(51)
  • 基于 AT89C51 单片机的数字时钟设计

    目录 1.设计目的、作用 2.设计要求 3.设计的具体实现 3.1 设计原理 3.2 硬件系统设计         3.2.1 AT89C51 单片机原理 3.2.2 晶振电路设计 3.2.3 复位电路设计 3.2.4 LED 数码管显示 3.3 系统实现 3.3.1 系统仿真与调试 3.3.2 演示结果 4.总结 附录 附录 1 附录 2 (1 )掌握 51 系列单片机的

    2024年02月01日
    浏览(62)
  • 单片机C51液晶显示器LM016L的操作方法

    注:这里上面的应该为:sbit en=P2^2; P需要大写,刚开始截图的时候未注意到,抱歉。 以上就是今天要讲的内容,本文简单介绍了单片机中液晶显示器LM016L的使用,还有许多的命令没有提到,大家可以再参考书籍或其他博客等进行拓展。 最后:希望大家学习进步!事业有成!

    2024年02月01日
    浏览(47)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包