本科畢業(yè)論文--基于單片機(jī)的音樂數(shù)字鐘的設(shè)計(jì)與仿真_第1頁(yè)
本科畢業(yè)論文--基于單片機(jī)的音樂數(shù)字鐘的設(shè)計(jì)與仿真_第2頁(yè)
本科畢業(yè)論文--基于單片機(jī)的音樂數(shù)字鐘的設(shè)計(jì)與仿真_第3頁(yè)
本科畢業(yè)論文--基于單片機(jī)的音樂數(shù)字鐘的設(shè)計(jì)與仿真_第4頁(yè)
本科畢業(yè)論文--基于單片機(jī)的音樂數(shù)字鐘的設(shè)計(jì)與仿真_第5頁(yè)
已閱讀5頁(yè),還剩43頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、鄭州輕工業(yè)學(xué)院輕工職業(yè)學(xué)院專科畢業(yè)設(shè)計(jì)題 目基于單片機(jī)的音樂數(shù)字鐘的設(shè)計(jì)與仿真學(xué)生姓名張培成專業(yè)班級(jí) 自動(dòng)化生產(chǎn)設(shè)備及應(yīng)用 121學(xué) 號(hào)院(系)機(jī)電工程系指導(dǎo)教師(職稱)完成時(shí)間 基于單片機(jī)的音樂數(shù)字鐘的設(shè)計(jì)與仿真 基于單片機(jī)的音樂數(shù)字鐘的設(shè)計(jì)與仿真摘要近年來隨著計(jì)算機(jī)在社會(huì)領(lǐng)域的滲透和大規(guī)模集成電路的發(fā)展,單片機(jī)的應(yīng)用正在不斷地走向深入,由于它具有功能強(qiáng),體積小,功耗低,價(jià)格便宜,工作可靠,使用方便等特點(diǎn),因此 特別適合于與控制有關(guān)的系統(tǒng),越來越廣泛地應(yīng)用于自動(dòng)控制, 智能化儀器,儀表,數(shù)據(jù)采集,軍工產(chǎn)品以及家用電器等各個(gè)領(lǐng) 域,單片機(jī)往往是作為一個(gè)核心部件來使用,在根據(jù)具體硬件結(jié)構(gòu),以及針

2、對(duì)具體應(yīng)用對(duì)象特點(diǎn)的軟件結(jié)合,以作完善。單片機(jī) 是單片微型計(jì)算機(jī)的簡(jiǎn)稱,隨著制造集成電路技術(shù)的發(fā)展可以將 完成計(jì)算機(jī)功能的零部件集成在一個(gè)芯片上。這樣的一個(gè)芯片就具有計(jì)算機(jī)的全部或大部分功能, 稱為單片機(jī)微型計(jì)算機(jī),簡(jiǎn)稱 單片機(jī)。關(guān)鍵詞 單片機(jī)/設(shè)計(jì)/開發(fā)/調(diào)試Music based on sin gle chip microcomputer digital clock desig n and simulatio nABSTRACTIn recent years, along with the computer penetration in the field of society and t

3、he developme nt of large scale in tegrated circuit, SCM applicati ons are con sta ntly go, because it has strong function, small volume, low power consumption, cheap, reliable work, convenient use, etc, therefore particularly suitable for related to the con trol system, more and more widely used in

4、automatic con trol, i ntellige nt in strume nts, meters, data acquisition, military products and household appliances and other fields, the microc on troller is often used as a core comp onen t, i n accord ing to the specific hardware structure, and in comb in ati on with the software accord ing to

5、the characteristics of the specific application object, to be improved. Microcontroller is short for single chip microcomputer, with the developme nt of in tegrated circuit tech no logy manu facturi ng complete computer functions of comp onents can be in tegrated on a chip. Such a chip has all or mo

6、st of the function of the computer, known as the single chip microcomputer, referred to as sin gle chip microcomputer.KEY WORDSSCM,desig n,developme nt,debugg ing目錄 TOC o 1-5 h z HYPERLINK l bookmark2 o Current Document 摘要 1ABSTRACT2 HYPERLINK l bookmark4 o Current Document 1課題介紹 5 HYPERLINK l bookm

7、ark6 o Current Document 單片機(jī)與單片機(jī)系統(tǒng) 52單片機(jī)系統(tǒng)的硬件設(shè)計(jì)2.1系統(tǒng)構(gòu)成 HYPERLINK l bookmark12 o Current Document 2.1.1AT89C51芯片的介紹 6引腳功能 92.2顯示部分 HYPERLINK l bookmark24 o Current Document LED 顯示器9LED 數(shù)碼顯示管的基本原理 9 HYPERLINK l bookmark26 o Current Document 數(shù)碼管顯示模塊分析 11 HYPERLINK l bookmark28 o Current Document 鍵盤 13 H

8、YPERLINK l bookmark32 o Current Document 74LS245 簡(jiǎn)介18 HYPERLINK l bookmark34 o Current Document 蜂鳴器 193控制部分電路的設(shè)計(jì) HYPERLINK l bookmark38 o Current Document 系統(tǒng)復(fù)位設(shè)置 20 HYPERLINK l bookmark40 o Current Document 數(shù)字時(shí)鐘的設(shè)計(jì) 21 HYPERLINK l bookmark42 o Current Document 音樂模塊 22 HYPERLINK l bookmark44 o Current

9、 Document 4 硬件電路端口分配 245軟件設(shè)計(jì) TOC o 1-5 h z 程序 25 HYPERLINK l bookmark46 o Current Document Proteus軟件仿真與實(shí)現(xiàn) 32 HYPERLINK l bookmark50 o Current Document 結(jié)束語(yǔ) 35 HYPERLINK l bookmark52 o Current Document 致謝 36 HYPERLINK l bookmark54 o Current Document 參考文獻(xiàn) 361課題介紹本設(shè)計(jì)是基于單片機(jī)的音樂數(shù)字鐘設(shè)計(jì),由單片機(jī)AT89C51芯片和LED數(shù)碼 管為

10、核心,輔以必要的電路,構(gòu)成的一個(gè)單片機(jī)電子音樂數(shù)字鐘。要求利用I/O口產(chǎn)生一定頻率的方波,來驅(qū)動(dòng)蜂鳴器,發(fā)出相應(yīng)的音調(diào)。可通過功能鍵選擇樂 曲,暫停,播放。本設(shè)計(jì)采用4*3鍵盤,七段顯示數(shù)碼管LED蜂鳴器、按鍵電 路、復(fù)位電路、時(shí)鐘電路,通過軟件程序來控制單片機(jī)內(nèi)部的定時(shí)器使其產(chǎn)生音 樂頻率。與傳統(tǒng)的機(jī)械式相比,用單片機(jī)設(shè)計(jì)的音樂數(shù)字鐘體積更小巧,且制作工藝簡(jiǎn)單。課設(shè)準(zhǔn)備中根據(jù)具體的要求,查找資料,然后根據(jù)已經(jīng)學(xué)過的始終程 序編寫定時(shí)鬧鐘的程序,依據(jù)程序利用Proteus軟件進(jìn)行了仿真實(shí)驗(yàn),對(duì)出現(xiàn)的 問題進(jìn)行分析和反復(fù)修改原程序,最終得到正確并符合要求的結(jié)果。機(jī)與單片機(jī)系統(tǒng)隨著電子技術(shù)的發(fā)展,

