求指错,C51矩阵按键数码管显示

今天也要好好的 今天也要好好的 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
程序编译通过,但是数码管完全没反应,由于刚刚接触不多,对于一些语句的顺序和用法可能错了自己看不出来 #include<reg52.h> sbit duan=P2^6;//定义数码管段选段选 sbit wei=P2^7;//定义数码管位选 unsigned char Hang_scan[]={0xfe,0xfd,0xfb,0xf7};//行扫描初始值数组 unsigned char DIGITAL[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; unsigned char key=0;//按键编号 void delay();//声明延时函数 void scan(){ unsigned char i;//行编号 for(i=0;i<4;i++){ P3=Hang_scan[i];//逐行赋初始值 if(P3!=Hang_scan[i]){//按键消抖 delay(); if(P3!=Hang_scan[i]){//再次判断按键是否按下 switch(P3&0xf0){//由按键按下后P3高四位的值判断列位置 case 0xe0:key=4*i+1; break;//第1列 case 0xd0:key=4*i+2; break;//2 case 0xb0:key=4*i+3; break;//3 case 0x70:key=4*i+4; break;//4 } }while(P3!=Hang_scan[i]){}//判断按键是否弹起 } } } void delay(){ unsigned char j; for(j=0;j<1000;j++); } void main(){ while(1){ scan(); wei=1;//打开位选 P0=0xfb;//选择第二位 wei=0; duan=1;//打开段选 P0=DIGITAL[key-1];//给数码管端口赋值 duan=0; } }
...全文

相关推荐

C51单片机矩阵按键与数码管移位显示实验设计源码

本文还有配套的精品资源,点击获取 简介:本实验项目通过C51单片机实现矩阵按键的扫描检测与数码管的移位动态显示功能,是嵌入式系统设计中的典型应用。项目详细介绍了矩阵按键的高效设计、数码管的驱动与动态显示原理,以及移位寄存器在数码管数据传输中的作用。实验还包括硬件接线图、接线说明和C51单片机编程源码,涵盖了单片机编程的核心知识点,如基本输入输出、定时器、位操作和中断处理。通...

Li Siyuan

C51单片机矩阵键盘输入&数码管静态显示

学会矩阵键盘的检测,掌握数码管静态显示原理。

培林将军

基于51单片机C语言——学习矩阵键盘和数码管 以及 实现矩阵键盘键值实现8位数码管显示键值和LED灯闪烁

运用了矩阵键盘赋予相对应的16进制数1.矩阵键盘S16用来转换模式模式一:在8位数码管上显示按下的键值模式二:按下对应的键位,则LED闪烁对应的次数

串口茶谈社

【Proteus仿真】51单片机+矩阵按键扫描+数码管显示

【Proteus仿真】51单片机+矩阵按键扫描+数码管显示

perseverance52

51单片机按键与数码管显示编程实战

51单片机,也称为8051单片机,是一种经典的微控制器。它广泛应用于电子设备、家用电器、仪器仪表等领域。由于其简单的结构、易于编程和丰富的I/O端口资源,51单片机成为许多电子爱好者和初学者的首选。它通常用于实现一些基本的控制任务,如按键输入处理。去抖动技术旨在解决物理按键在操作过程中产生的机械抖动问题。这通常发生在按键接触的瞬间,由于弹性变形而引起的快速、小幅度的接触变化。

Jacob Piao
评论
收藏 已收藏
分享
返回顶部
今天也要好好的
疑难问题 22,298 成员 121,727 内容