找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3710|回复: 0
收起左侧

单片机旋转拨码盘程序找了好久!(亲测好用)

[复制链接]
ID:163950 发表于 2017-8-9 14:43 | 显示全部楼层 |阅读模式
  1. #include<reg51.h>
  2. #define uchar unsigned char
  3. sbit plus=P3^2; //中断口
  4. sbit dat=P3^7;  //另一个引脚端口
  5. uchar tmp=1;
  6. void delayms(unsigned char count)
  7. {
  8. unsigned char i,j;
  9. for(i=0;i<count;i++)
  10. for(j=0;j<120;j++);
  11. }
  12. void main()
  13.     {
  14.         IT0 = 1;                                                
  15.         EX0 = 1;                                          
  16.         EA  = 1;
  17.         while(1)
  18.             {
  19.                 P1=tmp;//输出到P0
  20.             }
  21.     }
  22. void int0() interrupt 0 using 0
  23.     {
  24.         EX0=0;
  25.         delayms(1);//消抖
  26.         if(plus==0)//开始检测按键
  27.             {
  28.                 delayms(1);//消抖
  29.                 if(plus==0)
  30.                     {
  31.                         if(dat==0)
  32.                             {
  33.                                 tmp++;//具体执行的程序,我这里让中间变量加一
  34.                             }
  35.                         if(dat==1)
  36.                             {
  37.                                 tmp--;
  38.                             }
  39.                     }
  40.             }
  41.         EX0=1;   
  42.     }
  43. //延时函数自己可以具体调整!研究好久,亲测这个可以用哦!
复制代码


评分

参与人数 2黑币 +80 收起 理由
世纪21电源 + 30
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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