11、電子設(shè)備、儀器的智能化水平越來越高,而且越來越來多的家用 電器具備了 自動(dòng)” 智能” 電腦”和 微電腦控制”等功能,如全自動(dòng)洗衣機(jī)、智能冰箱、 電腦萬年歷、微電腦控制電磁爐等。這些自動(dòng)” 智能”和 電腦控制”是怎么回事?又是如何實(shí)現(xiàn)的呢?事實(shí)上,能夠?qū)崿F(xiàn)這些功能全是單片機(jī)的功勞,下面我們就先來認(rèn)識(shí)一下單片機(jī)吧。、什么是單片機(jī)大家都使用過計(jì)算機(jī),我們知道計(jì)算機(jī)最主要的部分就是主板了。主板就是一塊電路板,在這塊電路板上有 CPU、存儲(chǔ)器、時(shí)鐘等,還有很多接口電路,以便和各種設(shè)備連接。如 果把這些組成計(jì)算機(jī)的基本部件集成在一塊集成電路上就構(gòu)成了單芯片微型計(jì)算機(jī)。單片微型計(jì)算機(jī),簡(jiǎn)稱單片機(jī),它是把組成

12、微型計(jì)算機(jī)的各功能部件:中央處理器CPU、隨機(jī)存取存儲(chǔ)器 RAM、只讀存儲(chǔ)器 ROM、多種I/O接口電路、定時(shí)器/計(jì)數(shù)器、中斷系統(tǒng)以及串行通訊系統(tǒng)等部件制作在一塊硅片上,構(gòu)成一個(gè)小而完善的微型計(jì)算機(jī)系統(tǒng)。有的單A/D轉(zhuǎn)換器等電路。單片片機(jī)可能還包括顯示驅(qū)動(dòng)電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、機(jī)示意圖如圖1-34所示。時(shí)鐘電路CPU中央處理器(運(yùn)算器和控 制器)圖 1-34單片機(jī)示意圖單片機(jī)既是一塊集成電路,也是一個(gè)微型計(jì)算機(jī), 和計(jì)算機(jī)相比,單片機(jī)缺少了外圍設(shè)備等。概括的講:一塊芯片就成了一臺(tái)計(jì)算機(jī)。它的體積小、質(zhì)量輕、價(jià)格便宜、為學(xué)習(xí)、應(yīng)用和開發(fā)提供了便利條件。同時(shí),學(xué)習(xí)使用單片機(jī)是了解計(jì)算

13、機(jī)原理與結(jié)構(gòu)的最佳選擇。 各種單片機(jī)實(shí)物圖如圖 1-35所示。11AT89S51-DIPT AT89C2051-DIPSTC89C52RC-DIP AT89S52-TQFP圖1-35各種單片機(jī)實(shí)物圖由于單片機(jī)更多的應(yīng)用于控制系統(tǒng)及與控制有關(guān)的數(shù)據(jù)處理場(chǎng)因而目前應(yīng)確切稱其為微控制器(Microco ntroller Un it ),英單片機(jī)是其早期的含義, 合,是典型的嵌入式微控制器, 文縮寫為MCU,單片機(jī)的稱謂只是保留了其習(xí)慣稱呼。單片機(jī)的應(yīng)用從根本上改變著傳統(tǒng)的控制系統(tǒng)設(shè)計(jì)思想和設(shè)計(jì)方法。以往由繼電器接觸器控制,模擬電路、數(shù)字電路實(shí)現(xiàn)的大部分控制功能,現(xiàn)在都能夠使用單片機(jī)通過軟件的方式來實(shí)

14、現(xiàn),這種以軟件取代硬件并能夠提高系統(tǒng)性能的微控制技術(shù),隨著單片機(jī)應(yīng)用的推廣普及,不斷發(fā)展,日益完善。因此,了解單片機(jī),掌握其應(yīng)用及開發(fā)技術(shù),具有劃時(shí)代的意 義。二、什么是單片機(jī)系統(tǒng)單片機(jī)應(yīng)用系統(tǒng)在各類電子產(chǎn)品中,利用單片機(jī)實(shí)施控制的系統(tǒng)稱為單片機(jī)應(yīng)用系統(tǒng)。 是由硬件系統(tǒng)和軟件系統(tǒng)兩部分組成,二者缺一不可,如圖1-36所示。單片機(jī)應(yīng)用系統(tǒng)接口單電路片+機(jī)及外設(shè)等硬件圖1二36單片機(jī)應(yīng)用系統(tǒng)從而硬件是應(yīng)用系統(tǒng)的基礎(chǔ),軟件則是在硬件的基礎(chǔ)上對(duì)其資源進(jìn)行合理調(diào)配和使用, 完成應(yīng)用系統(tǒng)所要求的任務(wù),軟件是單片機(jī)應(yīng)用系統(tǒng)的靈魂。2單片機(jī)系統(tǒng)的硬件設(shè)計(jì)系統(tǒng)構(gòu)成AT89C51 芯片的介紹AT89C51 是一種

15、帶 4K能CMOS8ATMEL高密度非易失存儲(chǔ)器劉造技術(shù)制造 與丄業(yè)標(biāo)淮旳MCS-51指令集和輸出管腳相兼容。由于將多 功能 8 位 CPUATME的 AT89C51是一種高效微控制器為腹多嵌入式控制系統(tǒng)捉供了一種加性高冃價(jià)廉的方案1主要特性與MCS-51兼容4K字節(jié)可編程閃爍存儲(chǔ)器1000寫/擦循環(huán)10年0Hz-24Hz三級(jí)程序存儲(chǔ)器鎖定128*8位內(nèi)部RAM32可編程I/O線兩個(gè)16位定時(shí)器/計(jì)數(shù)器5個(gè)中斷源可編程串行通道低功耗的閑置和掉電模式片內(nèi)振蕩器和時(shí)鐘電路2管腳說明川圏3.1123斗567g91011121314151617181920*P1.QV代P1.1POOP1.2P0.1P

16、1.3P0 2PL4P03P1.5P0.4P1.6P05PL7P06RSTP0.7PiO(RXD)EAVppP3 l(TXD)ALK7R0GP3.2(INTO)PSENP3.3(INT1)P2.7P34(TQ)P26P25P16(VR)P2.4P3.7(RD)P23XTAL2P2.2XTAL1P2.1GNDP20AT89C5140圖3.1VCC二 GND圖 3.1P0P0 口為一個(gè)8位漏級(jí)開路雙向I/O8TTL門電流。當(dāng)P1 口的管腳第一次寫1P0能夠用于外部程序數(shù)/地址的第八位。在FIASHP0 口作為原侶輸入丨1步FIASH進(jìn)行校驗(yàn)時(shí) PO輸出原侶 此時(shí)P0外部必須被拉高。P1 M P1

17、口是一個(gè)內(nèi)部提供上拉電阻的 8位雙向I/O M P1 口緩沖器能接收輸出4TTL門電流。P1 口管腳寫入1后 被內(nèi)部上拉為訊 川用作箱入P1丨1被外部下拉為低電平時(shí) 將輸出電流 這是由;內(nèi)部匕拉的緣故。在FLAS曲和和膠驗(yàn)時(shí) P1 口作為第八位地址接收。P2 1丨P2 口為一個(gè)內(nèi)部上拉電阻的8位雙向I/OP2 口緩沖器可4個(gè)TTLP2 口被寫“1”時(shí) 其管腳被內(nèi)部1拉電阻P21丨的管腳被外部拉低將輸出電流。這是由于內(nèi)部上拉的緣故。P2 口當(dāng)用于外部程序存儲(chǔ)器或16位地址外 部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí) P2 口輸出地址的高八位。在給出地址“仔刊 它利用內(nèi)部I拉優(yōu)勢(shì)當(dāng)村外部八位也址數(shù)據(jù)存儲(chǔ)器進(jìn)f誠(chéng)寫H

