历史上的今天
返回首页

历史上的今天

今天是:2025年10月09日(星期四)

正在发生

2022年10月09日 | 89C52单片机 独立按键 示例

2022-10-09 来源:csdn

1、简介

实现按键控制 一个数码管显示


2、理论讲解

在这里插入图片描述

我们看到电路图,如图说是 每个按键连接一个单片机的端口。

当按键按下时对应的端口就会被置为低电平。

我们检测对应端口电平变化,来控制相应逻辑。


3.功能demo

s2 按键 控制 数码管数值增加


//数码管动态显示12345678

#include //51头文件


#define uchar unsigned char//宏定义

#define uint  unsigned int //宏定义

sbit we = P2^7; //位定义数码管位选锁存器接口

sbit du = P2^6; //位定义数码管段选锁存器接口

sbit key_s2 = P3^0; //S2按键位定义


//数码管段选表

uchar code leddata[]={ 

 

                0x3F,  //"0"

                0x06,  //"1"

                0x5B,  //"2"

                0x4F,  //"3"

                0x66,  //"4"

                0x6D,  //"5"

                0x7D,  //"6"

                0x07,  //"7"

                0x7F,  //"8"

                0x6F,  //"9"

                0x77,  //"A"

                0x7C,  //"B"

                0x39,  //"C"

                0x5E,  //"D"

                0x79,  //"E"

                0x71,  //"F"

                0x76,  //"H"

                0x38,  //"L"

                0x37,  //"n"

                0x3E,  //"u"

                0x73,  //"P"

                0x5C,  //"o"

                0x40,  //"-"

                0x00,  //熄灭

                0x00  //自定义

 

                         };

//毫秒级延时函数

void delay(uint z)

{

uint x,y;

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

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

}


void main()

{

uchar num;


we = 1;

P0 = 0xfe; //1111 1110 选中第一个数码管

we = 0 ;//锁存器保存 串口电平状态

while(1)

{

du = 1;

P0 = leddata[num]; //显示S2按下次数 数码管显示的数字

du = 0; 


if(key_s2 == 0) { //判断 S2是否按下 ,按下 电平为低电平 0

delay(5) ; //延时防抖

if (key_s2 == 0) {

num++;

}


while(!key_s2);//松手检测 ,不松手不向下执行

}

if (num == 10) {  //当数值超过 9时 ,循环

num = 0;

}

}

}


4.效果展示

在这里插入图片描述

推荐阅读

史海拾趣

Fremont_Micro_Devices_USA公司的发展小趣事

Fremont Micro Devices USA公司的发展故事

故事一:初创与成长

Fremont Micro Devices USA(简称FMD或弗里蒙特微)的故事始于对高性能模拟及数模混合信号集成电路设计的执着追求。公司于多年前在加利福尼亚成立,起初是一家小型但充满活力的初创企业,专注于非易失性存储芯片、MCU芯片和电源管理芯片的研发。凭借其创始团队在半导体行业的深厚背景和技术专长,FMD迅速在消费电子、便携设备和通讯/网络领域崭露头角。通过持续的技术创新和产品研发,FMD逐渐积累了市场声誉,吸引了多家国际知名风险投资公司的关注和支持,为公司的快速发展奠定了坚实的基础。

故事二:技术突破与市场拓展

在FMD的发展历程中,技术突破是推动其不断前进的重要动力。公司研发团队拥有国内外顶尖半导体企业的工作经验,他们致力于全定制和半定制的数模混合芯片设计,不断提升产品的性能和可靠性。通过不断的技术积累和创新,FMD在Memory、MCU和PMIC等领域取得了显著的技术突破,拥有了业界领先的技术基础和IP积累。这些技术成果不仅提升了公司的市场竞争力,也为其在消费类、智能硬件、IOT和工控安防等应用领域的市场拓展提供了有力支持。

故事三:全球化布局与供应链管理

随着业务的不断扩张,FMD开始布局全球化市场。公司在美国本土建立了完善的研发和生产体系,同时在中国深圳设立了总部,并在香港设立了办事处,以便更好地服务亚太地区的客户。此外,FMD还积极与全球知名的电子元器件分销商合作,建立了稳定的供应链体系。通过优化供应链管理,FMD确保了产品的质量和交付速度,进一步提升了客户满意度和市场竞争力。

故事四:应对行业挑战与危机

在电子行业的发展过程中,FMD也面临着诸多挑战和危机。例如,全球半导体市场的周期性波动、国际贸易环境的变化以及新冠疫情的爆发等都对公司的运营和发展产生了一定的影响。然而,FMD凭借其强大的技术实力和市场敏锐度,积极应对这些挑战和危机。公司通过加强研发创新、优化产品结构、拓展新兴市场等方式,保持了业绩的稳定增长,并在逆境中实现了新的发展。

故事五:上市规划与未来发展

近年来,FMD在资本市场也取得了重要进展。公司已完成与中信证券的上市辅导协议签署,并在深圳证监局备案,拟在A股市场挂牌上市。这一举措不仅将为FMD带来更多的资金支持和发展动力,也将进一步提升公司的品牌影响力和市场竞争力。展望未来,FMD将继续秉承高性能、高可靠性和低成本的理念,加大在研发创新和市场拓展方面的投入力度,为客户提供更加优质的产品和服务,推动公司向更高层次的发展迈进。

创都(CAX)公司的发展小趣事

