找回密码
 立即注册

QQ登录

只需一步,快速开始

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

想做个电子时钟,但不显示,请问大师们 求帮助

[复制链接]
跳转到指定楼层
楼主
#include "STC15.h"            //函数声明
#include <intrins.h>
#define unchar unsigned char
#define uint   unsigned int
sbit key1=P5^1;               
sbit key2=P3^2;

sbit seg1=P5^4;               
sbit seg2=P3^3;
sbit seg3=P3^7;
sbit seg4=P5^5;

sbit a=P1^1;   
sbit b=P3^6;
sbit c=P1^4;                                          
sbit d=P1^3;
sbit e=P1^2;
sbit f=P1^0;
sbit g=P1^5;
sbit h=P3^2;
unsigned char int_time;
unsigned char sec=59;      
unsigned char min=59;
unsigned char hour=23;
unsigned char tcnt;
unsigned char code disdata[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,
                             0x82,0xf8,0x80,0x90,0x88,0x83,
                             0xc6,0xa1,0x86,0x8e,0xFF};

void delay10us()   //12MHz
        {
        unsigned char i;
        _nop_();
        i=25;
        while(--i);
        }

void delay10ms()   //11.0592MHz
        {
        unsigned char i,j;
    j=108;
        i=145;
        do{
        while(--j);
           }while(--i);
        }

void displayHH1(unsigned char q)
{
   switch(q)
    {
        case 0xc0:
                {a=b=c=d=e=f=0;g=h=1;};break;   //0
        case 0xf9:
                {b=c=0;a=d=e=f=g=h=1;};break;   //1
        case 0xa4:
                {a=b=g=d=e=0;f=c=h=1;};break;   //2
        case 0xb0:
                {a=b=c=d=g=0;e=f=h=1;};break;   //3
        case 0x99:
                {b=c=g=f=0;a=d=e=h=1;};break;   //4
        case 0x92:
                {a=c=d=g=f=0;b=e=h=1;};break;   //5
        case 0x82:
                {a=c=d=e=f=g=0;b=h=1;};break;   //6
        case 0xf8:
                {a=b=c=0;g=d=e=f=h=1;};break;   //7
        case 0x80:
                {a=b=c=d=e=f=g=0;h=1;};break;   //8
        case 0x90:
                {a=b=c=d=g=f=0;e=h=1;};break;   //9
        }
}
/////////////////////////////////////////////////////
void xian(uint num,uint num1)
{
    seg1=1;
   displayHH1(disdata[num/10]);  
   delay10us();
   seg1=0;

   seg2=1;
   displayHH1(disdata[num%10]);  
   delay10us();
   seg2=0;

   seg3=1;
   displayHH1(disdata[num1/10]);  
   delay10us();
   seg3=0;

  seg4=1;
   displayHH1(disdata[num1%10]);  
   delay10us();
   seg4=0;
}

/////////////////////////////////////////////////////
void main()
{
        P5M1=0X00;
                P5M0=0X00;
                P3M1=0X00;
                P3M0=0X00;
                P1M1=0X00;
                P1M0=0X00;
           TMOD=0x01;
        EA=1;
                ET0=1;
               
                TH0=(65536-50000)/256;
                TL0=(65536-50000)%256;
                TR0=1;

                int_time=0;
                sec=0;
                min=0;
                hour=12;

  while(1)
                 {
                   xian(hour,min);
                 if(key1==0)
                  {
                        if(key1==0)
                        if(++min==60)
                        min=0;
                        while(!key1);
                  }
                 if(key2==0)
                  {
                        if(key2==0)
                        if(++hour==13)
                        hour=1;
                        while(!key2);
                  }
     }

}


/////////////////////////////////////////////////////
void time_int0() interrupt 1
{
     TH0=(65536-50000)/256;
                TL0=(65536-50000)%256;
    int_time++;
       if(int_time==20)
                  {
                          int_time=0;
                        sec++;               
                  }
                         if(sec==60)
                         {
                         sec=0;
                         min++;
                         }
                         if(min==60)
                         {
                         min=0;
                         hour++;
                         }
                         if(hour==13)
                         {
                         hour=1;
                        
                         }

}
/////////////////////////////////////////////////////


1.jpg (50.5 KB, 下载次数: 20)

1.jpg

2.jpg (93.92 KB, 下载次数: 19)

2.jpg

数码时钟.pdf

83.58 KB, 下载次数: 2, 下载积分: 黑币 -5

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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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