#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
void delay(void)
{
uchar i,j
for(i=0i<150i++)
for(j=0j<240j++)
}
main()
{
uchar led,i,j
while(1)
{
for(i=0i<8i++)
{
led=0xfe<<i
for(j=0j<8-ij++)
{
P0=led
led=_crol_(led,1)
delay()
}
}
}
}
1、首先数码管分为1位,4位,8位,4位和8位的又分为共阴和共阳数码管。
2、共阳数码管,即阳极全部连接在一起,单片机接口给低电位即可点亮对应的段位。
3、可利用MCS-51系列单片机的芯片AT89C52的P3.4,P3.5,P3.6,P3.7进行计时并在数码管上显示时间,作为按键的入口。
4、共阴数码管,即阴极全部连接在一起,单片机接口给高电位即可点亮对应的段位。
5、其中“开始”按键当开关由上向下拨时开始计时,此时若再拨“开始”按键则数码管暂停;“清零”按键当开关由上向下拨时数码管清零,此时若再拨“开始”按键则又可重新开始计时。
#include<reg51.h>sbit k1=P3^3;
#define uint16 unsigned int
#define uchar unsigned char
uchar code shuzu[ ]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void delay()
{
uint16 i=1000;
while(i--);
}
void main()
{
uchar n ;
P2=0xfe;
P1=0xff;
while(1)
{
if(k1==0)
{
if(n>=9) n=0;
else n++;
P1=shuzu[n];
while(!k1)
delay()
while(!k1)
}
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)