• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于AT89S52數(shù)字鐘的設(shè)計與制作

      2015-07-30 06:20:41王少炯株洲市工業(yè)中等專業(yè)學(xué)校湖南株洲412008
      山東工業(yè)技術(shù) 2015年16期
      關(guān)鍵詞:數(shù)碼管按鈕單片機

      王少炯(株洲市工業(yè)中等專業(yè)學(xué)校,湖南 株洲 412008)

      基于AT89S52數(shù)字鐘的設(shè)計與制作

      王少炯
      (株洲市工業(yè)中等專業(yè)學(xué)校,湖南 株洲 412008)

      采用純數(shù)字集成電路設(shè)計制作數(shù)字鐘電路較復(fù)雜,而單片機數(shù)字鐘只用了較簡單的硬件,通過編寫C程序可實現(xiàn)完善的功能。

      數(shù)字鐘;AT89S52;C程序、

      0 前言

      在以前很多雜志上都介紹了數(shù)字鐘的制作,其電路或者較為復(fù)雜,或者所選的單片機很多編程器不支持,不便于初學(xué)者自制。本文設(shè)計的數(shù)字鐘具有電路簡單、成本低(全部元件近30元)、元件易購、功能全、走時精度高的特點,很適合萬能實驗板自制。

      1 硬件系統(tǒng)設(shè)計:

      (1)元件清單:

      (2)電路原理圖如圖1。

      圖1 電路原理圖

      本數(shù)字?jǐn)?shù)字鐘采用ATMEL公司的AT89S52為主芯片。

      AT89S52為40腳雙列直插封裝的單片機,與MCS-51單片機產(chǎn)品兼容,8K字節(jié)在系統(tǒng)可編程Flash存儲器,1000次擦寫周期,32個可編程I/O口線,三個16位定時器/計數(shù)器,八個中斷源,支持ISP,是單片機初學(xué)者首選芯片。

      為了簡化電路安裝,數(shù)碼管分別采用1位(顯示星期,也可以采用2位代替),2位(顯示時、分、月、日),4位(顯示年)共陽極數(shù)碼管,引腳功能見圖,需要注意的是,不同廠家的數(shù)碼管的引腳可能不同,可用萬用表或電池進(jìn)行測試。

      圖2 數(shù)碼管底視圖

      驅(qū)動三極管采用1N5401,也可采用2SC1015等小功率PNP型三極管,但要注意腳位。

      功能按鈕采用微動開關(guān),S1為位選擇,接于P3.2口, S2為增1,接于P3.3口,S3為減1,接于P3.4口。按一次S1按鈕,分位閃爍,再按一次,依次為時、星期、日、月、年位閃爍,此時,按S2,或S3按鈕,選定位加一或減一,達(dá)到調(diào)整時鐘的目的。在年位閃爍時,再按一次S1,返回正常計時狀態(tài)。由于P3口內(nèi)有上拉電阻,所以外部無需上拉電阻。

      復(fù)位電路,只要求持續(xù)2個機器周期,R*C>2us,即可對單片機進(jìn)行復(fù)位。S4為復(fù)位按鈕,可對數(shù)字鐘進(jìn)行初始化復(fù)位。

      AT89S52 40腳接+5V,20腳接地,31腳為EA/VPP,訪問外部程序存儲器控制信號。為使能從0000H 到FFFFH的外部程序存儲器讀取指令,EA必須接GND。為了執(zhí)行內(nèi)部程序指令,EA應(yīng)該接VCC。由于該數(shù)字鐘的程序、數(shù)據(jù)都存儲在AT89S52內(nèi)部,所以31腳應(yīng)接+5V。

      18、19腳外接晶體振蕩器,本電路采用12M晶振。

      P0口分別接數(shù)碼管a、b、c、d、e、f、g,從P0口輸出數(shù)碼。

      P1口接年、月、日數(shù)碼管陽極,P2口接時、分、星期數(shù)碼管陽極,P3.0口接秒指示燈,當(dāng)其為低電平時,發(fā)光二極管發(fā)光,反之熄滅,用以指示秒。

      在設(shè)計數(shù)字鐘過程中,為了調(diào)試方便,增加了ISP插座,本人使用的是偉納ME300B編程器,該編程器使用10針I(yè)SP接口。對于其它編程器,只要將插針與AT89S52的6、7、8、9、+5v、地對應(yīng)連接即可。

      2 軟件系統(tǒng)設(shè)計:

      (1)軟件流程圖如圖3。源程序見附件。(2)軟件采用C語言編寫,原理如下:

      圖3 軟件流程圖

      1)進(jìn)行按鍵掃描中,應(yīng)去抖,再保存于變量中,確保按鍵操作的精度和可靠性。由于要對多個時間變量進(jìn)行操作,設(shè)置了位選擇功能,每按一次選擇按鈕,位選擇變量加1,在后面的數(shù)碼管掃描程序中,可根據(jù)位選擇變量的值,就可對各個時間變量進(jìn)行調(diào)整。在按鍵掃描過程中要先關(guān)中斷,操作完后再開中斷; 2)定時器0,用于動態(tài)掃描數(shù)碼管,其定時時間不能太大,否則數(shù)碼管會閃爍。同時在掃描過程中,要根據(jù)位選擇變量的值確定哪位數(shù)碼管閃爍,為0時不閃爍,工作于正常計時狀態(tài); 3)定時器1, 1/100秒觸發(fā)一次,100次秒變量加1,60秒后分變量加1,60分后時變量加1,24時后日變量、周變量加1,根據(jù)月份,日變量滿28,30,31后月變量加1,月變量滿12后年變量加1。

      3 注意事項:

      (1)定時器初值如采用65536-10000=55536(十進(jìn)制)轉(zhuǎn)化為十六進(jìn)制為D8F0,會出現(xiàn)走時不準(zhǔn)確,本人采用KEIL進(jìn)行仿真,確定賦值為D912時,走時最精確。

      (2)本電路簡單,可用萬能板搭接,連接導(dǎo)線用漆包線。

      (3)組裝前先確定數(shù)碼管、單片機芯片的位置,統(tǒng)籌布局,做到美觀、合理,本人采用已壞的數(shù)字鐘外殼,制作成數(shù)字鐘見圖5,圖5。敷銅板面見圖圖6。

      圖4

      圖5

      圖6

      4 功能擴展

      (1)在此基礎(chǔ)上,再加入SD18B20,修改程序,可顯示當(dāng)前溫度。

      (2)在電源電路中接入6V蓄電池,保證停電也能正常工作,且能自動對電池充電。

      (3)此電路中未加入農(nóng)歷功能,有興趣的讀者可在此基礎(chǔ)上添加,如I/O口不夠,可采用移位寄存器芯片74HC595進(jìn)行擴展。

      (4)若數(shù)字鐘的走時精度不高,可更換5PPM精度較高的32768晶體振蕩器。

      猜你喜歡
      數(shù)碼管按鈕單片機
      哪個是門鈴真正的按鈕
      當(dāng)你面前有個按鈕
      基于單片機的SPWM控制逆變器的設(shè)計與實現(xiàn)
      電子制作(2019年13期)2020-01-14 03:15:28
      Arduino編程
      電腦報(2019年2期)2019-09-10 07:22:44
      基于單片機的層次漸變暖燈的研究
      電子制作(2019年15期)2019-08-27 01:12:10
      MC9S08FL16單片機數(shù)碼管靜態(tài)顯示分析
      基于單片機的便捷式LCF測量儀
      電子制作(2019年9期)2019-05-30 09:42:02
      單片機控制的四位數(shù)碼管動態(tài)顯示編程
      基于Qt的數(shù)碼管數(shù)字編碼系統(tǒng)的設(shè)計與實現(xiàn)
      死循環(huán)
      玉溪市| 休宁县| 元江| 广灵县| 彭阳县| 大关县| 阳山县| 吴桥县| 金华市| 桓台县| 桐梓县| 北京市| 黎城县| 原阳县| 介休市| 红原县| 南乐县| 平利县| 眉山市| 威远县| 梓潼县| 宁乡县| 阜南县| 普兰店市| 绥芬河市| 西充县| 房产| 宝坻区| 望城县| 武夷山市| 洛宁县| 民乐县| 涞源县| 汉源县| 滨海县| 独山县| 抚顺县| 林芝县| 新化县| 牡丹江市| 扎鲁特旗|