18、寸P2 口輸 出其特殊功能寄存器的內(nèi)容。P2口在FLASHS程和校驗(yàn)時(shí)接收高八位地址信和控制信號(hào)。P3 口 P3 口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向1/0 11町接收卷H4個(gè)TTL門電流。當(dāng)P3口寫入“T后 它忙脫內(nèi)部過為訊電丁匸訓(xùn)作輸 入件為鋪人山卜部卜拉為低電千 P3將訥出世漁ILL于管口管腳備選功能P3.0 RXD串行輸入1丨P3.1 TXDf串行輸出1丨P3.2 /INT0外部屮斷0P3.3 /INT1外部屮斷1亡上拉的緣故。P3口也可作為AT89C51的一些特姝功能廠 如卜表所小P3.4 TO 記時(shí)器0外部輸入P3.5 T1 記時(shí)器1外部輸入P3.6 /WR 外部數(shù)據(jù)存儲(chǔ)器寫選迪P3.

19、7 /RD匚外部數(shù)據(jù)存儲(chǔ)器讀選通P3 口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。RST復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí)要保持RST腳兩個(gè)機(jī)器周期的 咼電平時(shí)間。ALE/PROG 為訪問外部存儲(chǔ)磊時(shí) 地址鎖存允訃的輸岀電平用鎖存 地址的地位字節(jié)。在FLASH編和期聞 此兒如用輸入褊稚脈沖在平時(shí)ALE端以不變的頻率周期輸出Li詠沖信號(hào) 此頻率為振蕩器頻率的1/6。因此它 町用作對(duì)外部輸出的脈沖威用淀時(shí)H的。然而耍注意的是 每當(dāng)用作外部ALE脈沖。如想禁止 ALE的輸出可在SFR8EH地 址上置0吐旳 ALE只有在執(zhí)行MOVX MOV指令是ALE才起作用。另外該引腳被略微拉高。如果微處理器在外部執(zhí)行狀

20、態(tài)ALE禁止 置位無效。/PSEN 外部和存儲(chǔ)器的選迪信4、在由外部觀庁存儲(chǔ)器取指期間 每個(gè)機(jī)器周期兩次/PSEN冇效.但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí) 這胸次冇效的 /PSEN信號(hào)將不出現(xiàn)。/EA/VPP/EA探持低電平時(shí)在此期間外部和產(chǎn)存儲(chǔ)器0000H-FFFFH不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1 H匚/EA將內(nèi)部鎖定為RESETU 1反向振蕩放大器的輸入及內(nèi)部時(shí)鐘丄作電路的輸入。 來口反向振蕩器的輸出G當(dāng)/EA端探持冃電平時(shí)此間內(nèi)部相$存儲(chǔ)器。在FLASHM和期間 此兒腳 也用于施加12V編和蟲渡二VPP ;XTAL1XTAL23振蕩器特性XTAL1和 XTAL2分別為反向放大器的輸入和輸

21、出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器XTAL2此對(duì)外部時(shí)鐘信兮的脈寬無任何麼求但必須保訃脈沖的高低電平要求的 寬度。4芯片擦除整個(gè)PERO陣列和三個(gè)鎖定位的電擦除可通過正確的控制信號(hào)組合4保持ALE 管腳處于低電平10ms 來完成。在芯片擦操作屮 代碼陣列仝袖寫“1”冃在任何非空存儲(chǔ)字節(jié)被車復(fù)編和以前該操作必須被執(zhí)仏 此外AT89C51設(shè)冇穩(wěn)態(tài)邏輯 對(duì)以在低劍零頻率的條件卜甫態(tài)邏輯 支持胸種軟炸町選的CPU亭止工作。但RAM 和屮斷系統(tǒng)仍在丄作。在掉電模式卜探存raM勺內(nèi)容井冃凍結(jié)振蕩器 禁 止所用其他芒片功能吃劍卜一個(gè)硬件復(fù)位為止。|2.2

22、顯示部分LED顯示器基本介紹Led顯示屏(LED pa nel ),是一種通過控制半導(dǎo)體發(fā)光二極管的顯示方式,用來顯 示文字、圖形、圖像、動(dòng)畫、行情、視頻、錄像信號(hào)等各種信息的顯示屏幕。LED顯示器分類 按字高分:筆畫顯示器字高最小有1mm (單片集成式多位數(shù)碼管字高一般在23mm )。其他類型筆畫顯示器最高可達(dá)12.7mm (0.5英寸)甚至達(dá)數(shù)百 mm。按顏色分有紅、橙、黃、綠等數(shù)種。(3 )按結(jié)構(gòu)分,有反射罩式、單條七段式及單片集成式。(4)從各發(fā)光段電極連接方式分有共陽(yáng)極和共陰極兩種。LED顯示器工作原理多個(gè)發(fā)光二極管封裝在一起的七段數(shù)碼顯示器按其連接形式可分為共陽(yáng)顯示器和共陰顯示器。

23、圖7-1所示為共陽(yáng)和共陰的七段顯示器,在顯示器中除了顯示數(shù)字必須的七段筆畫外,還提供了小數(shù)點(diǎn)。共陽(yáng)顯示器的陽(yáng)極連接在一起,此時(shí)對(duì)陽(yáng)極提供一正電壓,通過限流電阻控制其陰極為高電平或是低電平來決定其暗或是亮。共陰顯示器的陰極連在一起,此時(shí)可將陰極接地,通過限流電阻控制其陽(yáng)極為高電平或是低電平來決定其亮或是暗。e dCOMc dpC0MiM3i圖7-1七段數(shù)碼顯示器采用七段數(shù)碼顯示器顯示的字型受到顯示器本身結(jié)構(gòu)的限制。因此,在顯示比較復(fù)雜的字符、漢字或圖形時(shí),可采用點(diǎn)陳顯示的辦法。用單片機(jī)驅(qū)動(dòng)LED數(shù)碼管有很多方法按顯示方式分 有靜態(tài)顯示和動(dòng)態(tài)顯示按譯碼方式可分為硬件譯碼和軟件譯碼。靜態(tài)顯示是顯示驅(qū)

24、動(dòng)電路具有輸出鎖存功能單片機(jī)將要顯示的數(shù)據(jù)送出后不再控制LED 直到下次顯示時(shí)再傳送一次新的顯示數(shù)據(jù)。靜態(tài)顯示的數(shù)據(jù)穩(wěn)定占用CPU時(shí)間少。動(dòng)態(tài)顯示要CPU時(shí)刻對(duì)顯示器件進(jìn)行刷新顯示數(shù)據(jù)有閃爍感占用CPU時(shí)間多。這兩種顯示方式各有利弊靜態(tài)顯示雖然數(shù)據(jù)顯示穩(wěn)定占用很少的CPU時(shí)間但每個(gè)顯示單元都需要單獨(dú)的顯示驅(qū)動(dòng)電路使用的電路硬件較多動(dòng)態(tài)顯示雖然有閃爍感 占用的CPU時(shí)間多 但使用的硬件少能節(jié)省線路板空間。動(dòng)態(tài)掃描顯示接口是單片機(jī)中應(yīng)用最廣泛的一種顯示方式。其接口電路是把所有LED顯示器的8個(gè)筆劃段 A D、DP的同名端連在一起而每一個(gè)數(shù)碼管的公共端COM是各自獨(dú)立地受I/O線控制。CPU向字段輸

25、出口送出字形碼時(shí)所有顯示器接受到相同的字形碼 但究竟是哪個(gè)顯示器亮則取決于COM端 而這一端是由I/O控制的可以自行決定何時(shí)顯示哪一位了。而所謂動(dòng)態(tài)掃描就是指我們采用分時(shí)的方法輪流控制各個(gè)顯示器的 COM端廠是各個(gè)顯示器輪流點(diǎn)亮。在輪流點(diǎn)亮掃描過程中每位顯示器的點(diǎn)亮?xí)r間是極為短暫的約1ms左右 但由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng)盡管實(shí)際上各位顯示器并非同時(shí)點(diǎn)亮但只要掃描的速度足夠快給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù)不會(huì)有閃爍感。從上述的論述中可以看出動(dòng)態(tài)顯示方案具備一定的實(shí)用性也是目前單片機(jī)數(shù)碼管顯示中較為常用的一種顯示方法。所以本設(shè)計(jì)也采用動(dòng)態(tài)顯示方案。223數(shù)碼管顯示模塊分析,用動(dòng)

