51单片机按键控制数码管显示0-9

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

实验题目:使用51单片机设计两个按键控制数码管显示0-9,当K1按下减1,当K2按下加1.

理解程序可参考我的另外两个文章;

51单片机数码管显示0-9_学习笔记吧的博客-CSDN博客

51单片机独立按键控制合集_学习笔记吧的博客-CSDN博客

两个文章一结合就是一个新的产物,所以51单片机玩来玩去就是各种简单程序的相加。他套他,再套他,加个数码管加按键,加各种东西,重点是要理解,怎么让他们结合起来不会报错。

实验程序:

#include<REGX52.H>

unsigned char code Tab[]=     //共阴数码管段码表0-9
{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

void Delay1ms(unsigned int xms)  //延时1ms函数
{
unsigned char i,j;
while(xms)
{
i = 2 ;
j = 239 ;
do
{
while (--j);
}
while (--i);
xms--;
}
}

	void main ()    //主函数
	{
		unsigned char rge		= 0 ;   //局部变量计位数rge是段码表的位置
		P0= 0x3f;    //定义初始值显示0
		while(1)
		{

			if(P3_1 ==0)		//判断按键是否按下
			{
				Delay1ms(20);    //消抖
				while(P3_1 ==0);  //再次判断
				Delay1ms(20);     //消抖
				
				rge++;   //数字加1
				if(rge>=10)  //控制加的位数别超出段码表了
				{
					rge = 0 ;   //如果超出就让他回0去
				}
				 P0=Tab[rge];  //把第rge的段码赋值给P0口
			   Delay1ms(500);  //延时500ms
				}
				
				
				if(P3_0 ==0)		//判断按键是否按下
			{
				Delay1ms(20);    //消抖
				while(P3_0 ==0);  //再次判断
				Delay1ms(20);     //消抖
				
			if(rge==0)   //因为我们定义的变量led是无符号型,如果直接减减不可能减为负数
				rge = 9 ;  //所以判断如果减到0就重新给他赋值
			else
				rge--;   //如果没减到0就继续减减
			
				P0=Tab[rge];  //把第reg的段码赋值给P0口
			  Delay1ms(500);  //延时500ms
				}
			}
		}

实验原理图:

51单片机按键控制数码管显示0-9

 文章来源地址https://www.toymoban.com/news/detail-509209.html

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

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

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

相关文章

  • 51单片机:数码管和矩阵按键

    目录 一:动态数码管模块 1:介绍  2:共阴极和共阳极 A:共阴极 B:共阳极 C:转化表  3:74HC138译码器 4:74HC138译码器控制动态数码管(位选) 5:数码管显示完整代码 6:74HC573锁存器 A:基本点 B:原理图介绍 c:74HC573控制数码管代码 二:矩阵按键模块 1:介绍 2:原理图  3:矩阵按键代码       

    2024年02月15日
    浏览(46)
  • 【51单片机】矩阵按键实现数码管显示

    闲的没事看一看玩一玩········· 矩阵按键 数码管是一种导体发光器件,其基本单元是发光二极管。按发光二极管单元连接方式可分为共阳极数码管和共阴极数码管 共阴极数码管是指将所有发光二极管的阴极接到一起形成共阴极的数码管,共阴极的数码管在应用时将公共

    2024年02月02日
    浏览(57)
  • 51单片机——数码管、按键、矩阵按键C语言入门编程

    目录 数码管: 1.静态数码管:第二位数码管显示0 2.动态数码管:每一位数码管依次显示对应位数 按键: 1.独立按键:按下按键对应LED亮灭 矩阵按键: 1.矩阵按键:按下的每个按键,数码管显示对应键码          数码管按段数可分为七段数码管和八段数码管,八段数码管

    2024年01月23日
    浏览(45)
  • 单片机按键控制数码管加减

    在嵌入式系统中,使用单片机和数码管是一种常见的应用。本文将介绍如何通过按键来控制数码管的加减操作。我们将使用C语言编写代码,并通过单片机实现。 硬件准备: 单片机开发板(例如STC89C52) 共阳极数码管(例如四位七段数码管) 按键开关 连接线 电路连接: 将数

    2024年02月03日
    浏览(37)
  • 51单片机——秒表(定时器扫描独立按键和数码管)

            这次实验主要是用定时器来定时扫描独立按键和数码管,代替两个模块函数中的延时函数。用定时器定时扫描的好处就是,主函数中的延时并不会影响按键的检测和数码管的扫描,只会影响响应速度。因为定时器是溢出就会执行中断程序,是定时的扫描。 改进的

    2024年02月10日
    浏览(58)
  • 二、51单片机控制数码管

    (1)数码管的外观: 数码管可分为单个的,联排的(2位、4位、8位) (2)数码管的作用: 数码管是显示器件,是用来显示数字的。 (1)数码管的亮灭是由内部的照明LED的亮灭实现的。 (2)一位数码管内部有八颗LED灯,利用内部的LED灯的亮和灭让数码管显示不同的数字。 (1)驱动方法的

    2023年04月09日
    浏览(45)
  • 51单片机实验三:数码管显示时钟 按键调节时间时闪烁提示

    功能效果:1.时分秒的动态显示。2.用三个按键实现时分秒的修改,调节的数字闪烁提示。  

    2024年02月11日
    浏览(36)
  • 51单片机控制数码管动态显示

    首先打开proteus,导入8位数码管和89c51。 然后如图连线,分清断码和位码, 断码就是一个数码管的7个LED灯。 位码:就是第几位显示,由于是共阴极,所以哪位接地就显示哪位。 下面通过改变位码的接线就可以看出不同的效果 下面就编写程序,从第1位到第8位显示从0到7的八

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

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

    2024年02月02日
    浏览(48)
  • C51单片机的电子时钟(数码管显示+独立按键模块修改及暂停时间)

    IMG_1120 通过查看这三个原理图我们可以得知控制K1、K2、K3及K4是通过P31、P30、P32及P33来实现的,控制8个数码管是P22、P23及P24来实现, 控制发光二极管则由P00-P07来实现。 代码分为三部分分别为main.c、key.h、key.c scankey()函数的主要代码,通过软件入手提高系统的可靠性,防止外

    2024年02月05日
    浏览(51)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包