找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6719|回复: 3
打印 上一主题 下一主题
收起左侧

proteus用计数器中断实现100以内的按键计数

[复制链接]
跳转到指定楼层
楼主
proteus用计数器中断实现100以内的按键计数,最好有电路图和程序
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:111634 发表于 2017-4-11 22:15 | 只看该作者
本帖最后由 zl2168 于 2017-4-11 22:17 编辑

统计脉冲数
实例71 统计T0引脚上10分钟内的脉冲数
先Proteus仿真一下,确认有效。
实例71 统计T0引脚上10分钟内脉冲数.rar (52.96 KB, 下载次数: 29)

以上摘自张志良编著《单片机实验实训100例》 ISBN 978-7-5124-1603-1,北航社出版. 书中电路和程序设计有详细说明,程序语句条条有注解。
回复

使用道具 举报

板凳
ID:149451 发表于 2017-4-11 22:30 | 只看该作者
这给你找了个,INT0 加,INT1 减
按键计数器.rar (46.73 KB, 下载次数: 90)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

地板
ID:186936 发表于 2017-4-12 11:39 | 只看该作者
  1. #include<reg52.h>
  2. #define uint unsigned int
  3. sbit a1=P2^6;
  4. sbit a2=P2^7;
  5. uint k=0;
  6. uint code dat[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
  7. void delay()
  8. {
  9.         uint i;
  10.         for(i=2000;i>0;i--);
  11. }
  12. void main()
  13. {
  14.         EA=1;
  15.         EX0=1;
  16.         EX1=1;
  17.         IT0=1;
  18.         IT1=1;
  19.         while(1)
  20.         {
  21.             P0=0;
  22.                 P0=dat[k/10];
  23.                 a2=1;
  24.                 a1=0;
  25.                 delay();
  26.                 P0=0;
  27.                 P0=dat[k%10];
  28.                 a1=1;
  29.                 a2=0;
  30.                 delay();
  31.         }
  32. }
  33. void jiashu() interrupt 0
  34. {
  35.         if(k<99)
  36.                 k=k+1;
  37.         else
  38.                 k=0;
  39. }
  40. void jianshu() interrupt 2
  41. {
  42.         if(k>0)
  43.                 k=k-1;
  44.         else
  45.                 k=99;
  46. }
复制代码

12.JPG (197.4 KB, 下载次数: 83)

12.JPG

按键计数.zip

51.62 KB, 下载次数: 50

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表