找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2228|回复: 1
收起左侧

8位数码管循环递减显示数字 单片机程序

[复制链接]
ID:609946 发表于 2019-10-14 21:37 | 显示全部楼层 |阅读模式
/*8位数码管来回扫描显示1~8*/
#include <reg52.h>         //包含头文件
#include <intrins.h>        //包含移位函数头文件
//段码表
unsigned char code dis_code[11]={0xc0,0xf9,0xa4,0xb0, // 0, 1, 2, 3
    0x99,0x92,0x82,0xf8,0x80,0x90, 0xff};// 4, 5, 6, 7, 8, 9, off
//毫秒级延时函数
void delay(unsigned int x)
{
  unsigned char i;
while(x--)
{
  for(i=0;i<120;i++);
}
}
//主函数
void main()
{
unsigned char k,i,m=0x80;      //变量定义
P0 = 0xff;       //先关闭数码管
P2 = 0x00;        //
while(1)
{
for(i=8;i>0;i--)
{
   for(k = 0;k < i;k++)       //循环8次
  {
    P2 = 0x00;      //每显示一位都要关闭位选端口一次
   m=_crol_(m,1);   //循环左移
   P2=m;            //每次选通一个位选端口
   P0=dis_code[k+1];   //段码送P0口
   delay(200);
  }
  m=0x80;
  }
  m=0x01;
  for(i=8;i>0;i--)
{
   for(k = i;k>0;k--)       //循环8次
  {
    P2 = 0x00;      //每显示一位都要关闭位选端口一次
   m=_cror_(m,1);   //循环左移
   P2=m;            //每次选通一个位选端口
   P0=dis_code[k];   //段码送P0口
   delay(200);
  }
  m=0x01;
  }
}
}

数码管循环递减显示数字.rar

9.01 KB, 下载次数: 7, 下载积分: 黑币 -5

回复

使用道具 举报

ID:1 发表于 2019-10-15 02:19 | 显示全部楼层
本帖需要重新编辑补全电路原理图,源码,详细说明与图片即可获得100+黑币(帖子下方有编辑按钮)
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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