在电子行业中,产品质量是企业生存和发展的关键。创都公司深知这一点,因此在品质管理上投入了大量精力。公司建立了严格的质量管理体系,从原材料采购到生产流程控制,再到产品出厂检验,每一个环节都经过严格把关。此外,创都公司还积极引进先进的生产设备和技术,提升生产效率和产品质量。这些措施使得创都公司的产品在市场上享有良好的口碑,赢得了消费者的信任和喜爱。

华润华晶公司的发展小趣事

在电子行业中,产品质量是企业生存和发展的关键。创都公司深知这一点,因此在品质管理上投入了大量精力。公司建立了严格的质量管理体系,从原材料采购到生产流程控制,再到产品出厂检验,每一个环节都经过严格把关。此外,创都公司还积极引进先进的生产设备和技术,提升生产效率和产品质量。这些措施使得创都公司的产品在市场上享有良好的口碑,赢得了消费者的信任和喜爱。

AnDAPT__Inc.公司的发展小趣事

在电子行业的浪潮中,创都(CAX)公司凭借其卓越的技术创新能力,逐渐崭露头角。公司创始人李先生是一位热衷于新技术的电子工程师,他带领着一支由业内顶尖人才组成的研发团队,不断挑战技术极限。在一次偶然的机会中,他们成功研发出了一款具有革命性意义的高效能芯片,这款芯片不仅性能卓越,而且成本大幅降低,迅速在市场中获得了广泛认可。随着这款芯片的成功推出,创都公司的知名度迅速提升,订单量激增,公司也借此机会逐步扩大了生产规模和市场占有率。

倍思特(BEST)公司的发展小趣事

除了技术创新外,创都公司还以其精准的市场策略著称。在电子产品更新换代日益加快的背景下,公司市场部门深入分析了消费者的需求和市场趋势,成功预测了未来一段时间内的产品走向。基于这些分析,创都公司提前布局,推出了多款符合市场趋势的新产品。这些产品不仅满足了消费者的需求,还引领了市场潮流,为公司带来了丰厚的利润。此外,创都公司还积极开展品牌推广活动,通过线上线下多种渠道提升品牌知名度,进一步巩固了市场地位。

智浦欣(Chipstar)公司的发展小趣事

在2010年4月的上海张江高科技园区,一群志同道合的工程师和创业者聚集在一起,共同创立了上海智浦欣微电子有限公司。他们怀揣着对模拟及数模混合IC技术的深厚理解和热爱,立志要在消费类电子市场占据一席之地。起初,公司面临着资金紧张、技术挑战和市场压力等多重困难,但团队成员凭借对技术的执着和对市场的敏锐洞察,逐步攻克难题,研发出了几款性能优越的音频放大器和电源管理产品,为公司赢得了初步的市场认可。

问答坊 | AI 解惑

谈谈我对对讲机电路的理解

电路简单图解1.当天线接收到信号后,由于信号非常微弱,需要将信号放大,这就需要LNA(低噪声放大器)。然后通过一个射频段的带通滤波器,这里标注为Image Filter(镜像频率抑制滤波器),镜像频率指以载频为中心,与有用信号对称的频率,该频率上 ...…

查看全部问答>

碱性电池充电器!拍砖?

这是一个碱性电池充电器电路(新设计),希望拍砖斧正!!…

查看全部问答>

CRC概念及计算方法

个人觉得这段介绍CRC的计算方法比较好理解,现从书上《计算机网络第五版P68-P80》抠下来,以便日后查看。 说明:特意把这个注释写下来: 用模2运算进行加法时不进位,例如,1111+1010=0101.减法和加法一样.按加法规则计算。 另外:当被除数小于除 ...…

查看全部问答>

OV9653的IIC怎么弄?

我现在在调ov9653,遇到了些问题。 用IIC无法设定ov9653的寄存器,IIC我驱动过其他芯片,是好的. 但向ov9653中写时,ov9653一直没有返回ACK,好像根本找不到slave ID=0x60的0v9653,读到任何寄存器的值都是0xff。 0v9653用IIC驱动时有什么要特别 ...…

查看全部问答>

zxld1350

zxld1350芯片做1W LED驱动,带四个LED,用PWM调剂电压0--5V,当1350的输入电压超过16V时,LED灯会闪烁,而且恒流远远不到350毫安!而芯片提供的参数是可以到30V,缘何?电路接法和芯片提供的接法一样,小电阻是0.3欧!…

查看全部问答>

AT89C51 波特率 串口通信

  我把波特率设置到9600、19200、28800都可以正常工作,为什么设置到57600就不行了,   PCON |= 0x80;                               ...…

查看全部问答>

关于进程和线程以及DLL的问题

同一个进程之间的线程如何通讯 触摸屏驱动,LCD驱动,同为GWES加载,是否可以认为是GWES进程中的多个线程? 同一个进程之间的线程通讯是否和不同进程间的通讯相同? 普通流接口驱动   以DLL形式存在  被同一个进程(device. ...…

查看全部问答>

红色、绿色识别

请教有什么传感器可以辨别出红色和绿色物体,在10cm范围内。。。…

查看全部问答>

430 AD转换

AD转换的时候用不用考虑阻抗匹配的问题呢? 如图所示,是不是要考虑Rs与Ri和Ci的阻抗要相等?…

查看全部问答>

竞赛论文模板

本帖最后由 paulhyde 于 2014-9-15 03:34 编辑 竞赛论文格式模板    …

查看全部问答>