• 
    

    
    

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

      ?

      論簡易數(shù)字時鐘設(shè)計

      2013-08-21 07:46:32韓劉宇
      武夷學(xué)院學(xué)報 2013年2期
      關(guān)鍵詞:鬧鈴蜂鳴器低電平

      韓劉宇

      (天津工業(yè)大學(xué) 電子與信息工程學(xué)院通信工程專業(yè) 300384)

      1 設(shè)計要求

      基本設(shè)計要求

      (1)單片機控制日歷時鐘芯片實現(xiàn)年份、月份、日期、星期、時間信息的獲取。

      (2)在LCD上對年份、月份、日期、星期、時間信息進行顯示。

      (3)可以對年份、月份、日期、星期、時間進行修改。

      (4)具有掉電后時間信息不丟失的功能。

      發(fā)揮部分

      (1)具有鬧鐘功能。可設(shè)置鬧鈴時間,當鬧鈴時間到時,進行鬧鈴。通過按鍵可解除鬧鈴。

      (2)具有整點報時功能。

      (3)程序固化到單片機中,并且可直接進行程序下載和更新。

      2 總體設(shè)計

      2.1 系統(tǒng)組成及工作原理

      本電子鐘由單片機、定時、顯示、按鍵、定時提醒、ISP在線編程6部分組成。產(chǎn)品以AT89S52單片機、DS12C887時鐘芯片為核心,顯示部分采用LCD1602,使用4個按鍵和1蜂鳴器,加上ISP在線編程模塊。DS12C887時鐘芯片產(chǎn)生時鐘信號和存放鬧鈴數(shù)據(jù),其精度和可靠性高,在單片機掉電狀態(tài)下能正確走時、保存鬧鈴數(shù)據(jù)長達10年,故能實現(xiàn)停電重起后定時設(shè)計不變的關(guān)鍵設(shè)計指標。AT89S52單片機實時獲取DS12C887的時間和鬧鈴數(shù)據(jù),驅(qū)動LCD和蜂鳴器。顯示部分的LCD有高亮度,低成本等諸多優(yōu)點。蜂鳴器作鬧鈴提示切合實際、直觀。按鍵方面采用軟件消抖,減少硬件電路的同時增加了可靠性。本產(chǎn)品完全達到設(shè)計要求,輔助的ISP在線編程讓產(chǎn)品具有強大的擴展功能,使其不僅僅是一個電子鐘,更是一個單片機試驗平臺。

      2.2 DS12C887時鐘芯片原理

      DS12C887時鐘芯片能夠產(chǎn)生世紀、年、月、日、時、分、秒等信息,同時 DS12C887時鐘芯片中自帶有鋰電池,外部掉電時,通過鋰電池的作用其內(nèi)部時間信息還能夠保持相當長的時間;時間記錄分為十二小時制和二十四小時制兩種方式。在十二小時制模式中,AM和PM用來分別表示上午和下午;時間的表示方法也有兩種,利用二進制數(shù)表示或利用BCD碼表示;DS12C887時鐘芯片帶有 128字節(jié)的 RAM,其中有113字節(jié)通用 RAM用來給用戶使用,11字節(jié)的RAM是用來存儲時間信息的,4字節(jié) RAM是用來存儲 DS12C887的控制信息的,被我們稱之為控制寄存器。

      3 硬件設(shè)計

      3.1 硬件組成

      3.2 單片機核心模塊

      3.2.1 主要特性

      單片機AT89S52是ATMEL公司生產(chǎn)的低電壓、高性能COMS 8位單片機,它有128Byte RAM、8KByte可編程FLASH ROM,指令系統(tǒng)與MCS-51系列兼容。采用KEILC51編譯軟件,PROTUES仿真平臺,能方便實現(xiàn)程序的仿真。ISP在線編程,能方便的更新程序??蓪x用的單片機特點進行描述,可畫出單片機最小系統(tǒng)并描述電路連接。

      3.2.2 單片機引腳說明

      AT89S52是采用40個引腳封裝的雙列直接 DIP結(jié)構(gòu),40個引腳中,外置石英振蕩器的時鐘線有兩根,正電源和地線有兩根,還有32個 I/O口,中斷口線與P3口線是復(fù)用的。我們對引腳的功能加以說明:

      ·Pin20:是接地腳。

      ·Pin40:是正電源腳,接+5V電源,用來正常工作或?qū)ζ瑑?nèi)EPROM燒寫程序時。

      ·Pin19:是時鐘XTAL1腳,為片內(nèi)振蕩電路輸入端。

      ·Pin18:是時鐘XTAL2腳,為片內(nèi)振蕩電路輸出端。時鐘有兩種方式,方式一為片內(nèi)時鐘振蕩方式,但需在18和19兩個引腳外接石英晶體和振蕩電容。方式二為外部時鐘方式,即將XTAL1接地,將外部時鐘的信號從XTAL2腳輸入。

      ·輸入輸出 (I/O)Pin32-Pin39引腳是 P0.0-P0.7的輸入輸出腳,Pin1-Pin8引腳是 P1.0-P1.7的輸入輸出腳,Pin21-Pin28引腳為 P2.0-P2.7輸入輸出腳,Pin10-Pin17引腳為P3.0-P3.7輸入輸出腳,上述的輸入輸出腳的功能是:

      P3口(10腳~17腳):為8位準雙向 I/O口,由于高阻狀態(tài)不能在這種接口輸出中產(chǎn)生,輸入也不能鎖存,故不是真正的雙向 I/O口。 P3口能驅(qū)動 (吸收或輸出電流)4個TTL負載。P除了作為一般的準雙向通用I/O口使用外,p3口每個引腳還有第二功能。P3口的八條線都被我們定義有第二功能[6],如表4.1所列。

      P2口(21腳~28腳):為8位準雙向 I/O口。當我們訪問外部存儲器時,它可以被我們作為高8位地址總線 送出高8位地址。P2可以驅(qū)動(吸收或輸出電流)4個TTL的負載。

      P1口(1腳~8腳):為 8位準雙向 I/O口。P1口能驅(qū)動4個TTL負載。

      P0口(32腳~39腳):不同于其他的三個端口,它為雙向8位三態(tài)I/O口,外接存儲器與地址總線的低八位及數(shù)據(jù)的總線進行復(fù)用,8個TTL負載能以吸收電流的方式被驅(qū)動。

      P3引腳第二功能:3.0 RXD(串行口的輸入端)

      3.1 TXD(串行口的輸出端)

      3.2 INT0(外部中斷0請求輸入端,低電平的時候有效)

      3.3 INT1(外部中斷0請求輸入端,低電平的時候有效)

      3.4 T0(定時器/計數(shù)器0的技數(shù)脈沖輸入端)

      3.5 T1(定時器/計數(shù)器0的技數(shù)脈沖輸入端)

      3.6 WR(片外數(shù)據(jù)存儲器寫選通信號輸出端,低電平的時候有效)

      3.7 RD(片外數(shù)據(jù)存儲器寫選通信號輸出端,低電平的時候有效)

      ·Pin9:RESET/Vpd為復(fù)位信號復(fù)用腳,單片機通電時,時鐘電路就開始工作,在RESET引腳上產(chǎn)生24個時鐘周期以上的高電平,則系統(tǒng)即會初始復(fù)位。初始化后,程序計數(shù)器 PC會指向 0000H,P0-P3輸出口都為高電平時,則堆棧指鐘就會寫入 07H,而其它專用的寄存器被清“0”。當RESET從高電平下降為低電平后,系統(tǒng)就會從 0000H開始執(zhí)行程序。然而,初始復(fù)位并不使RAM(包括工作寄存器R0-R7)的狀態(tài)發(fā)生變化,當單片機復(fù)位后它的狀態(tài)為:

      ·P0~P3=FFH,各口可用于輸出,也可用于輸入;

      ·SP=07H,第一個入棧內(nèi)容將寫入08H單元;

      ·IP、IE和 PCON的有效位為 0,各中斷源處于低優(yōu)先級且均被關(guān)斷,串行通訊的波特率不加倍;

      ·PSW=00H,當前工作寄存器為0組。

      ·Pin30:ALE/PROG是訪問外部程序器時,ALE輸出的用來鎖存地址的低位字節(jié)。當訪問內(nèi)部程序存儲器的時候,ALE端將會有個 以1/6時鐘頻率為周期的正脈沖信號,此信號是用于識別單片機工作與否的,我們也可以把它當作一個時鐘向外輸出。還有一個特點就是,當我們訪問外部程序存儲器,ALE會自動跳過一 個脈沖。而如果單片機是EPROM的話 ,在其編程的時候,PROG會用于輸入編程的脈沖。

      ·Pin29:PESN是訪問外部程序存儲器時,輸出負脈沖選通信號的引腳,PC其16位的地址數(shù)據(jù)會出現(xiàn)在P0和P2中,外部程序存儲器會把其指令數(shù)據(jù)放到P0口的上面,而CPU負責讀入執(zhí)行。

      ·Pin31:EA/Vpp是程序存儲器內(nèi)外部選通線,8051和8751單片機中,其內(nèi)部有 4kB的程序存儲器,當EA是高電平而且程序地址不大于4kB時,讀取的就是內(nèi)部程序存儲器的指令數(shù)據(jù),而超過4kB地址則讀取的就是外部指令的數(shù)據(jù)。但是如果EA是低電平,不管地址的大小,都是讀取外部程序存儲器的指令。顯而易見,對于內(nèi)部沒有程序存儲器 8031,EA端就必須要接地。

      ?

      3.3 晶振電路

      振蕩器是數(shù)字鐘的核心。振蕩器的穩(wěn)定度及頻率的精確度決定了數(shù)字鐘計時的準確程度,通常選用石英晶體構(gòu)成振蕩器電路。石英晶體振蕩器的作用是產(chǎn)生時間標準信號。

      3.4 顯示電路

      本電路采用1602LCD,由于數(shù)碼管只能顯示數(shù)字數(shù)碼管顯示內(nèi)容單一,液晶則比較豐富,而這個實驗中,要求功能較多,為了使電路顯示的更清晰明了,本實驗最終決定采用1602LCD 顯示。且液晶顯示已占居社會主流,優(yōu)勢明顯。

      模塊引腳功能表:

      3.5 時鐘電路

      3.6 獨立按鍵電路

      鑒于使用中斷電路會增加硬件電路的復(fù)雜度,本電路采用獨立按鍵的方法,只需在程序中加入掃描程序即可。其中P1.4接按鍵1,P1.5接按鍵2,P1.6接按鍵3,P1.7接按鍵4。其中按鍵1為選擇鍵,通過按鍵1可以將光標移動到要調(diào)節(jié)的選項;按鍵2為加鍵,通過按鍵2可以調(diào)整時間和鬧鐘的各項數(shù)值加一;按鍵3為減鍵,通過按鍵3可以調(diào)整時間和鬧鐘的各項數(shù)值減一;按鍵4為鬧鐘,通過按鍵4可以調(diào)節(jié)鬧鐘。

      3.7 蜂鳴器電路

      3.8 ISP下載口電路

      4程序設(shè)計

      4.1 主程序設(shè)計

      void main()//主函數(shù)

      {

      init();//調(diào)用初始化函數(shù)

      while(1)

      {

      keyscan();//按鍵掃描

      if(flag_ri==1)//當鬧鐘中斷時進入這里

      {

      di();

      delay(100);

      di();

      delay(500);

      }

      if(flag==0&&flag1==0)//正常工作時進入這里

      {

      keyscan();//按鍵掃描

      year=read_ds(9);//讀取12C887數(shù)據(jù)

      month=read_ds(8);

      day=read_ds(7);

      //week=read_ds(6);

      shi=read_ds(4);

      fen=read_ds(2);

      miao=read_ds(0);

      if(fen/10==0&&fen%10==0&&miao/10==0&&miao%10==0)di();

      week=GetWeekFromDay(year,month,day);

      write_sfm(10,miao);//送液晶顯示

      write_sfm(7,fen);

      write_sfm(4,shi);

      write_week(week);

      write_nyr(3,year);

      write_nyr(6,month);

      write_nyr(9,day);

      }

      }

      }

      4.2 程序流程圖

      5 調(diào)試及結(jié)果

      本數(shù)字時鐘采用ISP下載線進行下載和供電。首先將程序下載到AT89S52芯片中。打開開關(guān)將看到開機初始畫面,左側(cè)四個按鍵依次設(shè)為 K1、K2、K3、K4,按K1鍵,將會看到光標依次挪動到秒、分、時、日、月、年,當光標移動到某個選項,例如“分”選項:按下K2,該項數(shù)值則加一,按下K3,該項數(shù)值則減一;若調(diào)節(jié)年月日選項時,調(diào)節(jié)完畢后會自動計算出該日為星期幾,并且顯示在LCD屏幕上。當時鐘處于正常運行狀態(tài)時,按下K4鍵,界面將轉(zhuǎn)到鬧鈴調(diào)節(jié)界面,此時按照時鐘的調(diào)節(jié)方法,設(shè)定鬧鈴。每當有按鍵按下時,蜂鳴器將會伴隨響聲,當時中達到整點時,蜂鳴器也將會有提示音(整點報時功能),當時鐘的時間到達設(shè)定的鬧鈴時間,蜂鳴器將會發(fā)出連續(xù)的鳴叫聲,直至按下任意鍵來解除此鬧鈴。實物效果圖:

      整體電路圖:

      [1] 倪云峰.單片機原理與應(yīng)用【M】.西安:西安電子科技大學(xué)出版社,2009.

      [2] 梁潔婷.單片機原理與應(yīng)用【M】.北京:高等教育出版社,2002.

      [3] 林國清,李見為,王崇文.一種新型日歷時鐘芯片[J].國外電子元器件,2002(3):61-62.

      猜你喜歡
      鬧鈴蜂鳴器低電平
      有效鬧鈴
      意林(2023年18期)2023-11-05 10:45:10
      數(shù)字電路中“邏輯非”的用法辨析
      電動自行車產(chǎn)品車速提示音檢測現(xiàn)狀和整改技術(shù)研究(2)
      日出
      鐵道車輛高/低電平信號智能發(fā)生器設(shè)計
      掌控板制作簡易鋼琴
      電腦報(2020年12期)2020-06-30 19:56:42
      單片機驅(qū)動蜂鳴器的程序設(shè)計
      2017款凱迪拉克2.8L/3.0L/3.2L/3.6L車型低電平參考電壓總線電路圖
      豐田凱美瑞240V車間隙警告蜂鳴器異常鳴響
      麻辣戰(zhàn)國
      卢湾区| 青冈县| 珠海市| 彭阳县| 怀远县| 阿合奇县| 木里| 通海县| 东阳市| 太湖县| 芷江| 宁强县| 遂宁市| 佛教| 米脂县| 苍梧县| 枞阳县| 大邑县| 天门市| 扶风县| 五常市| 肇庆市| 五指山市| 松江区| 横山县| 华池县| 诏安县| 象山县| 石阡县| 和田市| 东乌珠穆沁旗| 清流县| 哈尔滨市| 安仁县| 沁源县| 侯马市| 盐山县| 沁源县| 博爱县| 东台市| 二手房|