历史上的今天
返回首页

历史上的今天

今天是:2026年02月01日(星期日)

正在发生

2023年02月01日 | 基于51单片机利用中断实现100以内的按键计数

2023-02-01 来源:zhihu

具体功能实现:

按下“计数”按键可以自增1,按下“清零”按键可以将两位数码管全部置0

使用器件:

两只数码管、总线、排阻、两个按键、AT89C51芯片

Proteus仿真原理图:


仿真:

知识介绍 :

Proteus布线

为了让整个原理图看上去简洁明了,我们对元器件的导线进行标号,而不是直接和芯片相连。

数码管共阳、阳极断码

共阳极(1-9):

0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90

共阴极(1-9):

0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f

中断系统

执行现程序的过程中,出现某些急需处理的异常情况或特殊请求,CPU暂时中止现行程序,而转去对这些异常情况或特殊请求进行处理,在处理完毕后CPU又自动返回到现行程序的断点处,继续执行原程序。

中断初始化代码:

定时器:

定时器可以实现准确定时,定时功能,计数功能。

51单片机有2个16位的定时器/计数器,定时器0(T0位P3.4)和定时器1(T1为P3.5)

主要代码(C语言)KEIL5实现:

#include


unsigned code Code[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,

0x7d,0x07,0x7f,0x6f};

unsigned char count=0;


void main(){

  P0 = 0x00;

  P2=0x00;

  TMOD = 0X06;

  TH0=256-1;

  TL0=256-1;

  ET0=1;

  EX0=1;

  EA=1;

  IT0=1;

  TR0=1;

  while(1){

    P0=Code[count/10];

    P2=Code[count%10];

  }

}


void key_count() interrupt 1  //计数自增1 

{

  count++;

  if(count>100)

  {

    count=0;

  }

}


void clear() interrupt 0     //清零

{

  count=0;

}

问:Proteus如何快速布线?

答:按键按下大写的A,输入指令net=P0.#,然后点击“单击对象”,最后想要给哪根导线标号只需点击一下即可。

问:设计思路

答:利用计数器进行加数,利用中断系统做清零处理。


推荐阅读

史海拾趣

Cypress(赛普拉斯)公司的发展小趣事

近年来,随着汽车电子、物联网等应用领域的快速发展,Cypress也制定了新的发展战略。公司将以MCU+存储+USB为核心产品,为汽车电子、物联网等应用领域提供完整的嵌入式系统解决方案。为了实现这一目标,Cypress将继续加大研发投入,推动技术创新和产品升级。同时,公司还将加强与国际合作伙伴的合作,共同开拓新的市场和应用领域。

广东奥科公司的发展小趣事

广东奥科公司深知品质是企业生存和发展的关键。因此,公司始终将品质管理放在首位,从原材料采购到生产流程控制,再到产品出厂检验,每一个环节都严格把控品质。同时,公司还建立了完善的品质管理体系和持续改进机制,通过不断优化生产工艺和提升产品质量,确保每一款产品都能满足客户的期望和需求。

FILTRONIC公司的发展小趣事

随着市场需求的不断增长,FILTRONIC开始着手拓展产品线,从单一的滤波器产品扩展到包括射频模块、天线等在内的多种无线通信产品。同时,公司也积极实施国际化战略,通过参加国际展会、设立海外办事处等方式,逐步打开了国际市场的大门。FILTRONIC的产品以其卓越的性能和可靠的质量赢得了全球客户的信赖,公司也因此实现了业务的快速增长。

Bridgelux公司的发展小趣事

Bridgelux公司成立于XXXX年,由一群富有远见和创新精神的工程师创立。他们看到了LED照明技术的巨大潜力,并致力于将其商业化。公司初期面临资金和技术双重挑战,但他们凭借坚定的信念和不懈的努力,成功开发出了一系列高质量的LED照明产品,并逐渐获得了市场的认可。

B&K Precision公司的发展小趣事

随着业务的不断发展,科恩和班意识到电子测试和测量领域的巨大潜力。1951年,他们将公司更名为B&K Precision,并开始扩展业务,涉足其他电子测试和测量领域。工程师们凭借在电视测试设备领域的丰富经验,不断研发新产品,获得了多项专利,并推动公司迅速成为全球电子测量领域的领导者。

Fuji Teminal Industry Co Ltd公司的发展小趣事

随着电子行业的不断发展,B&K Precision始终保持着创新的步伐。公司不断推出具有创新性和竞争力的新产品,如数字电流表、三路输出直流清洁电源等,满足了市场对于高精度、高可靠性测试仪器的需求。这些产品的推出不仅提升了公司的市场份额,也进一步巩固了公司在电子行业中的地位。

问答坊 | AI 解惑

HT-220/10高频开关电源的研制

摘要:使用无损吸收电路,能够提高硬开关PFC的工作频率,并降低开关损耗。应用全桥移相软开关技术,实现了DC/DC变换器的大功率输出。通过应用这两种技术,研制HF220/10型高频开关电源。 关键词:无损吸收PFC变换器ZVS?FB …

查看全部问答>

Wince5.0 direct3d问题,请指点一下,谢谢!

公司找的外包软件公司需要direct3d功能,对此不了解,所以有几个问题想请教一下: 1、外包公司一直提到direct3d.dll,而WINCE5.0中有d3dm.dll,两者之间的关系是类似于MDD与PDD之间的关系还是同等关系? 2、看他们软件介绍是需要Pocket PC\\Windo ...…

查看全部问答>

已经实现开机自动运行程序,关于输入的一点问题

我按照网上查到的方法 用自己的程序替换掉了explorer.exe [HKEY_LOCAL_MACHINE\\Init] \"Launch50\"=\"myapp.exe\" \"Depend50\"=hex:14,00,1e,00 编译的系统能够运行,并且程序全屏。 我的疑问是,我想在程序的界面中输入东西怎么办? 我看不 ...…

查看全部问答>

MMI 3002514 是什么?

micro motion 公司的MMI 3002514是什么器件啊?…

查看全部问答>

vxworks下用usb驱动d12芯片的问题?

vxworks下用usb驱动d12芯片,要注意哪些关键的地方?可以指点一下吗? 谢谢! …

查看全部问答>

基于MSP430扩展外部FLASH MEMORY系统的介绍

介绍如何扩展FLASH MEMORY,在MSP430系统上…

查看全部问答>

轻松下吧!多少人在应用手册中见过这个

能猜出来的,芯币奖励,大奖50枚!…

查看全部问答>

FPGA与51单片机通讯的问题

我现在在做一个频率计,用FPGA做数据采集,51单片机做显示,数据通信上我说一下我的思路,当P3-0口为低电平,其他为高电平时,FPGA的数据口传送给P1口一组8位数据,当P3-1口为低电平,其他为高电平时,FPGA的数据口再传送给P1口一组8位数据,一共四 ...…

查看全部问答>

手机现代化应用大棚远程监控系统

  [手机远程无线温湿度监控系统]   [无线温湿度监控系统]   【手机温湿度监控系统】   农业大棚温湿度监控系统方案   本文编辑 九纯健刘重庆     本方案主要是针对手机检测大棚温湿度所开发设计 ...…

查看全部问答>

关于FPGA电压的问题

由于我电路设计失误,导致VCCA本来应该2.5V的供电现在大约2.3V,不知道这个影响FPGA的工作吗? 我程序烧写是正常的,但是程序不是立刻执行,过了得有半分钟才开始执行? 这个和电压不够有关系吗? 谢谢啊…

查看全部问答>