26、態(tài)掃描,以減少硬件電路??紤]到一次掃描12位數(shù)碼管顯示時(shí)會(huì)出現(xiàn)閃爍悄況設(shè)計(jì)甘分兩排顯小一排顯小時(shí)間和年月口 一排顯小呈期和濕度共陽(yáng)極數(shù)碼管中8個(gè)發(fā)光二極管的陽(yáng)極 二極管1卜端 連在一起。逋常 公共陽(yáng)極接高電平一般接 電源腳接段驅(qū)動(dòng)電路輸出端。當(dāng)某段做動(dòng)電路的輸入端為低電平時(shí) 該端I 所連接的字段導(dǎo)通并點(diǎn)亮。根據(jù)發(fā)光字段的不同組合可顯示出各種數(shù)字或字符。此時(shí)要求段驅(qū)動(dòng)電路能吸收額定的段導(dǎo)逋電流ii?希根據(jù)外接電源及額定段導(dǎo)通電流 來確定相應(yīng)I/O I I硬件已略也狡倉(cāng)態(tài)顯小 簡(jiǎn)單但二充度不如靜態(tài)顯小方弍血冃在顯小數(shù)較多時(shí)CPU要依軟掃拙占用CPU較多時(shí)間。為了提供共陽(yáng)LED數(shù)侶管的崩動(dòng)電壓用二極

27、管9012作電源驅(qū)動(dòng)輸出。采用 12MHz品振 冇J-提高秒計(jì)時(shí)的和確性C數(shù)碼管字形段碼共陰型和共陽(yáng)型的 LED數(shù)碼管各筆劃段名和安排位置是相同的,分別用a、b、c、d、e、f、g和dp表示,如圖4-15(a)所示。將單片機(jī)的一個(gè) 8位并行I/O接口與七段LED數(shù) 碼管的管腳ag端及dp端對(duì)應(yīng)相連,并輸出不同的8位二進(jìn)制數(shù),即可顯示不同的數(shù)字或 字符。控制8個(gè)發(fā)光二極管的8位二進(jìn)制數(shù)稱為段碼。例如,對(duì)于共陽(yáng)極型LED數(shù)碼管,當(dāng)公共陽(yáng)極接高電平,單片機(jī)并行口輸出二進(jìn)制數(shù)11000000 (對(duì)應(yīng)十六進(jìn)制數(shù) C0)時(shí),顯示數(shù)字“ 0,則數(shù)字“0的段碼是0 xC0。依此類推可求得數(shù)碼管段碼表如表4-2

28、所示。表4-2 七段LED數(shù)碼管段碼表顯示 字符字形共陽(yáng)極共陰極dpgfedcba段碼dpgfedcba段碼0Q110000000 xC0001111110 x3F11111110010 xF9000001100 x062?101001000 xA4010110110 x5B33101100000 xB0010011110 x4F4100110010 x99011001100 x665S100100100 x92011011010 x6D66100000100 x82011111010 x7D7111110000 xF8000001110 x0788100000000 x80011111110

29、 x7F99100100000 x90011011110 x6F熄滅111111110 xFF000000000 x00小帖士:在單片機(jī)系統(tǒng)開發(fā)時(shí),有時(shí)為了接線方便,有時(shí)不按I/O 口的高低位與數(shù)碼管各段的順序接線,這時(shí)的段碼就需要根據(jù)接線進(jìn)行調(diào)整。數(shù)碼管的靜態(tài)顯示方式數(shù)碼管的靜態(tài)顯示是指數(shù)碼管顯示某一數(shù)字或字符時(shí),相應(yīng)的發(fā)光二極管恒定導(dǎo)通或恒定截止。這種顯示方式的各位數(shù)碼管相互獨(dú)立,公共端恒定接地(共陰極)或接正電源(共 陽(yáng)極)。每個(gè)數(shù)碼管的8個(gè)筆段分別與一個(gè) 8位I/O 口相連,I/O 口只要有段碼輸出, 相應(yīng)字 符即顯示出來,并保持不變,直到I/O 口輸出新的段碼,其示意圖如圖 4-17

30、所示。采用靜態(tài)顯示方式占用 CPU時(shí)間少、編程簡(jiǎn)單、便于控制,但是每1個(gè)數(shù)碼管要占用一個(gè)并行 I/O 口,所以只適合于顯示位數(shù)較少的場(chǎng)合。(a)顯示數(shù)字“0”(b)顯示數(shù)字“5”圖4-17數(shù)碼管靜態(tài)顯示方式示意圖數(shù)碼管的動(dòng)態(tài)掃描顯示方式當(dāng)單片機(jī)系統(tǒng)中需要多個(gè)數(shù)碼管顯示時(shí),如果采用靜態(tài)顯示方式,并行I/O接口的引腳數(shù)將不能滿足需要,這時(shí)可采用動(dòng)態(tài)掃描顯示方式。動(dòng)態(tài)掃描顯示是一位接一位的輪流點(diǎn)亮各位數(shù)碼管。動(dòng)態(tài)掃描顯示方式在接線上不同于靜態(tài)顯示方式,它是將所有七段LED數(shù)碼管的8個(gè)顯示筆段a、b、c、d、e、f、g、dp中相同的筆段連接在一起,稱為段控端,每個(gè)數(shù)碼管的 公共端COM不再接固定高電平

31、或低電平,而是由獨(dú)立的I/O 口線控制,稱為位控端,2位數(shù)碼管動(dòng)態(tài)掃描顯示方式接線示意圖如圖4-18所示。AT89S51圖4-18兩位數(shù)碼管動(dòng)態(tài)掃描顯示方式接線示意圖動(dòng)態(tài)掃描顯示方式的顯示過程:當(dāng)CPU送出某個(gè)數(shù)字的段碼時(shí),所有的數(shù)碼管都會(huì)接收到,但只有需要顯示的數(shù)碼管的位控端COM被選通時(shí),接收到有效電平才被點(diǎn)亮,而沒有被選通的數(shù)碼管不會(huì)亮。這種通過分時(shí)輪流控制各個(gè)數(shù)碼管的COM端送出相應(yīng)段碼,使各個(gè)數(shù)碼管輪流受控、依次顯示且循環(huán)往復(fù)的方式稱為動(dòng)態(tài)掃描顯示。動(dòng)態(tài)掃描顯示意圖如HM M圖4-19所示。ArESSBlAT89S51圖4-19動(dòng)態(tài)掃描顯示示意圖在數(shù)碼管輪流顯示的過程中,每個(gè)數(shù)碼管被

32、點(diǎn)亮的時(shí)間為1ms左右,雖然各位數(shù)碼管并非同時(shí)點(diǎn)亮,但由于人眼的視覺暫留效應(yīng),主觀感覺各位數(shù)碼管同時(shí)在顯示。為了使用方便,有專門生產(chǎn)的供動(dòng)態(tài)掃描顯示的多位數(shù)碼管,這些數(shù)碼管內(nèi)部已經(jīng)將相應(yīng)的筆段連接在一起,引出一組段控腳,每一位數(shù)碼管引出一個(gè)公共端。鍵盤方案一I/O 口占用較多。方案二 采用陣列式按鍵.陣列式按鍵編程困難 按鍵過多 減少了 I/O 口的使用。經(jīng)過兩種方案比較選擇方案二。采用4*3的鍵盤。例 1.行列鍵盤的接口電路行列鍵盤又叫做矩陣鍵盤。行列鍵盤的接口電路如圖4-23所示,用一些I/O 口線組成行結(jié)構(gòu),用另一些I/O 口線組成列結(jié)構(gòu),其交叉點(diǎn)處不接通,設(shè)置為按鍵,這種接法稱為行 列

