历史上的今天
返回首页

历史上的今天

今天是:2025年07月19日(星期六)

2020年07月19日 | 矩阵按键控制动态数码管

2020-07-19 来源:eefocus

#include


typedef unsigned char u8;

typedef unsigned int u16;


sbit KZA=P2^2; //位定义

sbit KZB=P2^3;

sbit KZC=P2^4;

#define GPIO_key P1

#define GPIO_DIG P0


u8 KeyValue;


u8 code shumag[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,

0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};


void delay(u16 i)

{

while(i--);

}


void KeyDown()                  //按键判定

{

char a=0;

GPIO_key=0x0f;

if(GPIO_key!=0x0f)

{

delay(1000);

if(GPIO_key!=0x0f)

{

GPIO_key=0x0f;

switch(GPIO_key)

{

case 0x07:KeyValue=0;break;

case 0x0b:KeyValue=1;break;

case 0x0d:KeyValue=2;break;

case 0x0e:KeyValue=3;break;

}

GPIO_key=0xf0;

switch(GPIO_key)

{

case 0x70:KeyValue=KeyValue;break;

case 0xb0:KeyValue+=4;break;

case 0xd0:KeyValue+=8;break;

case 0xe0:KeyValue+=12;break;

}

/*while((a<50)&&(GPIO_key!=0xf0))

{

delay(1000);

a++;

}*/

}

}

while((a<50)&&(GPIO_key!=0xf0))

{

delay(100);

a++;

}

}


void xianshi()                         //数码管显示

{

u8 i;

for(i=0;i<8;i++) //循环输出

{

switch(i) //数码管选择

{

case 0:

KZA=0;KZB=0;KZC=0;break;

case 1:

KZA=1;KZB=0;KZC=0;break;

case 2:

KZA=0;KZB=1;KZC=0;break;

case 3:

KZA=1;KZB=1;KZC=0;break;

case 4:

KZA=0;KZB=0;KZC=1;break;

case 5:

KZA=1;KZB=0;KZC=1;break;

case 6:

KZA=0;KZB=1;KZC=1;break;

case 7:

KZA=1;KZB=1;KZC=1;break;

}

GPIO_DIG=~shumag[KeyValue];

delay(1000); //延时,视觉暂留

P0=0x00;

}

}


void main()

{

while(1)

{

KeyDown();

//GPIO_DIG=~shumag[KeyValue];

xianshi();

}

}



整体实现还行,数码管闪烁严重,不能一直显示静态画面

推荐阅读

史海拾趣

Dean Technology公司的发展小趣事

Dean Technology公司起源于上世纪80年代,当时电子行业正经历着飞速的发展。创始人凭借其深厚的电子技术背景和敏锐的市场洞察力,决定进入高压二极管领域。他带领研发团队不断攻克技术难题,成功推出了一系列性能稳定、品质可靠的高压二极管产品,奠定了公司在行业中的技术领先地位。

Fluke公司的发展小趣事

随着产品技术的不断成熟,Dean Technology公司开始注重品牌建设和市场推广。他们积极参加各类电子展会,展示公司的最新产品和技术,与行业内外的客户建立联系。同时,公司还通过广告宣传、合作伙伴关系等方式,提高品牌知名度和美誉度。这些努力使得Dean Technology的高压二极管产品逐渐在市场上获得了认可。

Conexcon Group公司的发展小趣事

在电子行业的发展过程中,环保问题日益受到关注。Conexcon Group积极响应国家环保政策,将绿色环保理念贯穿于产品研发、生产和销售的全过程。公司采用了环保材料和工艺,减少了对环境的污染和破坏。同时,公司还加强了废旧电子产品的回收和处理工作,推动了电子行业的可持续发展。这些举措不仅赢得了消费者的认可和支持,也为公司树立了良好的社会形象。

HEICO Corporation公司的发展小趣事

HEICO Corporation在电子技术领域的成功离不开其对技术创新的重视。公司不断推出新产品,如大功率电容器充电电源、行波管放大器、光电探测器等,这些产品以其卓越的性能和可靠性赢得了市场的广泛认可。同时,HEICO还致力于提升生产效率和产品质量,通过引入先进的生产设备和工艺,确保产品能够按时交付并满足客户的严格要求。这种技术创新和品质保证的策略,使得HEICO在电子行业中保持了领先地位。

