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

?

基于單片機(jī)的智能數(shù)字鐘的設(shè)計(jì)與實(shí)現(xiàn)

2020-06-16 00:44嚴(yán)
關(guān)鍵詞:數(shù)碼管鬧鈴原理圖

嚴(yán) 敏

(江蘇旅游職業(yè)學(xué)院 信息工程學(xué)院,江蘇 揚(yáng)州 225127)

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

1.1 總體結(jié)構(gòu)

本設(shè)計(jì)的智能數(shù)字鐘系統(tǒng)硬件電路的核心是AT89C51單片機(jī),外圍設(shè)備由6位LED數(shù)碼管顯示模塊、4*3鍵盤(pán)模塊以及鬧鐘模塊等組成。采用可編程外圍并行接口8255擴(kuò)展模塊作為鍵盤(pán)和顯示的接口電路,解決了AT89C51單片機(jī)自身I/O口資源緊張的問(wèn)題。智能數(shù)字鐘系統(tǒng)的總體結(jié)構(gòu)如圖1所示。

1.2 8255擴(kuò)展模塊

8255是一種通用可編程并行I/O口擴(kuò)展器件,包括PA、PB、PC3個(gè)8位的并行I/O口,可擴(kuò)展多個(gè)外圍設(shè)備,有效地解決了AT89C51單片機(jī)自身I/O口資源緊張的問(wèn)題。電路設(shè)計(jì)時(shí),8255的復(fù)位信號(hào)RST與單片機(jī)的復(fù)位信號(hào)RST合用,連接在一起。8255的讀信號(hào)、寫(xiě)信號(hào)分別與單片機(jī)的讀信號(hào)、寫(xiě)信號(hào)相連接。8255的片選信號(hào)與單片機(jī)的P2.7相連接。8255的通道選擇地址A0、A1與單片機(jī)的P2.5、P2.6相連接,這樣,8255擴(kuò)展單元PA口、PB口、PC口和控制寄存器的地址分別為0x1FFF、0x3FFF、0x5FFF、0x7FFF。利用8255的PA口作為6位LED數(shù)碼管顯示器的位選口。其中,PA0—PA5分別對(duì)應(yīng)于6位數(shù)碼管的位選口w1—w6。利用8255的PB口作為6位LED數(shù)碼管顯示器的段選口,PB0—PB7分別對(duì)應(yīng)于6位LED數(shù)碼管顯示器的段選口A、B、C、D、E、F、G、DP。利用8255的PC口低3位作為鍵盤(pán)的行輸入口,8255的PA口作為鍵盤(pán)的列掃描口。8255的數(shù)據(jù)總線D0—D7和單片機(jī)的數(shù)據(jù)總線P0相連。8255電路原理圖如圖2所示。

1.3 6位LED數(shù)碼管顯示模塊

由于本設(shè)計(jì)使用共陰極的數(shù)碼管,8255的PA口外接了能夠提高驅(qū)動(dòng)能力的74LS04反相器,因此PA口輸出高電平選中相應(yīng)數(shù)碼管的位,而PB口輸出高電平點(diǎn)亮相應(yīng)數(shù)碼管的段。LED數(shù)碼管顯示電路原理圖如圖3所示。

1.4 4*3鍵盤(pán)模塊

按鍵模塊采用4*3行列式鍵盤(pán),由12個(gè)按鍵組成,用于鬧鈴和時(shí)間校準(zhǔn)設(shè)置。其中,10個(gè)按鍵作為“0—9”數(shù)字鍵,1個(gè)按鍵作為校時(shí)鍵,1個(gè)按鍵作為鬧鈴鍵。4*3鍵盤(pán)的行線分別連接8255擴(kuò)展模塊的PC0、PC1、PC2,列線分別連接8255擴(kuò)展模塊的PA0、PA1、PA2、PA3。4*3鍵盤(pán)電路原理圖如圖4所示。

1.5 鬧鐘模塊

鬧鐘電路直接連接單片機(jī)的P1.0口,采用三極管驅(qū)動(dòng)蜂鳴器。單片機(jī)的P1.0口輸出低電平驅(qū)動(dòng)蜂鳴器啟動(dòng)鬧鐘。當(dāng)P1.0口輸出低電平,三極管導(dǎo)通,鬧鐘啟動(dòng);當(dāng)P1.0口輸出高電平,三極管截止,鬧鐘不啟動(dòng)。鬧鐘電路原理圖如圖5所示。

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

系統(tǒng)軟件設(shè)計(jì)主要包括8255驅(qū)動(dòng)程序設(shè)計(jì)、LED數(shù)碼管顯示程序設(shè)計(jì)、4*3鍵盤(pán)掃描處理程序設(shè)計(jì)、鬧鐘程序設(shè)計(jì)等。系統(tǒng)主程序流程圖如圖6所示。

2.1 8255驅(qū)動(dòng)程序設(shè)計(jì)

8255通過(guò)軟件編程可以設(shè)置PA、PB、PC口的工作方式,將方式控制字寫(xiě)入8255的控制字寄存器,控制命令的格式及定義。8255控制命令字格式及定義如圖7所示[1-4]。本設(shè)計(jì)PA口工作于方式為0,輸出;PB口工作于方式為0,輸出;PC4—PC7工作于方式1,輸入;PC0—PC3工作于方式1,輸入,從而8255的方式控制字為10001001B=89H。8255的控制字在單片機(jī)相應(yīng)的初始化程序中設(shè)置即可。單片機(jī)上電執(zhí)行完初始化程序后,8255即按設(shè)定的工作方式進(jìn)行操作。