33、式鍵盤。利用這種行列結(jié)構(gòu)只需M條行線和N條列線,就可組成具有M N的鍵盤,因此減少了鍵盤與單片機(jī)接口時(shí)所占用I/O接口的數(shù)目。同樣,如果是接于 P0 口,必須要有上拉電阻,如果接于P1、P2或P3 口,上拉電阻可以省略。VCCP1.1P1.2P1.3P1.7rr第0行rrAr/rrr砌亍rrr第審和列第3列4- LOKHP1 4P1 5PI 6圖4-23行列式鍵盤接口電路2.閉合鍵的識(shí)別為了提高CPU的效率,對(duì)閉合鍵的識(shí)別一般分為兩步:第一步是快速檢查整個(gè)鍵盤中 是否有鍵按下,如果沒有鍵按下,則直接轉(zhuǎn)到其它程序,如果有鍵按下,再進(jìn)行下一步;第 二步是確定按下的是哪一個(gè)鍵。第一步:快速檢查整個(gè)鍵

34、盤中是否有鍵按下。其方法是先通過輸出端口在所有的行線上發(fā)出全“0信號(hào),然后檢查輸入端口的列線信號(hào)是否為全“ 1。若為全“1;表示無鍵按下,如圖4-24 (a)所示;若不是全 “ 1;則表示有鍵按下,如圖 4-24 (b)所示。這時(shí)還不能確 定按下的鍵處于哪一行上?;趩纹瑱C(jī)的音樂數(shù)字鐘的設(shè)計(jì)與仿真 基于單片機(jī)的音樂數(shù)字鐘的設(shè)計(jì)與仿真P1=0 xf0; 1 L012300 0 0 0120 1I L1L11 !1 J212F-h31ill6a)0(b)有鍵按下7(a)無鍵按下圖4-24檢查是否有鍵按下示意圖第二步:確定按下的是哪一個(gè)鍵。識(shí)別閉合鍵有兩種方法:一種稱為逐行掃描法,另一一種稱為線反轉(zhuǎn)

35、法。(1)逐行掃描法逐行掃描法是識(shí)別閉合鍵的常用方法,在硬件電路上要求行線作輸出、列線作輸入,列線上要有上拉電阻。4用鍵盤逐行掃描法的工作原理是:先掃描第0行,即輸出1110 (第 0行為“ 0,”其余3行為“1)”,然后讀入列信號(hào),判斷是否為全“1。”若為全“1,”表示第0行無鍵按下;若不為全“1”則表示第0行有鍵按下,閉合鍵的位置處于第0行和不為“ 1的列線相交之處。如果第0行無鍵按下,就掃描第1行,用同樣的方法判斷第 1行有沒有鍵按下,直到找到閉合 鍵為止,如圖4-25(a)(d)所示。J0 1 *1 i1 10J230-1 ()000(a)行線輸出全“0得列值1101(b )列輸出全“

36、0得行值1011if (P1!=0 xf0)delay();if (P1!=0 xf0)P仁 0 xf0; temp=P1;P仁0 x0f; temp=temp|P1; switch (temp)圖4-26線反轉(zhuǎn)法示意圖在圖4-23所示的行列鍵盤電路中,采用線反轉(zhuǎn)法識(shí)別閉合鍵的程序如下:un sig ned char temp; temp=0 xff;P1=0 xf0;判斷是否有按鍵按下/延時(shí)去抖/再次判斷是否有按鍵按下/行作輸出,列作輸入/讀取列值列作輸出,行作輸入/讀取行值并和列值合并case 0 xee第0行第0個(gè)按鍵的功能代碼;break;case 0 xde第0行第1個(gè)按鍵的功能代碼

37、;break;case 0 xbe第0行第2個(gè)按鍵的功能代碼;break;case 0 x7e第0行第3個(gè)按鍵的功能代碼;break;case 0 xed第1行第0個(gè)按鍵的功能代碼;break;case 0 xdd第1行第1個(gè)按鍵的功能代碼;break;case 0 xbd第1行第2個(gè)按鍵的功能代碼;break;case 0 x7d第1行第3個(gè)按鍵的功能代碼;break;case 0 xeb第2行第0個(gè)按鍵的功能代碼;break;case 0 xdb第2行第1個(gè)按鍵的功能代碼;break;case Oxbb第2行第2個(gè)按鍵的功能代碼;break;case 0 x7b第2行第3個(gè)按鍵的功能代碼;

38、break;case 0 xe7第3行第0個(gè)按鍵的功能代碼;break;case 0 xd7第3行第1個(gè)按鍵的功能代碼;break;case 0 xb7第3行第2個(gè)按鍵的功能代碼;break;case 0 x77第3行第3個(gè)按鍵的功能代碼;break;P仁 0 xf0;while (P1!=0 xf0);需要說明的是,若用線反轉(zhuǎn)法來確定閉合鍵時(shí),如果遇到多個(gè)鍵閉合的情況,則得到的行值和列值中一定有1個(gè)以上的“0。由于按鍵處理程序中沒有這樣的值,因而可以判斷為重鍵 而丟棄,由此可見,用這種方法可以很方便地解決重鍵問題。74LS245 簡(jiǎn)介0 i1- 1 p -F_L 1 1 * - J D 0

39、B B B B B B B B M va AOA1A2陽(yáng)卻摳腫毎血20TFU-rN =;三三UT1?112U110T74IS245引腳圖與用法74LS245引腳圖74LS245是我們常用的芯片,用來驅(qū)動(dòng)led 或者其他的設(shè) 備,用法很簡(jiǎn)單如上圖,這里簡(jiǎn)單的給出一些資料,他是8路同相三 態(tài)雙向總線收發(fā)器,可雙向傳輸數(shù)據(jù)。74LS245還具有雙向三態(tài)功能,既可以輸出,也可以輸入數(shù)據(jù)。當(dāng)8051單片機(jī)的P0 口總線負(fù)載達(dá)到或超過P0最大負(fù)載能 力時(shí),必須接入74LS245等總線驅(qū)動(dòng)器。當(dāng)片選端/CE 低電平有效時(shí),DIR= “ 0” ,信號(hào) 由 B 向 A傳輸;(接收)*DIR= “ 1”,信號(hào)由

