找回密码
 立即注册

QQ登录

只需一步,快速开始

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

我想实现通过单片机按键中断实现每次按键之后数据加二,再用数码显示管显示,但不...

[复制链接]
楼主
ID:213173 发表于 2019-4-29 21:59 | 显示全部楼层
给你改好了。




  1. #include <reg52.h>
  2. code unsigned char LED_[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
  3. code unsigned char disbuf[]={0xfe,0xfd};
  4. unsigned char m;

  5. void delay(unsigned char time)
  6. {
  7.         unsigned char i,j;
  8.         for(i=time;i>0;i--)
  9.           for(j=0;j<125;j++);
  10. }

  11. break_() interrupt 2
  12. {
  13.         m+=2;
  14.         m%=100;
  15. }
  16. void main()
  17. {
  18.         bit j=0;
  19.         EA=1;
  20.         EX1=1;
  21.         IE1=1;
  22.         IT1=1;
  23.         m=0;
  24.         while(1)
  25.         {
  26.                 if(j==0)
  27.                 {
  28.                         P2=disbuf[0];
  29.                         P0=LED_[m/10%10];
  30.                         j=1;
  31.                 }
  32.                 else
  33.                 {
  34.                         P2=disbuf[1];
  35.                         P0=LED_[m%10];
  36.                         j=0;
  37.                 }
  38.                 delay(2);
  39.                 P0=0x00;;
  40.         }
  41. }
复制代码



回复

使用道具 举报

沙发
ID:213173 发表于 2019-4-30 15:29 | 显示全部楼层
博蒗 发表于 2019-4-30 12:01
十分感谢你的指导,不过你帮我都改好了,我都懒得动脑子了,哈哈

程序虽然很简单,希望你能读懂。懒得动脑子乘早改行。入这行玩的就是动脑子。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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