設(shè)置好8255的工作方式之后,在程序中定義8255的PA、PB、PC口及控制寄存器的地址,在main函數(shù)中加入8255初始化語(yǔ)句,其部分代碼如下:

2.2 LED數(shù)碼管顯示程序設(shè)計(jì)

LED數(shù)碼管顯示程序主要完成6位LED數(shù)碼管的動(dòng)態(tài)顯示,其部分代碼如下:

2.3 4*3鍵盤(pán)掃描處理程序設(shè)計(jì)

判斷是否有按鍵按下,求取鍵號(hào),確定是哪一個(gè)按鍵按下,并進(jìn)入相應(yīng)的鍵處理程序。其部分代碼如下:

2.4 鬧鐘程序設(shè)計(jì)

鬧鐘程序主要完成定時(shí)啟鬧的功能,當(dāng)計(jì)時(shí)時(shí)間等于設(shè)定的鬧鈴時(shí)間時(shí),立即啟動(dòng)鬧鐘鳴叫。其部分代碼如下:

3 仿真結(jié)果與分析

在Med Win V3.0集成開(kāi)發(fā)環(huán)境中,編寫(xiě)系統(tǒng)程序,進(jìn)行編譯、調(diào)試后,生成十六進(jìn)制HEX文件。在Proteus硬件仿真軟件中將其加載到單片機(jī)芯片中,觀察智能數(shù)字鐘的仿真運(yùn)行效果。系統(tǒng)上電后,自動(dòng)進(jìn)入時(shí)鐘顯示,從“00:00:00”開(kāi)始自動(dòng)計(jì)時(shí),此時(shí)按下校時(shí)鍵,單片機(jī)內(nèi)部定時(shí)器停止計(jì)時(shí),進(jìn)入時(shí)間設(shè)定狀態(tài),時(shí)、分、秒的十位、個(gè)位分別對(duì)應(yīng)6個(gè)LED數(shù)碼管。校準(zhǔn)時(shí)間時(shí),它們對(duì)應(yīng)的LED數(shù)碼管會(huì)依次閃爍顯示,等待輸入,此時(shí)按下“0—9”數(shù)字鍵分別進(jìn)行設(shè)置,直至6個(gè)LED數(shù)碼管設(shè)置完畢,再次按下校時(shí)鍵,則退出設(shè)置。智能數(shù)字電路原理圖如圖8所示。按下鬧鈴鍵,單片機(jī)內(nèi)部定時(shí)器繼續(xù)計(jì)時(shí),進(jìn)入鬧鐘設(shè)置狀態(tài),鬧鈴時(shí)間只設(shè)置時(shí)、分,數(shù)碼管初始顯示“12:00:--”,按下“0—9”數(shù)字鍵依次設(shè)置鬧鈴時(shí)間,鬧鈴時(shí)間設(shè)置完畢,數(shù)碼管恢復(fù)計(jì)時(shí)時(shí)間顯示,當(dāng)計(jì)時(shí)時(shí)間達(dá)到鬧鈴時(shí)間時(shí),啟動(dòng)鬧鐘鳴叫,再次按下鬧鈴鍵,鬧鐘停止鳴叫。

4 結(jié)論

本研究以AT89C51單片機(jī)為系統(tǒng)控制核心,使用8255擴(kuò)展外圍鍵盤(pán)、顯示等設(shè)備,在Proteus仿真軟件中設(shè)計(jì)系統(tǒng)硬件電路,在Med Win V3.0開(kāi)發(fā)環(huán)境中編寫(xiě)程序并調(diào)試、運(yùn)行。Proteus和Med Win V3.0兩款軟件的聯(lián)合使用,降低了單片機(jī)系統(tǒng)的設(shè)計(jì)成本,縮短了開(kāi)發(fā)周期,極大地提高了單片機(jī)系統(tǒng)的設(shè)計(jì)效率。此外,本研究對(duì)單片機(jī)課程的課堂教學(xué)演示和實(shí)際系統(tǒng)設(shè)計(jì)都有很大的參考價(jià)值。

猜你喜歡
數(shù)碼管鬧鈴原理圖
日出
物理項(xiàng)目教學(xué)設(shè)計(jì),用單片機(jī)控制四位數(shù)碼管顯示
基于51單片機(jī)的分?jǐn)?shù)計(jì)數(shù)器設(shè)計(jì)
電路原理圖自動(dòng)布圖系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
基于Protel DXP 2004層次原理圖的設(shè)計(jì)
Arduino編程
MC9S08FL16單片機(jī)數(shù)碼管靜態(tài)顯示分析
開(kāi)鬧鐘的老人
開(kāi)鬧鐘的老人
電子電路識(shí)圖方法的探究
阜宁县| 疏附县| 新疆| 淮北市| 辽宁省| 册亨县| 大连市| 武城县| 台中县| 黑河市| 凭祥市| 大洼县| 诸城市| 红原县| 富平县| 略阳县| 咸宁市| 柘城县| 思南县| 措美县| 靖州| 康定县| 菏泽市| 牡丹江市| 宜兰市| 甘孜县| 东阿县| 临安市| 汉阴县| 衢州市| 临潭县| 崇州市| 新乡市| 临夏县| 孝昌县| 门源| 黄石市| 定日县| 巨鹿县| 望奎县| 界首市|