很多用AT89C205l制作電子萬年歷的文章,介紹的都是采用單片機內部定時計數器作定時計時,難免受到停電的影響而需要經常調整,為此,筆者設計制作了用AT89C20Sl+DSl302的電子萬年歷。
該萬年歷的特點是;動態顯示、遙控操作;能按多位數碼管或多點輸出I采用DSl302時鐘模塊,走時準確、停電能繼續計時(精度±5秒/日左右若采用有源晶報,如DS32Hz,走時精度甚至可達到年誤差小于2分鐘)。
一、功能
顯示年、月、日、星期、時、分。遙控操作、整點報時、定時報時及定時顯示、停電自動計時等。
AT89C2051作為數據處理,DSl302作為計時處理及停電繼續走時,用13只LED數碼管顯示年、月、日、星期、時、分。采用1838V為遙控接收,74LS595作為數碼管筆畫顯示選擇移位。
三。工作原理
電路見附圖。初始化后,DSl302開始走時。
AT89C205l讀取時間數據并處理后,通過2級8位移位寄存器(74LS595)將數碼管的選通數據送至顯示驅動,SRCLK是移位脈沖,上升沿有效;RCLK是輸出鎖存器的鎖存信號,其上升沿將移位寄存器的輸出鎖存到輸出鎖存器;e是選通信號,只有e為低電平時鎖存器的輸出才開放。
所有數碼管的同一筆圓是連在一起的,由AT89C205l對DSl302讀回的時間數據進行拆分處理,然后轉換成要顯示的數字代碼。再由SER(AT89C205l的P3.5腳)逐位輸出到ICl的(14)腳。以完成對需要顯示筆畫的數碼管選擇,P1.1對每一個數碼管的同一筆畫進行掃描。第一筆畫點亮延時,繼續把第二筆畫的代碼移位至74LS595進行第二個筆畫的掃描,直至七個筆畫全部顯示完為止。
例如,要顯示的時間為07-02-23,則各數的代碼分別為3FH、07H、3FH、5BH、BH、4FH。先通過74LS595把3F、07、3F、5B、5B、4F的DO,即低位右移一位,通過74LS595送至驅動三極管的基極。如果某位為0,則相應的位就不點亮。然后從P1.1輸出O,那么該筆畫中相應為1的筆畫就被點亮。各數桐應代碼就變為:3FH-1FF、07H-3H、3FH-1FH、5BH-2DH、5BH-2DH、4FH-27H。
繼續通過74LS595把lF、3、lF、2D、2D、27的最低位送至三極管的基極。然后P1.2輸出O,數碼管的第二筆畫相應的位被點亮。各數代碼則變為:FH、1 H、FH、16H、16H、l 3H。重復上面的移位及掃描,直至7個筆畫的顯示完成。就完成了07-02-03的全部顯示。
這種顯示電路的特點是能夠同屏顯示多位數碼管及多他輸出。
圖中還可增加秒閃爍和驅動報時蜂嗚器等電路功能。
遙控器采用HA622l系列,遙控接收使用1838V紅外接收模塊。接AT89C205l的P3.2(外中斷0)。當1838V接收到遙控信號時,產生中斷。處理遙控數據,處理完后返回。
電路中用了一塊鈕扣電池作為停電走時。
需要注意的是,本電路使用的晶振是4MHz的。如果使用其他頻率的晶振,應重新調整遙控解碼部分延時的循環次數。另外。遙控器不一樣,其鍵值也需要重新定義。
-
AT89C2051
+關注
關注
7文章
170瀏覽量
66324 -
電子萬年歷
+關注
關注
3文章
38瀏覽量
15936
發布評論請先 登錄
相關推薦
評論