美文网首页收藏
数码管显示按键触发次数

数码管显示按键触发次数

作者: 无殇之泪 | 来源:发表于2022-06-15 15:12 被阅读0次

一、功能描述

按下SW1控制左侧数码管会从0~9依次变化;按下SW2控制右侧数码管也会从0~9依次变化,然后循环。

二、结构图和流程图

三、程序

#include "reg52.h"

sbit C1 =P2^7;

sbit C2 =P2^6;

sbit C3 =P2^5;

sbit C4 =P2^4;

sbit SW1 = P3^4;

sbit SW2 =P3^3;

//¶¨Òå¹²ÑôÊýÂë¹ÜÎÞСÊýµãµÄÊý×Ö¶ÎÂëÖµ

unsigned char SMGNoDot_CA[10] = {0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90};

unsigned char s1 = 0, s2 = 0;

/*==================ÊýÂë¹Ü¶¯Ì¬ÏÔʾרÓÃÑÓʱº¯Êý==================*/

void DelaySMG(unsigned int t)

{

while(t--);

}

/*=====================µ¥¸öÊýÂë¹ÜÏÔʾº¯Êý=======================*/

void DisPlaySMG_Bit(unsigned char pos, unsigned char dat)

{

P0 = 0xff; //ÏûÒþ

switch(pos) //Ñ¡ÔñÊýÂë¹ÜλÖÃ

{

case 1:

C1 = 1; C2 = 0; C3 = 0; C4 = 0;

break;

case 2:

C1 = 0; C2 = 1; C3 = 0; C4 = 0;

break;

case 3:

C1 =0 ; C2 = 0; C3 = 1; C4 = 0;

break;

case 4:

C1 = 0; C2 = 0; C3 = 0; C4 = 1;

break;

}

P0 = dat; //Êä³öÊýÂë¹ÜÏÔʾµÄÄÚÈÝ

}

/*====================4¸öÊýÂë¹Ü¶¯Ì¬ÏÔʾº¯Êý======================*/

void DisPlaySMG()

{

DisPlaySMG_Bit(1, SMGNoDot_CA[s1]);

DelaySMG(100);

DisPlaySMG_Bit(2, 0xbf);

DelaySMG(100);

DisPlaySMG_Bit(3, 0xbf);

DelaySMG(100);

DisPlaySMG_Bit(4, SMGNoDot_CA[s2]);

DelaySMG(100);

}

/*======================°´¼üɨÃè´¦Àíº¯Êý=======================*/

void Scan_Keys()

{

//SW1°´¼üɨÃè´¦Àí

if(SW1 == 0)

{

DelaySMG(200);

if(SW1 == 0)

{

while(SW1 == 0)

{

DisPlaySMG();

}

s1++;

if(s1 == 10)

{

s1 = 0;

}

}

}

//SW2°´¼üɨÃè´¦Àí

if(SW2 == 0)

{

DelaySMG(200);

if(SW2 == 0)

{

while(SW2 == 0)

{

DisPlaySMG();

}

s2++;

if(s2 == 10)

{

s2 = 0;

}

}

}

}

/*==========================Ö÷º¯Êý============================*/

void main()

{

while(1)

{

DisPlaySMG();

Scan_Keys();

}

}

相关文章

  • 实验二—杨金钰—0114

    按键加一4位显示 电教本1601 杨金钰 201612030114 一、实验原理 数码管的数字当按键加一时实现增一...

  • 实验2-杨喜栋-0124

    一、实验目的 将按键加一四位显示移植到小板 二、实验步骤 1.大板是共阴极数码管,小板是共阳极数码管,修改字符码 ...

  • 实验二0206刘春平

    实验二:按键+1四位显示的移植 前期: 小板是四位数码管,大板是八位数码管。数管码的数字移动是数码管以十进制方式进...

  • 实验二 吴思思 0130

    一、实验内容 将大板的“按键控制数码管”改成适合小板的程序。(每按一次独立按键,数码管的数值增1) 二、大小板的差...

  • 实验二————焦伟健0219

    一、实验内容 将大板的“按键控制数码管”改成适合小板的程序。(每按一次独立按键,数码管的数值增1) 二、大小板的差...

  • 实例 3.5 通过电脑端信息控制七段显示器

    面包板 略 原理图 略 PCB 略 ArduBlock①串口读取到的是int型②每次数码管显示时,需要清空一次显示...

  • 2019-08-09

    数码管显示 数码管显示:两位数码管显示00-99,初始显示00,以周期时间t逐步加1,直至显示到99,再回到00重...

  • Arduino基础入门篇14—跳动的数码管

    本篇介绍数码管显示器件,通过控制一位共阴极数码管动态显示数字0到9来了解数码管的使用。 1. 数码管介绍 数码管,...

  • 2019-09-26静态和动态控制数码管

    1.什么是数码管 1.1、几方面看数码管 (1)外观(2)作用:数码管是显示器件,用来显示数字的。(3)分类:单个...

  • 按键输出方波数码管显示

    题目:所有习题均采用外部中断0下降沿进入外部中断0处理按键;采用定时器定时,全部功能在中断中完成。晶振频率为12M...

网友评论

    本文标题:数码管显示按键触发次数

    本文链接:https://www.haomeiwen.com/subject/ppiuprtx.html