历史上的今天
返回首页

历史上的今天

今天是:2025年10月25日(星期六)

正在发生

2022年10月25日 | 【51单片机】STC89C52独立键盘实验,含c代码(6)

2022-10-25 来源:csdn

1.参考教程:

清翔51单片机教程


2.实现效果:

利用独立键盘的按键,控制数码管数字的变化。

在这里插入图片描述

3.基本原理

**特点:**每个按键占用一个IO口,当按键数量较多时,IO口的利用效率不高,但程序简单,适用于所需按键较少的场合。

**原理:**以按键S2为例,给P30赋逻辑1,当S2被按下的时候,由于S2左端接地,则P30输出由高电平变低电平。S2没被按下依旧输出高电平。

在这里插入图片描述

4.参考代码

#include

#include //标准库函数

#define uint unsigned int

#define uchar unsigned char

sbit DU = P2^6; //数码管段选

sbit WE = P2^7; //数码管位选

sbit key_s2 = P3^0;//独立按键S2

sbit key_s3 = P3^1;//独立按键S3

uchar num; //数码管显示的值

//共阴数码管段选表0-9

uchar code tabel[]= {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F,};

//毫秒级延时函数定义

void delay(uint z)

{

uint x,y;

for(x = z; x > 0; x--)

for(y = 114; y > 0 ; y--);

}

void main()//main函数自身会循环

{

WE = 1;//打开位选锁存器

P0 = 0XFE;//1111 1110

WE = 0;//锁存位选数据

while(1)

{

if(key_s2 == 0)

{

delay(20);//按键消抖(按键会有抖动影响结果)

if(key_s2 == 0)

{

num++;

if(num == 10)

num = 0;

while(!key_s2);//松手检测(松手后跳出循环)

}

}

if(key_s3 == 0)

{

delay(20);//按键消抖

if(key_s3 == 0)

{

num--;

if(num == 255)

num = 9;

while(!key_s3);//松手检测

}

}

//松手之后刷新显示

DU = 1;//打开段选锁存器

P0 = tabel[num];//0000 0110

DU = 0;//锁存段选数据

}

}

推荐阅读

史海拾趣

Cornell Dubilier公司的发展小趣事

面对日益激烈的市场竞争和不断变化的客户需求,Cornell Dubilier公司积极引进智能化生产设备和解决方案。例如,公司部署了Rethink Robotics的智能协作机器人,显著提高了生产效率和质量。通过与机器人技术的结合,Cornell Dubilier公司在电力电容制造领域取得了显著的成绩,实现了生产过程的自动化和智能化。

ELNA(依娜)公司的发展小趣事

ELNA公司的故事始于1940年代,当时该公司推出了其第一台缝纫机。这款缝纫机以其精湛的工艺和卓越的性能迅速在市场上崭露头角。ELNA凭借对品质的坚持和对技术的不断创新,逐渐在缝纫机行业树立了良好的口碑。

随着业务的扩展,ELNA开始涉足电子领域,并逐步将其在机械制造和精密加工方面的技术优势应用到电子产品中。这一转变为公司未来的发展奠定了坚实的基础。

BOWEI公司的发展小趣事

随着全球对环保和可持续发展的重视,ELNA也开始关注绿色制造和环保产品。公司积极采用环保材料和清洁能源,减少生产过程中的污染和排放。同时,ELNA还加强了对废旧产品的回收和再利用,推动循环经济的发展。

ADLINK公司的发展小趣事

在数字化转型和智能化升级的趋势下,ELNA开始积极探索新技术和新模式。公司加强了与互联网和人工智能技术的融合,推动产品和服务的智能化升级。同时,ELNA还加强了对大数据和云计算技术的应用,提升生产效率和管理水平。

以上是对ELNA公司在电子行业中的部分发展历程的概述。您可以根据这些故事的开头进一步扩展和完善内容以满足字数要求。

Cooper Industries公司的发展小趣事

随着市场需求的不断变化,Cooper Industries不断通过收购来扩大其业务范围和提升技术实力。例如,在2008年,公司宣布收购了三家公司:Sure Power Industries、OMNEX Control Systems和Roam Secure。这三家公司在各自的领域都有着丰富的经验和卓越的技术,收购后极大地增强了Cooper在电力系统管理、无线电远程控制以及文字报警、区域警示系统等领域的能力。这些收购不仅使公司的产品线更加丰富,也为其在全球市场的竞争提供了有力武器。

