国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

論簡(jiǎn)易數(shù)字時(shí)鐘設(shè)計(jì)

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

韓劉宇

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

1 設(shè)計(jì)要求

基本設(shè)計(jì)要求

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

(2)在LCD上對(duì)年份、月份、日期、星期、時(shí)間信息進(jìn)行顯示。

(3)可以對(duì)年份、月份、日期、星期、時(shí)間進(jìn)行修改。

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

發(fā)揮部分

(1)具有鬧鐘功能。可設(shè)置鬧鈴時(shí)間,當(dāng)鬧鈴時(shí)間到時(shí),進(jìn)行鬧鈴。通過(guò)按鍵可解除鬧鈴。

(2)具有整點(diǎn)報(bào)時(shí)功能。

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

2 總體設(shè)計(jì)

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

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

2.2 DS12C887時(shí)鐘芯片原理

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

3 硬件設(shè)計(jì)

3.1 硬件組成

3.2 單片機(jī)核心模塊

3.2.1 主要特性

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

3.2.2 單片機(jī)引腳說(shuō)明

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

·Pin20:是接地腳。

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

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

·Pin18:是時(shí)鐘XTAL2腳,為片內(nèi)振蕩電路輸出端。時(shí)鐘有兩種方式,方式一為片內(nèi)時(shí)鐘振蕩方式,但需在18和19兩個(gè)引腳外接石英晶體和振蕩電容。方式二為外部時(shí)鐘方式,即將XTAL1接地,將外部時(shí)鐘的信號(hào)從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位準(zhǔn)雙向 I/O口,由于高阻狀態(tài)不能在這種接口輸出中產(chǎn)生,輸入也不能鎖存,故不是真正的雙向 I/O口。 P3口能驅(qū)動(dòng) (吸收或輸出電流)4個(gè)TTL負(fù)載。P除了作為一般的準(zhǔn)雙向通用I/O口使用外,p3口每個(gè)引腳還有第二功能。P3口的八條線都被我們定義有第二功能[6],如表4.1所列。

P2口(21腳~28腳):為8位準(zhǔn)雙向 I/O口。當(dāng)我們?cè)L問(wèn)外部存儲(chǔ)器時(shí),它可以被我們作為高8位地址總線 送出高8位地址。P2可以驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL的負(fù)載。

P1口(1腳~8腳):為 8位準(zhǔn)雙向 I/O口。P1口能驅(qū)動(dòng)4個(gè)TTL負(fù)載。

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

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

3.1 TXD(串行口的輸出端)

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

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

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

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

3.6 WR(片外數(shù)據(jù)存儲(chǔ)器寫(xiě)選通信號(hào)輸出端,低電平的時(shí)候有效)

3.7 RD(片外數(shù)據(jù)存儲(chǔ)器寫(xiě)選通信號(hào)輸出端,低電平的時(shí)候有效)

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

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

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

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

·PSW=00H,當(dāng)前工作寄存器為0組。

·Pin30:ALE/PROG是訪問(wèn)外部程序器時(shí),ALE輸出的用來(lái)鎖存地址的低位字節(jié)。當(dāng)訪問(wèn)內(nèi)部程序存儲(chǔ)器的時(shí)候,ALE端將會(huì)有個(gè) 以1/6時(shí)鐘頻率為周期的正脈沖信號(hào),此信號(hào)是用于識(shí)別單片機(jī)工作與否的,我們也可以把它當(dāng)作一個(gè)時(shí)鐘向外輸出。還有一個(gè)特點(diǎn)就是,當(dāng)我們?cè)L問(wèn)外部程序存儲(chǔ)器,ALE會(huì)自動(dòng)跳過(guò)一 個(gè)脈沖。而如果單片機(jī)是EPROM的話 ,在其編程的時(shí)候,PROG會(huì)用于輸入編程的脈沖。

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

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

?

3.3 晶振電路

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

3.4 顯示電路

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

模塊引腳功能表:

3.5 時(shí)鐘電路

3.6 獨(dú)立按鍵電路

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

3.7 蜂鳴器電路

3.8 ISP下載口電路

4程序設(shè)計(jì)

4.1 主程序設(shè)計(jì)

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

{

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

while(1)

{

keyscan();//按鍵掃描

if(flag_ri==1)//當(dāng)鬧鐘中斷時(shí)進(jìn)入這里

{

di();

delay(100);

di();

delay(500);

}

if(flag==0&&flag1==0)//正常工作時(shí)進(jìn)入這里

{

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

整體電路圖:

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

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

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

猜你喜歡
鬧鈴蜂鳴器低電平
有效鬧鈴
意林(2023年18期)2023-11-05 10:45:10
數(shù)字電路中“邏輯非”的用法辨析
電動(dòng)自行車(chē)產(chǎn)品車(chē)速提示音檢測(cè)現(xiàn)狀和整改技術(shù)研究(2)
日出
鐵道車(chē)輛高/低電平信號(hào)智能發(fā)生器設(shè)計(jì)
掌控板制作簡(jiǎn)易鋼琴
單片機(jī)驅(qū)動(dòng)蜂鳴器的程序設(shè)計(jì)
2017款凱迪拉克2.8L/3.0L/3.2L/3.6L車(chē)型低電平參考電壓總線電路圖
豐田凱美瑞240V車(chē)間隙警告蜂鳴器異常鳴響
麻辣戰(zhàn)國(guó)
吉林省| 桂东县| 化隆| 平果县| 那曲县| 甘孜县| 荆州市| 正蓝旗| 大竹县| 合肥市| 云龙县| 兴隆县| 青田县| 洛宁县| 县级市| 日土县| 大兴区| 河东区| 丰原市| 英吉沙县| 定南县| 衢州市| 教育| 吉林省| 白朗县| 开化县| 图木舒克市| 潼关县| 寿光市| 镇赉县| 米泉市| 彰武县| 当阳市| 昂仁县| 牡丹江市| 五指山市| 遵化市| 辽阳市| 沂源县| 保康县| 炎陵县|