单片机
返回首页

51单片机按键控制两位数码管循环显示0~60

2025-09-30 来源:cnblogs

// File Name: 按键控制数码管循环显示

// Author: hhhmxk

// Date: 2020.10.25

#include "reg52.h"

typedef unsigned int u16;

typedef unsigned char u8;

sbit key = P3^4;

sbit w1 = P3^0;

sbit w2 = P3^1; // 数码管位选端口

#define dx P2   // 数码管段选端口

u8 code seg_tab[] = {

0x40, 0x79, 0x24, 0x30, 0x19,

0x12, 0x02, 0x78, 0x00, 0x10

};  // encode

void display(u8 num);

void delay_ms(u16 num);

void main()

{

u8 count;

count = 0;

while(1)

{

if(key == 0)

{

delay_ms(10);

if(key == 0)

{

count = count==60? 0 : count+1;

while(!key); // 松手检测

}

}

display(count);

}

}

void display(u8 num)

{

u8 shiwei, gewei; // 数字的十位 个位

shiwei = num/10; //取模   34/10 = 3

gewei = num%10; //取余 34%10 = 4

w1 = 1; //高位位选

dx = seg_tab[shiwei] | 0x80; //去掉后面的小点  下面同理

delay_ms(2);

w1 = 0;

w2 = 1; //低位位选

dx = seg_tab[gewei] | 0x80;

delay_ms(2);

w2 = 0;

}

void delay_ms(u16 num)

{

  u16 x, y;

for(x = num; x > 0; x--)

for(y = 110; y > 0; y--);

}

进入单片机查看更多内容>>
相关视频
  • 【TI MSPM0 应用实战】智能小车+工业角度编码器+血氧仪+烟雾探测器!硬核参考设计详解!

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

  • 直播回放: Microchip Timberwolf™ 音频处理器在线研讨会

  • 基于灵动MM32W0系列MCU的指夹血氧仪控制及OTA升级应用方案分享

精选电路图
  • 1瓦线性调频增强器

  • 12V 转 28V DC-DC 变换器(基于 LM2585)

  • 红外遥控音量控制

  • LM317过压保护

  • 12V转110V/220V 500W逆变器

  • DS1669数字电位器

    相关电子头条文章