首页 > 其他 > 详细

数码管无限循环

时间:2018-04-01 21:45:03      阅读:206      评论:0      收藏:0      [点我收藏+]

#include"STC15F2K60S2.H"
#include"intrins.h"
#define uint unsigned int
#define uchar unsigned char
#define led_output P0
sbit WR=P3^6;
uchar code tabe[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uchar code tabe1[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
uchar mack;
void Delay100ms(unsigned int m) //@11.0592MHz
{
unsigned char i, j, k;
unsigned int z;
for(z=m;z>0;z--)
{
_nop_();
_nop_();
i = 5;
j = 52;
k = 195;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}
}

void show( )
{
P2=0xff;//打开段选控制Y7
led_output=tabe[mack%10];//亮
P2&=0x1f; //关闭U7锁存器
P2=0xdf;//打开位选控制Y6
led_output=tabe1[mack%9];//
WR=0; //始终为0
P2&=0x1f; //关闭U8锁存器
Delay100ms(10);
}
void main( )
{
while(1)
{
show( );//数码管显示
mack++;//显示的数值自动加一
Delay100ms(10);
if(mack==10)//判断mack为99时,给它清0
mack=0;
}
}

第一种方法

数码管无限循环

原文:https://www.cnblogs.com/296389183yy/p/8688185.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!