1 引言 數字鐘能長期、連續、可靠、穩定地工作;同時還具有體積小,功耗低等特點,便于攜帶,使用方便。數字鐘是采用數字電路實現對"時、分、秒"數字顯示的計時裝置,廣泛應用于個人家庭、車站、碼頭、辦公室等公共場所,已成為人們日常生活中不可缺少的必需品。由于數字集成電路的發展和石英晶體振蕩器的廣泛應用,使得數字鐘的精度遠遠超過老式鐘表,鐘表的數字化給人們生產生活帶來了極大的方便,而且大大地擴展了鐘表原先的報時功能。傳統MCS51系列單片機的所有數據處理都基于一個累加器,因此累加器與程序存儲器、數據存儲器之間的數據轉換就成了單片機的瓶頸;在AVR單片機中,寄存器由32個通用工作寄存器組成,并且任何一個寄存器都能充當累加器,從而有效避免累加器的瓶頸效應,提高系統性能。 AVR系列的單片機不僅具有良好的集成性能,而且都具備在線編程接口,其中的Mega系列還具備JTAG仿真和下載功能;含有片內看門狗電路、片內程序Flash、同步串行接口SPI;多數AVR單片機還內嵌了A/D轉換器、EEPROM、模擬比較器、PWM定時計數器等多種功能;AVR單片機的I/O接口具有很強的驅動能力,灌人電流可直接驅動繼電器、LED等元件,從而省去驅動電路,節約系統成本。 2 整體設計思路 利用Mega16單片機內部時鐘作為時間基準,通過軟件編程控制可編程器件Mega16,實現秒、分、時、日、月、年的控制,最終通過LCD液晶顯示屏顯示結果。此外還可以實現時間調整、定時等多種實用功能。整個設計分硬件和軟件兩大部分。硬件部分采用Mega16單片機作為可編程芯片,1602字符液晶作為信號顯示;軟件部分利用C語言作為設計語言,對Mega16進行編程實現各種功能。 3 硬件設計 硬件設計電路分解為Mega16單片機、晶體振蕩器和802/1602字符液晶顯示3個部分,其結構簡單,經濟實惠。Mega16單片機內部晶體振蕩器的外接電路。由兩個15 pF的電容C7和C8、晶體振蕩器Y2(f=7.328 MHz)構成,其電路如圖1所示。圖中X1和X2分別接Mega16的12和13兩個脈沖控制端,使得Mega16的內部脈沖電路為電子時鐘和整個系統時鐘提供脈沖。 圖1所示給出了采用Mega16單片機外加電源及晶體振蕩器構成最小單片機系統。配合單片機開發的設計、調試和下載,最終將時鐘信息從PB0~PB7端口輸出到字符液晶顯示。 圖2給出1602字符液品作為信號顯示部分。字符液晶采用4位模式與單片機的PB端口相連。 4 軟件設計及調試 軟件設計包括CodeVision AVR編輯軟件和AVRStudio4調試、PonyProg2000下載軟件等部分。利用ISP將生成程序timer.hex 下載到目標板。采用AVR MEDIA嵌入式單片機綜合開發器和開發機。其C語言程序如下: 5 結語 單片機體積小、重量輕、抗干擾能力強、環境要求不高、價格低廉、可靠性高、靈活性好、開發較為容易。尤其是AVR單片機可以用高級語言編程,極容易地實現系統移植,并且加快了軟件的開發過程。這里以Mage16單片機為核心,輔以必要的電路,采用高級C語言編程,沒汁了一個簡易的電子時鐘,由4.5 V直流電源供電,通過LCD液晶能夠準確顯示時間。 |