40、A向 B傳輸;(發(fā)送)當(dāng)/CE為高電平時(shí),A、B均為高阻態(tài)。蜂鳴器蜂鳴器一)蜂鳴器的介紹蜂鳴器的作用 蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器,采用直流電壓供電,廣泛應(yīng)用 于計(jì)算機(jī)、打印機(jī)、復(fù)印機(jī)、報(bào)警器、電子玩具、汽車電子設(shè)備、電話機(jī)、定時(shí)器等電子產(chǎn) 品中作發(fā)聲器件。.蜂鳴器的分類 蜂鳴器主要分為壓電式蜂鳴器和電磁式蜂鳴器兩種類型。3.蜂鳴器的電路圖形符號(hào)蜂鳴器在電路中用字母H”或HA”(舊標(biāo)準(zhǔn)用FM ”、LB”、JD表示。(二)蜂鳴器的結(jié)構(gòu)原理外殼等組成。有的壓電式蜂鳴器外殼上還裝有發(fā)光二極管。阻抗匹配器及共鳴箱、多諧振蕩器由晶體管或集成電路構(gòu)成。當(dāng)接通電源后(1.515V直流工作電壓),多諧振

41、蕩器起振,輸出1.52.5kHZ的音頻信號(hào),阻抗匹配器推動(dòng)壓電蜂鳴片發(fā)聲。壓電蜂鳴片由鋯鈦酸鉛或鈮鎂酸鉛壓電陶瓷材料制成。在陶瓷片的兩面鍍上銀電極,經(jīng)極化和老化處理后,再與黃銅片或不銹鋼片粘在一起。2 電磁式蜂鳴器電磁式蜂鳴器由振蕩器、電磁線圈、磁鐵、振動(dòng)膜片及外殼等組成。接通電源后,振蕩器產(chǎn)生的音頻信號(hào)電流通過電磁線圈,使電磁線圈產(chǎn)生磁場(chǎng)。 振動(dòng)膜片在電磁線圈和磁鐵的相互作用下,周期性地振動(dòng)發(fā)聲。蜂鳴器的制作(1)制備電磁鐵 M:在長(zhǎng)約6厘米的鐵螺栓上繞100圈導(dǎo)線,線端留下5厘米作引線,用透明膠 布把線圈粘好,以免線圈松開,再用膠布把它粘在一個(gè)盒子上 ,電磁鐵就做好了 (2 )制備彈片P

42、:從鐵罐頭盒上剪下一條寬約 2厘米的長(zhǎng)鐵片,彎成直角,把電磁鐵的一條 引線接在彈片上,再用膠布把彈片緊貼在木板上.(3 )用曲別針做觸頭 Q,用書把曲別針墊高,用膠布粘牢,弓I出一條導(dǎo)線,如圖連接好電 路.(4)調(diào)節(jié)M與P之間的距離(通過移動(dòng)盒子),使電磁鐵能吸引彈片,調(diào)節(jié)觸點(diǎn)與彈片之 間的距離,使它們能恰好接觸,通電后就可以聽到蜂鳴聲。3控制部分電路的設(shè)計(jì)系統(tǒng)復(fù)位設(shè)置單片機(jī)復(fù)位電路是使CPU和系統(tǒng)中的其他功能部件都處在一個(gè)確定的初始狀態(tài),PC=OOOOH論是在單片單片機(jī)各種復(fù)位電路原理復(fù)位電路的作用在上電或復(fù)位過程中,控制 CPU的復(fù)位狀態(tài):這段時(shí)間內(nèi)讓 CPU保持復(fù)位狀態(tài),而不 是一上電或

43、剛復(fù)位完畢就工作,防止CPU發(fā)出錯(cuò)誤的指令、執(zhí)行錯(cuò)誤操作,也可以提高電磁兼容性能。無論用戶使用哪種類型的單片機(jī),總要涉及到單片機(jī)復(fù)位電路的設(shè)計(jì)。而單片機(jī)復(fù)位電 路設(shè)計(jì)的好壞,直接影響到整個(gè)系統(tǒng)工作的可靠性。許多用戶在設(shè)計(jì)完單片機(jī)系統(tǒng),并在實(shí)驗(yàn)室調(diào)試成功后,在現(xiàn)場(chǎng)卻出現(xiàn)了“死機(jī)”、“程序走飛”等現(xiàn)象,這主要是單片機(jī)的復(fù)位電路設(shè) 計(jì)不可靠引起的?;镜膹?fù)位方式單片機(jī)在啟動(dòng)時(shí)都需要復(fù)位,以使CPU及系統(tǒng)各部件處于確定的初始狀態(tài),并從初態(tài)開始工作。89系列單片機(jī)的復(fù)位信號(hào)是從RST引腳輸入到芯片內(nèi)的施密特觸發(fā)器中的。當(dāng)系統(tǒng)處于正常工作狀態(tài)時(shí),且振蕩器穩(wěn)定后,如果RST引腳上有一個(gè)高電平并維持2個(gè)機(jī)器周

44、期(24個(gè)振蕩周期)以上,則CPU就可以響應(yīng)并將系統(tǒng)復(fù)位。單片機(jī)系統(tǒng)的復(fù)位方式有:手動(dòng)按鈕復(fù)位和上電復(fù)位1、手動(dòng)按鈕復(fù)位手動(dòng)按鈕復(fù)位需要人為在復(fù)位輸入端 RST上加入高電平(圖1)。一般采用的辦法是在 RST端和正電源 Vcc之間接一個(gè)按鈕。當(dāng)人為按下按鈕時(shí),則 Vcc的+5V電平就會(huì)直接加 到RST端。手動(dòng)按鈕復(fù)位的電路如所示。由于人的動(dòng)作再快也會(huì)使按鈕保持接通達(dá)數(shù)十毫秒,所以,完全能夠滿足復(fù)位的時(shí)間要求。數(shù)字時(shí)鐘的設(shè)計(jì)數(shù)字時(shí)鐘具有走時(shí)準(zhǔn)確 一鐘多用等特點(diǎn) 在生活中已經(jīng)得到廣泛的應(yīng)用。 雖然現(xiàn)在市場(chǎng)上已有現(xiàn)成的電子鐘集成電路芯片出售價(jià)格便宜,使用也方便 但是人們對(duì)電子產(chǎn)品的應(yīng)用要求越來越高

45、數(shù)字鐘不但可以顯示當(dāng)前的時(shí)間 而且可以顯示日期、農(nóng)歷 、鐘還具備秒表的色彩。時(shí)間對(duì)人們來說總是那么寶貴 工作的忙碌性和繁雜性容易使人忘記當(dāng)前的時(shí)間。忘記了要做的事情 當(dāng)事情不是很重要的時(shí)候 這種遺忘無傷大雅 但是一旦重要事情一時(shí)的耽誤可能釀成大禍數(shù)字時(shí)鐘已成為人們?nèi)粘I?活中必不可少的必需品廣泛用于個(gè)人家庭以及車站、碼頭、劇院、辦公室等 公共場(chǎng)所給人們的生活、學(xué)習(xí)、工作 娛樂帶來極大的方便由于數(shù)字集成 電路技術(shù)的發(fā)展和采用了先進(jìn)的石英技術(shù) 使電子時(shí)鐘具有走時(shí)準(zhǔn)確性能穩(wěn) 定*攜帶方便等優(yōu)點(diǎn) 它還用于計(jì)時(shí)、自動(dòng)報(bào)時(shí)及自動(dòng)控制等各個(gè)領(lǐng)域。數(shù)字時(shí) 鐘是采用單片機(jī)原理實(shí)現(xiàn)對(duì)年、月、日、周,時(shí)、分、秒 數(shù)

46、字顯示及到時(shí)提醒 的計(jì)時(shí)裝置,廣泛用于個(gè)人家庭,車站,碼頭辦公室等公共場(chǎng)所,成為人們?nèi)粘I?活中不可少的必需品,由于數(shù)字集成電路的發(fā)展和石英晶體振。1.技能要求數(shù)字時(shí)鐘需要顯示時(shí)、 分、秒三個(gè)計(jì)時(shí)單位,每個(gè)計(jì)時(shí)單位有2位數(shù)字共需6個(gè)數(shù)碼管, 為顯示美觀和讀取時(shí)間方便,在時(shí)、分、秒之間顯示分隔符“-”共用8個(gè)數(shù)碼管,顯示格式如圖6-6所示。另外,數(shù)字時(shí)鐘還必須可以通過按鍵調(diào)整時(shí)間,為了調(diào)整的方便,本任務(wù) 使用行列鍵盤,各按鍵定義如圖 6-7所示。00-001 2 I 34 5 I 77_ 8_1 9圖6-6數(shù)字時(shí)鐘數(shù)碼管顯示格式圖6-7鍵盤按鍵定義示意圖0設(shè)置2.仿真電路圖數(shù)字時(shí)鐘電路如圖 6-

