menu Fortunately
数码管加按键,实现(0-9)输出和逆序输出
133 浏览 | 2020-03-17 | 分类:单片机 | 标签:秃头

单片机学习记录-2<!--more-->
proteus(仿真)+keil实现操作

第一步proteus(仿真)软件进行仿真电路设计
电路图如下:

第二步keil进行单片机C程序编写
代码如下:

#include<reg51.h>
sbit led=P2^0;
sbit key=P3^0;
void delay();
char seg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//数码管输出数字码数组(0-9)
void main(void)
{
 int i;
  while(1)
    {
      if(0==key)//判断开关状态是否等于0
        {
           for(i=0;i<=9;i++)//(0-9依次输出)
           {
             P2=seg[i];
             delay();
              if(0!=key)//判断开关状态是否变化
                    {
                   break;
                    }
           }
        }
      else
        {
           for(i=9;i>=0;i--)//(9-0依次输出)
           {
             P2=seg[i];
             delay();
              if(0==key)//判断开关状态是否变化
               {
                       break;
               }
           }
        }
    }
  }void delay()//延时,避免数码管显示过快{
    int i,j;
    for(i=0;i<200;i++)
        for(j=0;j<200;j++)
    {}
  }

第三步通过proteus将在keil中编写的C程序烧写到AT89C51单片机中
运行效果如下:
注:该GIF显示不完全

发表评论

email
web

全部评论 (暂无评论)

info 还没有任何评论,你来说两句呐!