久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2885|回復(fù): 2
收起左側(cè)

求助,請(qǐng)問為什么我的計(jì)時(shí)器數(shù)碼管沒起作用

[復(fù)制鏈接]
ID:393625 發(fā)表于 2018-9-25 08:49 | 顯示全部樓層 |閱讀模式
本帖最后由 zhong2463 于 2018-9-25 09:04 編輯

就正常是一天加一,現(xiàn)在是只能通過按鍵加一。

#include <REGX51.H>
#include<intrins.h>  //包含_nop_();定義的頭文件
#include<LS595driver.h>
#include<LS595_2driver.h>
#include<ds1302driver.h>


SYSTEMTIME today;                  //2018.1.2 12:00:00 2
unsigned int T0loop;          //記錄進(jìn)入T0的次數(shù)
unsigned int flag;        //約10秒1次,
unsigned int countupday; //記錄正計(jì)時(shí)天數(shù)的參數(shù)           
unsigned char olddaytemp,newdaytemp;  //用來比較是否已經(jīng)過一天
unsigned char keyvalue;//記錄按鍵掃描函數(shù)的返回值

//******************
//unsigned int test[10]={0,111,222,333,444,555,666,777,888,999}; //記錄倒計(jì)時(shí)天數(shù)的參數(shù)
unsigned char i;


//*******************
sbit key1 = P1^0;
sbit key2 = P1^1;
sbit key3 = P1^2;
sbit LEDr=P1^3;
sbit LEDg=P1^4;
sbit LEDy=P1^5;
void Init_89C52();       //初始化89C52
void InitT0();
char Keyscan();         //按鍵掃描并返回鍵值
void Setcountupday();   //按鍵設(shè)置正計(jì)時(shí)天數(shù)

void main()
{
  Init_89C52();
  Delay_ms(1000);
  countupday = 1;
  LEDr = 1;
  LEDg = 1;
  LEDy = 1;

//*****************************
  Init_1302();  //初始化時(shí)鐘
  InitT0();     //初始化T0定時(shí)器
  Displayround();

  while(1)
  {   
   Displaysecond_595(&today);
   Displayday_595(&today);
   Displayhour_595(&today);
   Displayminute_595(&today);

   Setcountupday(unsigned int chu=888);
   Displaycountupnum(countupday);
   if(flag==1)
   {
     flag = 0;
         if(olddaytemp=!newdaytemp)
         {           
           countupday++;            
     }      
   }
  }
}

//*************************************************************************
//Time0中斷函數(shù)
//功能:定時(shí)出10秒/50毫秒=200個(gè)循環(huán)
//參數(shù):無
//*************************************************************************
void Time0(void) interrupt 1 using 1
{
  TR0 = 0;
  T0loop++;
  if(T0loop==200)
  {
    Gettime_1302(&today);
        olddaytemp = today.day;
  }
  if(T0loop==400)
  {
        Gettime_1302(&today);
        newdaytemp = today.day;
        flag = 1;
        T0loop = 0;
  }
  TH0 = (65536-46083)/256;                                  //重新給T0賦初始值
  TL0 = (65536-46083)%256;                                  //
  TR0 = 1;                                //啟動(dòng)T0
}
//*************************************************************************
//Time0中斷函數(shù)
//功能:每8秒進(jìn)入中斷,執(zhí)行開門或關(guān)門操作,并重設(shè)Time0
//參數(shù):無
//*************************************************************************
void InitT0()
{
  TMOD=0x01;    //使用定時(shí)器T0,11.0592MHz晶振的12分頻,16位定時(shí)器65536-1
  TH0 =(65536-46083)/256;  //將定時(shí)器計(jì)時(shí)時(shí)間設(shè)定為46083*1.085微秒=50000微秒=50毫秒
  TL0 =(65536-46083)%256;  //
  EA  = 1;       //開啟總中斷
  ET0 = 1;       //T0中斷允許
  TR0 = 1;       //啟動(dòng)定時(shí)器T0
  T0loop = 0;                          //記錄進(jìn)入T0的次數(shù)
  flag = 0;         //10秒一個(gè)周期
}

/*89C52初始化*/
void Init_89C52()
{
  P0 = 0;
  P1 = 1;
  P2 = 0;
  T0loop = 0;
}
/*按鍵掃描函數(shù)*/
char Keyscan()
{
  if(key1==0)
  {
    Delay_ms(200);
        if(key1==0)
        {
          return 1;
        }
  }
  if(key2==1)
  {
    Delay_ms(200);
        if(key2==1)
        {
          return 2;
        }
  }
  if(key3==1)
  {
    Delay_ms(200);
        if(key3==1)
        {
          return 2;
        }
  }
  else
    return 0;
}
/*按鍵調(diào)整函數(shù)*/
void Setcountupday()
{
  switch(Keyscan())
  {
    case 1:
        countupday++;
        Displaycountupnum(countupday);
        break;

        case 2:
        countupday--;
        Displaycountupnum(countupday);
        break;  

        default:
        Displaycountupnum(countupday);
        break;
  }  
}


