欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4427|回復: 3
收起左側

我的51單片機電子時鐘課程設計,含源碼(采用的是模塊化編程) 原理圖

[復制鏈接]
ID:453621 發表于 2018-12-24 17:47 | 顯示全部樓層 |閱讀模式
這是我大一做的51單片機電子時鐘設計,用了一個月時間,附件

制作出來的實物圖如下:
QQ圖片20150514114559.jpg QQ圖片20150514114613.jpg

單片機程序源碼:
  1. #include "lcd1602.h"
  2. #include "key.h"
  3. #include "delay.h"
  4. #include "ds1302.h"

  5. uchar count;


  6. void Timer0Init(void)                //10毫秒@12.000MHz
  7. {
  8.         TMOD &= 0xF0;                //設置定時器模式
  9.         TMOD |= 0x01;                //設置定時器模式
  10.         TL0 = 0xF0;                //設置定時初值
  11.         TH0 = 0xD8;                //設置定時初值
  12.         TF0 = 0;                //清除TF0標志
  13.         ET0 = 1;
  14.         EA  = 1;
  15. }

  16. void init_system(void)
  17. {
  18.         init_lcd1602();
  19.         Timer0Init();
  20.         write_string(NIAN_ADD-0X80,0,"20  -  -   ");
  21.         write_string(SHI_ADD-0XC0,1,"  :  :  ");
  22.         InitDS1302();
  23. }

  24. void main(void)
  25. {
  26.         init_system();
  27.         while(1)
  28.         {
  29.                 if(flag==0&&flag_r==0)
  30.                 {
  31.                         fen            = DS1302_Rdata(0x83);//從DS1302讀取分數據
  32.                         write_sfm(3,fen);
  33.                         shi                = DS1302_Rdata(0x85);//從DS1302讀取時數據
  34.                         write_sfm(0,shi);
  35.                         ri        = DS1302_Rdata(0x87);    //從DS1302讀取日數據
  36.                         write_nyr(8,ri);
  37.                         yue            = DS1302_Rdata(0x89);//從DS1302讀取月數據
  38.                         write_nyr(5,yue);                        
  39.                         nian        = DS1302_Rdata(0x8d); //從DS1302讀取年數據
  40.                         write_nyr(2,nian);
  41.                         week         = DS1302_Rdata(0x8b);//從DS1302讀取星期數據
  42.                         write_week(week);
  43.                         miao        = DS1302_Rdata(0x81);//從DS1302讀取秒數據
  44.                         write_sfm(6,miao);

  45.                         write_sfm(0,shi);        //鬧鈴
  46.                         write_nyr(8,ri);
  47.                         write_nyr(5,yue);
  48.                         write_nyr(2,nian);
  49.                         write_week(week);
  50.                         if(shi==ashi&&fen==afen&&miao==amiao)
  51.                         {
  52.                                 TR0 = 1;                //定時器0開始計時
  53.                         }

  54.                         keyscan();
  55.                 }
  56.                 keyscan();
  57.         }
  58. }

  59. void timer0(void) interrupt 1
  60. {
  61.         TL0 = 0xF0;                //設置定時初值
  62.         TH0 = 0xD8;                //設置定時初值
  63.         count++;
  64.         if(count==50)
  65.         {
  66.                 count=0;
  67.                 beep=~beep;
  68.         }               
  69. }

復制代碼

里包含電子時鐘的單片機源代碼,原理圖和PCB,都是自己原創,請大家多多指教

全部資料51hei下載地址:
電子時鐘(ds1302).7z (1.79 MB, 下載次數: 73)
1602電子鐘源代碼.zip (95.81 KB, 下載次數: 57)
DS1302N.pdf (217.31 KB, 下載次數: 31)
ds1302cn.pdf (205.99 KB, 下載次數: 27)

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:458914 發表于 2019-3-20 22:09 | 顯示全部樓層
我寫入開發板,顯示靜止的時間,不記時,按鍵能用,就是時間是不動的
回復

使用道具 舉報

ID:495626 發表于 2019-3-23 14:22 | 顯示全部樓層
譚家錕9293 發表于 2019-3-20 22:09
我寫入開發板,顯示靜止的時間,不記時,按鍵能用,就是時間是不動的

看看中斷對不對!
回復

使用道具 舉報

ID:659257 發表于 2019-12-9 08:38 來自觸屏版 | 顯示全部樓層
還是想請問一下如何學單片機,學了多久吧,我也大一,也要做這個了
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表