首页 > 其他分享 >项目三简易计算器 任务3-1矩阵键盘测试

项目三简易计算器 任务3-1矩阵键盘测试

时间:2024-04-09 16:29:42浏览次数:14  
标签:.# 计算器 矩阵 键盘 数码管 按下 按键 net

任务描述:单片机连接8位共阳极数码管和4*4矩阵键盘,编写键盘测试程序,按下任意按键,显示8个相同数字。

线与线之间是立体的,交叉但不相连,没有结点,相当于立交桥。每一个按键相当于上桥下桥口,连接两条路。起到短路开关作用,按下将对应的行列连在一起。 

悬空为1,1与0,相连时,1会变0,即为高电位变为低电位。和地相连通,一定会变成中性,即和地连通,1一定会变0。

先写0,后找0:先写四个0(列),其余四个1(行)。按键按下,行线若无变化,则没有按键按下。按键按下,行线若右变化,则有按键按下,短路。

画出电路图:先在视图中把格子大小改成snap 50th

注意在没有元器件时画线需要先点出一个结点,再画线。

开关button有两种闭合方式:一种持续闭合点箭头

还有一种就是点帽子,点中闭合抬起断开。

标号时注意在英文字母下键盘点击字母A,就会出现下图所示内容:

在string中填写net=P0.#(#表示从0开始,每点击以下自动加一)

然后再点A,点击取消,则为退出标号模式

点A 然后再点确定则实现重新开始标号,从0开始

若改为P2.几或者P3.几,则改为net=P2.#     net=P3.#  。

若改为row.几或者column.几,net=row.#     net=column.# 。

row是行,column是列。

/*************************
项目名称:项目三简易计算器
任务名称:任务3-1矩阵键盘测试
任务描述:单片机连接8位共阳极数码管和4*4矩阵键盘,
		编写键盘测试程序,按下任意按键,显示8个相同数字。
*************************/
#include<reg51.h>
//51单片机寄存器定义头文件
int seg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf};//定义0~9共阳极七段码,与间隔符-
void main(){
	while(1)//不断查询按键,等待手按下
	{
		P1=0x0f;//列线写0,行线写1
		if(P1!=0x0f)//列线写0,行线有变化,有变0,说明有按键按下,导致行列线短路
		{
			P2=0x00;//数码管全选中
			P0=seg[5];//全显示数字5
		}
		else
			P2=0xff;//关闭数码管
	}
}

仿真完成后,进行试验。

分别按下每一个按键:

标签:.#,计算器,矩阵,键盘,数码管,按下,按键,net
From: https://blog.csdn.net/m0_74239830/article/details/137555072

相关文章

  • 螺旋矩阵II(力扣59)
    给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 nxn 正方形矩阵 matrix 。示例1:输入:n=3输出:[[1,2,3],[8,9,4],[7,6,5]]示例2:输入:n=1输出:[[1]]提示:1<=n<=20解题思路:明白怎么循环输出,并且每次循环的边界在......
  • 计算器硬件维护人员如何做绩效考核的方法
    计算器硬件维护人员如何做绩效考核的方法:计算机硬件维护人员的绩效考核方法需要综合考虑多个方面,以确保评估的公正、客观和可执行。以下是一些详细具体且可执行操作的绩效考核方法:一、明确考核目标和标准首先,需要明确计算机硬件维护人员的考核目标和标准。这包括确定考核的具......
  • LeetCode题练习与总结:螺旋矩阵Ⅱ--59
    一、题目描述给你一个正整数 n,生成一个包含1到 n^2 所有元素,且元素按顺时针顺序螺旋排列的 nxn正方形矩阵matrix。示例1:输入:n=3输出:[[1,2,3],[8,9,4],[7,6,5]]示例2:输入:n=1输出:[[1]]提示:1<=n<=20二、解题思路初始化一个nxn的矩阵,所......
  • 矩阵树定理求所有生成树的边权和
    把一条边\(w\)写成\(wx+1\),则生成树边权积的一次项就是答案。求逆:\((ax+b)^{-1}\equiv(-\frac{a}{b^2}x+\frac{1}{b})\pmod{x^2}\)Codeusingll=longlong;constintN=31;constintMOD=998244353;structPoly{ lla,b; Poly(lla=0,llb=0):a(a),......
  • Proteus8.0仿真应用设计(二十六)基于FreeRTOS、STM32F103C8、HAL库、4x4矩阵键盘应用设
    一、仿真原理图:二、部分代码:        按键采集uint8_tKeyScan(void){ uint8_tvalue=0x00; KeyPort->ODR=0x00; KeyPort->ODR=0xf7; if((KeyPort->IDR&0xf0)!=0xf0) { HAL_Delay(50); if((KeyPort->IDR&0xf0)!=0xf0) { value=......
  • 第四个OpenGL程序,vector 向量 (矩阵变换之 旋转,缩放)后续 绘制多个 图形
    效果: 代码main.cpp#include<iostream>#include<glad/glad.h>#include<glfw3.h>#include"Shader.h"#defineSTB_IMAGE_IMPLEMENTATION#include<stb_image.h>#include<glm/glm.hpp>#include<glm/gtc/matrix_transfo......
  • 螺旋矩阵(蓝桥杯-Python)
    importosimportsys#请在此输入您的代码n,m=input().split()n=int(n)m=int(m)arr=[[0forjinrange(m)]foriinrange(n)]r,c=input().split()r=int(r)c=int(c)defdo_l():globaln,m,r,c,arr#四个方向#右下左上......
  • 基于EP4CE6F17C8的FPGA矩阵键盘实例
    一、电路模块1、数码管开发板板载了6个数码管,全部为共阳型,原理图如下图所示,段码端引脚为DIG[0]~DIG[7]共8位(包含小数点),位选端引脚为SEL[0]~SEL[5]共6位。端口均为低电平有效。其实物图如下所示。数码管引脚分配见下表。2、时钟晶振开发板板载了一个50MHz的有源晶振,为系统......
  • 信息系统规划工具中的各种矩阵
    信息系统规划是企业信息战略规划,关注如何通过信息系统来支撑业务,实现关键业务目标。重点在于对信息系统的远景、组成架构、各部分逻辑关系进行规划。信息系统规划的工具很多,各种矩阵、图等,列如P/O矩阵、R/D矩阵、C/U矩阵、IPO图,等等,不容易分清,每种工具的用途也有所不同。一、P/O矩......
  • python_列表推导式_矩阵运算
    带条件的列表推导式even_number=[iforiinrange(10)ifi%2==0]even_number#output[0,2,4,6,8][0,2,4,6,8]列表推导式的嵌套matrix=[[i*jforiinrange(1,4)]forjinrange(1,4)]matrix#output=[[1,2,3],[2,4,6],[3,6,9]][[1,......