HDK(北陆电气)公司的发展小趣事

在追求业务增长的同时,HEICO Corporation也积极履行社会责任,注重环保与可持续发展。公司致力于减少生产过程中的能源消耗和废弃物排放,采用环保材料和工艺进行生产。此外,HEICO还积极参与环保公益活动,推动电子行业的绿色发展。这种环保理念不仅提升了公司的社会形象,也为公司在电子行业中树立了良好的口碑。通过持续推动环保与可持续发展战略的实施,HEICO在电子行业中实现了经济效益与社会效益的双赢。

Fairchild (ON Semiconductor)公司的发展小趣事

在发展过程中,Fairchild Semiconductor也经历了多次收购与整合。这些收购不仅为Fairchild带来了更多的技术和资源,也进一步巩固了其在半导体行业中的领导地位。然而,随着市场竞争的加剧和技术的不断更新换代,Fairchild也面临着越来越多的挑战和机遇。

问答坊 | AI 解惑

怎样才能快速入门呢?

一、弄懂电子技术常用名称、概念、图形及文字符号、单位制等   初学者必须弄懂电子技术常用的名称、概念,比如什么是电流、电压、电阻,什么是直流电、交流电,什么是串联、并联、串并联,什么是频率、周期、波长、振幅、相位,什么是阻抗、容抗 ...…

查看全部问答>

分享FPGA教程初级(alter)

alter公司的配套教材,希望对大家有用!!!!…

查看全部问答>

简易配置TFTP

Redhat Linux下tftp服务器配置其实很容易。现以RedHat 7.3为例说明。 1. 如何启动tftp服务?1 执行ntsysv命令,选中tftp服务,再执行service xinetd restart命令。tftp服务就启动了,容易吧。 2. 如何下载文件? 先分析一下tftp的配置文件 ...…

查看全部问答>

vxWorks信号的使用问题求助

我在利用信号(signal)实现模拟软中断的功能,由于需要模拟定时中断,所以在看门狗(watchDog)服务程序中向目标任务发送信号,以中断目标任务,目标任务总共有32个,但是在该程序的运行过程中,前10个目标任务中出现页错误,后22个任务丢失信号信 ...…

查看全部问答>

收藏 不显示删除回复显示所有回复显示星级回复显示得分回复 发一个外包项目贴!请有实力有精力的工程师速与我联系!!斑竹请鼠标下留帖!先谢谢啦

2440手持机外包项目: 1、背光驱动 2、电源管理 3、自定义键盘驱动 4、LP3913驱动 5、EEPROM驱动 6、NANDFLASH分区及海量存储 注意:目前BSP为WINCE42下的 要求: 有实力做出以上6个驱动(具体详见需求) 时间价钱面议 地点限北京 QQ: ...…

查看全部问答>

virtualcoy 与 dma

在wince下预留一块ram空间作为dma的发送缓冲,应用程序往里写数据,dma读取,问题是在应用程序和驱动中能不能对同一块物理地址同时使用virtualcopy绑定呢?不能的话该怎么做,请高手指点啊…

查看全部问答>

可以作为多任务或多线程之间的通信方式都有哪些?

可以作为多任务或多线程之间的通信方式都有哪些?各路高手指点一下…

查看全部问答>

【求助】tshell任务挂起

各位专家,你们好     我的程序在运行过程中,会不断的通过telnet向调试终端吐出打印信息,如果我在这个时候通过shell命令行输入命令,比如(\"i\", 用户命令等等),这时就会报程序异常,异常信息中提示说是tShell任务造成的,然后就再 ...…

查看全部问答>

新手求助:EVC3.0编译出错拉!

我在windows xp的环境里,用evc3.0和ppc2002开发pda程序,编译时提示出错: Cannot open include file: \'icmpapi.h\': No such file or directory 这和环境配置有什么关系吗? 这个具体的环境应该如何配置呢? 请各位大虾帮帮我! …

查看全部问答>

视频传送的问题

我在用PDA做一个视频监控的程序 现在我利用ActiveSync软件接到PC上时一切测试都是OK的  但是当我利用无线网卡接入局域网时在打开软件时直接就关闭了(没有任何提示。。。。。) 我用的软件是evc4.0 希望各位帮帮忙!!!!!!!!! ...…

查看全部问答>