您好,欢迎来到刀刀网。
搜索
您的当前位置:首页51单片机控制数字钟原理图及汇编程序设计

51单片机控制数字钟原理图及汇编程序设计

来源:刀刀网

有网友碰到这样的问题“51单片机控制数字钟原理图及汇编程序设计”。小编为您整理了以下解决方案,希望对您有帮助:

解决方案1:

#include <reg51.h>

#define uchar unsigned char

uchar 

display_code[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,

0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

uchar display_data[8]={0,0,0,0,0,0,0,0};

uchar time[3]={0,0,0};

void delay(void)//延时05ms

{

uchar i;

for(i=250;i>0;i--);

}

void display() //显示程序

{

uchar i,k;

k=0x01;

for(i=0;i<8;i++)

{

P2=0;//关闭显示

P0=display_code[time[i]%10];//存放个位数

P0=~P0;

P2=k;

k=k<<1;

delay();//调用延时程序

P2=0;

P0=display_code[time[i]/10];//存放十位数字

P0=~P0;

P2=k;

k=k<<1;

delay();//调用延时程序

}

P2=0;

}

void calc()//计算程序 

{

time[0]++;

if(time[0]>59)

{

time[0]=0;

time[1]++;

if(time[1]>59)

{

time[1]=0;

time[2]++;

if(time[2]>12)

{

time[2]=1;

}

}

}

}

void main(void) //主函数

{

uchar i;

while(1)

{

for(i=0;i<100;i++)

{

display(); //调用显示程序

}

calc();//调用计算程序

}

}

你还可以再调试那个时间,现在显示的可能是快了~

Copyright © 2019- gamedaodao.com 版权所有 湘ICP备2022005869号-6

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务