基于51单片机利用中断实现100以内的按键计数(Proteus仿真)

这篇具有很好参考价值的文章主要介绍了基于51单片机利用中断实现100以内的按键计数(Proteus仿真)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 wechat:【嵌入式工程师成长日记】

基于51单片机利用中断实现100以内的按键计数(Proteus仿真)

https://mp.weixin.qq.com/s?__biz=Mzg4Mzc3NDUxOQ==&mid=2247484090&idx=3&sn=ed67cb438e25cc13b32ac6c48ccebecb&chksm=cf4307e2f8348ef424109aacc5bb64a6f20d53581d57f15377ec67383e01a69e7a0292b500f6&token=3445295&lang=zh_CN#rdhttps://mp.weixin.qq.com/s?__biz=Mzg4Mzc3NDUxOQ==&mid=2247484090&idx=3&sn=ed67cb438e25cc13b32ac6c48ccebecb&chksm=cf4307e2f8348ef424109aacc5bb64a6f20d53581d57f15377ec67383e01a69e7a0292b500f6&token=3445295&lang=zh_CN#rd文章来源地址https://www.toymoban.com/news/detail-444345.html

具体功能实现:

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

使用器件:

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

基于51单片机利用中断实现100以内的按键计数(Proteus仿真)

Proteus仿真原理图: 

基于51单片机利用中断实现100以内的按键计数(Proteus仿真)

仿真: 

基于51单片机利用中断实现100以内的按键计数(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单片机利用中断实现100以内的按键计数(Proteus仿真)

中断初始化代码:

基于51单片机利用中断实现100以内的按键计数(Proteus仿真)

定时器:

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

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

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

wechat:【嵌入式工程师成长日记】


#include <REGX52.H>

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.#,然后点击“单击对象”,最后想要给哪根导线标号只需点击一下即可。

问:设计思路

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

wechat:【嵌入式工程师成长日记】

https://mp.weixin.qq.com/s?__biz=Mzg4Mzc3NDUxOQ==&mid=2247484090&idx=3&sn=ed67cb438e25cc13b32ac6c48ccebecb&chksm=cf4307e2f8348ef424109aacc5bb64a6f20d53581d57f15377ec67383e01a69e7a0292b500f6&token=3445295&lang=zh_CN#rdhttps://mp.weixin.qq.com/s?__biz=Mzg4Mzc3NDUxOQ==&mid=2247484090&idx=3&sn=ed67cb438e25cc13b32ac6c48ccebecb&chksm=cf4307e2f8348ef424109aacc5bb64a6f20d53581d57f15377ec67383e01a69e7a0292b500f6&token=3445295&lang=zh_CN#rd

到了这里,关于基于51单片机利用中断实现100以内的按键计数(Proteus仿真)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 利用51单片机实现与RS485通讯,接收数据

    目录 一、研究背景 二、硬件准备 三、软件准备  四、实验原理 五、单片机代码  六、Python读取串口处理数据 七、开发总结          学院给了14天的时间,一枚专业课紧的大三狗匆忙做出来。探索出一种研究阳极氧化工艺电解液中金属离子浓度在线测量和监控的设备和方式

    2024年02月07日
    浏览(45)
  • 51内核单片机实现Bootloader跳转到用户程序,要求两个程序都要支持中断

    本文使用的单片机为笙科的A9129F6,Flash大小为64KB,SRAM大小为8KB。 Flash空间规划如下。 起始地址 结束地址 用途 0x0000 0x3fff Bootloader 程序 0x4000 0xefff 用户程序( APP 程序) 0xf000 0xffff 存放设备 配置信息 程序间跳转实现起来很简单,只需要使用函数指针就行了。 但是难点在于

    2024年02月16日
    浏览(41)
  • 51单片机中断系统

    我们先来举一个生活事例: 你打开火,烧上一壶水。然后去洗衣服,在洗衣服的过程中,突然听到水壶发出水开的报警声,这时,你停止洗衣服动作,立即去关掉火,然后将开水灌入暖水瓶中,灌完开水后,你又回去继续洗衣服。这个过程中实际上就发生了一次中断。 对于

    2024年02月05日
    浏览(57)
  • 51单片机中断

    1、什么是中断? CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理(中断发生); CPU暂时中断当前的工作,转去处理事件B(中断响应和中断服务); 待CPU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理事件A(中断返回),这一过程称为中断 。 中断触

    2024年01月21日
    浏览(51)
  • 51单片机(九):中断

    一、“中断”与定时器的关系         前面我们学习过了定时器,实际上 定时器的一般用法都是采取中断的方式进行实现的 。需要明确的是,定时器和中断不是一回事,定时器是单片机模块的一个资源,确确实实存在的一个模块,而中断是单片机中的一种运行机制。 在单片

    2024年02月04日
    浏览(43)
  • 51单片机——中断

    中断系统的设置,是为了让CPU能对外界紧急事件进行实时处理 中断的过程是,当中断请求源发出中断请求时,CPU响应中断后,CPU先暂停当时正在执行的主程序,转而去处理中断服务程序,处理完后继续原来的工作 微型机一般允许多个中断源,当几个中断源同时发出中断时,

    2023年04月15日
    浏览(86)
  • 【51单片机——————外部中断】

    中断是指单片机主程序运行过程中,出现某些意外情况需要单片机处理,单片机能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。 在实际应用开发中,单片机不可能一直轮询查看按键是否按下,单片机还需要去执行其他任务,

    2024年02月06日
    浏览(48)
  • 【51单片机】外部中断

    51的 外部中断 与 定时器(内部中断) 有一个共同特点,那就是与主程序是 并行 工作的,就是主程序在运行的时候,中断也在等待触发条件,当 中断被触发的时候会暂停主程序 转而执行中断服务程序,只有中断服务程序执行完后,才会继续执行主程序。 这里的触发条件是指:

    2024年02月02日
    浏览(67)
  • 51单片机的中断系统

    程序中断 CPU 执行现行程序 的过程中,出现 某些急需处理的异常情况或特殊请求 ,CPU 暂时中止现行程序 ,而转去对 异常情况或特殊请求进 行处理,处理完毕后再 返回现行程序断点处 ,继续执行原程序。 中断可以实现的主要功能 CPU与I/O设备并行工作。 CPU切换到内核态,

    2024年02月03日
    浏览(45)
  • 51单片机 | 外部中断实验

       51 单片机外部中断有 2 个,外部中断 0 和外部中断 1 ,它们的使用方法是一样的,所以只要学会一个即可掌握所有外部中断使用。本节所要实现的功能是:使用独立按键 K3 控制 LED 亮灭, K3 连接外部中断 0 ( P3.2 )管脚。   上一节我们介绍了 51 单片机的中断系统,我

    2023年04月26日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包