专栏中心

EEPW首页 > 专栏 > 自学单片机_2(键盘按键显示)

自学单片机_2(键盘按键显示)

发布人:0750long 时间:2010-02-01 来源:工程师 发布文章

 

 

#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit bee="P2"^3;
sbit dula="P2"^6;
sbit s5=P3^7;
sbit wela="P2"^7;

uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};

void delay(uint z);
void main()
{
 uint num;
 P3=0xff;
 wela=1;
 P0=0xfe;
 wela=0;
 while(1)
 {
  if(s5==0)
  {
   delay(10);
   if(s5==0)
   {
    bee=0;
    P1=0xfe;
    num++;
    if(num==10)
    num=0;
    
   }     
   while(!s5);
   delay(10);
   while(!s5);
   
  }
  else
  {
   bee=1;
   P1=0x7f;
  }
  dula=1;
  P0=table[num];
  dula=0;
  
 
  
 }


}

void delay(uint z)
{
 uint x,y;
 for(x=z;x>0;x--)
  for(y=110;y>0;y--);
}

 

实现功能:选择键盘按键之一,按下该键,发光二极管最后一个灯亮;松开按键,发光二极管第一个灯亮;在整个过程中,数码管进行计数,当数码管数值为9时,清零。

需要注意:按键在按键过程和松开过程中,需要消抖(很重要),否则很容易出错!

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

PCB设计中的电磁干扰管理

模拟电子技术 第二十八讲

视频 2010-01-20

模拟电子技术 第三十讲

视频 2010-01-20

理解CAM归一化过程以及如何避免CAM固定

EDA/PCB 2026-01-20

Keil C编译器常见警告与错误信息的解决方法

AMD 即将推出的 Ryzen AI Max+ 392 紧随 9800X3D 的早期测试测试——新款 Strix Halo APU 在多核性能上几乎能与 Ryzen 7 匹敌

KEIL C51

资源下载 2007-02-16

L484磁感应式电子点火控制器

第107届中国电子展——聚焦电子元器件产业链,共谋高质量发展

2026-01-20

可编程控制器EDA教程 01

视频 2010-01-21

keil uv3正式版

模拟电子技术 第二十九讲

视频 2010-01-20

Keil C编译器常见警告与错误信息的解决方法

高通智能模块,8K视频会议,增强现实/虚拟现实

Bolt 四足机器人:结构示意与核心代码深度解析

机器人 2026-01-20

机器学习系统监测患者手术中的疼痛

Pebble将开放式穿戴设备带到你的手腕(或手指)

可编程控制器EDA教程 02

视频 2010-01-21

研究人员从移动的飞机发射能量

基于 UV 曝光的 AI 塑料表面缺陷检测系统

测试测量 2026-01-20
更多 培训课堂
更多 焦点
更多 视频

技术专区