最近在做數字電子時鐘,也總結出來一些資料,在這分享給大家,DS1302時鐘芯片。電腦仿真所需要的芯片有AT89C52,74HC138 排阻(因為C52單片機P0的IO口沒有上拉電阻),74HC245 ,如果需要做實物,還得根據數碼管的型號選擇合適的電阻,DS1302芯片,按鈕
1,工作原理
我們先了解我們所用的東西,STC89C52是8051單片機,這里就不多介紹了,然后就是DS1302時鐘芯片,
這個是DS1302時鐘芯片
top.png (140.03 KB, 下載次數: 103)
下載附件
2020-9-17 21:37 上傳
這個是工作原理,我們經常用的DS1302與單片機的連接使用
工作原理.png (57.85 KB, 下載次數: 83)
下載附件
2020-9-17 21:37 上傳
2.實驗思路
理解DS1302時鐘芯片與單片機之間的數據傳送,用的單總線的方式,所以會有時序圖,還有讀寫圖
寫數據傳輸.png (125.72 KB, 下載次數: 98)
下載附件
2020-9-17 21:44 上傳
時鐘.png (215.38 KB, 下載次數: 87)
下載附件
2020-9-17 21:44 上傳
表三是地址,如果讀取某個分鐘或者小時,我們讀數據是0x82,如果是寫分鐘則是0x83,但是我們沒有這么簡單,我們得先關掉讀寫保護,在進行操作,這樣我們才可以讀寫。
3.實驗仿真圖
時間.png (113.53 KB, 下載次數: 89)
下載附件
2020-9-17 21:49 上傳
日期.png (76.85 KB, 下載次數: 81)
下載附件
2020-9-17 21:49 上傳
我們首先得知道74HC138和74HC245芯片怎么用的,在壓縮包里附上這倆個的數據手冊,可以參考著手冊,在現實制作中,單片機的IO不能直接驅動數碼管,因為數碼管的電流比較大,而單片機的IO口沒有那么大的驅動電流,所以可以用三極管或者驅動芯片和電阻來決定,電阻的阻值取決于數碼管的額定電流和電阻,以為proteus里面沒有這些,所以我這里就沒有做的那么細致。按鈕的使用是K3是暫停時間,K1是選擇需要調整的時間,K2是加一的作用,再按一下K3就能恢復時間,使走動,唯一的缺點就是調時間的時候不能看得到。
4.實驗源碼
實驗源碼有點多,我把這個源碼還有是數據手冊,還有仿真圖都放在了壓縮包里,有需要的下載,
軟件用的KELI4 Proteus8.7 ,這倆個軟件網上多的是,請自行下載,這里就不用了再贅述了。
5.實驗擴展
因為我們是數碼管顯示是一個一個的顯示,因為時間極短,所以效果是一起出來的,我們用到了定時器1來切換時間和日期,但是我們長期以來很耗電,所以我們可以設定休眠模式,就是用PCON=0x02;進入休眠,然后外部中斷可以用,STC89C52有四個中斷喚醒,我們可以用這四個外部中斷來達到省電的效果,PCON=0x00;喚醒單片機,這只是個人的想法,并沒有把這個想法融進去如果個人有想法,還可以進行改進,望大家喜歡。。
DS1302.zip
(2 MB, 下載次數: 211)
2020-9-17 22:13 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|