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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 15289|回復: 18
打印 上一主題 下一主題
收起左側

學了十多天51單片機,會寫時鐘程序了,走的不準怎么調啊,

  [復制鏈接]
跳轉到指定樓層
樓主
ID:73080 發表于 2015-2-20 23:48 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
程序寫了大半天啊,終于搞定了,雖然在 大俠們看來, 實在是小兒科。,但是對于我一個業余愛好者,程序的設計沒參照任何人的結構,就能寫出來 對于0基礎學員來說還是很興奮的哈,請求 共同愛好單片機的朋友給我指點指點,,



  #include<reg52.h>
  
#define smg P0   //數碼管顯示 段
sbit LSA=P2^2; //數碼管位選
sbit LSB=P2^3;//數碼管位選
sbit LSC=P2^4; //數碼管位選
   void csh(); //初始化聲明
    unsigned int a, b,c,d,e,f,js,j,o;      
  #define ke P1 //鍵盤接口
unsigned char kee; //存放鍵盤 鍵值
    void ys(unsigned int c)  ;//延時聲明
    void kep (void);   //鍵盤聲明
    unsigned char kk;  //檢測按鍵是否按下
     void xsss();  //數碼管顯示聲明
unsigned char code sz[]={
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x40,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00};//按鍵1 調 分的個位 按鍵2調分的十位,按鍵3調時的個位 按鍵4調時的十位;
unsigned char u[17];
    void main(void)
   
    {    csh();
   
  while(1){ kep(); xsss();  
         
         
       if(o==10){b++;o=0;}
       if(b==6) {c++;b=0;}
       if(c==10){d++;c=0;}
       if(d==6){e++;d=0;}
       if(e==10){f++;e=0;}
       if(f==2&&e==4){o=0;b=0;c=0;d=o;e=0;f=0;}
       if(kk==1)                                                              
       {  TR0=0;
         switch(kee)
        { case(1):d++;break;   
      case(2):c++;if(c==9){c=0;} break;
      case(3):e++; break;
      case(4):f++;if(f==2){f=0;}break;     
      
      
      
      } }  kk=0;TR0=1;
            
       }
        
   }
  

void csh()        //初始化函數
  {   f=0;e=0;d=0;c=6;b=0;o=0;   
TMOD=0x01;
TH0=(65536-50000)/256;
    TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;   

  }      
  
void zd() interrupt  1    //定時ET0的中斷函數
{
    TH0=(65536-49972)/256;
    TL0=(65536-49972)%256;

      js++;    if(js==20){o++;js=0;} //如果此條 不放在中斷里,有可能因為程序在執行其他程序而超過20,if語句就檢測不到js=20了也就不執行此語句;無法為js置0了,js有可能持續增加,
   
}
  void ys(unsigned int c)   
{
    unsigned char a,b;
        for(b=c;b>0;b--)
            for(a=60;a>0;a--);
}

void kep(void)    //鍵盤函數
{
     char a=0;
      ke=0x0f;
    if(ke!=0x0f){
    ys(30);

     if(ke!=0x0f){   kk=1;
     switch(ke)
     {
       case(0x07):kee=0;break;
    case(0x0b):kee=1;break;
    case(0x0d):kee=2;break;
    case(0x0e):kee=3;break;     
     }
     ke=0xf0;
       switch(ke)
     {      
       case(0x70):kee=kee;break;
    case(0xb0):kee=kee+4;break;
    case(0xd0):kee=kee+8;break;
    case(0xe0):kee=kee+12;break;     
     }
    while((a<50)&&(ke!=0xf0))
   {   ys(50);
   
    a++;
   }
         }
    }  
   
   
   
      
}




void xsss() //數碼管 動態顯示函數
{  switch(0)  
  {
     
   
   case(0):
     LSA=0;LSB=1;LSC=0; smg=sz[10]; // -
      j=10;      
     while(j--);
    smg=0x00;
   
    LSA=1;LSB=0;LSC=1;smg =sz[10]; // -
      j=10;      
     while(j--);
     smg  =0x00;   
   LSA=0;LSB=0;LSC=0;smg =sz[o]; // 秒
    ys(1);      
     
          smg=0x00;  
     
    LSA=1;LSB=0;LSC=0; smg=sz[b]; //秒的十位
    ys(1);
           smg =0x00;
      
   LSA=1;LSB=1;LSC=0;smg =sz[c];//分的個位
        ys(1);
       smg =0x00;
  LSA=0;LSB=0;LSC=1; smg=sz[d]; // 分的十位
     ys(1);
   smg =0x00;
     LSA=0;LSB=1;LSC=1; smg=sz[e]; // 小時的個位
      ys(1);
   smg=0x00;
      
  LSA=1;LSB=1;LSC=1; smg=sz[f]; // 小時的十位
     ys(1);
    smg =0x00;
         
  }         
      }


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:262 發表于 2015-2-21 00:04 來自觸屏版 | 只看該作者
電路圖呢
回復

使用道具 舉報

板凳
ID:73080 發表于 2015-2-21 00:12 | 只看該作者
電路圖剛才忘記了,現在上傳

HC6800-ES V2.0.pdf

759.08 KB, 下載次數: 51, 下載積分: 黑幣 -5

電路圖

回復

使用道具 舉報

地板
ID:73080 發表于 2015-2-21 00:12 | 只看該作者

恩,已經上傳了,剛才忘記了
回復

使用道具 舉報

5#
ID:7485 發表于 2015-2-21 12:54 | 只看該作者
你的晶振是多少呢?
誤差了多少呢?
也可以修改下面式子里面的減數。不知道你的式子里面的“49972”是不是仿真時調的?這個數越小走時越慢。


