当前位置: 首页 > news >正文

52单片机独立键盘控制数码管计数

前言

使用52单片机实现独立键盘控制数码管计数

代码

#include<reg52.h>
#define uchar unsigned char
#define uint unsigned intsbit key2 = P3^4;
sbit key3 = P3^5;
sbit key4 = P3^6;
sbit key5 = P3^7;char code smg[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
sbit wei = P2^7;
sbit duan = P2^6;void delayms(uint nms);
void display();
void keyCheck();uint num = 0;
void main()
{while(1){display();keyCheck();	}
}void delayms(uint nms)
{uint i,j;for(i=nms;i>0;i--)for(j=110;j>0;j--);
}void display()
{uint shi,ge;shi = num/10;ge = num%10;wei = 1;P0 = 0xFD;wei = 0;P0 = 0xFF;duan = 1;P0 = smg[ge];duan = 0;delayms(5);P0 = 0xFF;wei = 1;P0 = 0xFE;wei = 0;P0 = 0xFF;duan = 1;P0 = smg[shi];duan = 0;delayms(5);P0 = 0xFF;		
}void keyCheck()
{if(key2 == 0){delayms(10);if(key2 == 0){num++;if(num >= 60)num = 0;}while(!key2);}if(key3 == 0){delayms(10);if(key3 == 0){num--;if(num == 0)num = 60;}while(!key3);}if(key4 == 0){delayms(10);if(key4 == 0){num = 0;}while(!key4);}
}

结论

key2按下:数码管增加计数
key3按下:数码管减小计数
key4按下:数码管清零

http://www.lryc.cn/news/198591.html

相关文章:

  • 完美解决 在将最终稿件上传到 IEEE PDF eXpress进行格式检查是出现“font not embedded“的问题 (不会出现自动压缩图像的现象)
  • 零基础学习CSS
  • 基于Flume+Kafka+Hbase+Flink+FineBI的实时综合案例(五)FineBI可视化
  • Python逆向爬虫案例: 某网站AES逆向解密
  • ONNX runtime本地终端部署
  • Linux性能优化--性能工具:特定进程CPU
  • 技术人员转岗产品经理,有优势吗?
  • 使用IDEA2022.1创建Maven工程出现卡死问题
  • Nuttx Syscall
  • HTTP协议中GET请求和POST请求的区别
  • 【广州华锐互动】利用VR开展施工现场安全培训,提高员工安全意识水平
  • Cornerstone for Mac:高效SVN管理的黄金标准
  • 数据结构之顺序表的模拟实现
  • R6G azide, 5-isomer具有良好的水溶性,2135330-71-9
  • Canvas系列绘制图片学习:绘制图片和渐变效果
  • AJAX为什么叫AJAX
  • 自动化测试中如何编写配置文件 ? 该使用什么工具 ? 一文详解使用ConfigParser读写配置文件
  • 文件批量管理:轻松复制备份并删除原文件
  • Linux高性能服务器编程 学习笔记 第十七章 系统监测工具
  • rabbitmq 消费者报错 ListenerExecutionFailedException NullPointerException
  • Java面试题:链表-合并两个排序的链表
  • Springboot结合Mockito写单元测试实践和原理
  • 操作系统之微内核架构
  • 24---WPF缓存
  • vite+vue3.0 使用tailwindcss
  • C++QT---QT-day3
  • 小程序如何搭建在服务器上
  • JavaEE初阶学习:Servlet
  • 黑白二维码不好看,那么快学习改色的方法吧
  • coreldraw2024版本有哪些新增功能?