47、8所示。顯示電路采用8位數(shù)碼管動(dòng)態(tài)掃描顯示, 最高2位顯示時(shí), 中間2位顯示分,最低2位顯示秒,時(shí)、分、秒之間用-”隔開。調(diào)整時(shí)間時(shí),按下 設(shè)置”鍵,小時(shí)數(shù)開始閃爍,表示設(shè)置小時(shí)數(shù),第一次輸入數(shù)字鍵調(diào)整十位,第二次輸入數(shù)字鍵調(diào)整個(gè)位,再次按下 設(shè)置”鍵,分鐘數(shù)開始閃爍,第一次輸入數(shù)字鍵調(diào)整十位,第二次輸入數(shù) 字鍵調(diào)整個(gè)位,再次按下 設(shè)置”鍵,退出調(diào)整,數(shù)碼管不再閃爍。11-EMRXF4L2Kl LMi E-l 財(cái)站mE Mp3竺AtalM Kvuras. nr.曲iw比 E 1*11rzH-fJMPTF-J-VTiF5.4J iS? 囂品靈!Mvlin音樂模塊單片機(jī)產(chǎn)生音調(diào)的基本原理時(shí)播放器是

48、利用單片機(jī)產(chǎn)牛樂曲音符 再把樂曲音符翻譯成訐算機(jī)音樂 語(yǔ)言 用單片機(jī)進(jìn)行信息處坯 再迪過舞鳴器哎喇叭放出舀樂。音樂的產(chǎn)生主要是通過單片機(jī)的I/O 口輸出高低不同的脈沖信號(hào)來控制蜂鳴 器發(fā)舀。亞想產(chǎn)牛普頻脈沖信號(hào) 需耍算岀杲一音頻的周期(1/頻率)然后將此 周期除以2當(dāng)計(jì)時(shí)到后就將輸出脈沖的I/OI/O 口I/O 口上得到此頻率的脈沖。通常利用單片機(jī)的內(nèi)部定時(shí)器0丄作在方式1下改變計(jì)數(shù)初值THO和 TLO來產(chǎn)生不同頻率。1個(gè)寧節(jié) 寧節(jié)的嵩4位代表普後的訛低4位代表音符的節(jié)拍。如果1拍為0.4S1/4拍為0.1S 只孌伐定延世討間就i j求得節(jié)拍的時(shí)間。假設(shè)1/4拍為1DELAY1拍應(yīng)為4DELA

49、Y以只要求得1/4拍的DELAYJ音階和節(jié)拍兩大要素構(gòu)成。一首樂曲演奏的原理是不同音階分別對(duì)應(yīng)不同的頻率發(fā)出不同的普調(diào)血節(jié)捫則控制發(fā)出音調(diào)時(shí)間的長(zhǎng)短若將樂曲的晉調(diào)連續(xù) 狡出 井使其按和應(yīng)的節(jié)擴(kuò)變化 即呵漁奏一M樂曲。根據(jù)這一時(shí)點(diǎn) 我們采用 單片機(jī)輔以相應(yīng)的接口來設(shè)計(jì)音樂播放器。音樂播放器的組成根據(jù)系統(tǒng)普樂播放器的功能耍求 一個(gè)完整的音樂播放器電路相當(dāng)于一個(gè) 簡(jiǎn)單的單片囲L系統(tǒng)該系統(tǒng)山按鍵開關(guān)、單片機(jī)、LED顯示電路、揚(yáng)聲器控制電路4個(gè) 方面構(gòu)成。51單片機(jī)。51草山機(jī)為整個(gè)糸統(tǒng)的核心部分 是竊;浮個(gè)系統(tǒng)丄作的成史 部件。鎧盤輸入C鋰盤輸人用來控制輸入指令 發(fā)岀指令卒單片機(jī) 使單片機(jī)按 照指令工

50、作。揚(yáng)聲器。揚(yáng)聲器作為輸出部分按照鍵盤給單片機(jī)的指令發(fā)出樂曲。 LED顯示電路。LED顯小上在演奏的樂曲c|定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)及工作原理MCS-51單片機(jī)內(nèi)部集成了兩個(gè) 16位的定時(shí)/計(jì)數(shù)器,即T0和T1。從名稱上就可以看 出來,它們既具有計(jì)數(shù)功能又具有定時(shí)功能,通過設(shè)置與它們相關(guān)的特殊功能寄存器可以選擇工作在定時(shí)功能或計(jì)數(shù)功能。定時(shí)/計(jì)數(shù)器的實(shí)質(zhì)是計(jì)數(shù)器,它的功能是能對(duì)輸入脈沖按照一定規(guī)律進(jìn)行計(jì)數(shù)。如果輸入脈沖的周期是固定的,即計(jì)數(shù)脈沖的時(shí)間間隔相等,那么計(jì)數(shù)值就代表了時(shí)間,從而可以實(shí)現(xiàn)定時(shí)。如同往一個(gè)水瓶里滴水一樣,水瓶的容量是有限的,不能無限制地往水瓶里滴水,水瓶 滿了以后,再往水瓶里滴

51、水就會(huì)溢出,單片機(jī)中的計(jì)數(shù)器也是如此,T0和T1都是16位的計(jì)數(shù)器,它的容量也是有限的,其計(jì)數(shù)的最大值為65535 (即二進(jìn)制數(shù)1111 1111 11111,這個(gè)標(biāo)志位1111B),此時(shí),再輸入一個(gè)計(jì)數(shù)脈沖則計(jì)滿溢出,將對(duì)應(yīng)的溢出標(biāo)志位置 就是定時(shí)器中斷標(biāo)志位,就會(huì)向CPU發(fā)出中斷申請(qǐng)。6-13所示。C/? 1用制佔(zhàn)號(hào)MCS-51單片機(jī)的定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)如圖圖6-13 定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)框圖(x=0或x=1)由圖6-13可知,定時(shí)/計(jì)數(shù)器的核心是1個(gè)加1計(jì)數(shù)器,它的輸入脈沖有兩個(gè)來源:一 個(gè)是外部脈沖信號(hào),通過 TO( P3.4)腳或T1( P3.5)輸入;另一個(gè)是系統(tǒng)時(shí)鐘脈沖(時(shí)鐘 振蕩

52、器經(jīng)12分頻以后的脈沖信號(hào))。計(jì)數(shù)器對(duì)兩個(gè)脈沖源之一進(jìn)行計(jì)數(shù),每輸入1個(gè)脈沖,計(jì)數(shù)值加1,TH0 (或TH1 )和TLO (或TL1 )是用來存放所計(jì)脈沖個(gè)數(shù)的寄存器。當(dāng)計(jì)數(shù) 器計(jì)滿回0后,就從最高位溢出1個(gè)脈沖,使特殊功能寄存器 TCON中的TFO或TF1置1, 作為定時(shí)/計(jì)數(shù)器的溢出中斷標(biāo)志。如果定時(shí)/計(jì)數(shù)器工作在定時(shí)功能,則表示定時(shí)的時(shí)間到;若工作在計(jì)數(shù)功能,則表示計(jì)數(shù)器計(jì)滿回零。當(dāng)定時(shí)/計(jì)數(shù)器處于定時(shí)功能,加1計(jì)數(shù)器在每個(gè)機(jī)器周期加1,因此,也可以把它看作在累計(jì)機(jī)器周期。由于每個(gè)機(jī)器周期時(shí)間恒定不變,計(jì)數(shù)值也就代表了時(shí)間,這樣就把定時(shí)問題轉(zhuǎn)化成了計(jì)數(shù)問題。比如12MHz晶振機(jī)器周期是1

