数码管最右边一位从0到9无限循环

本文介绍了一款基于51单片机的LED数码管显示程序的具体实现方式,通过定时循环更新数码管显示内容。该程序利用了定时器中断的方式实现了数码管的动态扫描显示。

#include<STC15F2K60S2.H>
#include"intrins.h"
#define uint unsigned int
#define uchar unsigned char
#define led_output P0
#define led_duan_and_wei P2 //定义段选和位选
unsigned char add1,add2;
unsigned int num=52700,index=52700;
uchar code tabe[ ]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//显示1,2,3,4,5,6,7,8,9
uchar code tabe1[ ]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01}; // 从第八位到第一位
void main( )
{
while(1)
{
num++;
if(num>=52700)  //计时
{
num=0;
led_output=tabe1[add2];//位选
led_duan_and_wei=0xdf;//
led_duan_and_wei&=0x1f;//
add2++;
add2&=0xf8;
}

index++;
if(index>=52700)
{
index=0;
led_output=tabe[add1];//È¡ÓàÑ¡ÔñÁÁµÄ¶ÎÑ¡Êý¾Ý
led_duan_and_wei=0xff;//´ò¿ª¶ÎÑ¡¿ØÖÆY7ÐźÅ
led_duan_and_wei&=0x1f; //ÇåÁ㣬¹Ø±ÕU7Ëø´æÆ÷
add1++;
if(add1==10)
{
add1=0;
}
}
}
}

转载于:https://www.cnblogs.com/296389183yy/p/8729509.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值