void zd() interrupt  1    //定時ET0的中斷函數
{
    TH0=(65536-49972)/256;
    TL0=(65536-49972)%256;
回復

使用道具 舉報

6#
ID:73509 發表于 2015-2-22 21:00 | 只看該作者
好羨慕啊,我也是0開始的初學者啊,剛看了第1課,正在進行第2課啊
回復

使用道具 舉報

7#
ID:73030 發表于 2015-2-22 23:46 來自觸屏版 | 只看該作者
樓主進步好快啊
回復

使用道具 舉報

8#
ID:73080 發表于 2015-2-23 17:02 | 只看該作者
ahshmj 發表于 2015-2-21 12:54
你的晶振是多少呢?
誤差了多少呢?
也可以修改下面式子里面的減數。不知道你的式子里面的“49972”是不 ...

TH0=(65536-49972)/256;
    TL0=(65536-49972)%256; 里面的數 是越小越快啊, 我怎么調 都不行 走 一兩個小時 不是 快 幾秒 就是慢幾秒,我就怕 讓他運行久了 就偏離的更多,謝謝
回復

使用道具 舉報

9#
ID:73080 發表于 2015-2-23 17:04 | 只看該作者
1420079051 發表于 2015-2-22 21:00
好羨慕啊,我也是0開始的初學者啊,剛看了第1課,正在進行第2課啊

共同進步啊,剛開始用學 邊學 邊寫,只要用心 我感覺很快的我們
回復

使用道具 舉報

10#
ID:73080 發表于 2015-2-23 17:06 | 只看該作者
zrb5688 發表于 2015-2-22 23:46
樓主進步好快啊

放假 不用上班了,有時間啊,
回復

使用道具 舉報

11#
ID:73711 發表于 2015-2-25 11:46 | 只看該作者
用  單片機精靈  算初值  要用12MMHz的才沒有誤差的
回復

使用道具 舉報

12#
ID:29438 發表于 2015-2-25 11:55 | 只看該作者
好羨慕,好妒忌!
回復

使用道具 舉報

13#
ID:74064 發表于 2015-3-3 00:36 | 只看該作者
樓主QQ多少啊 我的:2715860322  交流下啊
回復

使用道具 舉報

14#
ID:73082 發表于 2015-3-6 16:07 | 只看該作者
用時鐘芯片如DS1302 或DS3231 DS3234,1302用外部晶振,精度較差。3231晶振內置,內部溫度補償,精度比較高,但價格也高
回復

使用道具 舉報

15#
ID:71233 發表于 2015-3-6 18:02 | 只看該作者
這個很好用!

單片機小精靈mcuelf_v1.3.rar

998.07 KB, 下載次數: 15, 下載積分: 黑幣 -5

回復

使用道具 舉報

16#
ID:18016 發表于 2015-4-26 18:44 | 只看該作者
添加一個自動校正程序
回復

使用道具 舉報

17#
ID:76800 發表于 2015-4-26 21:13 | 只看該作者
本帖最后由 8055 于 2015-4-26 21:21 編輯

2-3個方法能改變你這個方式的時鐘精度
1、定時器改自動重裝方式。
2、不使用自動重裝時,計算出一個合適的裝載值,保證低位能有至少4個0,比如0xe0。
3、運行一段時間(1-7天)算出誤差大小,用軟件定時處理誤差值。

我剛學習那會兒弄的那個時鐘,連續用了2年多,好像一年才快不到2分鐘,就一個普通的12M晶體,忘記了是30PPM還是100PPM的,反正一熱一冷的,一年四季綜合起來其實誤差也沒多大。我用的是軟件校正,好像是每3000秒減小定時器幾個數(實驗幾天得出來的差值,我也記不清了)。
回復

使用道具 舉報

18#
ID:78187 發表于 2015-4-27 10:39 | 只看該作者
miuifen 發表于 2015-2-25 11:46
用  單片機精靈  算初值  要用12MMHz的才沒有誤差的

12M誤差才大吧
回復

使用道具 舉報

19#
ID:73711 發表于 2015-4-29 13:23 | 只看該作者

為什么  我到知道用通訊 是有誤差   延遲  還大   請教  謝謝了
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日本高清中文字幕 | 国产亚洲人成a在线v网站 | 日韩日韩日韩日韩日韩日韩日韩 | 国产色99精品9i | 中文字幕a√ | 欧美日韩不卡合集视频 | 日韩一级| 人干人人 | 久久激情网 | 91精品国产综合久久久久 | 国产 日韩 欧美 中文 在线播放 | 日本三级黄视频 | 久久久www成人免费精品张筱雨 | 一区二区三区日韩精品 | 天堂视频一区 | 99精品久久 | 欧美激情视频一区二区三区在线播放 | 国产精品自拍视频网站 | 日韩精品一区二区三区在线观看 | 国内自拍偷拍一区 | 欧美三级电影在线播放 | 国产综合久久久久久鬼色 | 亚洲欧美综合精品久久成人 | 欧美一区二区大片 | 精品久久不卡 | 欧美精品一区在线 | 久久久激情 | 色婷婷激情综合 | 成人免费视频网址 | 国产亚洲一级 | 精品国产色| 欧美一级全黄 | 免费观看黄 | 视频一区二区中文字幕日韩 | 91精品入口蜜桃 | h视频在线观看免费 | 国产农村妇女精品一二区 | 综合久久久| 亚洲网站在线观看 | 国产丝袜av | 美女久久 |