标题:
单片机驱动8位动态数码管仿真与源程序
[打印本页]
作者:
151615111
时间:
2018-9-26 10:22
标题:
单片机驱动8位动态数码管仿真与源程序
8位动态数码管仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
0.png
(18.74 KB, 下载次数: 42)
下载附件
2018-9-26 17:03 上传
0.png
(5.95 KB, 下载次数: 70)
下载附件
2018-9-26 17:04 上传
单片机源程序如下:
#include<reg51.h>
#include<intrins.h>
#include<ctype.h>
#include<string.h>
#include<math.h>
#include<stdio.h>
#define uchar unsigned char
#define uint unsigned int
sbit dula=P2^0;
sbit wela=P2^1;
uint time=0;
uint hh=23;
uint mm=59;
uint ss=49;
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71
};
void delayms(uint t)
{
uint i,j;
for(i=t;i>0;i--)
for(j=110;j>0;j--)
;
}
void print_string_LED(char* str)
{
uint len=strlen(str);
uint index=strpos(str,'.');
uchar t=0x7f;
uint i=0;
for(i=0;i<len;i++)
{
if(isdigit(str[len-i-1])==1)
{
P0=0xff;
wela=1;
P0=t;
wela=0;
P0=0x00;
dula=1;
if(i==len-index)
P0=table[str[len-i-1]-'0']|0x80;
else
P0=table[str[len-i-1]-'0'];
dula=0;
}
else if(isalpha(str[len-i-1])==1)
{
P0=0xff;
wela=1;
P0=t;
wela=0;
P0=0x00;
dula=1;
str[len-i-1]=tolower(str[len-i-1]);
if(i==len-index)
P0=table[str[len-i-1]-'a'+10]|0x80;
else
P0=table[str[len-i-1]-'a'+10];
dula=0;
}
else if(str[len-i-1]=='-')
{
P0=0xff;
wela=1;
P0=t;
wela=0;
P0=0x00;
dula=1;
P0=0x40;
dula=0;
}
else
continue;
t=_cror_(t,1);
delayms(2);
}
}
void main()
{
char str[9];
char str_h[3];
char str_m[3];
char str_s[3];
uchar i,j,k;
TMOD=0x01;//计时器0以工作方式1计时
EA=1;//打开全局中断允许
ET0=1;//打开定时器0中断允许位
TR0=1;//启动定时器0
TH0=55535/256;
TL0=55535%256;
while(1)
{
if(ss==60)
{
ss=0;
mm++;
}
if(mm==60)
{
mm=0;
hh=(++hh)%24;
}
sprintf(str_h,"%u",hh);
sprintf(str_m,"%u",mm);
sprintf(str_s,"%u",ss);
i=0;
//if(hh!=0)
{
for(i=0;str_h[i]!='\0';i++)
str[i]=str_h[i];
str[i++]='-';
}
//if(mm!=0)
{
for(j=0;str_m[j]!='\0';j++)
str[i++]=str_m[j];
str[i++]='-';
}
for(k=0;str_s[k]!='\0';k++)
str[i++]=str_s[k];
str[i]='\0';
print_string_LED(str);
}
}
void ET_T0() interrupt 1
{
TH0=55535/256;
TL0=55535%256;
time++;
if(time==100)
{
ss++;
time=0;
}
}
复制代码
所有资料51hei提供下载:
八位数码管.zip
(21.89 KB, 下载次数: 83)
2018-9-26 10:22 上传
点击文件名下载附件
附件
下载积分: 黑币 -5
作者:
1106531350
时间:
2020-5-19 16:43
为下载了不能用?
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1