C51单片机-按下K0至K15,显示按键标号(4x4矩阵键盘电路,1个数码管)

这篇具有很好参考价值的文章主要介绍了C51单片机-按下K0至K15,显示按键标号(4x4矩阵键盘电路,1个数码管)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

keil uVision4界面:

#include<reg51.h>
unsigned char num;
//共阳极数码管段码
unsigned char tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,
                     0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff};
//行扫描    
unsigned char hang[]={0xfe,0xfd,0xfb,0xf7};
void key()
{
     int i;
    for(i=0;i<4;i++)
    {
         P1=hang[i];
        if((P1&0xf0)!=0xf0)                 //判断有无按键按下
        {
            switch(P1)
            {
                case 0xee:num=0;break;
                case 0xde:num=1;break;
                case 0xbe:num=2;break;
                case 0x7e:num=3;break;         //扫描第一行
                case 0xed:num=4;break;
                case 0xdd:num=5;break;
                case 0xbd:num=6;break;
                case 0x7d:num=7;break;         //扫描第二行
                case 0xeb:num=8;break;
                case 0xdb:num=9;break;
                case 0xbb:num=10;break;
                case 0x7b:num=11;break;         //扫描第三行
                case 0xe7:num=12;break;
                case 0xd7:num=13;break;
                case 0xb7:num=14;break;
                case 0x77:num=15;break;         //扫描第四行
            }
        } 
    }
}
void main()
{
   num=16;
   while(1)
   {
   key();
   P0=tab[num];
   }
}

proteus仿真界面:文章来源地址https://www.toymoban.com/news/detail-759605.html

C51单片机-按下K0至K15,显示按键标号(4x4矩阵键盘电路,1个数码管),单片机,嵌入式硬件,51单片机,proteus,Powered by 金山文档

到了这里,关于C51单片机-按下K0至K15,显示按键标号(4x4矩阵键盘电路,1个数码管)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【小实验】C51单片机 DS18B20温度显示实验

         利用单总线技术和数码管动态显示的原理,要求实现DS18B20温度采集并显示,能够设定温度值上限值27.5度,当超出上限值LED灯闪烁。    实验前可先用protues绘制出原理图:   代码仅供参考,希望大家能够在此基础上优化代码,而不是ctrl+c,ctrl+v。 谢谢!!!        

    2024年02月12日
    浏览(44)
  • 基于AT89C51单片机的LED点阵显示屏设计

    点击链接获取Keil源码与Project Backups仿真图: [[https://download.csdn.net/download/qq_64505944/88637464?spm=1001.2014.3001.5503]] **[源码获取] B 源码+仿真图+课程设计+50 工程实训(三)课题设计 LED点阵显示屏设计 LED点阵显示屏通过编程控制可以显示中英文字符、图形及视频动态图形,广泛用于指

    2024年02月02日
    浏览(57)
  • C51单片机的电子时钟(数码管显示+独立按键模块修改及暂停时间)

    IMG_1120 通过查看这三个原理图我们可以得知控制K1、K2、K3及K4是通过P31、P30、P32及P33来实现的,控制8个数码管是P22、P23及P24来实现, 控制发光二极管则由P00-P07来实现。 代码分为三部分分别为main.c、key.h、key.c scankey()函数的主要代码,通过软件入手提高系统的可靠性,防止外

    2024年02月05日
    浏览(55)
  • 学习C51单片机——矩阵按键控制数码管显示数字(学习笔记Keil5)

    单片机检测矩阵按键是否被按下的依据是检测与该按键对应的 I/O 口是否为低电平

    2024年04月17日
    浏览(48)
  • C51单片机-共阳极数码管循环显示数字0至9,共阴极数码管循环显示5201314(动态)

    keil uVision4界面: proteus仿真界面:

    2024年02月06日
    浏览(58)
  • 【ST89C51单片机显示电路设计(Altium Designer 10)----绘制PCB原理图双层板】

    绝对不要坐等胜利的到来,集中起来的意志可以击穿顽石,好好看,好好学,正真的大师永远都怀着一颗血徒的心 ———易 集成库是AD 10推荐使用的标准库形式。这种库能够集中存放元件具有的各类模型,使得原本分散的资源整合在一起,极大提高了管理和使用的效率。用户

    2024年02月05日
    浏览(76)
  • 单片机C51(STC89C52RC)独立按键控制LED亮灭、状态、显示二进制、位移

    目录 1.独立按键控制LED灯亮灭 2.独立按键控制LED灯状态 3.独立按键控制LED灯显示二进制 4.独立按键控制LED灯位移 5.附录 独立按键控制LED灯状态,在独立按键按下时,LED灯点亮,松手后LED灯熄灭。独立按键按下为0,松开为1,在STC89C52RC芯片上,P2为LED灯IO口,P2_0表示第一个LED灯

    2024年02月01日
    浏览(103)
  • c51单片机(预备知识)

            单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备(小键盘、LED显示器)。 0)  无源晶振:12MHZ 1) 振荡周期 :也称时钟周期,是指为单片机提供

    2024年02月08日
    浏览(101)
  • 单片机C51数据类型

    C51数据类型 C语言的基本数据类型:char、int、short、long、float、double。 1、 Keil C51 编译器支持的数据类型。    对于Keil C51编译器,short型与int型相同,double型与float型相同。 Keil C51支持的数据类型表 数据类型 长度 值域 unsigned char 单字节 0~255 signed char 单字节 -128~+127 unsigned

    2024年02月08日
    浏览(76)
  • 初识C51单片机(详解)

    前言: 单片机是一种我们常见的开发板,我们经常会在一些项目中使用到它。而今天我们要介绍的是C51单片机,下面来介绍一下今天的”主角“:STC89C52RC40I-LQFP44单片机(后面将用到它做一些项目)。 1.了解命名规则一张图搞定: 2.学会看单片机电路原理图 只是一些初中的电

    2024年02月10日
    浏览(65)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包