news 2026/6/10 4:58:56

项目三简易计算器 任务3-2按键编号显示

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
项目三简易计算器 任务3-2按键编号显示

任务描述:单片机连接8位共阳极数码管和4*4矩阵键盘,
对16个按键进行编号0~f,按下不同,显示相应数字。

每个独立按键显示不同编号

画出电路图:

对开关标号:

void key1(); //等待按键按下,无限查询
void key2(); //扫描按键位置,行列扫描
void key3(); //处理按键请求,显示编号

/************************* 项目名称:项目三简易计算器 任务名称:任务3-2按键编号显示 任务描述:单片机连接8位共阳极数码管和4*4矩阵键盘, 对16个按键进行编号0~f,按下不同,显示相应数字。 *************************/ #include<reg51.h> //51单片机寄存器定义头文件 sbit row0=P1^0; sbit row1=P1^1; sbit row2=P1^2; sbit row3=P1^3; sbit col0=P1^4; sbit col1=P1^5; sbit col2=P1^6; sbit col3=P1^7; int n;//存放按键编号 int seg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};//定义0~9共阳极七段码,与a,b,c,d,e,f void key1();//等待按键按下,无限查询 void key2();//扫描按键位置,行列扫描 void key3();//处理按键请求,显示编号 /**********************************************/ void main() { while(1) { key1(); key2(); key3(); } } /**********************************************/ void key1() { while(1) { P1=0x0f; if(P1!=0x0f)//有变化,一定是有按键按下,导致某行某列短路 break;//退出查询 } } /**********************************************/ void key2() { P1=0xff;//行列都写1 col0=0;//清零0列 if(row0==0) n=0; if(row1==0) n=1; if(row2==0) n=2; if(row3==0) n=3; P1=0xff;//行列都写1 col1=0;//清零1列 if(row0==0) n=4; if(row1==0) n=5; if(row2==0) n=6; if(row3==0) n=7; P1=0xff;//行列都写1 col2=0;//清零2列 if(row0==0) n=8; if(row1==0) n=9; if(row2==0) n=10; if(row3==0) n=11; P1=0xff;//行列都写1 col3=0;//清零3列 if(row0==0) n=12; if(row1==0) n=13; if(row2==0) n=14; if(row3==0) n=15; } /**********************************************/ void key3() { P2=0xfe;//1111 1110 P0=seg[n]; }

效果:

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 4:55:49

刘二大人-卷积神经网络(基础篇)

C&#xff1a;即channel&#xff0c;通道的意思&#xff0c;在卷积神经网络&#xff08;CNN&#xff09;中&#xff1a;输入层中的通道对应于图像的通道&#xff0c;例如 RGB 图像的三个颜色通道。隐藏层中的通道代表卷积核的数量&#xff0c;每个卷积核在特征图中产生一个通道…

作者头像 李华
网站建设 2026/6/10 4:55:12

CocosBuilder:5分钟快速上手的跨平台游戏开发终极指南

CocosBuilder&#xff1a;5分钟快速上手的跨平台游戏开发终极指南 【免费下载链接】CocosBuilder CocosBuilder, the visual editor for cocos2d 项目地址: https://gitcode.com/gh_mirrors/co/CocosBuilder 还在为游戏界面设计而烦恼吗&#xff1f;想要一个能够让你快速…

作者头像 李华
网站建设 2026/6/10 4:54:09

opencv分别用cpu和gpu读取视频

代码#include <iostream>#include "opencv2/opencv_modules.hpp"#include <string> #include <vector> #include <algorithm> #include <numeric>#include <opencv2/core.hpp> #include <opencv2/cudacodec.hpp> #include…

作者头像 李华
网站建设 2026/6/10 4:52:05

为什么原生JavaScript是现代化Web开发的终极选择?

为什么原生JavaScript是现代化Web开发的终极选择&#xff1f; 【免费下载链接】vanilla-js-dom Vanilla JS is a fast, lightweight, cross-platform framework for building incredible, powerful JavaScript applications. 项目地址: https://gitcode.com/gh_mirrors/va/va…

作者头像 李华
网站建设 2026/6/10 4:50:06

告别复杂代码!audioMotion-analyzer让音频可视化变得如此简单

告别复杂代码&#xff01;audioMotion-analyzer让音频可视化变得如此简单 【免费下载链接】audioMotion-analyzer High-resolution real-time graphic audio spectrum analyzer JavaScript module with no dependencies. 项目地址: https://gitcode.com/gh_mirrors/au/audioM…

作者头像 李华
网站建设 2026/6/10 4:47:00

Virtualenv Burrito扩展开发:如何定制自己的环境管理工具

Virtualenv Burrito扩展开发&#xff1a;如何定制自己的环境管理工具 【免费下载链接】virtualenv-burrito One command to have a working virtualenv virtualenvwrapper environment. 项目地址: https://gitcode.com/gh_mirrors/vi/virtualenv-burrito 想要快速搭建P…

作者头像 李华