找回密码
 立即注册

QQ登录

只需一步,快速开始

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

单片机两位静态数码管显示独立按键的次数程序 Keil+Proteus

[复制链接]
跳转到指定楼层
楼主
两位数码管显示按键的按下的次数,从0-99,按键按到99后下一次清零,适合刚接触单片机的同学。内容包含keil+Proteus

仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)


单片机源程序如下:
  1. /*两位静态数码管显示按键次数*/
  2. //头文件
  3. #include "reg51.h"

  4. /* 定义 uint uchar         */
  5. typedef        unsigned int uint;
  6. typedef unsigned char uchar;

  7. uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,         
  8.                                                           0x92,0x82,0xf8,0x80,0x90};                        //0~9的数组          (共阳极)


  9. sbit key = P1^0;                          //定义按键

  10. void Delay_ms(uint z);                                          //声明延时函数

  11. void main(void)                                  //主函数
  12. {
  13.         uint i;     
  14.         while(1)
  15.         {                 
  16.                 if(key == 0)                      //判断按键是否按下
  17.                 {
  18.                         Delay_ms(10);                                  //延时10ms
  19.                         if(key == 0)                                  //再次判断
  20.                         {
  21.                                 i++;                                          //按键次数
  22.                                 while(key == 0);                  //判断是否松开按键
  23.                                 if(i == 100) i=0;                  //如果到达99,下一次回到0
  24.                         }
  25.                 }                                                          
  26.                 P2 = table[i/10];                 //显示十位
  27.                 P3 = table[i%10];                 //显示各位                               
  28.         }
  29. }


  30. void Delay_ms(uint z)                        //延时函数
  31. {
  32.         while(z--)        //@12.000MHz
  33.         {
  34.                 unsigned char i, j;
  35.        
  36.                 i = 2;
  37.                 j = 239;
  38.                 do
  39.                 {
  40.                         while (--j);
  41.                 } while (--i);
  42.         }
  43. }
复制代码

所有资料51hei提供下载:
两位静态数码管显示独立按键的次数.rar (54.84 KB, 下载次数: 29)


有什么单片机的问题大家也可以留言评论!

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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