頭文件595
/*===============================================================*/
/*                     第二組級(jí)聯(lián)74LS595_2數(shù)碼管驅(qū)動(dòng)程序         */
/*===============================================================*/
#ifndef _LS595_2driver_H_
#define _LS595_2driver_H_

sbit RCK_595_2 = P0^4;        //第二組級(jí)聯(lián)595的并行輸出時(shí)鐘
sbit DS_595_2 = P0^3;         //第二組級(jí)聯(lián)595數(shù)據(jù)線
sbit CLK_595_2 = P0^5;        //第二組級(jí)聯(lián)595移位輸入時(shí)鐘

unsigned char code countupseg[] =                                                                                                                                  //第二組595中定義0~9,高亮低滅
{// 0         1          2           3        4         5          6           7        8         9
        0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F
};
unsigned char code roundseg[6]={0x01,0x02,0x04,0x08,0x10,0x20}; //花式旋轉(zhuǎn)

/*延時(shí)函數(shù)  1ms為單位*/
void Delay_ms(unsigned int t)           //延時(shí)函數(shù),t/ms
{
  unsigned int a,b;
  for(a=0;a<t;a++)
  {  
    for(b=0;b<100;b++)
    {
       _nop_();
    }
  }
}

/* 向1個(gè)LS595_2寫入1個(gè)字節(jié)*/
void Send1byte_595_2(unsigned char dat)   
{
  unsigned char i;

  for(i=0;i<8;i++)
  {   
        if(dat&0x80)
        DS_595_2 = 1;
        else
        DS_595_2 = 0;
        dat <<=1;
        CLK_595_2 = 0;
        _nop_();
        CLK_595_2 = 1;       
  }

}
/* 向3個(gè)級(jí)聯(lián)LS595_2寫入3個(gè)字節(jié)*/
void Send3byte_595_2(unsigned char dat1,unsigned char dat2,unsigned char dat3)
{
  Send1byte_595_2(dat1);
  Send1byte_595_2(dat2);
  Send1byte_595_2(dat3);
}

/*允許將LS595輸出并行數(shù)據(jù)*/
void Out_595_2()
{
  RCK_595_2 = 0;
  _nop_();
  RCK_595_2 = 1;
}

/*顯示倒計(jì)時(shí) 3位*/
void Displaycountupnum(unsigned int num)
{
  unsigned int units,tens,hundreds;
  units = num%10;
  tens = (num/10)%10;
  hundreds = num/100;

  Send3byte_595_2(countupseg[hundreds],countupseg[tens],countupseg[units]);        //顯示倒計(jì)時(shí)的個(gè)、十、百位
  Out_595_2();

}
/*大字花式轉(zhuǎn)圈*/
void Displayround()
{
  unsigned char j;
  for(j=0;j<5;j++)
  {
    Send3byte_595_2(roundseg[j],roundseg[j],roundseg[j]);
        Out_595_2();
        Delay_ms(800);
  }

}
#endif  


QQ圖片20180917090352.png
回復(fù)

使用道具 舉報(bào)

ID:111634 發(fā)表于 2018-9-27 18:02 | 顯示全部樓層
這種電路圖最難看,是給軟件看的,真正的電路圖應(yīng)該是有明確連接線路的原理圖。
回復(fù)

使用道具 舉報(bào)

ID:387733 發(fā)表于 2018-9-28 07:27 | 顯示全部樓層
是的,都這樣畫圖,以后都不需要 連接線 的功能了。原理圖繪制也需要好的布局,元器件放置合理,這樣走線清晰明了,便于別人審圖,也方便自己修改維護(hù)。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日本黄色的视频 | www.狠狠操| 国产激情在线观看 | 欧美日韩在线一区二区 | 999久久久 | 91视频免费 | 精品国产乱码久久久久久88av | 免费黄色大片 | 国产黄色大片 | 日韩性在线 | 久久精品亚洲 | 91在线视频免费观看 | 国产区精品 | 欧美在线激情 | 91精品久久久久久久久 | 国产美女视频 | 亚洲天堂av在线 | 欧美精品乱码久久久久久按摩 | 亚洲精品久久久久久下一站 | 国产91一区二区三区 | 激情 婷婷 | 国产欧美一区二区三区日本久久久 | 精品一区二区三区在线观看 | 日韩中文字幕视频 | 亚洲欧美一区二区三区国产精品 | 亚洲欧美日韩国产综合 | 色婷婷久久综合 | www中文字幕 | 精品国产一区二区国模嫣然 | 韩国久久精品 | xxxcom在线观看 | 亚洲一区综合 | 中文字幕av在线 | 亚洲精品在线视频 | 91精品成人久久 | av电影手机版 | 国产午夜精品一区二区三区四区 | 激情网站 | 欧美一级黄视频 | 国产精品乱码一区二区三区 | 久久国产精品免费 |