找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1722|回复: 1
打印 上一主题 下一主题
收起左侧

简易单片机电子表设计(无按键,不能修改,后续会继续更新)

[复制链接]
跳转到指定楼层
楼主


参考单片机C语言1:
#include <reg52.h>
void delay(unsigned int t)
{
while (--t);
}
char ledwei=P1;
int m;
unsigned int hour,sec,min;
char a[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//0,1,2,3,4,5,6,7,8,9//  
/*********定时器初始化子程序********/
void time0(void)
{
TMOD |=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
}
/************数码管显示*************/
void display()
{
ledwei=0x2f;
P0=a[hour/10];
delay(100);
led1wei=0xff;
delay(100);

ledwei=0x1f;
P0=a[hour%10];
delay(100);
ledwei=0xff;
delay(100);

ledwei=0x37;                           
P0=a[min/10];
delay(100);
ledwei=0xff;
delay(100);

ledwei=0x3b;
P0=a[min%10];
delay(100);
ledwei=0xff;
delay(100);

ledwei=0x3d;
P0=a[sec/10];
delay(100);
ledwei=0xff;
delay(100);

ledwei=0x3e;
P0=a[sec%10];
delay(100);
ledwei=0xff;
delay(100);
}

void main()
{
time0();
while(1)
{
display();
if(m==20)
{
  m=0;
  sec++;

  if (sec==60)
  {
   sec=0;
   min++;
if (min==60)
  {
           min=0;
        hour++;

        if (hour==24)
        {
         sec=0;
         hour=0;
         
        }
   }
  }
}
}
}

/***********定时器实现24小时循环*******/
void time1(void) interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
m++;
}
参考语言2
#include <reg52.h>
void delay(unsigned int t)
{
while (--t);
}
sbit led1wei=P1^1;
sbit led2wei=P1^2;
sbit led3wei=P1^3;
sbit led4wei=P1^4;
sbit led5wei=P1^5;
sbit led6wei=P1^6;
int m;
unsigned int hour,sec,min;
char a[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//0,1,2,3,4,5,6,7,8,9//  
/*********定时器初始化子程序********/
void time0(void)
{
TMOD|=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
}
/************数码管显示*************/
void display()
{
led1wei=0;
P0=a[hour/10];
delay(100);
led1wei=1;
delay(100);

led2wei=0;
P0=a[hour%10];
delay(100);
led2wei=1;                                                                                         
delay(100);

led3wei=0;
P0=a[min/10];
delay(100);
led3wei=1;
delay(100);

led4wei=0;
P0=a[min%10];
delay(100);
led4wei=1;
delay(100);

led5wei=0;
P0=a[sec/10];
delay(100);
led5wei=1;
delay(100);

led6wei=0;
P0=a[sec%10];
delay(100);
led6wei=1;
delay(100);
}

void main()
{
time0();
   delay(50000);
while(1)
{
display();
if(m==20)
{
  m=0;
  sec++;
  if (sec==60)
  {
   sec=0;
   min++;

   if (min==60)
   {
           min=0;
        hour++;

        if (hour==24)
        {
         sec=0;        
由于篇幅有限        第二参考语言不完整,关于按键设计,大家可以自行设计        
所有文件在附件中 DZSZ.rar (42.46 KB, 下载次数: 6)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:649067 发表于 2021-4-20 09:52 | 显示全部楼层
新手,欢迎大佬批评指正,,跟新内容:http://www.51hei.com/bbs/dpj-209859-1.html
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表