53、卩計(jì)5000個(gè)脈沖就是5000 s 16位定時(shí)/計(jì)數(shù)器的最大定時(shí)時(shí)間就是65536 &如果定時(shí)少于65536怎么為呢?這就好比一個(gè)空的水瓶,要滴1萬滴水才會(huì)滴滿溢出,我們?cè)陂_始滴水之前先放入一些水,就不需要1萬滴了。比如先放入 2000滴,再滴8000滴就可以把瓶子滴滿。在單片機(jī)中,也采用類似 的方法,稱為預(yù)置計(jì)數(shù)初值法。如果要定時(shí)5000卩$可以讓計(jì)數(shù)器從 65536-5000=60536開始計(jì)數(shù),當(dāng)定時(shí)/計(jì)數(shù)器溢出時(shí)正好就是 5000所以計(jì)數(shù)初值就是 60536。當(dāng)定時(shí)/計(jì)數(shù)器處于計(jì)數(shù)功能時(shí),外部脈沖信號(hào)加在T0 ( P3.4)腳或T1 ( P3.5)腳。外部信號(hào)的下降沿將觸發(fā)計(jì)數(shù),若一個(gè)

54、周期的采樣值為1,下1個(gè)周期的采樣值為0,則計(jì)數(shù)器加1,故識(shí)別一個(gè)脈沖需要 2個(gè)機(jī)器周期,所以對(duì)外部輸入信號(hào)的最高計(jì)數(shù)速率是機(jī)器周 期所對(duì)應(yīng)頻率的1/2 (晶振頻率的1/24)。圖6-13中有2個(gè)模擬的位開關(guān),前者決定了定時(shí)/計(jì)數(shù)器的功能:當(dāng)開關(guān)處于上方時(shí)為定時(shí)功能,處于下方時(shí)為計(jì)數(shù)功能。工作狀態(tài)的選擇由特殊功能寄存器TMOD的C/T位來決定。后1個(gè)模擬開關(guān)受控制信號(hào)的控制,它決定了脈沖是否加到計(jì)數(shù)器輸入端,即決定了加1計(jì)數(shù)器的運(yùn)行與關(guān)閉。6-14所示。即對(duì)內(nèi)部時(shí)鐘脈沖計(jì)數(shù)就對(duì)于定時(shí)/計(jì)數(shù)器的功能,可以形象的表示為如圖 是定時(shí)功能,對(duì)外部輸入脈沖計(jì)數(shù)就是計(jì)數(shù)功能。定時(shí)計(jì)數(shù)器4 硬件電路端口分配

55、I/O 端口是單片機(jī)對(duì)外部電路實(shí)現(xiàn)控制和進(jìn)行信息交換的通路,AT89C51片內(nèi)有4組8位并行I/O端口 P0、P1、P2和 P3。每組I/O端口均為8位,每位由鎖存器、輸出驅(qū)動(dòng)器和輸入 緩沖器等電路組成。每組 I/O端口與特殊功能寄存器中的P0、P1、P2和 P3對(duì)應(yīng),片內(nèi)RAM地址為80H 90H A0H和 B0Ho同時(shí),還可對(duì)每組I/O端口進(jìn)行按位尋址。當(dāng)用作數(shù)據(jù)輸出 時(shí),鎖存器對(duì)端口引腳上的數(shù)據(jù)進(jìn)行鎖存;當(dāng)用作輸入時(shí),緩沖器對(duì)端口引腳上的數(shù)據(jù)進(jìn)行緩沖。1) P0口 :對(duì)應(yīng) P0.0P0.7。P0口為8位三態(tài)I/O 端口,作為通用 I/O 端口使用,需要 加上拉電阻,作為輸入時(shí)應(yīng)先把端口的

56、輸出鎖存器置 1。當(dāng)訪問外部擴(kuò)展存儲(chǔ)器時(shí),可作為 地址總線低8位與數(shù)據(jù)總線的分時(shí)復(fù)用口。P0口可驅(qū)動(dòng)8個(gè)TTL負(fù)載。P1 口 :對(duì)應(yīng)P1.0P1.7。 P1 口為8位準(zhǔn)雙向I/O端口,一般作為通用I/O端口使用,內(nèi)部具有上拉電阻,作為輸入端口時(shí)應(yīng)先將端口的輸出鎖存器置1P1 口可驅(qū)動(dòng)4個(gè)TTL負(fù)載。 P2口 :對(duì)應(yīng) P2.0P2.7。 P2口為8位準(zhǔn)雙向I/O 端口,可作為通用 I/O 端口使用, 內(nèi)部具有上拉電阻,作為輸入端口時(shí)應(yīng)先將端口的輸出鎖存器置1。當(dāng)訪問外部擴(kuò)展存儲(chǔ)器 時(shí),可作為地址總線的高 8位使用。P2口可驅(qū)動(dòng)4個(gè)TTL負(fù)載。 P3口 :對(duì)應(yīng) P3.0P3.7。P3口為8位準(zhǔn)雙向

57、I/O 端口,可作為通用I/O 端口使用,內(nèi)部具有上拉電阻,作為輸入端口時(shí)應(yīng)先將端口的輸出鎖存器置1oP2口可驅(qū)動(dòng)4個(gè)TTL負(fù)載。同時(shí)它是雙功能復(fù)用口,常使用其第二功能,見表1-3 oP3.0串行輸入口(RXD)P3.1串行輸出口(TXD)P3.2外中斷O(INTO)P3.3外中斷1(INT1)P3.4定時(shí)/計(jì)數(shù)器0的外部輸入口 (T0)P3.5定時(shí)/計(jì)數(shù)器1的外部輸入口(T1)P3.6外部數(shù)據(jù)存儲(chǔ)器寫選通(WR)P3.7外部數(shù)據(jù)存儲(chǔ)器讀選通(RD5軟件設(shè)計(jì)5.1程序#in elude #in elude vintrin s.hsbit key 1= P1A6;sbit key2=P1A7;s

58、bit sou nder=P3A7;un sig ned char eou nt,co un t_f,sec,mi n,hour,alarm_mi n,alarm_hour;/count和count_f對(duì)中斷次數(shù)計(jì)數(shù), count控制秒/eount_f控制數(shù)碼管閃爍頻率un sig ned char set;/set對(duì)設(shè)置鍵計(jì)次,實(shí)現(xiàn)1個(gè)鍵多個(gè)功能bit flash_m,flash_h,ge_shi,flag_alarm;這3個(gè)位變量分別是分鐘閃爍、小時(shí)閃爍和個(gè)位/十位調(diào)整切換的標(biāo)志位un sig ned char code tab=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,

59、0 x92,0 x82,0 xf8,0 x80,0 x90,0 x88,0 xC70,1,2,3,4,5,6,7,8,9,A ,L;delay (un sig ned int j) while(j-);display()un sig ned char i,wk=0 x01;un sig ned char buf8;if (set=0|set=1|set=2)buf0=tabsec%10; buf1=tabsec/10; buf2=0 xbf;if (flash_m)buf3=0 xff;buf4=0 xff;elsebuf3=tabmi n%10; buf4=tabmi n/10; buf5=

60、0 xbf;if (flash_h)buf6=0 xff;buf7=0 xff;else buf6=tabhour%10 buf7=tabhour/10;else顯示鬧鐘時(shí)間buf6=tab11;buf7=tab10;顯示子函數(shù)/顯示時(shí)、分、秒/分鐘閃爍標(biāo)志小時(shí)閃爍標(biāo)志顯示字母L顯示字母A(ALARM :鬧鐘的意思)buf5=0 xff;if (flash_h)/分鐘閃爍標(biāo)志buf3=0 xff;buf4=0 xff;elsebuf3=tabalarm_hour%10; buf4=tabalarm_hour/10;buf2=0 xbf;if (flash_m)小時(shí)閃爍標(biāo)志buf0=0 xff;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論