Analogix Semiconductor公司的发展小趣事

早在2007年,Cooper Industries就展现出其全球扩张的雄心。同年10月8日,该公司与宁波知名企业耐吉科技股份有限公司共同注资3000万美元,成立了库柏耐吉(宁波)电气有限公司。这一合资公司的成立,不仅加强了Cooper在中国市场的地位,也为其全球业务布局增添了重要一环。库柏耐吉(宁波)电气有限公司地处浙江省慈溪市,工业园占地400余亩,位于世界最长跨海大桥——杭州湾跨海大桥的南岸桥头堡区域,其优越的地理位置为公司的发展提供了有力支持。

问答坊 | AI 解惑

恒流电路设计(求高手帮忙!!!)

一个烤箱温度在85左右,用来做LED的高温通电实验,要求进入烤箱的电线尽可能少,通过每个LED的电流恒为20MA,且有LED烧坏时不影响到其他的LED,现在的做法的四个串联,单独用一条线路来供电,所以进入烤箱的电线相当多,而且坏一个其他三个都不亮了 ...…

查看全部问答>

新手老鸟必看天线的分类和选择

此文转自klin1984 因为看到此文非常实用,希望让更多人看到。 天线分为:1.全向天线2.定向天线3.机械天线4.电调天线5.双极化天线。下面主要介绍坛友们比较关心的定向和全向天线。感兴趣的朋友可以google或者baidu其他相关天线的详细资料。“相关资 ...…

查看全部问答>

WinCE系统动态分配显存物理地址

WinCE系统会动态分配显存的物理地址吗?有没有这种说法?如果真有这个说法请问这是WinCE4.0与WinCE5.0的区别吗?我想知道显存的物理地址,如果是动态分配的我该怎么获取?还有一个问题,WindowsXP系统的显存物理地址是多少?…

查看全部问答>

MC3000上,如何区分是扫描还是输入?

因客户的条码中第1位是标志位,标志位不需要显示和保存,只用来作校验。 故如果扫描,我需要先作校验,再将标志位去掉后再显示; 如果手输,则不作校验,该是什么还是什么。 但现在看来,WinCE里面好像并没有扫描事件,那怎么区分扫描还是手输呢 ...…

查看全部问答>

2274 的内置运放可以用反向放大方式吗?

没有找到2274的中文资料,英文水平实在是不购啊.从例程中就只有正向放大方式,没有反向的,我反向的方式用得比较多,因此想知道能用于反向放大吗?能给个例程就太好了,先谢谢了. 还有就是红外线编解码方式也没有例程,正好想要用,哪里可以下到例程啊? ...…

查看全部问答>

2011年全球IC设计商排名,展讯第17 海思16

本帖最后由 jameswangsynnex 于 2015-3-3 20:03 编辑 …

查看全部问答>

有偿请高手提供TVP5158在DM6437上的4路CIF line-interleaved模式驱动

背景: 定制的DM6437电路, TVP5158 decoder 开发环境:CCS4.2.4 + Seed560Plus + 定制DM6437平台 问题描述: 需要为DM6437平台上的TVP5158添加FVID架构的驱动 1) TVP5158, 四路CIF输出,line-interleaved模式 2) 在原来的TVP5146的FVID驱动下,修 ...…

查看全部问答>

请高手帮看下这图片是什么单片机

请高手帮看下这图片是什么单片,带一个步进电机,两个行程开关,两个电磁阀,一个感应开关,一个启动停止开关,想复制一片要怎么做 [ 本帖最后由 quxingwang 于 2013-10-22 08:28 编辑 ]…

查看全部问答>

测评:iMagic无线智能LED蓝牙灯

    近年来,智能手机飞速发展,加之蓝牙、Zigbee、Wifi等无线技术的完善,通过手机与外部设备建立无线连接,实现智能控制,这一思路已在多个领域得到实现。在智能家居领域,无线智能灯控一时间为众人追捧,飞利浦HUE、Lumen、Lifx、iLum ...…

查看全部问答>