标题: proteus用计数器中断实现100以内的按键计数 [打印本页]

作者: 郑尚猛    时间: 2017-4-11 19:35
标题: proteus用计数器中断实现100以内的按键计数
proteus用计数器中断实现100以内的按键计数,最好有电路图和程序

作者: zl2168    时间: 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,北航社出版. 书中电路和程序设计有详细说明,程序语句条条有注解。

作者: w1179benp    时间: 2017-4-11 22:30
这给你找了个,INT0 加,INT1 减
按键计数器.rar (46.73 KB, 下载次数: 90)

作者: wxc19960311    时间: 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






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1